]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
fix typo in api viewer
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
139 }
140 },
141 "type" : "object"
142 },
143 "permissions" : {
144 "check" : [
145 "perm",
146 "/storage",
147 [
148 "Datastore.Allocate"
149 ]
150 ]
151 },
152 "protected" : 1,
153 "returns" : {
154 "type" : "null"
155 }
156 }
157 },
158 "leaf" : 1,
159 "path" : "/cluster/replication/{id}",
160 "text" : "{id}"
161 }
162 ],
163 "info" : {
164 "GET" : {
165 "description" : "List replication jobs.",
166 "method" : "GET",
167 "name" : "index",
168 "parameters" : {
169 "additionalProperties" : 0
170 },
171 "permissions" : {
172 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
173 "user" : "all"
174 },
175 "returns" : {
176 "items" : {
177 "properties" : {},
178 "type" : "object"
179 },
180 "links" : [
181 {
182 "href" : "{id}",
183 "rel" : "child"
184 }
185 ],
186 "type" : "array"
187 }
188 },
189 "POST" : {
190 "description" : "Create a new replication job",
191 "method" : "POST",
192 "name" : "create",
193 "parameters" : {
194 "additionalProperties" : 0,
195 "properties" : {
196 "comment" : {
197 "description" : "Description.",
198 "maxLength" : 4096,
199 "optional" : 1,
200 "type" : "string",
201 "typetext" : "<string>"
202 },
203 "disable" : {
204 "description" : "Flag to disable/deactivate the entry.",
205 "optional" : 1,
206 "type" : "boolean",
207 "typetext" : "<boolean>"
208 },
209 "id" : {
210 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
211 "format" : "pve-replication-job-id",
212 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
213 "type" : "string"
214 },
215 "rate" : {
216 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
217 "minimum" : 1,
218 "optional" : 1,
219 "type" : "number",
220 "typetext" : "<number> (1 - N)"
221 },
222 "remove_job" : {
223 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
224 "enum" : [
225 "local",
226 "full"
227 ],
228 "optional" : 1,
229 "type" : "string"
230 },
231 "schedule" : {
232 "default" : "*/15",
233 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
234 "format" : "pve-calendar-event",
235 "maxLength" : 128,
236 "optional" : 1,
237 "type" : "string",
238 "typetext" : "<string>"
239 },
240 "target" : {
241 "description" : "Target node.",
242 "format" : "pve-node",
243 "optional" : 0,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
247 "type" : {
248 "description" : "Section type.",
249 "enum" : [
250 "local"
251 ],
252 "type" : "string"
253 }
254 },
255 "type" : "object"
256 },
257 "permissions" : {
258 "check" : [
259 "perm",
260 "/storage",
261 [
262 "Datastore.Allocate"
263 ]
264 ]
265 },
266 "protected" : 1,
267 "returns" : {
268 "type" : "null"
269 }
270 }
271 },
272 "leaf" : 0,
273 "path" : "/cluster/replication",
274 "text" : "replication"
275 },
32d876b5
DM
276 {
277 "children" : [
278 {
279 "info" : {
280 "GET" : {
281 "description" : "Corosync node list.",
282 "method" : "GET",
283 "name" : "nodes",
284 "parameters" : {
285 "additionalProperties" : 0
286 },
5d9c884c
DM
287 "permissions" : {
288 "check" : [
289 "perm",
290 "/",
291 [
292 "Sys.Audit"
293 ]
294 ]
295 },
32d876b5
DM
296 "returns" : {
297 "items" : {
298 "properties" : {
299 "node" : {
300 "type" : "string"
301 }
302 },
303 "type" : "object"
304 },
305 "links" : [
306 {
307 "href" : "{node}",
308 "rel" : "child"
309 }
310 ],
311 "type" : "array"
312 }
313 }
314 },
315 "leaf" : 1,
316 "path" : "/cluster/config/nodes",
317 "text" : "nodes"
318 },
319 {
320 "info" : {
321 "GET" : {
322 "description" : "Get corosync totem protocol settings.",
323 "method" : "GET",
324 "name" : "totem",
325 "parameters" : {
326 "additionalProperties" : 0
327 },
5d9c884c
DM
328 "permissions" : {
329 "check" : [
330 "perm",
331 "/",
332 [
333 "Sys.Audit"
334 ]
335 ]
336 },
32d876b5
DM
337 "returns" : {
338 "properties" : {},
339 "type" : "object"
340 }
341 }
342 },
343 "leaf" : 1,
344 "path" : "/cluster/config/totem",
345 "text" : "totem"
346 }
347 ],
348 "info" : {
349 "GET" : {
350 "description" : "Directory index.",
351 "method" : "GET",
352 "name" : "index",
353 "parameters" : {
354 "additionalProperties" : 0
355 },
5d9c884c
DM
356 "permissions" : {
357 "check" : [
358 "perm",
359 "/",
360 [
361 "Sys.Audit"
362 ]
363 ]
364 },
32d876b5
DM
365 "returns" : {
366 "items" : {
367 "properties" : {},
368 "type" : "object"
369 },
370 "links" : [
371 {
372 "href" : "{name}",
373 "rel" : "child"
374 }
375 ],
376 "type" : "array"
377 }
378 }
379 },
380 "leaf" : 0,
381 "path" : "/cluster/config",
382 "text" : "config"
383 },
56122987 384 {
56122987
DM
385 "children" : [
386 {
56122987
DM
387 "children" : [
388 {
44660702
DM
389 "children" : [
390 {
391 "info" : {
392 "DELETE" : {
393 "description" : "Delete rule.",
394 "method" : "DELETE",
395 "name" : "delete_rule",
396 "parameters" : {
397 "additionalProperties" : 0,
398 "properties" : {
399 "digest" : {
400 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
401 "maxLength" : 40,
402 "optional" : 1,
013dc89f
DM
403 "type" : "string",
404 "typetext" : "<string>"
44660702
DM
405 },
406 "group" : {
407 "description" : "Security Group name.",
4bd7df8b 408 "maxLength" : 18,
44660702
DM
409 "minLength" : 2,
410 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
411 "type" : "string"
412 },
413 "pos" : {
414 "description" : "Update rule at position <pos>.",
415 "minimum" : 0,
416 "optional" : 1,
4bd7df8b 417 "type" : "integer",
013dc89f 418 "typetext" : "<integer> (0 - N)"
44660702
DM
419 }
420 }
421 },
422 "permissions" : {
423 "check" : [
424 "perm",
425 "/",
426 [
427 "Sys.Modify"
428 ]
429 ]
430 },
431 "protected" : 1,
432 "proxyto" : null,
433 "returns" : {
434 "type" : "null"
7aacca6f
DM
435 }
436 },
44660702
DM
437 "GET" : {
438 "description" : "Get single rule data.",
439 "method" : "GET",
440 "name" : "get_rule",
441 "parameters" : {
442 "additionalProperties" : 0,
443 "properties" : {
444 "group" : {
445 "description" : "Security Group name.",
4bd7df8b 446 "maxLength" : 18,
44660702
DM
447 "minLength" : 2,
448 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
449 "type" : "string"
450 },
451 "pos" : {
452 "description" : "Update rule at position <pos>.",
453 "minimum" : 0,
454 "optional" : 1,
4bd7df8b 455 "type" : "integer",
013dc89f 456 "typetext" : "<integer> (0 - N)"
44660702 457 }
7aacca6f 458 }
56122987 459 },
44660702
DM
460 "permissions" : {
461 "check" : [
462 "perm",
463 "/",
464 [
465 "Sys.Audit"
466 ]
467 ]
468 },
469 "proxyto" : null,
470 "returns" : {
471 "properties" : {
472 "pos" : {
473 "type" : "integer"
474 }
475 },
476 "type" : "object"
56122987 477 }
44660702 478 },
7aacca6f 479 "PUT" : {
44660702
DM
480 "description" : "Modify rule data.",
481 "method" : "PUT",
482 "name" : "update_rule",
7aacca6f
DM
483 "parameters" : {
484 "additionalProperties" : 0,
485 "properties" : {
44660702
DM
486 "action" : {
487 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 488 "maxLength" : 20,
44660702 489 "minLength" : 2,
7aacca6f 490 "optional" : 1,
44660702 491 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
492 "type" : "string"
493 },
44660702 494 "comment" : {
e94f0d56 495 "description" : "Descriptive comment.",
7aacca6f 496 "optional" : 1,
013dc89f
DM
497 "type" : "string",
498 "typetext" : "<string>"
7aacca6f 499 },
44660702
DM
500 "delete" : {
501 "description" : "A list of settings you want to delete.",
502 "format" : "pve-configid-list",
7aacca6f 503 "optional" : 1,
013dc89f
DM
504 "type" : "string",
505 "typetext" : "<string>"
7aacca6f 506 },
44660702
DM
507 "dest" : {
508 "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.",
509 "format" : "pve-fw-addr-spec",
7aacca6f 510 "optional" : 1,
013dc89f
DM
511 "type" : "string",
512 "typetext" : "<string>"
7aacca6f
DM
513 },
514 "digest" : {
515 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 516 "maxLength" : 40,
7aacca6f 517 "optional" : 1,
013dc89f
DM
518 "type" : "string",
519 "typetext" : "<string>"
7aacca6f 520 },
44660702
DM
521 "dport" : {
522 "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.",
523 "format" : "pve-fw-dport-spec",
7aacca6f 524 "optional" : 1,
013dc89f
DM
525 "type" : "string",
526 "typetext" : "<string>"
7aacca6f 527 },
44660702 528 "enable" : {
e94f0d56 529 "description" : "Flag to enable/disable a rule.",
44660702 530 "minimum" : 0,
7aacca6f 531 "optional" : 1,
4bd7df8b 532 "type" : "integer",
013dc89f 533 "typetext" : "<integer> (0 - N)"
7aacca6f 534 },
44660702
DM
535 "group" : {
536 "description" : "Security Group name.",
4bd7df8b 537 "maxLength" : 18,
44660702
DM
538 "minLength" : 2,
539 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
540 "type" : "string"
541 },
542 "iface" : {
543 "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.",
544 "format" : "pve-iface",
545 "maxLength" : 20,
546 "minLength" : 2,
7aacca6f 547 "optional" : 1,
013dc89f
DM
548 "type" : "string",
549 "typetext" : "<string>"
7aacca6f 550 },
44660702 551 "macro" : {
e94f0d56 552 "description" : "Use predefined standard macro.",
44660702
DM
553 "maxLength" : 128,
554 "optional" : 1,
013dc89f
DM
555 "type" : "string",
556 "typetext" : "<string>"
7aacca6f
DM
557 },
558 "moveto" : {
559 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 560 "minimum" : 0,
7aacca6f 561 "optional" : 1,
4bd7df8b 562 "type" : "integer",
013dc89f 563 "typetext" : "<integer> (0 - N)"
7aacca6f 564 },
44660702
DM
565 "pos" : {
566 "description" : "Update rule at position <pos>.",
567 "minimum" : 0,
568 "optional" : 1,
4bd7df8b 569 "type" : "integer",
013dc89f 570 "typetext" : "<integer> (0 - N)"
7aacca6f 571 },
44660702
DM
572 "proto" : {
573 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
574 "format" : "pve-fw-protocol-spec",
7aacca6f 575 "optional" : 1,
013dc89f
DM
576 "type" : "string",
577 "typetext" : "<string>"
44660702
DM
578 },
579 "source" : {
580 "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.",
581 "format" : "pve-fw-addr-spec",
582 "optional" : 1,
013dc89f
DM
583 "type" : "string",
584 "typetext" : "<string>"
44660702
DM
585 },
586 "sport" : {
587 "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.",
588 "format" : "pve-fw-sport-spec",
589 "optional" : 1,
013dc89f
DM
590 "type" : "string",
591 "typetext" : "<string>"
7aacca6f
DM
592 },
593 "type" : {
e94f0d56 594 "description" : "Rule type.",
7aacca6f
DM
595 "enum" : [
596 "in",
597 "out",
598 "group"
599 ],
600 "optional" : 1,
601 "type" : "string"
602 }
603 }
604 },
7aacca6f
DM
605 "permissions" : {
606 "check" : [
607 "perm",
608 "/",
609 [
610 "Sys.Modify"
611 ]
612 ]
613 },
44660702 614 "protected" : 1,
7aacca6f
DM
615 "proxyto" : null,
616 "returns" : {
617 "type" : "null"
618 }
7aacca6f
DM
619 }
620 },
44660702 621 "leaf" : 1,
7aacca6f 622 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 623 "text" : "{pos}"
7aacca6f
DM
624 }
625 ],
44660702
DM
626 "info" : {
627 "DELETE" : {
628 "description" : "Delete security group.",
629 "method" : "DELETE",
630 "name" : "delete_security_group",
631 "parameters" : {
632 "additionalProperties" : 0,
633 "properties" : {
634 "group" : {
635 "description" : "Security Group name.",
4bd7df8b 636 "maxLength" : 18,
44660702
DM
637 "minLength" : 2,
638 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
639 "type" : "string"
640 }
56122987 641 }
7aacca6f 642 },
44660702
DM
643 "permissions" : {
644 "check" : [
645 "perm",
646 "/",
647 [
648 "Sys.Modify"
649 ]
7aacca6f 650 ]
56122987 651 },
44660702
DM
652 "protected" : 1,
653 "returns" : {
654 "type" : "null"
56122987 655 }
7aacca6f 656 },
7aacca6f 657 "GET" : {
44660702 658 "description" : "List rules.",
7aacca6f 659 "method" : "GET",
44660702
DM
660 "name" : "get_rules",
661 "parameters" : {
662 "additionalProperties" : 0,
7aacca6f 663 "properties" : {
44660702
DM
664 "group" : {
665 "description" : "Security Group name.",
4bd7df8b 666 "maxLength" : 18,
44660702
DM
667 "minLength" : 2,
668 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
669 "type" : "string"
7aacca6f 670 }
44660702 671 }
7aacca6f
DM
672 },
673 "permissions" : {
674 "check" : [
675 "perm",
676 "/",
677 [
678 "Sys.Audit"
679 ]
680 ]
681 },
44660702
DM
682 "proxyto" : null,
683 "returns" : {
684 "items" : {
685 "properties" : {
686 "pos" : {
687 "type" : "integer"
688 }
689 },
690 "type" : "object"
691 },
692 "links" : [
693 {
694 "href" : "{pos}",
695 "rel" : "child"
696 }
697 ],
698 "type" : "array"
699 }
700 },
701 "POST" : {
702 "description" : "Create new rule.",
703 "method" : "POST",
704 "name" : "create_rule",
7aacca6f
DM
705 "parameters" : {
706 "additionalProperties" : 0,
707 "properties" : {
44660702
DM
708 "action" : {
709 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
710 "maxLength" : 20,
56122987 711 "minLength" : 2,
44660702
DM
712 "optional" : 0,
713 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 714 "type" : "string"
56122987 715 },
44660702 716 "comment" : {
e94f0d56 717 "description" : "Descriptive comment.",
56122987 718 "optional" : 1,
013dc89f
DM
719 "type" : "string",
720 "typetext" : "<string>"
56122987 721 },
44660702
DM
722 "dest" : {
723 "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
724 "format" : "pve-fw-addr-spec",
725 "optional" : 1,
013dc89f
DM
726 "type" : "string",
727 "typetext" : "<string>"
56122987 728 },
44660702
DM
729 "digest" : {
730 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
731 "maxLength" : 40,
7aacca6f 732 "optional" : 1,
013dc89f
DM
733 "type" : "string",
734 "typetext" : "<string>"
56122987 735 },
44660702
DM
736 "dport" : {
737 "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.",
738 "format" : "pve-fw-dport-spec",
56122987 739 "optional" : 1,
013dc89f
DM
740 "type" : "string",
741 "typetext" : "<string>"
56122987 742 },
7aacca6f 743 "enable" : {
e94f0d56 744 "description" : "Flag to enable/disable a rule.",
44660702 745 "minimum" : 0,
7aacca6f 746 "optional" : 1,
4bd7df8b 747 "type" : "integer",
013dc89f 748 "typetext" : "<integer> (0 - N)"
56122987 749 },
44660702
DM
750 "group" : {
751 "description" : "Security Group name.",
4bd7df8b 752 "maxLength" : 18,
44660702 753 "minLength" : 2,
7aacca6f 754 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
755 "type" : "string"
756 },
757 "iface" : {
758 "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.",
759 "format" : "pve-iface",
760 "maxLength" : 20,
7aacca6f 761 "minLength" : 2,
44660702 762 "optional" : 1,
013dc89f
DM
763 "type" : "string",
764 "typetext" : "<string>"
56122987 765 },
7aacca6f 766 "macro" : {
e94f0d56 767 "description" : "Use predefined standard macro.",
44660702 768 "maxLength" : 128,
7aacca6f 769 "optional" : 1,
013dc89f
DM
770 "type" : "string",
771 "typetext" : "<string>"
7aacca6f
DM
772 },
773 "pos" : {
774 "description" : "Update rule at position <pos>.",
44660702 775 "minimum" : 0,
56122987 776 "optional" : 1,
4bd7df8b 777 "type" : "integer",
013dc89f 778 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
779 },
780 "proto" : {
781 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 782 "format" : "pve-fw-protocol-spec",
7aacca6f 783 "optional" : 1,
013dc89f
DM
784 "type" : "string",
785 "typetext" : "<string>"
44660702
DM
786 },
787 "source" : {
788 "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.",
789 "format" : "pve-fw-addr-spec",
790 "optional" : 1,
013dc89f
DM
791 "type" : "string",
792 "typetext" : "<string>"
44660702
DM
793 },
794 "sport" : {
795 "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.",
796 "format" : "pve-fw-sport-spec",
797 "optional" : 1,
013dc89f
DM
798 "type" : "string",
799 "typetext" : "<string>"
44660702
DM
800 },
801 "type" : {
e94f0d56 802 "description" : "Rule type.",
44660702
DM
803 "enum" : [
804 "in",
805 "out",
806 "group"
807 ],
808 "optional" : 0,
809 "type" : "string"
56122987 810 }
44660702 811 }
56122987 812 },
56122987
DM
813 "permissions" : {
814 "check" : [
815 "perm",
816 "/",
817 [
818 "Sys.Modify"
819 ]
820 ]
821 },
44660702
DM
822 "protected" : 1,
823 "proxyto" : null,
56122987
DM
824 "returns" : {
825 "type" : "null"
7aacca6f 826 }
44660702
DM
827 }
828 },
829 "leaf" : 0,
830 "path" : "/cluster/firewall/groups/{group}",
831 "text" : "{group}"
832 }
833 ],
834 "info" : {
835 "GET" : {
836 "description" : "List security groups.",
837 "method" : "GET",
838 "name" : "list_security_groups",
839 "parameters" : {
840 "additionalProperties" : 0
841 },
842 "permissions" : {
843 "user" : "all"
844 },
845 "returns" : {
846 "items" : {
847 "properties" : {
848 "comment" : {
849 "optional" : 1,
850 "type" : "string"
851 },
852 "digest" : {
853 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
854 "maxLength" : 40,
855 "optional" : 0,
856 "type" : "string"
857 },
858 "group" : {
859 "description" : "Security Group name.",
4bd7df8b 860 "maxLength" : 18,
44660702
DM
861 "minLength" : 2,
862 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
863 "type" : "string"
864 }
865 },
866 "type" : "object"
56122987 867 },
44660702
DM
868 "links" : [
869 {
870 "href" : "{group}",
871 "rel" : "child"
872 }
873 ],
874 "type" : "array"
875 }
876 },
877 "POST" : {
878 "description" : "Create new security group.",
879 "method" : "POST",
880 "name" : "create_security_group",
881 "parameters" : {
882 "additionalProperties" : 0,
883 "properties" : {
884 "comment" : {
885 "optional" : 1,
013dc89f
DM
886 "type" : "string",
887 "typetext" : "<string>"
44660702
DM
888 },
889 "digest" : {
890 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
891 "maxLength" : 40,
892 "optional" : 1,
013dc89f
DM
893 "type" : "string",
894 "typetext" : "<string>"
44660702
DM
895 },
896 "group" : {
897 "description" : "Security Group name.",
4bd7df8b 898 "maxLength" : 18,
44660702
DM
899 "minLength" : 2,
900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
901 "type" : "string"
902 },
903 "rename" : {
904 "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 905 "maxLength" : 18,
44660702
DM
906 "minLength" : 2,
907 "optional" : 1,
908 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
909 "type" : "string"
910 }
911 }
912 },
913 "permissions" : {
914 "check" : [
915 "perm",
916 "/",
917 [
918 "Sys.Modify"
919 ]
920 ]
921 },
922 "protected" : 1,
923 "returns" : {
924 "type" : "null"
925 }
926 }
927 },
928 "leaf" : 0,
929 "path" : "/cluster/firewall/groups",
930 "text" : "groups"
931 },
932 {
933 "children" : [
934 {
935 "info" : {
7aacca6f 936 "DELETE" : {
44660702
DM
937 "description" : "Delete rule.",
938 "method" : "DELETE",
939 "name" : "delete_rule",
940 "parameters" : {
941 "additionalProperties" : 0,
942 "properties" : {
943 "digest" : {
944 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
945 "maxLength" : 40,
946 "optional" : 1,
013dc89f
DM
947 "type" : "string",
948 "typetext" : "<string>"
44660702
DM
949 },
950 "pos" : {
951 "description" : "Update rule at position <pos>.",
952 "minimum" : 0,
953 "optional" : 1,
4bd7df8b 954 "type" : "integer",
013dc89f 955 "typetext" : "<integer> (0 - N)"
44660702
DM
956 }
957 }
958 },
56122987
DM
959 "permissions" : {
960 "check" : [
961 "perm",
962 "/",
963 [
7aacca6f 964 "Sys.Modify"
56122987
DM
965 ]
966 ]
967 },
44660702 968 "protected" : 1,
56122987
DM
969 "proxyto" : null,
970 "returns" : {
7aacca6f 971 "type" : "null"
44660702
DM
972 }
973 },
974 "GET" : {
975 "description" : "Get single rule data.",
976 "method" : "GET",
977 "name" : "get_rule",
56122987
DM
978 "parameters" : {
979 "additionalProperties" : 0,
980 "properties" : {
981 "pos" : {
7aacca6f 982 "description" : "Update rule at position <pos>.",
44660702 983 "minimum" : 0,
56122987 984 "optional" : 1,
4bd7df8b 985 "type" : "integer",
013dc89f 986 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
987 }
988 }
989 },
7aacca6f
DM
990 "permissions" : {
991 "check" : [
992 "perm",
993 "/",
994 [
995 "Sys.Audit"
996 ]
997 ]
56122987 998 },
44660702
DM
999 "proxyto" : null,
1000 "returns" : {
7aacca6f 1001 "properties" : {
44660702
DM
1002 "pos" : {
1003 "type" : "integer"
7aacca6f 1004 }
44660702
DM
1005 },
1006 "type" : "object"
1007 }
56122987 1008 },
44660702
DM
1009 "PUT" : {
1010 "description" : "Modify rule data.",
1011 "method" : "PUT",
1012 "name" : "update_rule",
7aacca6f
DM
1013 "parameters" : {
1014 "additionalProperties" : 0,
1015 "properties" : {
44660702
DM
1016 "action" : {
1017 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1018 "maxLength" : 20,
1019 "minLength" : 2,
1020 "optional" : 1,
1021 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1022 "type" : "string"
7aacca6f 1023 },
44660702 1024 "comment" : {
e94f0d56 1025 "description" : "Descriptive comment.",
44660702 1026 "optional" : 1,
013dc89f
DM
1027 "type" : "string",
1028 "typetext" : "<string>"
7aacca6f 1029 },
44660702
DM
1030 "delete" : {
1031 "description" : "A list of settings you want to delete.",
1032 "format" : "pve-configid-list",
1033 "optional" : 1,
013dc89f
DM
1034 "type" : "string",
1035 "typetext" : "<string>"
44660702
DM
1036 },
1037 "dest" : {
1038 "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.",
1039 "format" : "pve-fw-addr-spec",
1040 "optional" : 1,
013dc89f
DM
1041 "type" : "string",
1042 "typetext" : "<string>"
44660702
DM
1043 },
1044 "digest" : {
1045 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1046 "maxLength" : 40,
1047 "optional" : 1,
013dc89f
DM
1048 "type" : "string",
1049 "typetext" : "<string>"
44660702
DM
1050 },
1051 "dport" : {
1052 "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.",
1053 "format" : "pve-fw-dport-spec",
1054 "optional" : 1,
013dc89f
DM
1055 "type" : "string",
1056 "typetext" : "<string>"
44660702
DM
1057 },
1058 "enable" : {
e94f0d56 1059 "description" : "Flag to enable/disable a rule.",
44660702
DM
1060 "minimum" : 0,
1061 "optional" : 1,
4bd7df8b 1062 "type" : "integer",
013dc89f 1063 "typetext" : "<integer> (0 - N)"
44660702
DM
1064 },
1065 "iface" : {
1066 "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.",
1067 "format" : "pve-iface",
1068 "maxLength" : 20,
7aacca6f 1069 "minLength" : 2,
44660702 1070 "optional" : 1,
013dc89f
DM
1071 "type" : "string",
1072 "typetext" : "<string>"
7aacca6f 1073 },
44660702 1074 "macro" : {
e94f0d56 1075 "description" : "Use predefined standard macro.",
44660702
DM
1076 "maxLength" : 128,
1077 "optional" : 1,
013dc89f
DM
1078 "type" : "string",
1079 "typetext" : "<string>"
44660702
DM
1080 },
1081 "moveto" : {
1082 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1083 "minimum" : 0,
1084 "optional" : 1,
4bd7df8b 1085 "type" : "integer",
013dc89f 1086 "typetext" : "<integer> (0 - N)"
44660702
DM
1087 },
1088 "pos" : {
1089 "description" : "Update rule at position <pos>.",
1090 "minimum" : 0,
1091 "optional" : 1,
4bd7df8b 1092 "type" : "integer",
013dc89f 1093 "typetext" : "<integer> (0 - N)"
44660702
DM
1094 },
1095 "proto" : {
1096 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1097 "format" : "pve-fw-protocol-spec",
1098 "optional" : 1,
013dc89f
DM
1099 "type" : "string",
1100 "typetext" : "<string>"
44660702
DM
1101 },
1102 "source" : {
1103 "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.",
1104 "format" : "pve-fw-addr-spec",
1105 "optional" : 1,
013dc89f
DM
1106 "type" : "string",
1107 "typetext" : "<string>"
44660702
DM
1108 },
1109 "sport" : {
1110 "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.",
1111 "format" : "pve-fw-sport-spec",
1112 "optional" : 1,
013dc89f
DM
1113 "type" : "string",
1114 "typetext" : "<string>"
44660702
DM
1115 },
1116 "type" : {
e94f0d56 1117 "description" : "Rule type.",
44660702
DM
1118 "enum" : [
1119 "in",
1120 "out",
1121 "group"
1122 ],
1123 "optional" : 1,
1124 "type" : "string"
7aacca6f 1125 }
56122987
DM
1126 }
1127 },
7aacca6f
DM
1128 "permissions" : {
1129 "check" : [
1130 "perm",
1131 "/",
1132 [
1133 "Sys.Modify"
1134 ]
1135 ]
1136 },
44660702
DM
1137 "protected" : 1,
1138 "proxyto" : null,
1139 "returns" : {
1140 "type" : "null"
1141 }
7aacca6f 1142 }
56122987 1143 },
44660702
DM
1144 "leaf" : 1,
1145 "path" : "/cluster/firewall/rules/{pos}",
1146 "text" : "{pos}"
7aacca6f
DM
1147 }
1148 ],
7aacca6f 1149 "info" : {
44660702
DM
1150 "GET" : {
1151 "description" : "List rules.",
1152 "method" : "GET",
1153 "name" : "get_rules",
7aacca6f 1154 "parameters" : {
44660702 1155 "additionalProperties" : 0
7aacca6f
DM
1156 },
1157 "permissions" : {
1158 "check" : [
1159 "perm",
1160 "/",
1161 [
44660702 1162 "Sys.Audit"
7aacca6f
DM
1163 ]
1164 ]
1165 },
44660702 1166 "proxyto" : null,
7aacca6f 1167 "returns" : {
7aacca6f
DM
1168 "items" : {
1169 "properties" : {
44660702
DM
1170 "pos" : {
1171 "type" : "integer"
7aacca6f
DM
1172 }
1173 },
1174 "type" : "object"
56122987 1175 },
7aacca6f
DM
1176 "links" : [
1177 {
44660702 1178 "href" : "{pos}",
7aacca6f
DM
1179 "rel" : "child"
1180 }
44660702
DM
1181 ],
1182 "type" : "array"
7aacca6f 1183 }
44660702 1184 },
7aacca6f 1185 "POST" : {
44660702 1186 "description" : "Create new rule.",
7aacca6f 1187 "method" : "POST",
44660702 1188 "name" : "create_rule",
7aacca6f
DM
1189 "parameters" : {
1190 "additionalProperties" : 0,
1191 "properties" : {
44660702
DM
1192 "action" : {
1193 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1194 "maxLength" : 20,
7aacca6f 1195 "minLength" : 2,
44660702
DM
1196 "optional" : 0,
1197 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1198 "type" : "string"
7aacca6f
DM
1199 },
1200 "comment" : {
e94f0d56 1201 "description" : "Descriptive comment.",
7aacca6f 1202 "optional" : 1,
013dc89f
DM
1203 "type" : "string",
1204 "typetext" : "<string>"
44660702
DM
1205 },
1206 "dest" : {
1207 "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.",
1208 "format" : "pve-fw-addr-spec",
1209 "optional" : 1,
013dc89f
DM
1210 "type" : "string",
1211 "typetext" : "<string>"
44660702
DM
1212 },
1213 "digest" : {
1214 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1215 "maxLength" : 40,
1216 "optional" : 1,
013dc89f
DM
1217 "type" : "string",
1218 "typetext" : "<string>"
44660702
DM
1219 },
1220 "dport" : {
1221 "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.",
1222 "format" : "pve-fw-dport-spec",
1223 "optional" : 1,
013dc89f
DM
1224 "type" : "string",
1225 "typetext" : "<string>"
44660702
DM
1226 },
1227 "enable" : {
e94f0d56 1228 "description" : "Flag to enable/disable a rule.",
44660702
DM
1229 "minimum" : 0,
1230 "optional" : 1,
4bd7df8b 1231 "type" : "integer",
013dc89f 1232 "typetext" : "<integer> (0 - N)"
44660702
DM
1233 },
1234 "iface" : {
1235 "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.",
1236 "format" : "pve-iface",
1237 "maxLength" : 20,
1238 "minLength" : 2,
1239 "optional" : 1,
013dc89f
DM
1240 "type" : "string",
1241 "typetext" : "<string>"
44660702
DM
1242 },
1243 "macro" : {
e94f0d56 1244 "description" : "Use predefined standard macro.",
44660702
DM
1245 "maxLength" : 128,
1246 "optional" : 1,
013dc89f
DM
1247 "type" : "string",
1248 "typetext" : "<string>"
44660702
DM
1249 },
1250 "pos" : {
1251 "description" : "Update rule at position <pos>.",
1252 "minimum" : 0,
1253 "optional" : 1,
4bd7df8b 1254 "type" : "integer",
013dc89f 1255 "typetext" : "<integer> (0 - N)"
44660702
DM
1256 },
1257 "proto" : {
1258 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1259 "format" : "pve-fw-protocol-spec",
1260 "optional" : 1,
013dc89f
DM
1261 "type" : "string",
1262 "typetext" : "<string>"
44660702
DM
1263 },
1264 "source" : {
1265 "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.",
1266 "format" : "pve-fw-addr-spec",
1267 "optional" : 1,
013dc89f
DM
1268 "type" : "string",
1269 "typetext" : "<string>"
44660702
DM
1270 },
1271 "sport" : {
1272 "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.",
1273 "format" : "pve-fw-sport-spec",
1274 "optional" : 1,
013dc89f
DM
1275 "type" : "string",
1276 "typetext" : "<string>"
44660702
DM
1277 },
1278 "type" : {
e94f0d56 1279 "description" : "Rule type.",
44660702
DM
1280 "enum" : [
1281 "in",
1282 "out",
1283 "group"
1284 ],
1285 "optional" : 0,
1286 "type" : "string"
7aacca6f
DM
1287 }
1288 }
1289 },
1290 "permissions" : {
1291 "check" : [
1292 "perm",
1293 "/",
1294 [
1295 "Sys.Modify"
1296 ]
1297 ]
1298 },
44660702
DM
1299 "protected" : 1,
1300 "proxyto" : null,
7aacca6f 1301 "returns" : {
44660702
DM
1302 "type" : "null"
1303 }
1304 }
1305 },
1306 "leaf" : 0,
1307 "path" : "/cluster/firewall/rules",
1308 "text" : "rules"
1309 },
1310 {
1311 "children" : [
1312 {
1313 "children" : [
1314 {
1315 "info" : {
1316 "DELETE" : {
1317 "description" : "Remove IP or Network from IPSet.",
1318 "method" : "DELETE",
1319 "name" : "remove_ip",
1320 "parameters" : {
1321 "additionalProperties" : 0,
1322 "properties" : {
1323 "cidr" : {
1324 "description" : "Network/IP specification in CIDR format.",
1325 "format" : "IPorCIDRorAlias",
013dc89f
DM
1326 "type" : "string",
1327 "typetext" : "<string>"
44660702
DM
1328 },
1329 "digest" : {
1330 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1331 "maxLength" : 40,
1332 "optional" : 1,
013dc89f
DM
1333 "type" : "string",
1334 "typetext" : "<string>"
44660702
DM
1335 },
1336 "name" : {
1337 "description" : "IP set name.",
1338 "maxLength" : 64,
1339 "minLength" : 2,
1340 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1341 "type" : "string"
1342 }
1343 }
1344 },
1345 "permissions" : {
1346 "check" : [
1347 "perm",
1348 "/",
1349 [
1350 "Sys.Modify"
1351 ]
1352 ]
1353 },
1354 "protected" : 1,
1355 "returns" : {
1356 "type" : "null"
1357 }
7aacca6f 1358 },
44660702
DM
1359 "GET" : {
1360 "description" : "Read IP or Network settings from IPSet.",
1361 "method" : "GET",
1362 "name" : "read_ip",
1363 "parameters" : {
1364 "additionalProperties" : 0,
1365 "properties" : {
1366 "cidr" : {
1367 "description" : "Network/IP specification in CIDR format.",
1368 "format" : "IPorCIDRorAlias",
013dc89f
DM
1369 "type" : "string",
1370 "typetext" : "<string>"
44660702
DM
1371 },
1372 "name" : {
1373 "description" : "IP set name.",
1374 "maxLength" : 64,
1375 "minLength" : 2,
1376 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1377 "type" : "string"
1378 }
1379 }
1380 },
1381 "permissions" : {
1382 "check" : [
1383 "perm",
1384 "/",
1385 [
1386 "Sys.Audit"
1387 ]
1388 ]
1389 },
1390 "protected" : 1,
1391 "returns" : {
1392 "type" : "object"
1393 }
7aacca6f 1394 },
44660702
DM
1395 "PUT" : {
1396 "description" : "Update IP or Network settings",
1397 "method" : "PUT",
1398 "name" : "update_ip",
1399 "parameters" : {
1400 "additionalProperties" : 0,
1401 "properties" : {
1402 "cidr" : {
1403 "description" : "Network/IP specification in CIDR format.",
1404 "format" : "IPorCIDRorAlias",
013dc89f
DM
1405 "type" : "string",
1406 "typetext" : "<string>"
44660702
DM
1407 },
1408 "comment" : {
1409 "optional" : 1,
013dc89f
DM
1410 "type" : "string",
1411 "typetext" : "<string>"
44660702
DM
1412 },
1413 "digest" : {
1414 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1415 "maxLength" : 40,
1416 "optional" : 1,
013dc89f
DM
1417 "type" : "string",
1418 "typetext" : "<string>"
44660702
DM
1419 },
1420 "name" : {
1421 "description" : "IP set name.",
1422 "maxLength" : 64,
1423 "minLength" : 2,
1424 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1425 "type" : "string"
1426 },
1427 "nomatch" : {
1428 "optional" : 1,
013dc89f
DM
1429 "type" : "boolean",
1430 "typetext" : "<boolean>"
44660702
DM
1431 }
1432 }
1433 },
1434 "permissions" : {
1435 "check" : [
1436 "perm",
1437 "/",
1438 [
1439 "Sys.Modify"
1440 ]
1441 ]
1442 },
1443 "protected" : 1,
1444 "returns" : {
1445 "type" : "null"
1446 }
7aacca6f
DM
1447 }
1448 },
44660702
DM
1449 "leaf" : 1,
1450 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1451 "text" : "{cidr}"
7aacca6f 1452 }
44660702 1453 ],
7aacca6f
DM
1454 "info" : {
1455 "DELETE" : {
44660702
DM
1456 "description" : "Delete IPSet",
1457 "method" : "DELETE",
1458 "name" : "delete_ipset",
56122987 1459 "parameters" : {
44660702 1460 "additionalProperties" : 0,
56122987
DM
1461 "properties" : {
1462 "name" : {
44660702 1463 "description" : "IP set name.",
56122987 1464 "maxLength" : 64,
44660702 1465 "minLength" : 2,
56122987 1466 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1467 "type" : "string"
56122987 1468 }
44660702 1469 }
7aacca6f 1470 },
56122987
DM
1471 "permissions" : {
1472 "check" : [
1473 "perm",
1474 "/",
1475 [
1476 "Sys.Modify"
1477 ]
1478 ]
1479 },
7aacca6f
DM
1480 "protected" : 1,
1481 "returns" : {
1482 "type" : "null"
44660702 1483 }
7aacca6f 1484 },
44660702
DM
1485 "GET" : {
1486 "description" : "List IPSet content",
1487 "method" : "GET",
1488 "name" : "get_ipset",
56122987
DM
1489 "parameters" : {
1490 "additionalProperties" : 0,
1491 "properties" : {
7aacca6f 1492 "name" : {
44660702 1493 "description" : "IP set name.",
7aacca6f 1494 "maxLength" : 64,
7aacca6f 1495 "minLength" : 2,
44660702 1496 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1497 "type" : "string"
56122987 1498 }
7aacca6f 1499 }
56122987 1500 },
56122987
DM
1501 "permissions" : {
1502 "check" : [
1503 "perm",
1504 "/",
1505 [
44660702 1506 "Sys.Audit"
56122987
DM
1507 ]
1508 ]
44660702
DM
1509 },
1510 "returns" : {
1511 "items" : {
1512 "properties" : {
1513 "cidr" : {
1514 "type" : "string"
1515 },
1516 "comment" : {
1517 "optional" : 1,
1518 "type" : "string"
1519 },
1520 "digest" : {
1521 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1522 "maxLength" : 40,
1523 "optional" : 0,
1524 "type" : "string"
1525 },
1526 "nomatch" : {
1527 "optional" : 1,
1528 "type" : "boolean"
1529 }
1530 },
1531 "type" : "object"
1532 },
1533 "links" : [
1534 {
1535 "href" : "{cidr}",
1536 "rel" : "child"
1537 }
1538 ],
1539 "type" : "array"
7aacca6f
DM
1540 }
1541 },
44660702
DM
1542 "POST" : {
1543 "description" : "Add IP or Network to IPSet.",
1544 "method" : "POST",
1545 "name" : "create_ip",
56122987
DM
1546 "parameters" : {
1547 "additionalProperties" : 0,
1548 "properties" : {
44660702
DM
1549 "cidr" : {
1550 "description" : "Network/IP specification in CIDR format.",
1551 "format" : "IPorCIDRorAlias",
013dc89f
DM
1552 "type" : "string",
1553 "typetext" : "<string>"
44660702
DM
1554 },
1555 "comment" : {
1556 "optional" : 1,
013dc89f
DM
1557 "type" : "string",
1558 "typetext" : "<string>"
44660702
DM
1559 },
1560 "name" : {
1561 "description" : "IP set name.",
1562 "maxLength" : 64,
1563 "minLength" : 2,
1564 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1565 "type" : "string"
1566 },
1567 "nomatch" : {
1568 "optional" : 1,
013dc89f
DM
1569 "type" : "boolean",
1570 "typetext" : "<boolean>"
56122987
DM
1571 }
1572 }
1573 },
56122987
DM
1574 "permissions" : {
1575 "check" : [
1576 "perm",
1577 "/",
1578 [
44660702 1579 "Sys.Modify"
56122987
DM
1580 ]
1581 ]
1582 },
44660702 1583 "protected" : 1,
56122987 1584 "returns" : {
44660702
DM
1585 "type" : "null"
1586 }
56122987
DM
1587 }
1588 },
44660702
DM
1589 "leaf" : 0,
1590 "path" : "/cluster/firewall/ipset/{name}",
1591 "text" : "{name}"
56122987
DM
1592 }
1593 ],
56122987 1594 "info" : {
44660702
DM
1595 "GET" : {
1596 "description" : "List IPSets",
1597 "method" : "GET",
1598 "name" : "ipset_index",
56122987 1599 "parameters" : {
7aacca6f 1600 "additionalProperties" : 0
56122987 1601 },
56122987
DM
1602 "permissions" : {
1603 "check" : [
1604 "perm",
1605 "/",
1606 [
7aacca6f 1607 "Sys.Audit"
56122987
DM
1608 ]
1609 ]
1610 },
56122987
DM
1611 "returns" : {
1612 "items" : {
1613 "properties" : {
44660702
DM
1614 "comment" : {
1615 "optional" : 1,
1616 "type" : "string"
56122987 1617 },
44660702
DM
1618 "digest" : {
1619 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1620 "maxLength" : 40,
1621 "optional" : 0,
1622 "type" : "string"
1623 },
1624 "name" : {
1625 "description" : "IP set name.",
1626 "maxLength" : 64,
1627 "minLength" : 2,
1628 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1629 "type" : "string"
56122987
DM
1630 }
1631 },
1632 "type" : "object"
44660702
DM
1633 },
1634 "links" : [
1635 {
1636 "href" : "{name}",
1637 "rel" : "child"
1638 }
1639 ],
1640 "type" : "array"
56122987 1641 }
44660702
DM
1642 },
1643 "POST" : {
1644 "description" : "Create new IPSet",
1645 "method" : "POST",
1646 "name" : "create_ipset",
7aacca6f
DM
1647 "parameters" : {
1648 "additionalProperties" : 0,
1649 "properties" : {
44660702
DM
1650 "comment" : {
1651 "optional" : 1,
013dc89f
DM
1652 "type" : "string",
1653 "typetext" : "<string>"
44660702
DM
1654 },
1655 "digest" : {
1656 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1657 "maxLength" : 40,
1658 "optional" : 1,
013dc89f
DM
1659 "type" : "string",
1660 "typetext" : "<string>"
44660702
DM
1661 },
1662 "name" : {
1663 "description" : "IP set name.",
1664 "maxLength" : 64,
1665 "minLength" : 2,
1666 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1667 "type" : "string"
1668 },
1669 "rename" : {
1670 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1671 "maxLength" : 64,
1672 "minLength" : 2,
1673 "optional" : 1,
1674 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1675 "type" : "string"
7aacca6f
DM
1676 }
1677 }
1678 },
56122987
DM
1679 "permissions" : {
1680 "check" : [
1681 "perm",
1682 "/",
1683 [
44660702 1684 "Sys.Modify"
56122987
DM
1685 ]
1686 ]
1687 },
44660702 1688 "protected" : 1,
56122987 1689 "returns" : {
44660702
DM
1690 "type" : "null"
1691 }
56122987 1692 }
7aacca6f 1693 },
44660702
DM
1694 "leaf" : 0,
1695 "path" : "/cluster/firewall/ipset",
1696 "text" : "ipset"
1697 },
56122987 1698 {
44660702
DM
1699 "children" : [
1700 {
1701 "info" : {
1702 "DELETE" : {
1703 "description" : "Remove IP or Network alias.",
1704 "method" : "DELETE",
1705 "name" : "remove_alias",
1706 "parameters" : {
1707 "additionalProperties" : 0,
1708 "properties" : {
1709 "digest" : {
1710 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1711 "maxLength" : 40,
1712 "optional" : 1,
013dc89f
DM
1713 "type" : "string",
1714 "typetext" : "<string>"
44660702
DM
1715 },
1716 "name" : {
1717 "description" : "Alias name.",
1718 "maxLength" : 64,
1719 "minLength" : 2,
1720 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1721 "type" : "string"
1722 }
1723 }
1724 },
1725 "permissions" : {
1726 "check" : [
1727 "perm",
1728 "/",
1729 [
1730 "Sys.Modify"
1731 ]
1732 ]
1733 },
1734 "protected" : 1,
1735 "returns" : {
1736 "type" : "null"
1737 }
1738 },
1739 "GET" : {
1740 "description" : "Read alias.",
1741 "method" : "GET",
1742 "name" : "read_alias",
1743 "parameters" : {
1744 "additionalProperties" : 0,
1745 "properties" : {
1746 "name" : {
1747 "description" : "Alias name.",
1748 "maxLength" : 64,
1749 "minLength" : 2,
1750 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1751 "type" : "string"
1752 }
1753 }
1754 },
1755 "permissions" : {
1756 "check" : [
1757 "perm",
1758 "/",
1759 [
1760 "Sys.Audit"
1761 ]
1762 ]
1763 },
1764 "returns" : {
1765 "type" : "object"
1766 }
1767 },
1768 "PUT" : {
1769 "description" : "Update IP or Network alias.",
1770 "method" : "PUT",
1771 "name" : "update_alias",
1772 "parameters" : {
1773 "additionalProperties" : 0,
1774 "properties" : {
1775 "cidr" : {
1776 "description" : "Network/IP specification in CIDR format.",
1777 "format" : "IPorCIDR",
013dc89f
DM
1778 "type" : "string",
1779 "typetext" : "<string>"
44660702
DM
1780 },
1781 "comment" : {
1782 "optional" : 1,
013dc89f
DM
1783 "type" : "string",
1784 "typetext" : "<string>"
44660702
DM
1785 },
1786 "digest" : {
1787 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1788 "maxLength" : 40,
1789 "optional" : 1,
013dc89f
DM
1790 "type" : "string",
1791 "typetext" : "<string>"
44660702
DM
1792 },
1793 "name" : {
1794 "description" : "Alias name.",
1795 "maxLength" : 64,
1796 "minLength" : 2,
1797 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1798 "type" : "string"
1799 },
1800 "rename" : {
1801 "description" : "Rename an existing alias.",
1802 "maxLength" : 64,
1803 "minLength" : 2,
1804 "optional" : 1,
1805 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1806 "type" : "string"
1807 }
1808 }
1809 },
1810 "permissions" : {
1811 "check" : [
1812 "perm",
1813 "/",
1814 [
1815 "Sys.Modify"
1816 ]
1817 ]
1818 },
1819 "protected" : 1,
1820 "returns" : {
1821 "type" : "null"
1822 }
1823 }
1824 },
1825 "leaf" : 1,
1826 "path" : "/cluster/firewall/aliases/{name}",
1827 "text" : "{name}"
1828 }
1829 ],
1830 "info" : {
1831 "GET" : {
1832 "description" : "List aliases",
1833 "method" : "GET",
1834 "name" : "get_aliases",
1835 "parameters" : {
1836 "additionalProperties" : 0
1837 },
1838 "permissions" : {
1839 "check" : [
1840 "perm",
1841 "/",
1842 [
1843 "Sys.Audit"
1844 ]
1845 ]
1846 },
1847 "returns" : {
1848 "items" : {
1849 "properties" : {
1850 "cidr" : {
1851 "type" : "string"
1852 },
1853 "comment" : {
1854 "optional" : 1,
1855 "type" : "string"
1856 },
1857 "digest" : {
1858 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1859 "maxLength" : 40,
1860 "optional" : 0,
1861 "type" : "string"
1862 },
1863 "name" : {
1864 "type" : "string"
1865 }
1866 },
1867 "type" : "object"
1868 },
1869 "links" : [
1870 {
1871 "href" : "{name}",
1872 "rel" : "child"
1873 }
1874 ],
1875 "type" : "array"
1876 }
1877 },
1878 "POST" : {
1879 "description" : "Create IP or Network Alias.",
1880 "method" : "POST",
1881 "name" : "create_alias",
56122987
DM
1882 "parameters" : {
1883 "additionalProperties" : 0,
1884 "properties" : {
44660702
DM
1885 "cidr" : {
1886 "description" : "Network/IP specification in CIDR format.",
1887 "format" : "IPorCIDR",
013dc89f
DM
1888 "type" : "string",
1889 "typetext" : "<string>"
44660702
DM
1890 },
1891 "comment" : {
1892 "optional" : 1,
013dc89f
DM
1893 "type" : "string",
1894 "typetext" : "<string>"
44660702
DM
1895 },
1896 "name" : {
1897 "description" : "Alias name.",
1898 "maxLength" : 64,
1899 "minLength" : 2,
1900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1901 "type" : "string"
56122987
DM
1902 }
1903 }
1904 },
56122987
DM
1905 "permissions" : {
1906 "check" : [
1907 "perm",
1908 "/",
1909 [
1910 "Sys.Modify"
1911 ]
1912 ]
1913 },
44660702 1914 "protected" : 1,
56122987
DM
1915 "returns" : {
1916 "type" : "null"
1917 }
44660702
DM
1918 }
1919 },
1920 "leaf" : 0,
1921 "path" : "/cluster/firewall/aliases",
1922 "text" : "aliases"
1923 },
1924 {
1925 "info" : {
1926 "GET" : {
1927 "description" : "Get Firewall options.",
1928 "method" : "GET",
1929 "name" : "get_options",
1930 "parameters" : {
1931 "additionalProperties" : 0
7aacca6f 1932 },
56122987
DM
1933 "permissions" : {
1934 "check" : [
1935 "perm",
1936 "/",
1937 [
44660702 1938 "Sys.Audit"
56122987
DM
1939 ]
1940 ]
1941 },
44660702 1942 "returns" : {
56122987 1943 "properties" : {
44660702
DM
1944 "enable" : {
1945 "description" : "Enable or disable the firewall cluster wide.",
1946 "minimum" : 0,
56122987 1947 "optional" : 1,
7aacca6f 1948 "type" : "integer"
56122987 1949 },
44660702
DM
1950 "policy_in" : {
1951 "description" : "Input policy.",
1952 "enum" : [
1953 "ACCEPT",
1954 "REJECT",
1955 "DROP"
1956 ],
56122987 1957 "optional" : 1,
44660702 1958 "type" : "string"
7aacca6f 1959 },
44660702
DM
1960 "policy_out" : {
1961 "description" : "Output policy.",
1962 "enum" : [
1963 "ACCEPT",
1964 "REJECT",
1965 "DROP"
1966 ],
7aacca6f 1967 "optional" : 1,
44660702
DM
1968 "type" : "string"
1969 }
1970 },
1971 "type" : "object"
1972 }
1973 },
1974 "PUT" : {
1975 "description" : "Set Firewall options.",
1976 "method" : "PUT",
1977 "name" : "set_options",
1978 "parameters" : {
1979 "additionalProperties" : 0,
1980 "properties" : {
1981 "delete" : {
1982 "description" : "A list of settings you want to delete.",
1983 "format" : "pve-configid-list",
56122987 1984 "optional" : 1,
013dc89f
DM
1985 "type" : "string",
1986 "typetext" : "<string>"
56122987 1987 },
44660702
DM
1988 "digest" : {
1989 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1990 "maxLength" : 40,
56122987 1991 "optional" : 1,
013dc89f
DM
1992 "type" : "string",
1993 "typetext" : "<string>"
56122987 1994 },
44660702
DM
1995 "enable" : {
1996 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 1997 "minimum" : 0,
56122987 1998 "optional" : 1,
4bd7df8b 1999 "type" : "integer",
013dc89f 2000 "typetext" : "<integer> (0 - N)"
56122987 2001 },
44660702
DM
2002 "policy_in" : {
2003 "description" : "Input policy.",
56122987 2004 "enum" : [
44660702
DM
2005 "ACCEPT",
2006 "REJECT",
2007 "DROP"
56122987 2008 ],
56122987 2009 "optional" : 1,
44660702 2010 "type" : "string"
56122987 2011 },
44660702
DM
2012 "policy_out" : {
2013 "description" : "Output policy.",
56122987 2014 "enum" : [
44660702
DM
2015 "ACCEPT",
2016 "REJECT",
2017 "DROP"
56122987 2018 ],
7aacca6f 2019 "optional" : 1,
44660702 2020 "type" : "string"
56122987 2021 }
44660702
DM
2022 }
2023 },
2024 "permissions" : {
2025 "check" : [
2026 "perm",
2027 "/",
2028 [
2029 "Sys.Modify"
2030 ]
2031 ]
7aacca6f
DM
2032 },
2033 "protected" : 1,
44660702
DM
2034 "returns" : {
2035 "type" : "null"
2036 }
2037 }
2038 },
2039 "leaf" : 1,
2040 "path" : "/cluster/firewall/options",
2041 "text" : "options"
2042 },
2043 {
2044 "info" : {
7aacca6f 2045 "GET" : {
44660702 2046 "description" : "List available macros",
7aacca6f 2047 "method" : "GET",
44660702
DM
2048 "name" : "get_macros",
2049 "parameters" : {
2050 "additionalProperties" : 0
7aacca6f 2051 },
44660702
DM
2052 "permissions" : {
2053 "user" : "all"
2054 },
2055 "returns" : {
2056 "items" : {
2057 "properties" : {
2058 "descr" : {
2059 "description" : "More verbose description (if available).",
2060 "type" : "string"
2061 },
2062 "macro" : {
2063 "description" : "Macro name.",
2064 "type" : "string"
2065 }
2066 },
2067 "type" : "object"
2068 },
2069 "type" : "array"
2070 }
2071 }
2072 },
2073 "leaf" : 1,
2074 "path" : "/cluster/firewall/macros",
2075 "text" : "macros"
2076 },
2077 {
2078 "info" : {
2079 "GET" : {
2080 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2081 "method" : "GET",
2082 "name" : "refs",
7aacca6f 2083 "parameters" : {
44660702 2084 "additionalProperties" : 0,
7aacca6f 2085 "properties" : {
44660702
DM
2086 "type" : {
2087 "description" : "Only list references of specified type.",
2088 "enum" : [
2089 "alias",
2090 "ipset"
2091 ],
2092 "optional" : 1,
2093 "type" : "string"
7aacca6f 2094 }
44660702 2095 }
7aacca6f
DM
2096 },
2097 "permissions" : {
2098 "check" : [
2099 "perm",
2100 "/",
2101 [
2102 "Sys.Audit"
2103 ]
2104 ]
2105 },
44660702
DM
2106 "returns" : {
2107 "items" : {
2108 "properties" : {
2109 "comment" : {
2110 "optional" : 1,
2111 "type" : "string"
2112 },
2113 "name" : {
2114 "type" : "string"
2115 },
2116 "ref" : {
2117 "type" : "string"
2118 },
2119 "type" : {
2120 "enum" : [
2121 "alias",
2122 "ipset"
2123 ],
2124 "type" : "string"
2125 }
2126 },
2127 "type" : "object"
2128 },
2129 "type" : "array"
2130 }
56122987
DM
2131 }
2132 },
7aacca6f 2133 "leaf" : 1,
44660702
DM
2134 "path" : "/cluster/firewall/refs",
2135 "text" : "refs"
56122987
DM
2136 }
2137 ],
56122987 2138 "info" : {
44660702
DM
2139 "GET" : {
2140 "description" : "Directory index.",
2141 "method" : "GET",
2142 "name" : "index",
56122987 2143 "parameters" : {
56122987
DM
2144 "additionalProperties" : 0
2145 },
44660702
DM
2146 "permissions" : {
2147 "user" : "all"
2148 },
56122987 2149 "returns" : {
44660702
DM
2150 "items" : {
2151 "properties" : {},
2152 "type" : "object"
2153 },
7aacca6f
DM
2154 "links" : [
2155 {
44660702
DM
2156 "href" : "{name}",
2157 "rel" : "child"
7aacca6f
DM
2158 }
2159 ],
7aacca6f 2160 "type" : "array"
7aacca6f 2161 }
56122987
DM
2162 }
2163 },
44660702
DM
2164 "leaf" : 0,
2165 "path" : "/cluster/firewall",
2166 "text" : "firewall"
7aacca6f
DM
2167 },
2168 {
56122987
DM
2169 "children" : [
2170 {
56122987 2171 "info" : {
44660702
DM
2172 "DELETE" : {
2173 "description" : "Delete vzdump backup job definition.",
2174 "method" : "DELETE",
2175 "name" : "delete_job",
2176 "parameters" : {
2177 "additionalProperties" : 0,
2178 "properties" : {
2179 "id" : {
2180 "description" : "The job ID.",
2181 "maxLength" : 50,
013dc89f
DM
2182 "type" : "string",
2183 "typetext" : "<string>"
44660702
DM
2184 }
2185 }
2186 },
2187 "permissions" : {
2188 "check" : [
2189 "perm",
2190 "/",
2191 [
2192 "Sys.Modify"
2193 ]
2194 ]
2195 },
2196 "protected" : 1,
56122987
DM
2197 "returns" : {
2198 "type" : "null"
44660702
DM
2199 }
2200 },
2201 "GET" : {
2202 "description" : "Read vzdump backup job definition.",
2203 "method" : "GET",
2204 "name" : "read_job",
2205 "parameters" : {
2206 "additionalProperties" : 0,
2207 "properties" : {
2208 "id" : {
2209 "description" : "The job ID.",
2210 "maxLength" : 50,
013dc89f
DM
2211 "type" : "string",
2212 "typetext" : "<string>"
44660702
DM
2213 }
2214 }
56122987 2215 },
7aacca6f
DM
2216 "permissions" : {
2217 "check" : [
2218 "perm",
2219 "/",
2220 [
44660702 2221 "Sys.Audit"
7aacca6f
DM
2222 ]
2223 ]
2224 },
44660702
DM
2225 "returns" : {
2226 "type" : "object"
2227 }
2228 },
2229 "PUT" : {
2230 "description" : "Update vzdump backup job definition.",
2231 "method" : "PUT",
2232 "name" : "update_job",
56122987 2233 "parameters" : {
44660702 2234 "additionalProperties" : 0,
56122987 2235 "properties" : {
44660702
DM
2236 "all" : {
2237 "default" : 0,
2238 "description" : "Backup all known guest systems on this host.",
7aacca6f 2239 "optional" : 1,
013dc89f
DM
2240 "type" : "boolean",
2241 "typetext" : "<boolean>"
7aacca6f 2242 },
44660702
DM
2243 "bwlimit" : {
2244 "default" : 0,
2245 "description" : "Limit I/O bandwidth (KBytes per second).",
2246 "minimum" : 0,
2247 "optional" : 1,
4bd7df8b 2248 "type" : "integer",
013dc89f 2249 "typetext" : "<integer> (0 - N)"
44660702
DM
2250 },
2251 "compress" : {
2252 "default" : "0",
2253 "description" : "Compress dump file.",
7aacca6f 2254 "enum" : [
44660702
DM
2255 "0",
2256 "1",
2257 "gzip",
2258 "lzo"
7aacca6f 2259 ],
44660702
DM
2260 "optional" : 1,
2261 "type" : "string"
7aacca6f 2262 },
44660702
DM
2263 "delete" : {
2264 "description" : "A list of settings you want to delete.",
2265 "format" : "pve-configid-list",
7aacca6f 2266 "optional" : 1,
013dc89f
DM
2267 "type" : "string",
2268 "typetext" : "<string>"
56122987 2269 },
44660702
DM
2270 "dow" : {
2271 "description" : "Day of week selection.",
2272 "format" : "pve-day-of-week-list",
7aacca6f 2273 "optional" : 1,
013dc89f
DM
2274 "type" : "string",
2275 "typetext" : "<string>"
56122987 2276 },
44660702
DM
2277 "dumpdir" : {
2278 "description" : "Store resulting files to specified directory.",
56122987 2279 "optional" : 1,
013dc89f
DM
2280 "type" : "string",
2281 "typetext" : "<string>"
56122987 2282 },
44660702
DM
2283 "enabled" : {
2284 "default" : "1",
2285 "description" : "Enable or disable the job.",
2286 "optional" : 1,
013dc89f
DM
2287 "type" : "boolean",
2288 "typetext" : "<boolean>"
44660702
DM
2289 },
2290 "exclude" : {
2291 "description" : "Exclude specified guest systems (assumes --all)",
2292 "format" : "pve-vmid-list",
2293 "optional" : 1,
013dc89f
DM
2294 "type" : "string",
2295 "typetext" : "<string>"
44660702
DM
2296 },
2297 "exclude-path" : {
2298 "description" : "Exclude certain files/directories (shell globs).",
2299 "format" : "string-alist",
2300 "optional" : 1,
013dc89f
DM
2301 "type" : "string",
2302 "typetext" : "<string>"
44660702
DM
2303 },
2304 "id" : {
2305 "description" : "The job ID.",
2306 "maxLength" : 50,
013dc89f
DM
2307 "type" : "string",
2308 "typetext" : "<string>"
44660702
DM
2309 },
2310 "ionice" : {
2311 "default" : 7,
2312 "description" : "Set CFQ ionice priority.",
2313 "maximum" : 8,
2314 "minimum" : 0,
2315 "optional" : 1,
4bd7df8b 2316 "type" : "integer",
013dc89f 2317 "typetext" : "<integer> (0 - 8)"
44660702
DM
2318 },
2319 "lockwait" : {
2320 "default" : 180,
2321 "description" : "Maximal time to wait for the global lock (minutes).",
2322 "minimum" : 0,
2323 "optional" : 1,
4bd7df8b 2324 "type" : "integer",
013dc89f 2325 "typetext" : "<integer> (0 - N)"
44660702
DM
2326 },
2327 "mailnotification" : {
2328 "default" : "always",
2329 "description" : "Specify when to send an email",
56122987 2330 "enum" : [
44660702
DM
2331 "always",
2332 "failure"
56122987 2333 ],
44660702
DM
2334 "optional" : 1,
2335 "type" : "string"
2336 },
2337 "mailto" : {
2338 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2339 "format" : "string-list",
2340 "optional" : 1,
013dc89f
DM
2341 "type" : "string",
2342 "typetext" : "<string>"
44660702
DM
2343 },
2344 "maxfiles" : {
2345 "default" : 1,
2346 "description" : "Maximal number of backup files per guest system.",
2347 "minimum" : 1,
2348 "optional" : 1,
4bd7df8b 2349 "type" : "integer",
013dc89f 2350 "typetext" : "<integer> (1 - N)"
44660702
DM
2351 },
2352 "mode" : {
2353 "default" : "snapshot",
2354 "description" : "Backup mode.",
2355 "enum" : [
2356 "snapshot",
2357 "suspend",
2358 "stop"
2359 ],
2360 "optional" : 1,
2361 "type" : "string"
2362 },
2363 "node" : {
2364 "description" : "Only run if executed on this node.",
2365 "format" : "pve-node",
2366 "optional" : 1,
013dc89f
DM
2367 "type" : "string",
2368 "typetext" : "<string>"
44660702
DM
2369 },
2370 "pigz" : {
2371 "default" : 0,
2372 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2373 "optional" : 1,
013dc89f
DM
2374 "type" : "integer",
2375 "typetext" : "<integer>"
44660702
DM
2376 },
2377 "quiet" : {
2378 "default" : 0,
2379 "description" : "Be quiet.",
2380 "optional" : 1,
013dc89f
DM
2381 "type" : "boolean",
2382 "typetext" : "<boolean>"
44660702
DM
2383 },
2384 "remove" : {
2385 "default" : 1,
2386 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2387 "optional" : 1,
013dc89f
DM
2388 "type" : "boolean",
2389 "typetext" : "<boolean>"
44660702
DM
2390 },
2391 "script" : {
2392 "description" : "Use specified hook script.",
2393 "optional" : 1,
013dc89f
DM
2394 "type" : "string",
2395 "typetext" : "<string>"
44660702
DM
2396 },
2397 "size" : {
2398 "default" : 1024,
2399 "description" : "Unused, will be removed in a future release.",
2400 "minimum" : 500,
2401 "optional" : 1,
4bd7df8b 2402 "type" : "integer",
013dc89f 2403 "typetext" : "<integer> (500 - N)"
44660702
DM
2404 },
2405 "starttime" : {
2406 "description" : "Job Start time.",
2407 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2408 "type" : "string",
44660702 2409 "typetext" : "HH:MM"
7aacca6f 2410 },
44660702
DM
2411 "stdexcludes" : {
2412 "default" : 1,
2413 "description" : "Exclude temporary files and logs.",
2414 "optional" : 1,
013dc89f
DM
2415 "type" : "boolean",
2416 "typetext" : "<boolean>"
44660702
DM
2417 },
2418 "stop" : {
2419 "default" : 0,
2420 "description" : "Stop runnig backup jobs on this host.",
2421 "optional" : 1,
013dc89f
DM
2422 "type" : "boolean",
2423 "typetext" : "<boolean>"
44660702
DM
2424 },
2425 "stopwait" : {
2426 "default" : 10,
2427 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2428 "minimum" : 0,
2429 "optional" : 1,
4bd7df8b 2430 "type" : "integer",
013dc89f 2431 "typetext" : "<integer> (0 - N)"
44660702
DM
2432 },
2433 "storage" : {
2434 "description" : "Store resulting file to this storage.",
2435 "format" : "pve-storage-id",
2436 "optional" : 1,
013dc89f
DM
2437 "type" : "string",
2438 "typetext" : "<string>"
56122987 2439 },
44660702
DM
2440 "tmpdir" : {
2441 "description" : "Store temporary files to specified directory.",
2442 "optional" : 1,
013dc89f
DM
2443 "type" : "string",
2444 "typetext" : "<string>"
44660702
DM
2445 },
2446 "vmid" : {
2447 "description" : "The ID of the guest system you want to backup.",
2448 "format" : "pve-vmid-list",
2449 "optional" : 1,
013dc89f
DM
2450 "type" : "string",
2451 "typetext" : "<string>"
56122987 2452 }
44660702 2453 }
56122987
DM
2454 },
2455 "permissions" : {
2456 "check" : [
2457 "perm",
2458 "/",
2459 [
44660702 2460 "Sys.Modify"
56122987
DM
2461 ]
2462 ]
2463 },
44660702
DM
2464 "protected" : 1,
2465 "returns" : {
2466 "type" : "null"
7aacca6f 2467 }
56122987
DM
2468 }
2469 },
44660702
DM
2470 "leaf" : 1,
2471 "path" : "/cluster/backup/{id}",
2472 "text" : "{id}"
2473 }
2474 ],
2475 "info" : {
2476 "GET" : {
2477 "description" : "List vzdump backup schedule.",
2478 "method" : "GET",
2479 "name" : "index",
2480 "parameters" : {
2481 "additionalProperties" : 0
2482 },
2483 "permissions" : {
2484 "check" : [
2485 "perm",
2486 "/",
2487 [
2488 "Sys.Audit"
2489 ]
2490 ]
2491 },
2492 "returns" : {
2493 "items" : {
2494 "properties" : {
2495 "id" : {
2496 "type" : "string"
2497 }
2498 },
2499 "type" : "object"
2500 },
2501 "links" : [
2502 {
2503 "href" : "{id}",
2504 "rel" : "child"
2505 }
2506 ],
2507 "type" : "array"
2508 }
2509 },
2510 "POST" : {
2511 "description" : "Create new vzdump backup job.",
2512 "method" : "POST",
2513 "name" : "create_job",
2514 "parameters" : {
2515 "additionalProperties" : 0,
2516 "properties" : {
2517 "all" : {
2518 "default" : 0,
2519 "description" : "Backup all known guest systems on this host.",
2520 "optional" : 1,
013dc89f
DM
2521 "type" : "boolean",
2522 "typetext" : "<boolean>"
44660702
DM
2523 },
2524 "bwlimit" : {
2525 "default" : 0,
2526 "description" : "Limit I/O bandwidth (KBytes per second).",
2527 "minimum" : 0,
2528 "optional" : 1,
4bd7df8b 2529 "type" : "integer",
013dc89f 2530 "typetext" : "<integer> (0 - N)"
44660702
DM
2531 },
2532 "compress" : {
2533 "default" : "0",
2534 "description" : "Compress dump file.",
2535 "enum" : [
2536 "0",
2537 "1",
2538 "gzip",
2539 "lzo"
2540 ],
2541 "optional" : 1,
2542 "type" : "string"
2543 },
2544 "dow" : {
2545 "default" : "mon,tue,wed,thu,fri,sat,sun",
2546 "description" : "Day of week selection.",
2547 "format" : "pve-day-of-week-list",
2548 "optional" : 1,
013dc89f
DM
2549 "type" : "string",
2550 "typetext" : "<string>"
44660702
DM
2551 },
2552 "dumpdir" : {
2553 "description" : "Store resulting files to specified directory.",
2554 "optional" : 1,
013dc89f
DM
2555 "type" : "string",
2556 "typetext" : "<string>"
44660702
DM
2557 },
2558 "enabled" : {
2559 "default" : "1",
2560 "description" : "Enable or disable the job.",
2561 "optional" : 1,
013dc89f
DM
2562 "type" : "boolean",
2563 "typetext" : "<boolean>"
44660702
DM
2564 },
2565 "exclude" : {
2566 "description" : "Exclude specified guest systems (assumes --all)",
2567 "format" : "pve-vmid-list",
2568 "optional" : 1,
013dc89f
DM
2569 "type" : "string",
2570 "typetext" : "<string>"
44660702
DM
2571 },
2572 "exclude-path" : {
2573 "description" : "Exclude certain files/directories (shell globs).",
2574 "format" : "string-alist",
2575 "optional" : 1,
013dc89f
DM
2576 "type" : "string",
2577 "typetext" : "<string>"
44660702
DM
2578 },
2579 "ionice" : {
2580 "default" : 7,
2581 "description" : "Set CFQ ionice priority.",
2582 "maximum" : 8,
2583 "minimum" : 0,
2584 "optional" : 1,
4bd7df8b 2585 "type" : "integer",
013dc89f 2586 "typetext" : "<integer> (0 - 8)"
44660702
DM
2587 },
2588 "lockwait" : {
2589 "default" : 180,
2590 "description" : "Maximal time to wait for the global lock (minutes).",
2591 "minimum" : 0,
2592 "optional" : 1,
4bd7df8b 2593 "type" : "integer",
013dc89f 2594 "typetext" : "<integer> (0 - N)"
44660702
DM
2595 },
2596 "mailnotification" : {
2597 "default" : "always",
2598 "description" : "Specify when to send an email",
2599 "enum" : [
2600 "always",
2601 "failure"
2602 ],
2603 "optional" : 1,
2604 "type" : "string"
2605 },
2606 "mailto" : {
2607 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2608 "format" : "string-list",
2609 "optional" : 1,
013dc89f
DM
2610 "type" : "string",
2611 "typetext" : "<string>"
44660702
DM
2612 },
2613 "maxfiles" : {
2614 "default" : 1,
2615 "description" : "Maximal number of backup files per guest system.",
2616 "minimum" : 1,
2617 "optional" : 1,
4bd7df8b 2618 "type" : "integer",
013dc89f 2619 "typetext" : "<integer> (1 - N)"
44660702
DM
2620 },
2621 "mode" : {
2622 "default" : "snapshot",
2623 "description" : "Backup mode.",
2624 "enum" : [
2625 "snapshot",
2626 "suspend",
2627 "stop"
2628 ],
2629 "optional" : 1,
2630 "type" : "string"
2631 },
2632 "node" : {
2633 "description" : "Only run if executed on this node.",
2634 "format" : "pve-node",
2635 "optional" : 1,
013dc89f
DM
2636 "type" : "string",
2637 "typetext" : "<string>"
44660702
DM
2638 },
2639 "pigz" : {
2640 "default" : 0,
2641 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2642 "optional" : 1,
013dc89f
DM
2643 "type" : "integer",
2644 "typetext" : "<integer>"
44660702
DM
2645 },
2646 "quiet" : {
2647 "default" : 0,
2648 "description" : "Be quiet.",
2649 "optional" : 1,
013dc89f
DM
2650 "type" : "boolean",
2651 "typetext" : "<boolean>"
44660702
DM
2652 },
2653 "remove" : {
2654 "default" : 1,
2655 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2656 "optional" : 1,
013dc89f
DM
2657 "type" : "boolean",
2658 "typetext" : "<boolean>"
44660702
DM
2659 },
2660 "script" : {
2661 "description" : "Use specified hook script.",
2662 "optional" : 1,
013dc89f
DM
2663 "type" : "string",
2664 "typetext" : "<string>"
44660702
DM
2665 },
2666 "size" : {
2667 "default" : 1024,
2668 "description" : "Unused, will be removed in a future release.",
2669 "minimum" : 500,
2670 "optional" : 1,
4bd7df8b 2671 "type" : "integer",
013dc89f 2672 "typetext" : "<integer> (500 - N)"
44660702
DM
2673 },
2674 "starttime" : {
2675 "description" : "Job Start time.",
2676 "pattern" : "\\d{1,2}:\\d{1,2}",
2677 "type" : "string",
2678 "typetext" : "HH:MM"
2679 },
2680 "stdexcludes" : {
2681 "default" : 1,
2682 "description" : "Exclude temporary files and logs.",
2683 "optional" : 1,
013dc89f
DM
2684 "type" : "boolean",
2685 "typetext" : "<boolean>"
44660702
DM
2686 },
2687 "stop" : {
2688 "default" : 0,
2689 "description" : "Stop runnig backup jobs on this host.",
2690 "optional" : 1,
013dc89f
DM
2691 "type" : "boolean",
2692 "typetext" : "<boolean>"
44660702
DM
2693 },
2694 "stopwait" : {
2695 "default" : 10,
2696 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2697 "minimum" : 0,
2698 "optional" : 1,
4bd7df8b 2699 "type" : "integer",
013dc89f 2700 "typetext" : "<integer> (0 - N)"
44660702
DM
2701 },
2702 "storage" : {
2703 "description" : "Store resulting file to this storage.",
2704 "format" : "pve-storage-id",
2705 "optional" : 1,
013dc89f
DM
2706 "type" : "string",
2707 "typetext" : "<string>"
44660702
DM
2708 },
2709 "tmpdir" : {
2710 "description" : "Store temporary files to specified directory.",
2711 "optional" : 1,
013dc89f
DM
2712 "type" : "string",
2713 "typetext" : "<string>"
44660702
DM
2714 },
2715 "vmid" : {
2716 "description" : "The ID of the guest system you want to backup.",
2717 "format" : "pve-vmid-list",
2718 "optional" : 1,
013dc89f
DM
2719 "type" : "string",
2720 "typetext" : "<string>"
44660702
DM
2721 }
2722 }
2723 },
2724 "permissions" : {
2725 "check" : [
2726 "perm",
2727 "/",
2728 [
2729 "Sys.Modify"
2730 ]
de0983cb
DM
2731 ],
2732 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
2733 },
2734 "protected" : 1,
2735 "returns" : {
2736 "type" : "null"
2737 }
2738 }
2739 },
2740 "leaf" : 0,
2741 "path" : "/cluster/backup",
2742 "text" : "backup"
2743 },
2744 {
2745 "children" : [
2746 {
2747 "children" : [
2748 {
2749 "children" : [
56122987 2750 {
56122987
DM
2751 "info" : {
2752 "POST" : {
44660702
DM
2753 "description" : "Request resource migration (online) to another node.",
2754 "method" : "POST",
2755 "name" : "migrate",
56122987 2756 "parameters" : {
7aacca6f 2757 "additionalProperties" : 0,
56122987
DM
2758 "properties" : {
2759 "node" : {
7aacca6f 2760 "description" : "The cluster node name.",
44660702 2761 "format" : "pve-node",
013dc89f
DM
2762 "type" : "string",
2763 "typetext" : "<string>"
56122987
DM
2764 },
2765 "sid" : {
44660702 2766 "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 2767 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2768 "type" : "string",
44660702 2769 "typetext" : "<type>:<name>"
56122987 2770 }
7aacca6f 2771 }
56122987 2772 },
56122987
DM
2773 "permissions" : {
2774 "check" : [
2775 "perm",
2776 "/",
2777 [
2778 "Sys.Console"
2779 ]
2780 ]
2781 },
7aacca6f 2782 "protected" : 1,
7aacca6f
DM
2783 "returns" : {
2784 "type" : "null"
44660702 2785 }
56122987 2786 }
44660702
DM
2787 },
2788 "leaf" : 1,
2789 "path" : "/cluster/ha/resources/{sid}/migrate",
2790 "text" : "migrate"
2791 },
2792 {
2793 "info" : {
2794 "POST" : {
2795 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2796 "method" : "POST",
2797 "name" : "relocate",
2798 "parameters" : {
2799 "additionalProperties" : 0,
2800 "properties" : {
2801 "node" : {
2802 "description" : "The cluster node name.",
2803 "format" : "pve-node",
013dc89f
DM
2804 "type" : "string",
2805 "typetext" : "<string>"
44660702
DM
2806 },
2807 "sid" : {
2808 "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).",
2809 "format" : "pve-ha-resource-or-vm-id",
2810 "type" : "string",
2811 "typetext" : "<type>:<name>"
2812 }
2813 }
2814 },
2815 "permissions" : {
2816 "check" : [
2817 "perm",
2818 "/",
2819 [
2820 "Sys.Console"
2821 ]
2822 ]
2823 },
2824 "protected" : 1,
2825 "returns" : {
2826 "type" : "null"
2827 }
2828 }
2829 },
2830 "leaf" : 1,
2831 "path" : "/cluster/ha/resources/{sid}/relocate",
2832 "text" : "relocate"
2833 }
2834 ],
2835 "info" : {
2836 "DELETE" : {
2837 "description" : "Delete resource configuration.",
2838 "method" : "DELETE",
2839 "name" : "delete",
7aacca6f 2840 "parameters" : {
44660702 2841 "additionalProperties" : 0,
7aacca6f
DM
2842 "properties" : {
2843 "sid" : {
2844 "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 2845 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2846 "type" : "string",
44660702
DM
2847 "typetext" : "<type>:<name>"
2848 }
2849 }
2850 },
2851 "permissions" : {
2852 "check" : [
2853 "perm",
2854 "/",
2855 [
2856 "Sys.Console"
2857 ]
2858 ]
2859 },
2860 "protected" : 1,
2861 "returns" : {
2862 "type" : "null"
2863 }
2864 },
2865 "GET" : {
2866 "description" : "Read resource configuration.",
2867 "method" : "GET",
2868 "name" : "read",
2869 "parameters" : {
2870 "additionalProperties" : 0,
2871 "properties" : {
2872 "sid" : {
2873 "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 2874 "format" : "pve-ha-resource-or-vm-id",
44660702 2875 "type" : "string",
7aacca6f
DM
2876 "typetext" : "<type>:<name>"
2877 }
44660702 2878 }
7aacca6f
DM
2879 },
2880 "permissions" : {
2881 "check" : [
2882 "perm",
2883 "/",
2884 [
2885 "Sys.Audit"
2886 ]
2887 ]
2888 },
44660702 2889 "returns" : {}
7aacca6f 2890 },
56122987 2891 "PUT" : {
44660702 2892 "description" : "Update resource configuration.",
7aacca6f 2893 "method" : "PUT",
44660702 2894 "name" : "update",
56122987
DM
2895 "parameters" : {
2896 "additionalProperties" : 0,
2897 "properties" : {
44660702
DM
2898 "comment" : {
2899 "description" : "Description.",
2900 "maxLength" : 4096,
56122987 2901 "optional" : 1,
013dc89f
DM
2902 "type" : "string",
2903 "typetext" : "<string>"
56122987 2904 },
7aacca6f
DM
2905 "delete" : {
2906 "description" : "A list of settings you want to delete.",
7aacca6f 2907 "format" : "pve-configid-list",
44660702
DM
2908 "maxLength" : 4096,
2909 "optional" : 1,
013dc89f
DM
2910 "type" : "string",
2911 "typetext" : "<string>"
56122987 2912 },
44660702
DM
2913 "digest" : {
2914 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2915 "maxLength" : 40,
2916 "optional" : 1,
013dc89f
DM
2917 "type" : "string",
2918 "typetext" : "<string>"
56122987 2919 },
44660702
DM
2920 "group" : {
2921 "description" : "The HA group identifier.",
2922 "format" : "pve-configid",
7aacca6f 2923 "optional" : 1,
013dc89f
DM
2924 "type" : "string",
2925 "typetext" : "<string>"
56122987
DM
2926 },
2927 "max_relocate" : {
7aacca6f 2928 "default" : 1,
56122987 2929 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
2930 "minimum" : 0,
2931 "optional" : 1,
4bd7df8b 2932 "type" : "integer",
013dc89f 2933 "typetext" : "<integer> (0 - N)"
7aacca6f 2934 },
44660702
DM
2935 "max_restart" : {
2936 "default" : 1,
2937 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2938 "minimum" : 0,
7aacca6f 2939 "optional" : 1,
4bd7df8b 2940 "type" : "integer",
013dc89f 2941 "typetext" : "<integer> (0 - N)"
44660702
DM
2942 },
2943 "sid" : {
2944 "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).",
2945 "format" : "pve-ha-resource-or-vm-id",
2946 "type" : "string",
2947 "typetext" : "<type>:<name>"
7aacca6f
DM
2948 },
2949 "state" : {
f13c1238
DM
2950 "default" : "started",
2951 "description" : "Requested resource state.",
7aacca6f 2952 "enum" : [
f13c1238
DM
2953 "started",
2954 "stopped",
7aacca6f 2955 "enabled",
2489d6df
WB
2956 "disabled",
2957 "ignored"
7aacca6f 2958 ],
7aacca6f 2959 "optional" : 1,
f13c1238 2960 "type" : "string",
2489d6df 2961 "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 2962 }
44660702
DM
2963 },
2964 "type" : "object"
56122987 2965 },
56122987
DM
2966 "permissions" : {
2967 "check" : [
2968 "perm",
2969 "/",
2970 [
2971 "Sys.Console"
2972 ]
2973 ]
2974 },
7aacca6f 2975 "protected" : 1,
56122987
DM
2976 "returns" : {
2977 "type" : "null"
2978 }
2979 }
2980 },
44660702 2981 "leaf" : 0,
7aacca6f 2982 "path" : "/cluster/ha/resources/{sid}",
44660702 2983 "text" : "{sid}"
56122987
DM
2984 }
2985 ],
7aacca6f
DM
2986 "info" : {
2987 "GET" : {
44660702
DM
2988 "description" : "List HA resources.",
2989 "method" : "GET",
2990 "name" : "index",
7aacca6f 2991 "parameters" : {
44660702
DM
2992 "additionalProperties" : 0,
2993 "properties" : {
2994 "type" : {
2995 "description" : "Only list resources of specific type",
2996 "enum" : [
2997 "ct",
2998 "vm"
2999 ],
3000 "optional" : 1,
3001 "type" : "string"
3002 }
3003 }
7aacca6f 3004 },
7aacca6f
DM
3005 "permissions" : {
3006 "check" : [
3007 "perm",
3008 "/",
3009 [
3010 "Sys.Audit"
3011 ]
3012 ]
3013 },
7aacca6f 3014 "returns" : {
7aacca6f 3015 "items" : {
7aacca6f 3016 "properties" : {
44660702 3017 "sid" : {
7aacca6f
DM
3018 "type" : "string"
3019 }
44660702
DM
3020 },
3021 "type" : "object"
7aacca6f
DM
3022 },
3023 "links" : [
3024 {
44660702 3025 "href" : "{sid}",
7aacca6f
DM
3026 "rel" : "child"
3027 }
44660702
DM
3028 ],
3029 "type" : "array"
7aacca6f
DM
3030 }
3031 },
3032 "POST" : {
44660702 3033 "description" : "Create a new HA resource.",
7aacca6f 3034 "method" : "POST",
44660702 3035 "name" : "create",
7aacca6f 3036 "parameters" : {
44660702 3037 "additionalProperties" : 0,
7aacca6f
DM
3038 "properties" : {
3039 "comment" : {
7aacca6f 3040 "description" : "Description.",
44660702 3041 "maxLength" : 4096,
7aacca6f 3042 "optional" : 1,
013dc89f
DM
3043 "type" : "string",
3044 "typetext" : "<string>"
7aacca6f 3045 },
44660702
DM
3046 "group" : {
3047 "description" : "The HA group identifier.",
3048 "format" : "pve-configid",
7aacca6f 3049 "optional" : 1,
013dc89f
DM
3050 "type" : "string",
3051 "typetext" : "<string>"
7aacca6f 3052 },
44660702
DM
3053 "max_relocate" : {
3054 "default" : 1,
3055 "description" : "Maximal number of service relocate tries when a service failes to start.",
3056 "minimum" : 0,
7aacca6f 3057 "optional" : 1,
4bd7df8b 3058 "type" : "integer",
013dc89f 3059 "typetext" : "<integer> (0 - N)"
7aacca6f 3060 },
44660702
DM
3061 "max_restart" : {
3062 "default" : 1,
3063 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3064 "minimum" : 0,
3065 "optional" : 1,
4bd7df8b 3066 "type" : "integer",
013dc89f 3067 "typetext" : "<integer> (0 - N)"
44660702
DM
3068 },
3069 "sid" : {
3070 "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).",
3071 "format" : "pve-ha-resource-or-vm-id",
3072 "type" : "string",
3073 "typetext" : "<type>:<name>"
3074 },
3075 "state" : {
f13c1238
DM
3076 "default" : "started",
3077 "description" : "Requested resource state.",
7aacca6f 3078 "enum" : [
f13c1238
DM
3079 "started",
3080 "stopped",
44660702 3081 "enabled",
2489d6df
WB
3082 "disabled",
3083 "ignored"
7aacca6f 3084 ],
7aacca6f 3085 "optional" : 1,
f13c1238 3086 "type" : "string",
2489d6df 3087 "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 3088 },
44660702
DM
3089 "type" : {
3090 "description" : "Resource type.",
3091 "enum" : [
3092 "ct",
3093 "vm"
3094 ],
3095 "optional" : 1,
3096 "type" : "string"
3097 }
7aacca6f 3098 },
44660702 3099 "type" : "object"
7aacca6f
DM
3100 },
3101 "permissions" : {
3102 "check" : [
3103 "perm",
3104 "/",
3105 [
3106 "Sys.Console"
3107 ]
3108 ]
3109 },
44660702
DM
3110 "protected" : 1,
3111 "returns" : {
3112 "type" : "null"
3113 }
7aacca6f
DM
3114 }
3115 },
44660702
DM
3116 "leaf" : 0,
3117 "path" : "/cluster/ha/resources",
3118 "text" : "resources"
3119 },
3120 {
56122987
DM
3121 "children" : [
3122 {
56122987 3123 "info" : {
44660702
DM
3124 "DELETE" : {
3125 "description" : "Delete ha group configuration.",
3126 "method" : "DELETE",
3127 "name" : "delete",
56122987 3128 "parameters" : {
7aacca6f 3129 "additionalProperties" : 0,
56122987 3130 "properties" : {
7aacca6f
DM
3131 "group" : {
3132 "description" : "The HA group identifier.",
44660702 3133 "format" : "pve-configid",
013dc89f
DM
3134 "type" : "string",
3135 "typetext" : "<string>"
56122987 3136 }
7aacca6f 3137 }
56122987 3138 },
56122987
DM
3139 "permissions" : {
3140 "check" : [
3141 "perm",
3142 "/",
3143 [
7aacca6f 3144 "Sys.Console"
56122987
DM
3145 ]
3146 ]
3147 },
44660702 3148 "protected" : 1,
7aacca6f
DM
3149 "returns" : {
3150 "type" : "null"
56122987
DM
3151 }
3152 },
44660702
DM
3153 "GET" : {
3154 "description" : "Read ha group configuration.",
3155 "method" : "GET",
3156 "name" : "read",
56122987 3157 "parameters" : {
44660702 3158 "additionalProperties" : 0,
56122987
DM
3159 "properties" : {
3160 "group" : {
3161 "description" : "The HA group identifier.",
44660702 3162 "format" : "pve-configid",
013dc89f
DM
3163 "type" : "string",
3164 "typetext" : "<string>"
56122987 3165 }
44660702 3166 }
56122987 3167 },
56122987
DM
3168 "permissions" : {
3169 "check" : [
3170 "perm",
3171 "/",
3172 [
44660702 3173 "Sys.Audit"
56122987
DM
3174 ]
3175 ]
3176 },
44660702 3177 "returns" : {}
7aacca6f 3178 },
44660702
DM
3179 "PUT" : {
3180 "description" : "Update ha group configuration.",
3181 "method" : "PUT",
3182 "name" : "update",
7aacca6f 3183 "parameters" : {
44660702 3184 "additionalProperties" : 0,
7aacca6f 3185 "properties" : {
44660702
DM
3186 "comment" : {
3187 "description" : "Description.",
3188 "maxLength" : 4096,
3189 "optional" : 1,
013dc89f
DM
3190 "type" : "string",
3191 "typetext" : "<string>"
44660702
DM
3192 },
3193 "delete" : {
3194 "description" : "A list of settings you want to delete.",
3195 "format" : "pve-configid-list",
3196 "maxLength" : 4096,
3197 "optional" : 1,
013dc89f
DM
3198 "type" : "string",
3199 "typetext" : "<string>"
44660702
DM
3200 },
3201 "digest" : {
3202 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3203 "maxLength" : 40,
3204 "optional" : 1,
013dc89f
DM
3205 "type" : "string",
3206 "typetext" : "<string>"
44660702 3207 },
7aacca6f
DM
3208 "group" : {
3209 "description" : "The HA group identifier.",
44660702 3210 "format" : "pve-configid",
013dc89f
DM
3211 "type" : "string",
3212 "typetext" : "<string>"
44660702
DM
3213 },
3214 "nodes" : {
f13c1238 3215 "description" : "List of cluster node names with optional priority.",
44660702
DM
3216 "format" : "pve-ha-group-node-list",
3217 "optional" : 1,
7aacca6f 3218 "type" : "string",
f13c1238
DM
3219 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3220 "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
3221 },
3222 "nofailback" : {
3223 "default" : 0,
3224 "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.",
3225 "optional" : 1,
013dc89f
DM
3226 "type" : "boolean",
3227 "typetext" : "<boolean>"
44660702
DM
3228 },
3229 "restricted" : {
3230 "default" : 0,
c4808e75 3231 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3232 "optional" : 1,
013dc89f 3233 "type" : "boolean",
c4808e75
DM
3234 "typetext" : "<boolean>",
3235 "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
3236 }
3237 },
44660702 3238 "type" : "object"
7aacca6f 3239 },
7aacca6f
DM
3240 "permissions" : {
3241 "check" : [
3242 "perm",
3243 "/",
3244 [
44660702 3245 "Sys.Console"
7aacca6f
DM
3246 ]
3247 ]
3248 },
44660702
DM
3249 "protected" : 1,
3250 "returns" : {
3251 "type" : "null"
3252 }
56122987
DM
3253 }
3254 },
3255 "leaf" : 1,
44660702
DM
3256 "path" : "/cluster/ha/groups/{group}",
3257 "text" : "{group}"
56122987 3258 }
44660702
DM
3259 ],
3260 "info" : {
3261 "GET" : {
3262 "description" : "Get HA groups.",
3263 "method" : "GET",
3264 "name" : "index",
3265 "parameters" : {
3266 "additionalProperties" : 0
3267 },
3268 "permissions" : {
3269 "check" : [
3270 "perm",
3271 "/",
3272 [
3273 "Sys.Audit"
3274 ]
3275 ]
3276 },
3277 "returns" : {
3278 "items" : {
3279 "properties" : {
3280 "group" : {
3281 "type" : "string"
3282 }
3283 },
3284 "type" : "object"
3285 },
3286 "links" : [
3287 {
3288 "href" : "{group}",
3289 "rel" : "child"
3290 }
3291 ],
3292 "type" : "array"
3293 }
3294 },
3295 "POST" : {
3296 "description" : "Create a new HA group.",
3297 "method" : "POST",
3298 "name" : "create",
3299 "parameters" : {
3300 "additionalProperties" : 0,
3301 "properties" : {
3302 "comment" : {
3303 "description" : "Description.",
3304 "maxLength" : 4096,
3305 "optional" : 1,
013dc89f
DM
3306 "type" : "string",
3307 "typetext" : "<string>"
44660702
DM
3308 },
3309 "group" : {
3310 "description" : "The HA group identifier.",
3311 "format" : "pve-configid",
013dc89f
DM
3312 "type" : "string",
3313 "typetext" : "<string>"
44660702
DM
3314 },
3315 "nodes" : {
f13c1238 3316 "description" : "List of cluster node names with optional priority.",
44660702
DM
3317 "format" : "pve-ha-group-node-list",
3318 "optional" : 0,
3319 "type" : "string",
f13c1238
DM
3320 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3321 "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
3322 },
3323 "nofailback" : {
3324 "default" : 0,
3325 "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.",
3326 "optional" : 1,
013dc89f
DM
3327 "type" : "boolean",
3328 "typetext" : "<boolean>"
44660702
DM
3329 },
3330 "restricted" : {
3331 "default" : 0,
c4808e75 3332 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3333 "optional" : 1,
013dc89f 3334 "type" : "boolean",
c4808e75
DM
3335 "typetext" : "<boolean>",
3336 "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
3337 },
3338 "type" : {
3339 "description" : "Group type.",
3340 "enum" : [
3341 "group"
3342 ],
3343 "optional" : 1,
3344 "type" : "string"
3345 }
3346 },
3347 "type" : "object"
3348 },
3349 "permissions" : {
3350 "check" : [
3351 "perm",
3352 "/",
3353 [
3354 "Sys.Console"
3355 ]
3356 ]
3357 },
3358 "protected" : 1,
3359 "returns" : {
3360 "type" : "null"
3361 }
3362 }
3363 },
3364 "leaf" : 0,
3365 "path" : "/cluster/ha/groups",
3366 "text" : "groups"
7aacca6f
DM
3367 },
3368 {
7aacca6f
DM
3369 "children" : [
3370 {
3371 "info" : {
3372 "GET" : {
56122987 3373 "description" : "Get HA manger status.",
44660702 3374 "method" : "GET",
7aacca6f 3375 "name" : "status",
44660702
DM
3376 "parameters" : {
3377 "additionalProperties" : 0
3378 },
56122987
DM
3379 "permissions" : {
3380 "check" : [
3381 "perm",
3382 "/",
3383 [
3384 "Sys.Audit"
3385 ]
3386 ]
7aacca6f 3387 },
44660702
DM
3388 "returns" : {
3389 "type" : "array"
56122987
DM
3390 }
3391 }
7aacca6f 3392 },
7aacca6f 3393 "leaf" : 1,
44660702
DM
3394 "path" : "/cluster/ha/status/current",
3395 "text" : "current"
56122987
DM
3396 },
3397 {
3398 "info" : {
3399 "GET" : {
7aacca6f 3400 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3401 "method" : "GET",
3402 "name" : "manager_status",
7aacca6f
DM
3403 "parameters" : {
3404 "additionalProperties" : 0
3405 },
56122987
DM
3406 "permissions" : {
3407 "check" : [
3408 "perm",
3409 "/",
3410 [
3411 "Sys.Audit"
3412 ]
3413 ]
44660702
DM
3414 },
3415 "returns" : {
3416 "type" : "object"
7aacca6f 3417 }
56122987
DM
3418 }
3419 },
56122987 3420 "leaf" : 1,
44660702
DM
3421 "path" : "/cluster/ha/status/manager_status",
3422 "text" : "manager_status"
56122987
DM
3423 }
3424 ],
56122987
DM
3425 "info" : {
3426 "GET" : {
44660702 3427 "description" : "Directory index.",
7aacca6f 3428 "method" : "GET",
44660702
DM
3429 "name" : "index",
3430 "parameters" : {
3431 "additionalProperties" : 0
3432 },
3433 "permissions" : {
3434 "user" : "all"
3435 },
56122987 3436 "returns" : {
56122987
DM
3437 "items" : {
3438 "properties" : {},
3439 "type" : "object"
3440 },
3441 "links" : [
3442 {
44660702
DM
3443 "href" : "{name}",
3444 "rel" : "child"
56122987 3445 }
7aacca6f
DM
3446 ],
3447 "type" : "array"
44660702 3448 }
56122987 3449 }
7aacca6f 3450 },
44660702 3451 "leaf" : 0,
7aacca6f 3452 "path" : "/cluster/ha/status",
44660702 3453 "text" : "status"
56122987
DM
3454 }
3455 ],
56122987
DM
3456 "info" : {
3457 "GET" : {
7aacca6f 3458 "description" : "Directory index.",
44660702
DM
3459 "method" : "GET",
3460 "name" : "index",
3461 "parameters" : {
3462 "additionalProperties" : 0
3463 },
7aacca6f
DM
3464 "permissions" : {
3465 "check" : [
3466 "perm",
3467 "/",
3468 [
3469 "Sys.Audit"
3470 ]
3471 ]
3472 },
56122987 3473 "returns" : {
56122987 3474 "items" : {
7aacca6f
DM
3475 "properties" : {
3476 "id" : {
3477 "type" : "string"
3478 }
44660702
DM
3479 },
3480 "type" : "object"
7aacca6f
DM
3481 },
3482 "links" : [
3483 {
3484 "href" : "{id}",
3485 "rel" : "child"
3486 }
44660702
DM
3487 ],
3488 "type" : "array"
7aacca6f
DM
3489 }
3490 }
44660702
DM
3491 },
3492 "leaf" : 0,
3493 "path" : "/cluster/ha",
3494 "text" : "ha"
7aacca6f
DM
3495 },
3496 {
7aacca6f
DM
3497 "info" : {
3498 "GET" : {
3499 "description" : "Read cluster log",
44660702
DM
3500 "method" : "GET",
3501 "name" : "log",
56122987 3502 "parameters" : {
7aacca6f 3503 "additionalProperties" : 0,
56122987
DM
3504 "properties" : {
3505 "max" : {
7aacca6f 3506 "description" : "Maximum number of entries.",
44660702
DM
3507 "minimum" : 1,
3508 "optional" : 1,
4bd7df8b 3509 "type" : "integer",
013dc89f 3510 "typetext" : "<integer> (1 - N)"
56122987 3511 }
7aacca6f 3512 }
56122987 3513 },
44660702
DM
3514 "permissions" : {
3515 "user" : "all"
3516 },
7aacca6f 3517 "returns" : {
7aacca6f 3518 "items" : {
44660702
DM
3519 "properties" : {},
3520 "type" : "object"
3521 },
3522 "type" : "array"
7aacca6f 3523 }
56122987 3524 }
44660702
DM
3525 },
3526 "leaf" : 1,
3527 "path" : "/cluster/log",
3528 "text" : "log"
56122987
DM
3529 },
3530 {
56122987
DM
3531 "info" : {
3532 "GET" : {
44660702 3533 "description" : "Resources index (cluster wide).",
7aacca6f 3534 "method" : "GET",
7aacca6f 3535 "name" : "resources",
56122987
DM
3536 "parameters" : {
3537 "additionalProperties" : 0,
3538 "properties" : {
3539 "type" : {
3540 "enum" : [
3541 "vm",
3542 "storage",
3543 "node"
44660702
DM
3544 ],
3545 "optional" : 1,
3546 "type" : "string"
56122987
DM
3547 }
3548 }
3549 },
44660702
DM
3550 "permissions" : {
3551 "user" : "all"
3552 },
3553 "returns" : {
3554 "items" : {
3555 "properties" : {},
3556 "type" : "object"
3557 },
3558 "type" : "array"
3559 }
56122987
DM
3560 }
3561 },
7aacca6f 3562 "leaf" : 1,
44660702
DM
3563 "path" : "/cluster/resources",
3564 "text" : "resources"
56122987
DM
3565 },
3566 {
56122987
DM
3567 "info" : {
3568 "GET" : {
7aacca6f 3569 "description" : "List recent tasks (cluster wide).",
44660702 3570 "method" : "GET",
7aacca6f 3571 "name" : "tasks",
56122987
DM
3572 "parameters" : {
3573 "additionalProperties" : 0
3574 },
44660702
DM
3575 "permissions" : {
3576 "user" : "all"
3577 },
56122987
DM
3578 "returns" : {
3579 "items" : {
3580 "properties" : {
3581 "upid" : {
3582 "type" : "string"
3583 }
44660702
DM
3584 },
3585 "type" : "object"
3586 },
3587 "type" : "array"
7aacca6f 3588 }
56122987
DM
3589 }
3590 },
7aacca6f 3591 "leaf" : 1,
44660702
DM
3592 "path" : "/cluster/tasks",
3593 "text" : "tasks"
56122987
DM
3594 },
3595 {
56122987 3596 "info" : {
7aacca6f 3597 "GET" : {
44660702
DM
3598 "description" : "Get datacenter options.",
3599 "method" : "GET",
3600 "name" : "get_options",
56122987 3601 "parameters" : {
7aacca6f
DM
3602 "additionalProperties" : 0
3603 },
3604 "permissions" : {
3605 "check" : [
3606 "perm",
3607 "/",
3608 [
3609 "Sys.Audit"
3610 ]
3611 ]
3612 },
7aacca6f 3613 "returns" : {
44660702
DM
3614 "properties" : {},
3615 "type" : "object"
7aacca6f
DM
3616 }
3617 },
3618 "PUT" : {
44660702
DM
3619 "description" : "Set datacenter options.",
3620 "method" : "PUT",
7aacca6f
DM
3621 "name" : "set_options",
3622 "parameters" : {
3623 "additionalProperties" : 0,
3624 "properties" : {
56122987 3625 "console" : {
35a75dd3 3626 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
56122987
DM
3627 "enum" : [
3628 "applet",
3629 "vv",
3630 "html5"
44660702
DM
3631 ],
3632 "optional" : 1,
3633 "type" : "string"
56122987 3634 },
7aacca6f 3635 "delete" : {
7aacca6f 3636 "description" : "A list of settings you want to delete.",
44660702 3637 "format" : "pve-configid-list",
7aacca6f 3638 "optional" : 1,
013dc89f
DM
3639 "type" : "string",
3640 "typetext" : "<string>"
7aacca6f 3641 },
44660702
DM
3642 "email_from" : {
3643 "description" : "Specify email address to send notification from (default is root@$hostname)",
3644 "format" : "email-opt",
7aacca6f 3645 "optional" : 1,
013dc89f
DM
3646 "type" : "string",
3647 "typetext" : "<string>"
44660702
DM
3648 },
3649 "fencing" : {
3650 "default" : "watchdog",
3651 "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 3652 "enum" : [
44660702
DM
3653 "watchdog",
3654 "hardware",
3655 "both"
7aacca6f 3656 ],
44660702
DM
3657 "optional" : 1,
3658 "type" : "string"
3659 },
3660 "http_proxy" : {
3661 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3662 "optional" : 1,
3663 "pattern" : "http://.*",
3664 "type" : "string"
7aacca6f 3665 },
56122987 3666 "keyboard" : {
44660702 3667 "description" : "Default keybord layout for vnc server.",
56122987 3668 "enum" : [
44660702
DM
3669 "de",
3670 "de-ch",
7aacca6f 3671 "da",
56122987 3672 "en-gb",
44660702
DM
3673 "en-us",
3674 "es",
3675 "fi",
3676 "fr",
3677 "fr-be",
3678 "fr-ca",
3679 "fr-ch",
3680 "hu",
7aacca6f 3681 "is",
44660702
DM
3682 "it",
3683 "ja",
3684 "lt",
56122987 3685 "mk",
7aacca6f 3686 "nl",
56122987 3687 "no",
44660702 3688 "pl",
7aacca6f 3689 "pt",
44660702
DM
3690 "pt-br",
3691 "sv",
3692 "sl",
3693 "tr"
56122987 3694 ],
56122987
DM
3695 "optional" : 1,
3696 "type" : "string"
3697 },
44660702
DM
3698 "language" : {
3699 "description" : "Default GUI language.",
3700 "enum" : [
3701 "en",
3702 "de"
3703 ],
56122987 3704 "optional" : 1,
44660702 3705 "type" : "string"
56122987 3706 },
4bd7df8b
DM
3707 "mac_prefix" : {
3708 "description" : "Prefix for autogenerated MAC addresses.",
3709 "optional" : 1,
3710 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3711 "type" : "string"
3712 },
44660702
DM
3713 "max_workers" : {
3714 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3715 "minimum" : 1,
56122987 3716 "optional" : 1,
4bd7df8b 3717 "type" : "integer",
013dc89f 3718 "typetext" : "<integer> (1 - N)"
56122987 3719 },
de0983cb
DM
3720 "migration" : {
3721 "description" : "For cluster wide migration settings.",
3722 "format" : {
3723 "network" : {
3724 "description" : "CIDR of the (sub) network that is used for migration.",
3725 "format" : "CIDR",
3726 "format_description" : "CIDR",
3727 "optional" : 1,
3728 "type" : "string"
3729 },
3730 "type" : {
3731 "default" : "secure",
3732 "default_key" : 1,
3733 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3734 "enum" : [
3735 "secure",
3736 "insecure"
3737 ],
3738 "type" : "string"
3739 }
3740 },
3741 "optional" : 1,
3742 "type" : "string",
3743 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3744 },
7aacca6f 3745 "migration_unsecure" : {
de0983cb 3746 "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 3747 "optional" : 1,
013dc89f
DM
3748 "type" : "boolean",
3749 "typetext" : "<boolean>"
56122987
DM
3750 }
3751 }
3752 },
44660702
DM
3753 "permissions" : {
3754 "check" : [
3755 "perm",
3756 "/",
3757 [
3758 "Sys.Modify"
3759 ]
3760 ]
3761 },
56122987 3762 "protected" : 1,
7aacca6f
DM
3763 "returns" : {
3764 "type" : "null"
44660702 3765 }
7aacca6f
DM
3766 }
3767 },
44660702
DM
3768 "leaf" : 1,
3769 "path" : "/cluster/options",
7aacca6f
DM
3770 "text" : "options"
3771 },
3772 {
7aacca6f 3773 "info" : {
56122987 3774 "GET" : {
44660702
DM
3775 "description" : "Get cluster status informations.",
3776 "method" : "GET",
3777 "name" : "get_status",
56122987
DM
3778 "parameters" : {
3779 "additionalProperties" : 0
3780 },
56122987
DM
3781 "permissions" : {
3782 "check" : [
3783 "perm",
3784 "/",
3785 [
3786 "Sys.Audit"
3787 ]
3788 ]
3789 },
7aacca6f 3790 "protected" : 1,
56122987 3791 "returns" : {
56122987 3792 "items" : {
56122987
DM
3793 "properties" : {
3794 "type" : {
3795 "type" : "string"
3796 }
44660702
DM
3797 },
3798 "type" : "object"
7aacca6f
DM
3799 },
3800 "type" : "array"
56122987
DM
3801 }
3802 }
3803 },
44660702 3804 "leaf" : 1,
7aacca6f 3805 "path" : "/cluster/status",
44660702 3806 "text" : "status"
56122987
DM
3807 },
3808 {
56122987
DM
3809 "info" : {
3810 "GET" : {
56122987 3811 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3812 "method" : "GET",
3813 "name" : "nextid",
56122987 3814 "parameters" : {
44660702 3815 "additionalProperties" : 0,
56122987
DM
3816 "properties" : {
3817 "vmid" : {
44660702 3818 "description" : "The (unique) ID of the VM.",
56122987 3819 "format" : "pve-vmid",
7aacca6f 3820 "minimum" : 1,
7aacca6f 3821 "optional" : 1,
4bd7df8b 3822 "type" : "integer",
013dc89f 3823 "typetext" : "<integer> (1 - N)"
56122987 3824 }
44660702 3825 }
56122987 3826 },
7aacca6f
DM
3827 "permissions" : {
3828 "user" : "all"
44660702
DM
3829 },
3830 "returns" : {
3831 "description" : "The next free VMID.",
3832 "type" : "integer"
7aacca6f 3833 }
56122987
DM
3834 }
3835 },
7aacca6f 3836 "leaf" : 1,
44660702
DM
3837 "path" : "/cluster/nextid",
3838 "text" : "nextid"
56122987
DM
3839 }
3840 ],
44660702
DM
3841 "info" : {
3842 "GET" : {
3843 "description" : "Cluster index.",
3844 "method" : "GET",
3845 "name" : "index",
3846 "parameters" : {
3847 "additionalProperties" : 0
3848 },
3849 "permissions" : {
3850 "user" : "all"
3851 },
3852 "returns" : {
3853 "items" : {
3854 "properties" : {},
3855 "type" : "object"
3856 },
3857 "links" : [
3858 {
3859 "href" : "{name}",
3860 "rel" : "child"
3861 }
3862 ],
3863 "type" : "array"
3864 }
3865 }
3866 },
3867 "leaf" : 0,
3868 "path" : "/cluster",
7aacca6f 3869 "text" : "cluster"
56122987
DM
3870 },
3871 {
56122987
DM
3872 "children" : [
3873 {
7aacca6f
DM
3874 "children" : [
3875 {
3876 "children" : [
3877 {
56122987
DM
3878 "children" : [
3879 {
56122987
DM
3880 "children" : [
3881 {
3882 "children" : [
3883 {
56122987
DM
3884 "info" : {
3885 "DELETE" : {
44660702 3886 "description" : "Delete rule.",
7aacca6f 3887 "method" : "DELETE",
44660702 3888 "name" : "delete_rule",
56122987 3889 "parameters" : {
44660702 3890 "additionalProperties" : 0,
56122987 3891 "properties" : {
44660702
DM
3892 "digest" : {
3893 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3894 "maxLength" : 40,
3895 "optional" : 1,
013dc89f
DM
3896 "type" : "string",
3897 "typetext" : "<string>"
44660702 3898 },
56122987 3899 "node" : {
7aacca6f 3900 "description" : "The cluster node name.",
44660702 3901 "format" : "pve-node",
013dc89f
DM
3902 "type" : "string",
3903 "typetext" : "<string>"
7aacca6f 3904 },
56122987 3905 "pos" : {
7aacca6f 3906 "description" : "Update rule at position <pos>.",
44660702 3907 "minimum" : 0,
56122987 3908 "optional" : 1,
4bd7df8b 3909 "type" : "integer",
013dc89f 3910 "typetext" : "<integer> (0 - N)"
44660702
DM
3911 },
3912 "vmid" : {
3913 "description" : "The (unique) ID of the VM.",
3914 "format" : "pve-vmid",
3915 "minimum" : 1,
4bd7df8b 3916 "type" : "integer",
013dc89f 3917 "typetext" : "<integer> (1 - N)"
56122987 3918 }
44660702 3919 }
7aacca6f 3920 },
56122987
DM
3921 "permissions" : {
3922 "check" : [
3923 "perm",
3924 "/vms/{vmid}",
3925 [
3926 "VM.Config.Network"
3927 ]
3928 ]
3929 },
44660702
DM
3930 "protected" : 1,
3931 "proxyto" : null,
56122987
DM
3932 "returns" : {
3933 "type" : "null"
44660702
DM
3934 }
3935 },
3936 "GET" : {
3937 "description" : "Get single rule data.",
3938 "method" : "GET",
3939 "name" : "get_rule",
3940 "parameters" : {
3941 "additionalProperties" : 0,
3942 "properties" : {
3943 "node" : {
3944 "description" : "The cluster node name.",
3945 "format" : "pve-node",
013dc89f
DM
3946 "type" : "string",
3947 "typetext" : "<string>"
44660702
DM
3948 },
3949 "pos" : {
3950 "description" : "Update rule at position <pos>.",
3951 "minimum" : 0,
3952 "optional" : 1,
4bd7df8b 3953 "type" : "integer",
013dc89f 3954 "typetext" : "<integer> (0 - N)"
44660702
DM
3955 },
3956 "vmid" : {
3957 "description" : "The (unique) ID of the VM.",
3958 "format" : "pve-vmid",
3959 "minimum" : 1,
4bd7df8b 3960 "type" : "integer",
013dc89f 3961 "typetext" : "<integer> (1 - N)"
44660702
DM
3962 }
3963 }
56122987 3964 },
56122987
DM
3965 "permissions" : {
3966 "check" : [
3967 "perm",
3968 "/vms/{vmid}",
3969 [
44660702 3970 "VM.Audit"
56122987
DM
3971 ]
3972 ]
3973 },
56122987 3974 "proxyto" : null,
44660702
DM
3975 "returns" : {
3976 "properties" : {
3977 "pos" : {
3978 "type" : "integer"
3979 }
3980 },
3981 "type" : "object"
3982 }
3983 },
3984 "PUT" : {
7aacca6f
DM
3985 "description" : "Modify rule data.",
3986 "method" : "PUT",
44660702 3987 "name" : "update_rule",
56122987 3988 "parameters" : {
44660702 3989 "additionalProperties" : 0,
56122987 3990 "properties" : {
44660702
DM
3991 "action" : {
3992 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3993 "maxLength" : 20,
3994 "minLength" : 2,
56122987 3995 "optional" : 1,
44660702 3996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3997 "type" : "string"
3998 },
7aacca6f 3999 "comment" : {
e94f0d56 4000 "description" : "Descriptive comment.",
7aacca6f 4001 "optional" : 1,
013dc89f
DM
4002 "type" : "string",
4003 "typetext" : "<string>"
7aacca6f
DM
4004 },
4005 "delete" : {
7aacca6f 4006 "description" : "A list of settings you want to delete.",
44660702
DM
4007 "format" : "pve-configid-list",
4008 "optional" : 1,
013dc89f
DM
4009 "type" : "string",
4010 "typetext" : "<string>"
7aacca6f
DM
4011 },
4012 "dest" : {
44660702 4013 "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 4014 "format" : "pve-fw-addr-spec",
56122987 4015 "optional" : 1,
013dc89f
DM
4016 "type" : "string",
4017 "typetext" : "<string>"
56122987 4018 },
7aacca6f 4019 "digest" : {
44660702 4020 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4021 "maxLength" : 40,
56122987 4022 "optional" : 1,
013dc89f
DM
4023 "type" : "string",
4024 "typetext" : "<string>"
44660702
DM
4025 },
4026 "dport" : {
4027 "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.",
4028 "format" : "pve-fw-dport-spec",
4029 "optional" : 1,
013dc89f
DM
4030 "type" : "string",
4031 "typetext" : "<string>"
56122987 4032 },
7aacca6f 4033 "enable" : {
e94f0d56 4034 "description" : "Flag to enable/disable a rule.",
44660702 4035 "minimum" : 0,
56122987 4036 "optional" : 1,
4bd7df8b 4037 "type" : "integer",
013dc89f 4038 "typetext" : "<integer> (0 - N)"
7aacca6f 4039 },
44660702
DM
4040 "iface" : {
4041 "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.",
4042 "format" : "pve-iface",
4043 "maxLength" : 20,
7aacca6f 4044 "minLength" : 2,
56122987 4045 "optional" : 1,
013dc89f
DM
4046 "type" : "string",
4047 "typetext" : "<string>"
56122987 4048 },
44660702 4049 "macro" : {
e94f0d56 4050 "description" : "Use predefined standard macro.",
44660702 4051 "maxLength" : 128,
56122987 4052 "optional" : 1,
013dc89f
DM
4053 "type" : "string",
4054 "typetext" : "<string>"
56122987 4055 },
44660702
DM
4056 "moveto" : {
4057 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4058 "minimum" : 0,
56122987 4059 "optional" : 1,
4bd7df8b 4060 "type" : "integer",
013dc89f 4061 "typetext" : "<integer> (0 - N)"
56122987 4062 },
44660702
DM
4063 "node" : {
4064 "description" : "The cluster node name.",
4065 "format" : "pve-node",
013dc89f
DM
4066 "type" : "string",
4067 "typetext" : "<string>"
44660702
DM
4068 },
4069 "pos" : {
4070 "description" : "Update rule at position <pos>.",
4071 "minimum" : 0,
4072 "optional" : 1,
4bd7df8b 4073 "type" : "integer",
013dc89f 4074 "typetext" : "<integer> (0 - N)"
56122987 4075 },
44660702
DM
4076 "proto" : {
4077 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4078 "format" : "pve-fw-protocol-spec",
4079 "optional" : 1,
013dc89f
DM
4080 "type" : "string",
4081 "typetext" : "<string>"
7aacca6f 4082 },
44660702
DM
4083 "source" : {
4084 "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.",
4085 "format" : "pve-fw-addr-spec",
56122987 4086 "optional" : 1,
013dc89f
DM
4087 "type" : "string",
4088 "typetext" : "<string>"
56122987
DM
4089 },
4090 "sport" : {
4091 "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
4092 "format" : "pve-fw-sport-spec",
4093 "optional" : 1,
013dc89f
DM
4094 "type" : "string",
4095 "typetext" : "<string>"
44660702
DM
4096 },
4097 "type" : {
e94f0d56 4098 "description" : "Rule type.",
44660702
DM
4099 "enum" : [
4100 "in",
4101 "out",
4102 "group"
4103 ],
56122987 4104 "optional" : 1,
56122987 4105 "type" : "string"
44660702
DM
4106 },
4107 "vmid" : {
4108 "description" : "The (unique) ID of the VM.",
4109 "format" : "pve-vmid",
4110 "minimum" : 1,
4bd7df8b 4111 "type" : "integer",
013dc89f 4112 "typetext" : "<integer> (1 - N)"
56122987 4113 }
44660702 4114 }
56122987 4115 },
56122987
DM
4116 "permissions" : {
4117 "check" : [
4118 "perm",
4119 "/vms/{vmid}",
4120 [
44660702 4121 "VM.Config.Network"
56122987
DM
4122 ]
4123 ]
7aacca6f 4124 },
44660702 4125 "protected" : 1,
7aacca6f 4126 "proxyto" : null,
7aacca6f 4127 "returns" : {
44660702
DM
4128 "type" : "null"
4129 }
56122987 4130 }
7aacca6f 4131 },
44660702 4132 "leaf" : 1,
7aacca6f 4133 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4134 "text" : "{pos}"
56122987
DM
4135 }
4136 ],
56122987 4137 "info" : {
44660702
DM
4138 "GET" : {
4139 "description" : "List rules.",
4140 "method" : "GET",
4141 "name" : "get_rules",
4142 "parameters" : {
4143 "additionalProperties" : 0,
4144 "properties" : {
4145 "node" : {
4146 "description" : "The cluster node name.",
4147 "format" : "pve-node",
013dc89f
DM
4148 "type" : "string",
4149 "typetext" : "<string>"
44660702
DM
4150 },
4151 "vmid" : {
4152 "description" : "The (unique) ID of the VM.",
4153 "format" : "pve-vmid",
4154 "minimum" : 1,
4bd7df8b 4155 "type" : "integer",
013dc89f 4156 "typetext" : "<integer> (1 - N)"
44660702
DM
4157 }
4158 }
56122987 4159 },
56122987
DM
4160 "permissions" : {
4161 "check" : [
4162 "perm",
4163 "/vms/{vmid}",
4164 [
44660702 4165 "VM.Audit"
56122987
DM
4166 ]
4167 ]
7aacca6f 4168 },
44660702
DM
4169 "proxyto" : null,
4170 "returns" : {
4171 "items" : {
4172 "properties" : {
4173 "pos" : {
4174 "type" : "integer"
4175 }
4176 },
4177 "type" : "object"
4178 },
4179 "links" : [
4180 {
4181 "href" : "{pos}",
4182 "rel" : "child"
4183 }
4184 ],
4185 "type" : "array"
4186 }
4187 },
4188 "POST" : {
4189 "description" : "Create new rule.",
7aacca6f 4190 "method" : "POST",
44660702 4191 "name" : "create_rule",
56122987 4192 "parameters" : {
44660702 4193 "additionalProperties" : 0,
56122987 4194 "properties" : {
44660702
DM
4195 "action" : {
4196 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4197 "maxLength" : 20,
4198 "minLength" : 2,
4199 "optional" : 0,
4200 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4201 "type" : "string"
56122987 4202 },
44660702 4203 "comment" : {
e94f0d56 4204 "description" : "Descriptive comment.",
56122987 4205 "optional" : 1,
013dc89f
DM
4206 "type" : "string",
4207 "typetext" : "<string>"
56122987 4208 },
44660702
DM
4209 "dest" : {
4210 "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.",
4211 "format" : "pve-fw-addr-spec",
4212 "optional" : 1,
013dc89f
DM
4213 "type" : "string",
4214 "typetext" : "<string>"
56122987 4215 },
44660702
DM
4216 "digest" : {
4217 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4218 "maxLength" : 40,
56122987 4219 "optional" : 1,
013dc89f
DM
4220 "type" : "string",
4221 "typetext" : "<string>"
56122987 4222 },
7aacca6f
DM
4223 "dport" : {
4224 "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 4225 "format" : "pve-fw-dport-spec",
7aacca6f 4226 "optional" : 1,
013dc89f
DM
4227 "type" : "string",
4228 "typetext" : "<string>"
56122987
DM
4229 },
4230 "enable" : {
e94f0d56 4231 "description" : "Flag to enable/disable a rule.",
56122987 4232 "minimum" : 0,
44660702 4233 "optional" : 1,
4bd7df8b 4234 "type" : "integer",
013dc89f 4235 "typetext" : "<integer> (0 - N)"
56122987 4236 },
44660702
DM
4237 "iface" : {
4238 "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.",
4239 "format" : "pve-iface",
4240 "maxLength" : 20,
7aacca6f 4241 "minLength" : 2,
44660702 4242 "optional" : 1,
013dc89f
DM
4243 "type" : "string",
4244 "typetext" : "<string>"
56122987 4245 },
44660702 4246 "macro" : {
e94f0d56 4247 "description" : "Use predefined standard macro.",
44660702 4248 "maxLength" : 128,
56122987 4249 "optional" : 1,
013dc89f
DM
4250 "type" : "string",
4251 "typetext" : "<string>"
7aacca6f 4252 },
44660702
DM
4253 "node" : {
4254 "description" : "The cluster node name.",
4255 "format" : "pve-node",
013dc89f
DM
4256 "type" : "string",
4257 "typetext" : "<string>"
44660702
DM
4258 },
4259 "pos" : {
4260 "description" : "Update rule at position <pos>.",
4261 "minimum" : 0,
4262 "optional" : 1,
4bd7df8b 4263 "type" : "integer",
013dc89f 4264 "typetext" : "<integer> (0 - N)"
44660702
DM
4265 },
4266 "proto" : {
4267 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4268 "format" : "pve-fw-protocol-spec",
7aacca6f 4269 "optional" : 1,
013dc89f
DM
4270 "type" : "string",
4271 "typetext" : "<string>"
7aacca6f
DM
4272 },
4273 "source" : {
4274 "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 4275 "format" : "pve-fw-addr-spec",
7aacca6f 4276 "optional" : 1,
013dc89f
DM
4277 "type" : "string",
4278 "typetext" : "<string>"
7aacca6f 4279 },
44660702
DM
4280 "sport" : {
4281 "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.",
4282 "format" : "pve-fw-sport-spec",
7aacca6f 4283 "optional" : 1,
013dc89f
DM
4284 "type" : "string",
4285 "typetext" : "<string>"
7aacca6f 4286 },
44660702 4287 "type" : {
e94f0d56 4288 "description" : "Rule type.",
44660702
DM
4289 "enum" : [
4290 "in",
4291 "out",
4292 "group"
4293 ],
4294 "optional" : 0,
4295 "type" : "string"
7aacca6f 4296 },
7aacca6f 4297 "vmid" : {
44660702 4298 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
4299 "format" : "pve-vmid",
4300 "minimum" : 1,
4bd7df8b 4301 "type" : "integer",
013dc89f 4302 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4303 }
4304 }
4305 },
56122987
DM
4306 "permissions" : {
4307 "check" : [
4308 "perm",
4309 "/vms/{vmid}",
4310 [
44660702 4311 "VM.Config.Network"
56122987
DM
4312 ]
4313 ]
4314 },
44660702
DM
4315 "protected" : 1,
4316 "proxyto" : null,
56122987 4317 "returns" : {
44660702
DM
4318 "type" : "null"
4319 }
56122987
DM
4320 }
4321 },
44660702 4322 "leaf" : 0,
7aacca6f 4323 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4324 "text" : "rules"
56122987
DM
4325 },
4326 {
4327 "children" : [
4328 {
56122987 4329 "info" : {
44660702
DM
4330 "DELETE" : {
4331 "description" : "Remove IP or Network alias.",
4332 "method" : "DELETE",
4333 "name" : "remove_alias",
56122987 4334 "parameters" : {
44660702 4335 "additionalProperties" : 0,
56122987 4336 "properties" : {
44660702
DM
4337 "digest" : {
4338 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4339 "maxLength" : 40,
4340 "optional" : 1,
013dc89f
DM
4341 "type" : "string",
4342 "typetext" : "<string>"
56122987
DM
4343 },
4344 "name" : {
56122987 4345 "description" : "Alias name.",
44660702 4346 "maxLength" : 64,
7aacca6f 4347 "minLength" : 2,
44660702 4348 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
4349 "type" : "string"
4350 },
7aacca6f 4351 "node" : {
44660702 4352 "description" : "The cluster node name.",
7aacca6f 4353 "format" : "pve-node",
013dc89f
DM
4354 "type" : "string",
4355 "typetext" : "<string>"
44660702
DM
4356 },
4357 "vmid" : {
4358 "description" : "The (unique) ID of the VM.",
4359 "format" : "pve-vmid",
4360 "minimum" : 1,
4bd7df8b 4361 "type" : "integer",
013dc89f 4362 "typetext" : "<integer> (1 - N)"
56122987 4363 }
44660702 4364 }
56122987 4365 },
7aacca6f
DM
4366 "permissions" : {
4367 "check" : [
4368 "perm",
4369 "/vms/{vmid}",
4370 [
4371 "VM.Config.Network"
4372 ]
4373 ]
56122987 4374 },
44660702
DM
4375 "protected" : 1,
4376 "returns" : {
4377 "type" : "null"
4378 }
4379 },
4380 "GET" : {
4381 "description" : "Read alias.",
4382 "method" : "GET",
4383 "name" : "read_alias",
56122987 4384 "parameters" : {
44660702 4385 "additionalProperties" : 0,
56122987 4386 "properties" : {
56122987 4387 "name" : {
7aacca6f 4388 "description" : "Alias name.",
44660702 4389 "maxLength" : 64,
56122987 4390 "minLength" : 2,
44660702 4391 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4392 "type" : "string"
7aacca6f
DM
4393 },
4394 "node" : {
4395 "description" : "The cluster node name.",
44660702 4396 "format" : "pve-node",
013dc89f
DM
4397 "type" : "string",
4398 "typetext" : "<string>"
44660702
DM
4399 },
4400 "vmid" : {
4401 "description" : "The (unique) ID of the VM.",
4402 "format" : "pve-vmid",
4403 "minimum" : 1,
4bd7df8b 4404 "type" : "integer",
013dc89f 4405 "typetext" : "<integer> (1 - N)"
56122987 4406 }
44660702 4407 }
56122987 4408 },
44660702
DM
4409 "permissions" : {
4410 "check" : [
4411 "perm",
4412 "/vms/{vmid}",
4413 [
4414 "VM.Audit"
4415 ]
4416 ]
56122987 4417 },
44660702
DM
4418 "returns" : {
4419 "type" : "object"
4420 }
7aacca6f 4421 },
44660702
DM
4422 "PUT" : {
4423 "description" : "Update IP or Network alias.",
4424 "method" : "PUT",
4425 "name" : "update_alias",
56122987
DM
4426 "parameters" : {
4427 "additionalProperties" : 0,
4428 "properties" : {
44660702
DM
4429 "cidr" : {
4430 "description" : "Network/IP specification in CIDR format.",
4431 "format" : "IPorCIDR",
013dc89f
DM
4432 "type" : "string",
4433 "typetext" : "<string>"
44660702
DM
4434 },
4435 "comment" : {
4436 "optional" : 1,
013dc89f
DM
4437 "type" : "string",
4438 "typetext" : "<string>"
56122987
DM
4439 },
4440 "digest" : {
44660702 4441 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4442 "maxLength" : 40,
4443 "optional" : 1,
013dc89f
DM
4444 "type" : "string",
4445 "typetext" : "<string>"
56122987 4446 },
7aacca6f 4447 "name" : {
44660702 4448 "description" : "Alias name.",
56122987
DM
4449 "maxLength" : 64,
4450 "minLength" : 2,
4451 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4452 "type" : "string"
7aacca6f
DM
4453 },
4454 "node" : {
7aacca6f 4455 "description" : "The cluster node name.",
44660702 4456 "format" : "pve-node",
013dc89f
DM
4457 "type" : "string",
4458 "typetext" : "<string>"
44660702
DM
4459 },
4460 "rename" : {
4461 "description" : "Rename an existing alias.",
4462 "maxLength" : 64,
4463 "minLength" : 2,
4464 "optional" : 1,
4465 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4466 "type" : "string"
4467 },
4468 "vmid" : {
4469 "description" : "The (unique) ID of the VM.",
4470 "format" : "pve-vmid",
4471 "minimum" : 1,
4bd7df8b 4472 "type" : "integer",
013dc89f 4473 "typetext" : "<integer> (1 - N)"
56122987
DM
4474 }
4475 }
4476 },
7aacca6f
DM
4477 "permissions" : {
4478 "check" : [
4479 "perm",
4480 "/vms/{vmid}",
4481 [
4482 "VM.Config.Network"
4483 ]
4484 ]
4485 },
4486 "protected" : 1,
7aacca6f
DM
4487 "returns" : {
4488 "type" : "null"
44660702 4489 }
56122987
DM
4490 }
4491 },
44660702 4492 "leaf" : 1,
7aacca6f 4493 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4494 "text" : "{name}"
56122987
DM
4495 }
4496 ],
4497 "info" : {
44660702
DM
4498 "GET" : {
4499 "description" : "List aliases",
4500 "method" : "GET",
4501 "name" : "get_aliases",
56122987 4502 "parameters" : {
44660702 4503 "additionalProperties" : 0,
56122987 4504 "properties" : {
7aacca6f 4505 "node" : {
7aacca6f 4506 "description" : "The cluster node name.",
44660702 4507 "format" : "pve-node",
013dc89f
DM
4508 "type" : "string",
4509 "typetext" : "<string>"
56122987 4510 },
44660702
DM
4511 "vmid" : {
4512 "description" : "The (unique) ID of the VM.",
4513 "format" : "pve-vmid",
4514 "minimum" : 1,
4bd7df8b 4515 "type" : "integer",
013dc89f 4516 "typetext" : "<integer> (1 - N)"
56122987 4517 }
44660702 4518 }
56122987 4519 },
56122987
DM
4520 "permissions" : {
4521 "check" : [
4522 "perm",
4523 "/vms/{vmid}",
4524 [
44660702 4525 "VM.Audit"
56122987
DM
4526 ]
4527 ]
4528 },
56122987
DM
4529 "returns" : {
4530 "items" : {
4531 "properties" : {
44660702 4532 "cidr" : {
56122987
DM
4533 "type" : "string"
4534 },
44660702
DM
4535 "comment" : {
4536 "optional" : 1,
7aacca6f 4537 "type" : "string"
56122987
DM
4538 },
4539 "digest" : {
56122987 4540 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4541 "maxLength" : 40,
56122987
DM
4542 "optional" : 0,
4543 "type" : "string"
4544 },
44660702 4545 "name" : {
56122987
DM
4546 "type" : "string"
4547 }
44660702
DM
4548 },
4549 "type" : "object"
56122987 4550 },
56122987
DM
4551 "links" : [
4552 {
4553 "href" : "{name}",
4554 "rel" : "child"
4555 }
44660702
DM
4556 ],
4557 "type" : "array"
4558 }
4559 },
4560 "POST" : {
4561 "description" : "Create IP or Network Alias.",
4562 "method" : "POST",
4563 "name" : "create_alias",
56122987 4564 "parameters" : {
7aacca6f 4565 "additionalProperties" : 0,
56122987 4566 "properties" : {
44660702
DM
4567 "cidr" : {
4568 "description" : "Network/IP specification in CIDR format.",
4569 "format" : "IPorCIDR",
013dc89f
DM
4570 "type" : "string",
4571 "typetext" : "<string>"
44660702
DM
4572 },
4573 "comment" : {
4574 "optional" : 1,
013dc89f
DM
4575 "type" : "string",
4576 "typetext" : "<string>"
44660702
DM
4577 },
4578 "name" : {
4579 "description" : "Alias name.",
4580 "maxLength" : 64,
4581 "minLength" : 2,
4582 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4583 "type" : "string"
56122987
DM
4584 },
4585 "node" : {
7aacca6f 4586 "description" : "The cluster node name.",
44660702 4587 "format" : "pve-node",
013dc89f
DM
4588 "type" : "string",
4589 "typetext" : "<string>"
44660702
DM
4590 },
4591 "vmid" : {
4592 "description" : "The (unique) ID of the VM.",
4593 "format" : "pve-vmid",
4594 "minimum" : 1,
4bd7df8b 4595 "type" : "integer",
013dc89f 4596 "typetext" : "<integer> (1 - N)"
56122987 4597 }
7aacca6f 4598 }
56122987 4599 },
44660702
DM
4600 "permissions" : {
4601 "check" : [
4602 "perm",
4603 "/vms/{vmid}",
4604 [
4605 "VM.Config.Network"
4606 ]
4607 ]
4608 },
4609 "protected" : 1,
4610 "returns" : {
4611 "type" : "null"
4612 }
56122987 4613 }
44660702
DM
4614 },
4615 "leaf" : 0,
4616 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4617 "text" : "aliases"
56122987
DM
4618 },
4619 {
56122987
DM
4620 "children" : [
4621 {
7aacca6f
DM
4622 "children" : [
4623 {
4624 "info" : {
4625 "DELETE" : {
44660702 4626 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4627 "method" : "DELETE",
44660702 4628 "name" : "remove_ip",
7aacca6f 4629 "parameters" : {
44660702 4630 "additionalProperties" : 0,
7aacca6f 4631 "properties" : {
44660702
DM
4632 "cidr" : {
4633 "description" : "Network/IP specification in CIDR format.",
4634 "format" : "IPorCIDRorAlias",
013dc89f
DM
4635 "type" : "string",
4636 "typetext" : "<string>"
44660702
DM
4637 },
4638 "digest" : {
4639 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4640 "maxLength" : 40,
4641 "optional" : 1,
013dc89f
DM
4642 "type" : "string",
4643 "typetext" : "<string>"
44660702 4644 },
7aacca6f 4645 "name" : {
7aacca6f 4646 "description" : "IP set name.",
44660702
DM
4647 "maxLength" : 64,
4648 "minLength" : 2,
7aacca6f 4649 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4650 "type" : "string"
7aacca6f
DM
4651 },
4652 "node" : {
4653 "description" : "The cluster node name.",
44660702 4654 "format" : "pve-node",
013dc89f
DM
4655 "type" : "string",
4656 "typetext" : "<string>"
7aacca6f
DM
4657 },
4658 "vmid" : {
44660702 4659 "description" : "The (unique) ID of the VM.",
7aacca6f 4660 "format" : "pve-vmid",
44660702 4661 "minimum" : 1,
4bd7df8b 4662 "type" : "integer",
013dc89f 4663 "typetext" : "<integer> (1 - N)"
7aacca6f 4664 }
44660702 4665 }
7aacca6f 4666 },
7aacca6f
DM
4667 "permissions" : {
4668 "check" : [
4669 "perm",
4670 "/vms/{vmid}",
4671 [
4672 "VM.Config.Network"
4673 ]
4674 ]
4675 },
4676 "protected" : 1,
44660702
DM
4677 "returns" : {
4678 "type" : "null"
4679 }
56122987 4680 },
44660702
DM
4681 "GET" : {
4682 "description" : "Read IP or Network settings from IPSet.",
4683 "method" : "GET",
4684 "name" : "read_ip",
7aacca6f 4685 "parameters" : {
44660702 4686 "additionalProperties" : 0,
7aacca6f 4687 "properties" : {
7aacca6f 4688 "cidr" : {
44660702 4689 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4690 "format" : "IPorCIDRorAlias",
013dc89f
DM
4691 "type" : "string",
4692 "typetext" : "<string>"
7aacca6f
DM
4693 },
4694 "name" : {
7aacca6f 4695 "description" : "IP set name.",
44660702 4696 "maxLength" : 64,
7aacca6f 4697 "minLength" : 2,
44660702
DM
4698 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4699 "type" : "string"
7aacca6f 4700 },
44660702
DM
4701 "node" : {
4702 "description" : "The cluster node name.",
4703 "format" : "pve-node",
013dc89f
DM
4704 "type" : "string",
4705 "typetext" : "<string>"
7aacca6f 4706 },
44660702
DM
4707 "vmid" : {
4708 "description" : "The (unique) ID of the VM.",
4709 "format" : "pve-vmid",
4710 "minimum" : 1,
4bd7df8b 4711 "type" : "integer",
013dc89f 4712 "typetext" : "<integer> (1 - N)"
7aacca6f 4713 }
44660702 4714 }
7aacca6f 4715 },
44660702
DM
4716 "permissions" : {
4717 "check" : [
4718 "perm",
4719 "/vms/{vmid}",
4720 [
4721 "VM.Audit"
4722 ]
4723 ]
4724 },
4725 "protected" : 1,
7aacca6f 4726 "returns" : {
44660702 4727 "type" : "object"
7aacca6f 4728 }
56122987 4729 },
44660702
DM
4730 "PUT" : {
4731 "description" : "Update IP or Network settings",
4732 "method" : "PUT",
4733 "name" : "update_ip",
7aacca6f
DM
4734 "parameters" : {
4735 "additionalProperties" : 0,
4736 "properties" : {
44660702
DM
4737 "cidr" : {
4738 "description" : "Network/IP specification in CIDR format.",
4739 "format" : "IPorCIDRorAlias",
013dc89f
DM
4740 "type" : "string",
4741 "typetext" : "<string>"
44660702
DM
4742 },
4743 "comment" : {
4744 "optional" : 1,
013dc89f
DM
4745 "type" : "string",
4746 "typetext" : "<string>"
44660702
DM
4747 },
4748 "digest" : {
4749 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4750 "maxLength" : 40,
4751 "optional" : 1,
013dc89f
DM
4752 "type" : "string",
4753 "typetext" : "<string>"
44660702 4754 },
7aacca6f 4755 "name" : {
7aacca6f 4756 "description" : "IP set name.",
44660702 4757 "maxLength" : 64,
7aacca6f 4758 "minLength" : 2,
44660702
DM
4759 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4760 "type" : "string"
7aacca6f
DM
4761 },
4762 "node" : {
7aacca6f 4763 "description" : "The cluster node name.",
44660702 4764 "format" : "pve-node",
013dc89f
DM
4765 "type" : "string",
4766 "typetext" : "<string>"
7aacca6f 4767 },
44660702
DM
4768 "nomatch" : {
4769 "optional" : 1,
013dc89f
DM
4770 "type" : "boolean",
4771 "typetext" : "<boolean>"
7aacca6f
DM
4772 },
4773 "vmid" : {
4774 "description" : "The (unique) ID of the VM.",
44660702 4775 "format" : "pve-vmid",
7aacca6f 4776 "minimum" : 1,
4bd7df8b 4777 "type" : "integer",
013dc89f 4778 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4779 }
4780 }
4781 },
4782 "permissions" : {
4783 "check" : [
4784 "perm",
4785 "/vms/{vmid}",
4786 [
44660702 4787 "VM.Config.Network"
7aacca6f
DM
4788 ]
4789 ]
4790 },
7aacca6f 4791 "protected" : 1,
7aacca6f 4792 "returns" : {
44660702 4793 "type" : "null"
7aacca6f 4794 }
56122987 4795 }
7aacca6f 4796 },
7aacca6f 4797 "leaf" : 1,
44660702
DM
4798 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4799 "text" : "{cidr}"
7aacca6f 4800 }
44660702
DM
4801 ],
4802 "info" : {
4803 "DELETE" : {
4804 "description" : "Delete IPSet",
4805 "method" : "DELETE",
4806 "name" : "delete_ipset",
4807 "parameters" : {
4808 "additionalProperties" : 0,
4809 "properties" : {
4810 "name" : {
4811 "description" : "IP set name.",
4812 "maxLength" : 64,
4813 "minLength" : 2,
4814 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4815 "type" : "string"
4816 },
4817 "node" : {
4818 "description" : "The cluster node name.",
4819 "format" : "pve-node",
013dc89f
DM
4820 "type" : "string",
4821 "typetext" : "<string>"
44660702
DM
4822 },
4823 "vmid" : {
4824 "description" : "The (unique) ID of the VM.",
4825 "format" : "pve-vmid",
4826 "minimum" : 1,
4bd7df8b 4827 "type" : "integer",
013dc89f 4828 "typetext" : "<integer> (1 - N)"
44660702
DM
4829 }
4830 }
7aacca6f 4831 },
44660702
DM
4832 "permissions" : {
4833 "check" : [
4834 "perm",
4835 "/vms/{vmid}",
4836 [
4837 "VM.Config.Network"
4838 ]
4839 ]
7aacca6f 4840 },
44660702
DM
4841 "protected" : 1,
4842 "returns" : {
4843 "type" : "null"
4844 }
4845 },
4846 "GET" : {
4847 "description" : "List IPSet content",
4848 "method" : "GET",
4849 "name" : "get_ipset",
4850 "parameters" : {
4851 "additionalProperties" : 0,
4852 "properties" : {
4853 "name" : {
4854 "description" : "IP set name.",
4855 "maxLength" : 64,
4856 "minLength" : 2,
4857 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4858 "type" : "string"
4859 },
4860 "node" : {
4861 "description" : "The cluster node name.",
4862 "format" : "pve-node",
013dc89f
DM
4863 "type" : "string",
4864 "typetext" : "<string>"
44660702
DM
4865 },
4866 "vmid" : {
4867 "description" : "The (unique) ID of the VM.",
4868 "format" : "pve-vmid",
4869 "minimum" : 1,
4bd7df8b 4870 "type" : "integer",
013dc89f 4871 "typetext" : "<integer> (1 - N)"
44660702
DM
4872 }
4873 }
7aacca6f 4874 },
44660702
DM
4875 "permissions" : {
4876 "check" : [
4877 "perm",
4878 "/vms/{vmid}",
4879 [
4880 "VM.Audit"
4881 ]
4882 ]
7aacca6f 4883 },
44660702
DM
4884 "returns" : {
4885 "items" : {
4886 "properties" : {
4887 "cidr" : {
4888 "type" : "string"
4889 },
4890 "comment" : {
4891 "optional" : 1,
4892 "type" : "string"
4893 },
4894 "digest" : {
4895 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4896 "maxLength" : 40,
4897 "optional" : 0,
4898 "type" : "string"
4899 },
4900 "nomatch" : {
4901 "optional" : 1,
4902 "type" : "boolean"
4903 }
4904 },
4905 "type" : "object"
4906 },
4907 "links" : [
4908 {
4909 "href" : "{cidr}",
4910 "rel" : "child"
4911 }
4912 ],
4913 "type" : "array"
56122987
DM
4914 }
4915 },
44660702
DM
4916 "POST" : {
4917 "description" : "Add IP or Network to IPSet.",
4918 "method" : "POST",
4919 "name" : "create_ip",
4920 "parameters" : {
4921 "additionalProperties" : 0,
4922 "properties" : {
4923 "cidr" : {
4924 "description" : "Network/IP specification in CIDR format.",
4925 "format" : "IPorCIDRorAlias",
013dc89f
DM
4926 "type" : "string",
4927 "typetext" : "<string>"
44660702
DM
4928 },
4929 "comment" : {
4930 "optional" : 1,
013dc89f
DM
4931 "type" : "string",
4932 "typetext" : "<string>"
44660702
DM
4933 },
4934 "name" : {
4935 "description" : "IP set name.",
4936 "maxLength" : 64,
4937 "minLength" : 2,
4938 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4939 "type" : "string"
4940 },
4941 "node" : {
4942 "description" : "The cluster node name.",
4943 "format" : "pve-node",
013dc89f
DM
4944 "type" : "string",
4945 "typetext" : "<string>"
44660702
DM
4946 },
4947 "nomatch" : {
4948 "optional" : 1,
013dc89f
DM
4949 "type" : "boolean",
4950 "typetext" : "<boolean>"
44660702
DM
4951 },
4952 "vmid" : {
4953 "description" : "The (unique) ID of the VM.",
4954 "format" : "pve-vmid",
4955 "minimum" : 1,
4bd7df8b 4956 "type" : "integer",
013dc89f 4957 "typetext" : "<integer> (1 - N)"
44660702
DM
4958 }
4959 }
4960 },
4961 "permissions" : {
4962 "check" : [
4963 "perm",
4964 "/vms/{vmid}",
4965 [
4966 "VM.Config.Network"
4967 ]
4968 ]
4969 },
4970 "protected" : 1,
4971 "returns" : {
4972 "type" : "null"
4973 }
4974 }
4975 },
4976 "leaf" : 0,
4977 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4978 "text" : "{name}"
4979 }
4980 ],
4981 "info" : {
4982 "GET" : {
4983 "description" : "List IPSets",
4984 "method" : "GET",
4985 "name" : "ipset_index",
4986 "parameters" : {
4987 "additionalProperties" : 0,
4988 "properties" : {
4989 "node" : {
4990 "description" : "The cluster node name.",
4991 "format" : "pve-node",
013dc89f
DM
4992 "type" : "string",
4993 "typetext" : "<string>"
44660702
DM
4994 },
4995 "vmid" : {
4996 "description" : "The (unique) ID of the VM.",
4997 "format" : "pve-vmid",
4998 "minimum" : 1,
4bd7df8b 4999 "type" : "integer",
013dc89f 5000 "typetext" : "<integer> (1 - N)"
44660702
DM
5001 }
5002 }
56122987
DM
5003 },
5004 "permissions" : {
5005 "check" : [
5006 "perm",
5007 "/vms/{vmid}",
5008 [
44660702 5009 "VM.Audit"
56122987
DM
5010 ]
5011 ]
5012 },
7aacca6f 5013 "returns" : {
7aacca6f
DM
5014 "items" : {
5015 "properties" : {
7aacca6f
DM
5016 "comment" : {
5017 "optional" : 1,
5018 "type" : "string"
5019 },
5020 "digest" : {
7aacca6f 5021 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5022 "maxLength" : 40,
5023 "optional" : 0,
5024 "type" : "string"
5025 },
5026 "name" : {
5027 "description" : "IP set name.",
5028 "maxLength" : 64,
5029 "minLength" : 2,
5030 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5031 "type" : "string"
7aacca6f
DM
5032 }
5033 },
5034 "type" : "object"
5035 },
5036 "links" : [
5037 {
44660702
DM
5038 "href" : "{name}",
5039 "rel" : "child"
7aacca6f 5040 }
44660702
DM
5041 ],
5042 "type" : "array"
5043 }
5044 },
5045 "POST" : {
5046 "description" : "Create new IPSet",
5047 "method" : "POST",
5048 "name" : "create_ipset",
56122987
DM
5049 "parameters" : {
5050 "additionalProperties" : 0,
5051 "properties" : {
44660702
DM
5052 "comment" : {
5053 "optional" : 1,
013dc89f
DM
5054 "type" : "string",
5055 "typetext" : "<string>"
56122987 5056 },
44660702
DM
5057 "digest" : {
5058 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5059 "maxLength" : 40,
5060 "optional" : 1,
013dc89f
DM
5061 "type" : "string",
5062 "typetext" : "<string>"
44660702
DM
5063 },
5064 "name" : {
5065 "description" : "IP set name.",
5066 "maxLength" : 64,
5067 "minLength" : 2,
5068 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5069 "type" : "string"
5070 },
5071 "node" : {
5072 "description" : "The cluster node name.",
5073 "format" : "pve-node",
013dc89f
DM
5074 "type" : "string",
5075 "typetext" : "<string>"
44660702
DM
5076 },
5077 "rename" : {
5078 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5079 "maxLength" : 64,
5080 "minLength" : 2,
5081 "optional" : 1,
5082 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5083 "type" : "string"
5084 },
5085 "vmid" : {
5086 "description" : "The (unique) ID of the VM.",
5087 "format" : "pve-vmid",
5088 "minimum" : 1,
4bd7df8b 5089 "type" : "integer",
013dc89f 5090 "typetext" : "<integer> (1 - N)"
44660702
DM
5091 }
5092 }
5093 },
7aacca6f
DM
5094 "permissions" : {
5095 "check" : [
5096 "perm",
5097 "/vms/{vmid}",
5098 [
5099 "VM.Config.Network"
5100 ]
5101 ]
5102 },
44660702 5103 "protected" : 1,
56122987 5104 "returns" : {
7aacca6f 5105 "type" : "null"
44660702
DM
5106 }
5107 }
5108 },
5109 "leaf" : 0,
5110 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5111 "text" : "ipset"
5112 },
5113 {
5114 "info" : {
5115 "GET" : {
5116 "description" : "Get VM firewall options.",
5117 "method" : "GET",
5118 "name" : "get_options",
7aacca6f
DM
5119 "parameters" : {
5120 "additionalProperties" : 0,
56122987 5121 "properties" : {
7aacca6f
DM
5122 "node" : {
5123 "description" : "The cluster node name.",
44660702 5124 "format" : "pve-node",
013dc89f
DM
5125 "type" : "string",
5126 "typetext" : "<string>"
7aacca6f 5127 },
44660702
DM
5128 "vmid" : {
5129 "description" : "The (unique) ID of the VM.",
5130 "format" : "pve-vmid",
5131 "minimum" : 1,
4bd7df8b 5132 "type" : "integer",
013dc89f 5133 "typetext" : "<integer> (1 - N)"
44660702
DM
5134 }
5135 }
5136 },
5137 "permissions" : {
5138 "check" : [
5139 "perm",
5140 "/vms/{vmid}",
5141 [
5142 "VM.Audit"
5143 ]
5144 ]
5145 },
5146 "proxyto" : "node",
5147 "returns" : {
5148 "properties" : {
5149 "dhcp" : {
5150 "description" : "Enable DHCP.",
56122987 5151 "optional" : 1,
44660702 5152 "type" : "boolean"
56122987 5153 },
44660702
DM
5154 "enable" : {
5155 "description" : "Enable/disable firewall rules.",
7aacca6f 5156 "optional" : 1,
44660702 5157 "type" : "boolean"
56122987 5158 },
44660702
DM
5159 "ipfilter" : {
5160 "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 5161 "optional" : 1,
44660702 5162 "type" : "boolean"
7aacca6f 5163 },
56122987 5164 "log_level_in" : {
7aacca6f 5165 "description" : "Log level for incoming traffic.",
56122987
DM
5166 "enum" : [
5167 "emerg",
5168 "alert",
5169 "crit",
5170 "err",
5171 "warning",
5172 "notice",
5173 "info",
5174 "debug",
5175 "nolog"
5176 ],
56122987
DM
5177 "optional" : 1,
5178 "type" : "string"
5179 },
44660702
DM
5180 "log_level_out" : {
5181 "description" : "Log level for outgoing traffic.",
5182 "enum" : [
5183 "emerg",
5184 "alert",
5185 "crit",
5186 "err",
5187 "warning",
5188 "notice",
5189 "info",
5190 "debug",
5191 "nolog"
5192 ],
5193 "optional" : 1,
5194 "type" : "string"
5195 },
5196 "macfilter" : {
5197 "description" : "Enable/disable MAC address filter.",
56122987 5198 "optional" : 1,
7aacca6f 5199 "type" : "boolean"
56122987
DM
5200 },
5201 "ndp" : {
44660702 5202 "description" : "Enable NDP.",
56122987 5203 "optional" : 1,
44660702 5204 "type" : "boolean"
56122987
DM
5205 },
5206 "policy_in" : {
56122987
DM
5207 "description" : "Input policy.",
5208 "enum" : [
5209 "ACCEPT",
5210 "REJECT",
5211 "DROP"
44660702
DM
5212 ],
5213 "optional" : 1,
5214 "type" : "string"
56122987 5215 },
44660702
DM
5216 "policy_out" : {
5217 "description" : "Output policy.",
5218 "enum" : [
5219 "ACCEPT",
5220 "REJECT",
5221 "DROP"
5222 ],
5223 "optional" : 1,
5224 "type" : "string"
5225 },
5226 "radv" : {
5227 "description" : "Allow sending Router Advertisement.",
5228 "optional" : 1,
5229 "type" : "boolean"
5230 }
5231 },
5232 "type" : "object"
5233 }
5234 },
5235 "PUT" : {
5236 "description" : "Set Firewall options.",
5237 "method" : "PUT",
5238 "name" : "set_options",
5239 "parameters" : {
5240 "additionalProperties" : 0,
5241 "properties" : {
5242 "delete" : {
5243 "description" : "A list of settings you want to delete.",
5244 "format" : "pve-configid-list",
5245 "optional" : 1,
013dc89f
DM
5246 "type" : "string",
5247 "typetext" : "<string>"
44660702
DM
5248 },
5249 "dhcp" : {
5250 "description" : "Enable DHCP.",
7aacca6f 5251 "optional" : 1,
013dc89f
DM
5252 "type" : "boolean",
5253 "typetext" : "<boolean>"
7aacca6f
DM
5254 },
5255 "digest" : {
5256 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5257 "maxLength" : 40,
7aacca6f 5258 "optional" : 1,
013dc89f
DM
5259 "type" : "string",
5260 "typetext" : "<string>"
7aacca6f
DM
5261 },
5262 "enable" : {
5263 "description" : "Enable/disable firewall rules.",
56122987 5264 "optional" : 1,
013dc89f
DM
5265 "type" : "boolean",
5266 "typetext" : "<boolean>"
7aacca6f 5267 },
44660702
DM
5268 "ipfilter" : {
5269 "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.",
5270 "optional" : 1,
013dc89f
DM
5271 "type" : "boolean",
5272 "typetext" : "<boolean>"
44660702
DM
5273 },
5274 "log_level_in" : {
5275 "description" : "Log level for incoming traffic.",
56122987
DM
5276 "enum" : [
5277 "emerg",
5278 "alert",
5279 "crit",
5280 "err",
5281 "warning",
5282 "notice",
5283 "info",
5284 "debug",
5285 "nolog"
7aacca6f 5286 ],
7aacca6f 5287 "optional" : 1,
44660702 5288 "type" : "string"
7aacca6f 5289 },
44660702
DM
5290 "log_level_out" : {
5291 "description" : "Log level for outgoing traffic.",
56122987
DM
5292 "enum" : [
5293 "emerg",
5294 "alert",
5295 "crit",
5296 "err",
5297 "warning",
5298 "notice",
5299 "info",
5300 "debug",
5301 "nolog"
5302 ],
56122987 5303 "optional" : 1,
44660702 5304 "type" : "string"
56122987
DM
5305 },
5306 "macfilter" : {
56122987 5307 "description" : "Enable/disable MAC address filter.",
7aacca6f 5308 "optional" : 1,
013dc89f
DM
5309 "type" : "boolean",
5310 "typetext" : "<boolean>"
56122987 5311 },
44660702
DM
5312 "ndp" : {
5313 "description" : "Enable NDP.",
5314 "optional" : 1,
013dc89f
DM
5315 "type" : "boolean",
5316 "typetext" : "<boolean>"
44660702
DM
5317 },
5318 "node" : {
5319 "description" : "The cluster node name.",
5320 "format" : "pve-node",
013dc89f
DM
5321 "type" : "string",
5322 "typetext" : "<string>"
44660702 5323 },
56122987 5324 "policy_in" : {
44660702 5325 "description" : "Input policy.",
56122987
DM
5326 "enum" : [
5327 "ACCEPT",
5328 "REJECT",
5329 "DROP"
7aacca6f 5330 ],
56122987 5331 "optional" : 1,
7aacca6f 5332 "type" : "string"
56122987 5333 },
44660702
DM
5334 "policy_out" : {
5335 "description" : "Output policy.",
5336 "enum" : [
5337 "ACCEPT",
5338 "REJECT",
5339 "DROP"
5340 ],
56122987 5341 "optional" : 1,
44660702 5342 "type" : "string"
56122987 5343 },
44660702
DM
5344 "radv" : {
5345 "description" : "Allow sending Router Advertisement.",
56122987 5346 "optional" : 1,
013dc89f
DM
5347 "type" : "boolean",
5348 "typetext" : "<boolean>"
7aacca6f
DM
5349 },
5350 "vmid" : {
5351 "description" : "The (unique) ID of the VM.",
44660702 5352 "format" : "pve-vmid",
7aacca6f 5353 "minimum" : 1,
4bd7df8b 5354 "type" : "integer",
013dc89f 5355 "typetext" : "<integer> (1 - N)"
56122987
DM
5356 }
5357 }
5358 },
56122987
DM
5359 "permissions" : {
5360 "check" : [
5361 "perm",
5362 "/vms/{vmid}",
5363 [
44660702 5364 "VM.Config.Network"
56122987
DM
5365 ]
5366 ]
7aacca6f 5367 },
44660702 5368 "protected" : 1,
7aacca6f 5369 "proxyto" : "node",
44660702
DM
5370 "returns" : {
5371 "type" : "null"
5372 }
56122987
DM
5373 }
5374 },
44660702 5375 "leaf" : 1,
7aacca6f 5376 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 5377 "text" : "options"
56122987
DM
5378 },
5379 {
56122987
DM
5380 "info" : {
5381 "GET" : {
44660702
DM
5382 "description" : "Read firewall log",
5383 "method" : "GET",
5384 "name" : "log",
5385 "parameters" : {
5386 "additionalProperties" : 0,
5387 "properties" : {
5388 "limit" : {
5389 "minimum" : 0,
5390 "optional" : 1,
4bd7df8b 5391 "type" : "integer",
013dc89f 5392 "typetext" : "<integer> (0 - N)"
56122987 5393 },
44660702
DM
5394 "node" : {
5395 "description" : "The cluster node name.",
5396 "format" : "pve-node",
013dc89f
DM
5397 "type" : "string",
5398 "typetext" : "<string>"
44660702
DM
5399 },
5400 "start" : {
5401 "minimum" : 0,
5402 "optional" : 1,
4bd7df8b 5403 "type" : "integer",
013dc89f 5404 "typetext" : "<integer> (0 - N)"
44660702
DM
5405 },
5406 "vmid" : {
5407 "description" : "The (unique) ID of the VM.",
5408 "format" : "pve-vmid",
5409 "minimum" : 1,
4bd7df8b 5410 "type" : "integer",
013dc89f 5411 "typetext" : "<integer> (1 - N)"
44660702
DM
5412 }
5413 }
7aacca6f 5414 },
7aacca6f
DM
5415 "permissions" : {
5416 "check" : [
5417 "perm",
5418 "/vms/{vmid}",
5419 [
5420 "VM.Console"
5421 ]
5422 ]
56122987 5423 },
7aacca6f 5424 "protected" : 1,
44660702
DM
5425 "proxyto" : "node",
5426 "returns" : {
5427 "items" : {
5428 "properties" : {
5429 "n" : {
5430 "description" : "Line number",
5431 "type" : "integer"
5432 },
5433 "t" : {
5434 "description" : "Line text",
5435 "type" : "string"
5436 }
56122987 5437 },
44660702 5438 "type" : "object"
7aacca6f 5439 },
44660702 5440 "type" : "array"
7aacca6f
DM
5441 }
5442 }
5443 },
44660702 5444 "leaf" : 1,
7aacca6f 5445 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5446 "text" : "log"
7aacca6f
DM
5447 },
5448 {
7aacca6f
DM
5449 "info" : {
5450 "GET" : {
5451 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5452 "method" : "GET",
5453 "name" : "refs",
56122987 5454 "parameters" : {
44660702 5455 "additionalProperties" : 0,
56122987
DM
5456 "properties" : {
5457 "node" : {
7aacca6f 5458 "description" : "The cluster node name.",
44660702 5459 "format" : "pve-node",
013dc89f
DM
5460 "type" : "string",
5461 "typetext" : "<string>"
56122987
DM
5462 },
5463 "type" : {
56122987
DM
5464 "description" : "Only list references of specified type.",
5465 "enum" : [
5466 "alias",
5467 "ipset"
7aacca6f 5468 ],
44660702
DM
5469 "optional" : 1,
5470 "type" : "string"
5471 },
5472 "vmid" : {
5473 "description" : "The (unique) ID of the VM.",
5474 "format" : "pve-vmid",
5475 "minimum" : 1,
4bd7df8b 5476 "type" : "integer",
013dc89f 5477 "typetext" : "<integer> (1 - N)"
56122987 5478 }
44660702
DM
5479 }
5480 },
5481 "permissions" : {
5482 "check" : [
5483 "perm",
5484 "/vms/{vmid}",
5485 [
5486 "VM.Audit"
5487 ]
5488 ]
56122987
DM
5489 },
5490 "returns" : {
56122987
DM
5491 "items" : {
5492 "properties" : {
44660702
DM
5493 "comment" : {
5494 "optional" : 1,
56122987
DM
5495 "type" : "string"
5496 },
5497 "name" : {
5498 "type" : "string"
5499 },
44660702
DM
5500 "type" : {
5501 "enum" : [
5502 "alias",
5503 "ipset"
5504 ],
7aacca6f 5505 "type" : "string"
56122987
DM
5506 }
5507 },
5508 "type" : "object"
7aacca6f
DM
5509 },
5510 "type" : "array"
5511 }
56122987 5512 }
44660702
DM
5513 },
5514 "leaf" : 1,
5515 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5516 "text" : "refs"
56122987
DM
5517 }
5518 ],
56122987
DM
5519 "info" : {
5520 "GET" : {
44660702 5521 "description" : "Directory index.",
56122987 5522 "method" : "GET",
44660702 5523 "name" : "index",
56122987 5524 "parameters" : {
44660702 5525 "additionalProperties" : 0,
56122987
DM
5526 "properties" : {
5527 "node" : {
5528 "description" : "The cluster node name.",
44660702 5529 "format" : "pve-node",
013dc89f
DM
5530 "type" : "string",
5531 "typetext" : "<string>"
56122987
DM
5532 },
5533 "vmid" : {
44660702 5534 "description" : "The (unique) ID of the VM.",
56122987
DM
5535 "format" : "pve-vmid",
5536 "minimum" : 1,
4bd7df8b 5537 "type" : "integer",
013dc89f 5538 "typetext" : "<integer> (1 - N)"
56122987 5539 }
44660702 5540 }
56122987 5541 },
56122987
DM
5542 "permissions" : {
5543 "user" : "all"
7aacca6f 5544 },
44660702
DM
5545 "returns" : {
5546 "items" : {
5547 "properties" : {},
5548 "type" : "object"
5549 },
5550 "links" : [
5551 {
5552 "href" : "{name}",
5553 "rel" : "child"
5554 }
5555 ],
5556 "type" : "array"
5557 }
56122987 5558 }
44660702
DM
5559 },
5560 "leaf" : 0,
5561 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5562 "text" : "firewall"
56122987
DM
5563 },
5564 {
56122987
DM
5565 "info" : {
5566 "GET" : {
44660702
DM
5567 "description" : "Read VM RRD statistics (returns PNG)",
5568 "method" : "GET",
7aacca6f 5569 "name" : "rrd",
56122987
DM
5570 "parameters" : {
5571 "additionalProperties" : 0,
5572 "properties" : {
7aacca6f 5573 "cf" : {
44660702 5574 "description" : "The RRD consolidation function",
7aacca6f
DM
5575 "enum" : [
5576 "AVERAGE",
5577 "MAX"
5578 ],
7aacca6f
DM
5579 "optional" : 1,
5580 "type" : "string"
5581 },
44660702
DM
5582 "ds" : {
5583 "description" : "The list of datasources you want to display.",
5584 "format" : "pve-configid-list",
013dc89f
DM
5585 "type" : "string",
5586 "typetext" : "<string>"
56122987
DM
5587 },
5588 "node" : {
44660702 5589 "description" : "The cluster node name.",
56122987 5590 "format" : "pve-node",
013dc89f
DM
5591 "type" : "string",
5592 "typetext" : "<string>"
56122987
DM
5593 },
5594 "timeframe" : {
44660702 5595 "description" : "Specify the time frame you are interested in.",
56122987
DM
5596 "enum" : [
5597 "hour",
5598 "day",
5599 "week",
5600 "month",
5601 "year"
5602 ],
56122987
DM
5603 "type" : "string"
5604 },
44660702
DM
5605 "vmid" : {
5606 "description" : "The (unique) ID of the VM.",
5607 "format" : "pve-vmid",
5608 "minimum" : 1,
4bd7df8b 5609 "type" : "integer",
013dc89f 5610 "typetext" : "<integer> (1 - N)"
56122987
DM
5611 }
5612 }
5613 },
56122987
DM
5614 "permissions" : {
5615 "check" : [
5616 "perm",
5617 "/vms/{vmid}",
5618 [
5619 "VM.Audit"
5620 ]
5621 ]
5622 },
7aacca6f
DM
5623 "protected" : 1,
5624 "returns" : {
5625 "properties" : {
5626 "filename" : {
5627 "type" : "string"
5628 }
5629 },
5630 "type" : "object"
44660702 5631 }
56122987 5632 }
44660702
DM
5633 },
5634 "leaf" : 1,
5635 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5636 "text" : "rrd"
56122987
DM
5637 },
5638 {
7aacca6f 5639 "info" : {
56122987 5640 "GET" : {
7aacca6f 5641 "description" : "Read VM RRD statistics",
44660702 5642 "method" : "GET",
56122987 5643 "name" : "rrddata",
56122987 5644 "parameters" : {
44660702 5645 "additionalProperties" : 0,
56122987 5646 "properties" : {
44660702
DM
5647 "cf" : {
5648 "description" : "The RRD consolidation function",
5649 "enum" : [
5650 "AVERAGE",
5651 "MAX"
5652 ],
5653 "optional" : 1,
5654 "type" : "string"
5655 },
56122987 5656 "node" : {
44660702 5657 "description" : "The cluster node name.",
56122987 5658 "format" : "pve-node",
013dc89f
DM
5659 "type" : "string",
5660 "typetext" : "<string>"
56122987
DM
5661 },
5662 "timeframe" : {
44660702 5663 "description" : "Specify the time frame you are interested in.",
56122987
DM
5664 "enum" : [
5665 "hour",
5666 "day",
5667 "week",
5668 "month",
5669 "year"
7aacca6f 5670 ],
44660702 5671 "type" : "string"
7aacca6f
DM
5672 },
5673 "vmid" : {
7aacca6f
DM
5674 "description" : "The (unique) ID of the VM.",
5675 "format" : "pve-vmid",
44660702 5676 "minimum" : 1,
4bd7df8b 5677 "type" : "integer",
013dc89f 5678 "typetext" : "<integer> (1 - N)"
56122987 5679 }
44660702 5680 }
56122987 5681 },
56122987
DM
5682 "permissions" : {
5683 "check" : [
5684 "perm",
5685 "/vms/{vmid}",
5686 [
5687 "VM.Audit"
5688 ]
5689 ]
5690 },
44660702 5691 "protected" : 1,
7aacca6f 5692 "returns" : {
7aacca6f 5693 "items" : {
44660702
DM
5694 "properties" : {},
5695 "type" : "object"
5696 },
5697 "type" : "array"
7aacca6f 5698 }
56122987
DM
5699 }
5700 },
44660702
DM
5701 "leaf" : 1,
5702 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5703 "text" : "rrddata"
5704 },
5705 {
56122987 5706 "info" : {
44660702
DM
5707 "GET" : {
5708 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5709 "method" : "GET",
5710 "name" : "vm_config",
5711 "parameters" : {
5712 "additionalProperties" : 0,
5713 "properties" : {
5714 "current" : {
5715 "default" : 0,
5716 "description" : "Get current values (instead of pending values).",
5717 "optional" : 1,
013dc89f
DM
5718 "type" : "boolean",
5719 "typetext" : "<boolean>"
44660702
DM
5720 },
5721 "node" : {
5722 "description" : "The cluster node name.",
5723 "format" : "pve-node",
013dc89f
DM
5724 "type" : "string",
5725 "typetext" : "<string>"
44660702
DM
5726 },
5727 "vmid" : {
5728 "description" : "The (unique) ID of the VM.",
5729 "format" : "pve-vmid",
5730 "minimum" : 1,
4bd7df8b 5731 "type" : "integer",
013dc89f 5732 "typetext" : "<integer> (1 - N)"
44660702
DM
5733 }
5734 }
7aacca6f 5735 },
56122987
DM
5736 "permissions" : {
5737 "check" : [
5738 "perm",
5739 "/vms/{vmid}",
5740 [
44660702
DM
5741 "VM.Audit"
5742 ]
56122987
DM
5743 ]
5744 },
56122987 5745 "proxyto" : "node",
44660702
DM
5746 "returns" : {
5747 "properties" : {
5748 "digest" : {
5749 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5750 "type" : "string"
5751 }
5752 },
5753 "type" : "object"
5754 }
5755 },
5756 "POST" : {
7aacca6f
DM
5757 "description" : "Set virtual machine options (asynchrounous API).",
5758 "method" : "POST",
44660702 5759 "name" : "update_vm_async",
56122987 5760 "parameters" : {
44660702 5761 "additionalProperties" : 0,
56122987 5762 "properties" : {
44660702
DM
5763 "acpi" : {
5764 "default" : 1,
5765 "description" : "Enable/disable ACPI.",
5766 "optional" : 1,
013dc89f
DM
5767 "type" : "boolean",
5768 "typetext" : "<boolean>"
44660702
DM
5769 },
5770 "agent" : {
7aacca6f 5771 "default" : 0,
44660702 5772 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5773 "optional" : 1,
013dc89f
DM
5774 "type" : "boolean",
5775 "typetext" : "<boolean>"
7aacca6f 5776 },
44660702 5777 "args" : {
c2993fe5 5778 "description" : "Arbitrary arguments passed to kvm.",
44660702 5779 "optional" : 1,
c2993fe5 5780 "type" : "string",
013dc89f 5781 "typetext" : "<string>",
c2993fe5 5782 "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 5783 },
44660702
DM
5784 "autostart" : {
5785 "default" : 0,
5786 "description" : "Automatic restart after crash (currently ignored).",
56122987 5787 "optional" : 1,
013dc89f
DM
5788 "type" : "boolean",
5789 "typetext" : "<boolean>"
56122987 5790 },
44660702
DM
5791 "background_delay" : {
5792 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5793 "maximum" : 30,
5794 "minimum" : 1,
7aacca6f 5795 "optional" : 1,
4bd7df8b 5796 "type" : "integer",
013dc89f 5797 "typetext" : "<integer> (1 - 30)"
56122987 5798 },
44660702
DM
5799 "balloon" : {
5800 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5801 "minimum" : 0,
7aacca6f 5802 "optional" : 1,
4bd7df8b 5803 "type" : "integer",
013dc89f 5804 "typetext" : "<integer> (0 - N)"
7aacca6f 5805 },
44660702
DM
5806 "bios" : {
5807 "default" : "seabios",
5808 "description" : "Select BIOS implementation.",
5809 "enum" : [
5810 "seabios",
5811 "ovmf"
5812 ],
56122987 5813 "optional" : 1,
44660702 5814 "type" : "string"
7aacca6f 5815 },
44660702
DM
5816 "boot" : {
5817 "default" : "cdn",
5818 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5819 "optional" : 1,
5820 "pattern" : "[acdn]{1,4}",
5821 "type" : "string"
5822 },
5823 "bootdisk" : {
5824 "description" : "Enable booting from specified disk.",
5825 "format" : "pve-qm-bootdisk",
5826 "optional" : 1,
5827 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5828 "type" : "string"
5829 },
5830 "cdrom" : {
5831 "description" : "This is an alias for option -ide2",
de0983cb 5832 "format" : "pve-qm-ide",
44660702 5833 "optional" : 1,
7aacca6f 5834 "type" : "string",
013dc89f 5835 "typetext" : "<volume>"
44660702
DM
5836 },
5837 "cores" : {
5838 "default" : 1,
5839 "description" : "The number of cores per socket.",
5840 "minimum" : 1,
7aacca6f 5841 "optional" : 1,
4bd7df8b 5842 "type" : "integer",
013dc89f 5843 "typetext" : "<integer> (1 - N)"
7aacca6f 5844 },
44660702
DM
5845 "cpu" : {
5846 "description" : "Emulated CPU type.",
56122987 5847 "format" : {
44660702
DM
5848 "cputype" : {
5849 "default" : "kvm64",
7aacca6f 5850 "default_key" : 1,
44660702 5851 "description" : "Emulated CPU type.",
56122987 5852 "enum" : [
44660702
DM
5853 "486",
5854 "athlon",
f004f5b9 5855 "Broadwell",
35a75dd3 5856 "Broadwell-IBRS",
f004f5b9 5857 "Broadwell-noTSX",
35a75dd3 5858 "Broadwell-noTSX-IBRS",
f004f5b9 5859 "Conroe",
44660702 5860 "core2duo",
f004f5b9
DM
5861 "coreduo",
5862 "Haswell",
35a75dd3 5863 "Haswell-IBRS",
f004f5b9 5864 "Haswell-noTSX",
35a75dd3 5865 "Haswell-noTSX-IBRS",
f004f5b9
DM
5866 "host",
5867 "IvyBridge",
35a75dd3 5868 "IvyBridge-IBRS",
44660702
DM
5869 "kvm32",
5870 "kvm64",
35a75dd3 5871 "max",
44660702 5872 "Nehalem",
35a75dd3 5873 "Nehalem-IBRS",
44660702
DM
5874 "Opteron_G1",
5875 "Opteron_G2",
5876 "Opteron_G3",
5877 "Opteron_G4",
5878 "Opteron_G5",
f004f5b9
DM
5879 "Penryn",
5880 "pentium",
5881 "pentium2",
5882 "pentium3",
5883 "phenom",
5884 "qemu32",
5885 "qemu64",
5886 "SandyBridge",
35a75dd3 5887 "SandyBridge-IBRS",
5d9c884c 5888 "Skylake-Client",
35a75dd3
DM
5889 "Skylake-Client-IBRS",
5890 "Skylake-Server",
5891 "Skylake-Server-IBRS",
5892 "Westmere",
5893 "Westmere-IBRS"
56122987 5894 ],
56122987
DM
5895 "type" : "string"
5896 },
35a75dd3
DM
5897 "flags" : {
5898 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
5899 "format_description" : "+FLAG[;-FLAG...]",
5900 "optional" : 1,
5901 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
5902 "type" : "string"
5903 },
44660702
DM
5904 "hidden" : {
5905 "default" : 0,
5906 "description" : "Do not identify as a KVM virtual machine.",
56122987 5907 "optional" : 1,
44660702
DM
5908 "type" : "boolean"
5909 }
5910 },
5911 "optional" : 1,
4bd7df8b 5912 "type" : "string",
35a75dd3 5913 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
5914 },
5915 "cpulimit" : {
5916 "default" : 0,
c2993fe5 5917 "description" : "Limit of CPU usage.",
44660702
DM
5918 "maximum" : 128,
5919 "minimum" : 0,
5920 "optional" : 1,
c2993fe5 5921 "type" : "number",
013dc89f 5922 "typetext" : "<number> (0 - 128)",
c2993fe5 5923 "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
5924 },
5925 "cpuunits" : {
de0983cb 5926 "default" : 1024,
c2993fe5 5927 "description" : "CPU weight for a VM.",
2489d6df
WB
5928 "maximum" : 262144,
5929 "minimum" : 2,
44660702 5930 "optional" : 1,
c2993fe5 5931 "type" : "integer",
2489d6df
WB
5932 "typetext" : "<integer> (2 - 262144)",
5933 "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
5934 },
5935 "delete" : {
5936 "description" : "A list of settings you want to delete.",
5937 "format" : "pve-configid-list",
5938 "optional" : 1,
013dc89f
DM
5939 "type" : "string",
5940 "typetext" : "<string>"
44660702
DM
5941 },
5942 "description" : {
5943 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5944 "optional" : 1,
013dc89f
DM
5945 "type" : "string",
5946 "typetext" : "<string>"
44660702
DM
5947 },
5948 "digest" : {
5949 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5950 "maxLength" : 40,
5951 "optional" : 1,
013dc89f
DM
5952 "type" : "string",
5953 "typetext" : "<string>"
44660702
DM
5954 },
5955 "force" : {
5956 "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.",
5957 "optional" : 1,
5958 "requires" : "delete",
013dc89f
DM
5959 "type" : "boolean",
5960 "typetext" : "<boolean>"
44660702
DM
5961 },
5962 "freeze" : {
5963 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5964 "optional" : 1,
013dc89f
DM
5965 "type" : "boolean",
5966 "typetext" : "<boolean>"
44660702
DM
5967 },
5968 "hostpci[n]" : {
c2993fe5 5969 "description" : "Map host PCI devices into guest.",
44660702
DM
5970 "format" : "pve-qm-hostpci",
5971 "optional" : 1,
57b78691 5972 "type" : "string",
52e44c50 5973 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 5974 "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
5975 },
5976 "hotplug" : {
5977 "default" : "network,disk,usb",
5978 "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'.",
5979 "format" : "pve-hotplug-features",
5980 "optional" : 1,
013dc89f
DM
5981 "type" : "string",
5982 "typetext" : "<string>"
44660702 5983 },
4bd7df8b
DM
5984 "hugepages" : {
5985 "description" : "Enable/disable hugepages memory.",
5986 "enum" : [
5987 "any",
5988 "2",
5989 "1024"
5990 ],
5991 "optional" : 1,
5992 "type" : "string"
5993 },
44660702
DM
5994 "ide[n]" : {
5995 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5996 "format" : {
5997 "aio" : {
5998 "description" : "AIO type to use.",
5999 "enum" : [
6000 "native",
6001 "threads"
56122987 6002 ],
56122987 6003 "optional" : 1,
44660702 6004 "type" : "string"
56122987 6005 },
44660702
DM
6006 "backup" : {
6007 "description" : "Whether the drive should be included when making backups.",
56122987 6008 "optional" : 1,
44660702 6009 "type" : "boolean"
56122987 6010 },
7aacca6f 6011 "bps" : {
de0983cb 6012 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
6013 "format_description" : "bps",
6014 "optional" : 1,
6015 "type" : "integer"
6016 },
de0983cb
DM
6017 "bps_max_length" : {
6018 "description" : "Maximum length of I/O bursts in seconds.",
6019 "format_description" : "seconds",
6020 "minimum" : 1,
6021 "optional" : 1,
6022 "type" : "integer"
6023 },
44660702 6024 "bps_rd" : {
de0983cb 6025 "description" : "Maximum read speed in bytes per second.",
44660702 6026 "format_description" : "bps",
56122987 6027 "optional" : 1,
44660702 6028 "type" : "integer"
56122987 6029 },
de0983cb 6030 "bps_rd_length" : {
5d9c884c
DM
6031 "alias" : "bps_rd_max_length"
6032 },
6033 "bps_rd_max_length" : {
de0983cb
DM
6034 "description" : "Maximum length of read I/O bursts in seconds.",
6035 "format_description" : "seconds",
6036 "minimum" : 1,
6037 "optional" : 1,
6038 "type" : "integer"
6039 },
44660702 6040 "bps_wr" : {
de0983cb 6041 "description" : "Maximum write speed in bytes per second.",
44660702
DM
6042 "format_description" : "bps",
6043 "optional" : 1,
6044 "type" : "integer"
6045 },
de0983cb 6046 "bps_wr_length" : {
5d9c884c
DM
6047 "alias" : "bps_wr_max_length"
6048 },
6049 "bps_wr_max_length" : {
de0983cb
DM
6050 "description" : "Maximum length of write I/O bursts in seconds.",
6051 "format_description" : "seconds",
6052 "minimum" : 1,
6053 "optional" : 1,
6054 "type" : "integer"
6055 },
44660702
DM
6056 "cache" : {
6057 "description" : "The drive's cache mode",
6058 "enum" : [
6059 "none",
6060 "writethrough",
6061 "writeback",
6062 "unsafe",
6063 "directsync"
6064 ],
44660702
DM
6065 "optional" : 1,
6066 "type" : "string"
6067 },
6068 "cyls" : {
6069 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
6070 "optional" : 1,
6071 "type" : "integer"
6072 },
6073 "detect_zeroes" : {
6074 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6075 "optional" : 1,
6076 "type" : "boolean"
6077 },
6078 "discard" : {
6079 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6080 "enum" : [
6081 "ignore",
6082 "on"
6083 ],
56122987 6084 "optional" : 1,
44660702
DM
6085 "type" : "string"
6086 },
6087 "file" : {
6088 "default_key" : 1,
6089 "description" : "The drive's backing volume.",
6090 "format" : "pve-volume-id-or-qm-path",
6091 "format_description" : "volume",
6092 "type" : "string"
56122987 6093 },
7aacca6f 6094 "format" : {
7aacca6f 6095 "description" : "The drive's backing file's data format.",
56122987 6096 "enum" : [
7aacca6f
DM
6097 "raw",
6098 "cow",
6099 "qcow",
6100 "qed",
6101 "qcow2",
6102 "vmdk",
6103 "cloop"
56122987
DM
6104 ],
6105 "optional" : 1,
56122987
DM
6106 "type" : "string"
6107 },
44660702
DM
6108 "heads" : {
6109 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
6110 "optional" : 1,
6111 "type" : "integer"
7aacca6f 6112 },
44660702 6113 "iops" : {
de0983cb 6114 "description" : "Maximum r/w I/O in operations per second.",
44660702 6115 "format_description" : "iops",
56122987 6116 "optional" : 1,
44660702 6117 "type" : "integer"
56122987 6118 },
44660702 6119 "iops_max" : {
de0983cb 6120 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6121 "format_description" : "iops",
56122987 6122 "optional" : 1,
44660702 6123 "type" : "integer"
56122987 6124 },
de0983cb
DM
6125 "iops_max_length" : {
6126 "description" : "Maximum length of I/O bursts in seconds.",
6127 "format_description" : "seconds",
6128 "minimum" : 1,
6129 "optional" : 1,
6130 "type" : "integer"
6131 },
44660702 6132 "iops_rd" : {
de0983cb 6133 "description" : "Maximum read I/O in operations per second.",
44660702
DM
6134 "format_description" : "iops",
6135 "optional" : 1,
6136 "type" : "integer"
6137 },
de0983cb 6138 "iops_rd_length" : {
5d9c884c 6139 "alias" : "iops_rd_max_length"
de0983cb 6140 },
44660702 6141 "iops_rd_max" : {
de0983cb 6142 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 6143 "format_description" : "iops",
44660702
DM
6144 "optional" : 1,
6145 "type" : "integer"
6146 },
5d9c884c
DM
6147 "iops_rd_max_length" : {
6148 "description" : "Maximum length of read I/O bursts in seconds.",
6149 "format_description" : "seconds",
6150 "minimum" : 1,
6151 "optional" : 1,
6152 "type" : "integer"
6153 },
44660702 6154 "iops_wr" : {
de0983cb 6155 "description" : "Maximum write I/O in operations per second.",
44660702 6156 "format_description" : "iops",
56122987 6157 "optional" : 1,
7aacca6f 6158 "type" : "integer"
56122987 6159 },
de0983cb 6160 "iops_wr_length" : {
5d9c884c 6161 "alias" : "iops_wr_max_length"
de0983cb 6162 },
44660702 6163 "iops_wr_max" : {
de0983cb 6164 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6165 "format_description" : "iops",
7aacca6f 6166 "optional" : 1,
44660702 6167 "type" : "integer"
56122987 6168 },
5d9c884c
DM
6169 "iops_wr_max_length" : {
6170 "description" : "Maximum length of write I/O bursts in seconds.",
6171 "format_description" : "seconds",
6172 "minimum" : 1,
6173 "optional" : 1,
6174 "type" : "integer"
6175 },
44660702 6176 "mbps" : {
de0983cb 6177 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6178 "format_description" : "mbps",
6179 "optional" : 1,
6180 "type" : "number"
6181 },
6182 "mbps_max" : {
de0983cb 6183 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6184 "format_description" : "mbps",
6185 "optional" : 1,
6186 "type" : "number"
6187 },
6188 "mbps_rd" : {
de0983cb 6189 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6190 "format_description" : "mbps",
6191 "optional" : 1,
6192 "type" : "number"
6193 },
6194 "mbps_rd_max" : {
de0983cb 6195 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6196 "format_description" : "mbps",
6197 "optional" : 1,
6198 "type" : "number"
6199 },
6200 "mbps_wr" : {
de0983cb 6201 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6202 "format_description" : "mbps",
6203 "optional" : 1,
6204 "type" : "number"
6205 },
6206 "mbps_wr_max" : {
de0983cb 6207 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 6208 "format_description" : "mbps",
56122987 6209 "optional" : 1,
44660702 6210 "type" : "number"
56122987 6211 },
7aacca6f 6212 "media" : {
7aacca6f 6213 "default" : "disk",
7aacca6f
DM
6214 "description" : "The drive's media type.",
6215 "enum" : [
6216 "cdrom",
6217 "disk"
44660702 6218 ],
44660702
DM
6219 "optional" : 1,
6220 "type" : "string"
56122987 6221 },
44660702
DM
6222 "model" : {
6223 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
6224 "format" : "urlencoded",
6225 "format_description" : "model",
6226 "maxLength" : 120,
56122987 6227 "optional" : 1,
44660702 6228 "type" : "string"
56122987 6229 },
5d9c884c
DM
6230 "replicate" : {
6231 "default" : 1,
6232 "description" : "Whether the drive should considered for replication jobs.",
6233 "optional" : 1,
6234 "type" : "boolean"
6235 },
44660702
DM
6236 "rerror" : {
6237 "description" : "Read error action.",
6238 "enum" : [
6239 "ignore",
6240 "report",
6241 "stop"
6242 ],
56122987 6243 "optional" : 1,
44660702
DM
6244 "type" : "string"
6245 },
6246 "secs" : {
6247 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6248 "optional" : 1,
6249 "type" : "integer"
6250 },
6251 "serial" : {
6252 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6253 "format" : "urlencoded",
6254 "format_description" : "serial",
6255 "maxLength" : 60,
6256 "optional" : 1,
6257 "type" : "string"
6258 },
6259 "size" : {
6260 "description" : "Disk size. This is purely informational and has no effect.",
6261 "format" : "disk-size",
f004f5b9 6262 "format_description" : "DiskSize",
44660702
DM
6263 "optional" : 1,
6264 "type" : "string"
6265 },
6266 "snapshot" : {
6267 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
6268 "optional" : 1,
6269 "type" : "boolean"
6270 },
6271 "trans" : {
6272 "description" : "Force disk geometry bios translation mode.",
6273 "enum" : [
6274 "none",
6275 "lba",
6276 "auto"
6277 ],
44660702
DM
6278 "optional" : 1,
6279 "type" : "string"
6280 },
6281 "volume" : {
6282 "alias" : "file"
6283 },
6284 "werror" : {
6285 "description" : "Write error action.",
6286 "enum" : [
6287 "enospc",
6288 "ignore",
6289 "report",
6290 "stop"
6291 ],
44660702
DM
6292 "optional" : 1,
6293 "type" : "string"
56122987
DM
6294 }
6295 },
44660702 6296 "optional" : 1,
4bd7df8b 6297 "type" : "string",
5d9c884c 6298 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 6299 },
44660702 6300 "keyboard" : {
35a75dd3
DM
6301 "default" : null,
6302 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
44660702
DM
6303 "enum" : [
6304 "de",
6305 "de-ch",
6306 "da",
6307 "en-gb",
6308 "en-us",
6309 "es",
6310 "fi",
6311 "fr",
6312 "fr-be",
6313 "fr-ca",
6314 "fr-ch",
6315 "hu",
6316 "is",
6317 "it",
6318 "ja",
6319 "lt",
6320 "mk",
6321 "nl",
6322 "no",
6323 "pl",
6324 "pt",
6325 "pt-br",
6326 "sv",
6327 "sl",
6328 "tr"
6329 ],
56122987 6330 "optional" : 1,
44660702
DM
6331 "type" : "string"
6332 },
6333 "kvm" : {
7aacca6f 6334 "default" : 1,
44660702
DM
6335 "description" : "Enable/disable KVM hardware virtualization.",
6336 "optional" : 1,
013dc89f
DM
6337 "type" : "boolean",
6338 "typetext" : "<boolean>"
56122987 6339 },
44660702
DM
6340 "localtime" : {
6341 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 6342 "optional" : 1,
013dc89f
DM
6343 "type" : "boolean",
6344 "typetext" : "<boolean>"
56122987 6345 },
44660702
DM
6346 "lock" : {
6347 "description" : "Lock/unlock the VM.",
6348 "enum" : [
6349 "migrate",
6350 "backup",
6351 "snapshot",
6352 "rollback"
6353 ],
7aacca6f 6354 "optional" : 1,
44660702
DM
6355 "type" : "string"
6356 },
6357 "machine" : {
6358 "description" : "Specific the Qemu machine type.",
6359 "maxLength" : 40,
6360 "optional" : 1,
6361 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
6362 "type" : "string"
6363 },
6364 "memory" : {
6365 "default" : 512,
6366 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
6367 "minimum" : 16,
6368 "optional" : 1,
4bd7df8b 6369 "type" : "integer",
013dc89f 6370 "typetext" : "<integer> (16 - N)"
44660702
DM
6371 },
6372 "migrate_downtime" : {
6373 "default" : 0.1,
6374 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
6375 "minimum" : 0,
6376 "optional" : 1,
4bd7df8b 6377 "type" : "number",
013dc89f 6378 "typetext" : "<number> (0 - N)"
44660702
DM
6379 },
6380 "migrate_speed" : {
6381 "default" : 0,
6382 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
6383 "minimum" : 0,
6384 "optional" : 1,
4bd7df8b 6385 "type" : "integer",
013dc89f 6386 "typetext" : "<integer> (0 - N)"
44660702
DM
6387 },
6388 "name" : {
6389 "description" : "Set a name for the VM. Only used on the configuration web interface.",
6390 "format" : "dns-name",
6391 "optional" : 1,
013dc89f
DM
6392 "type" : "string",
6393 "typetext" : "<string>"
44660702
DM
6394 },
6395 "net[n]" : {
c2993fe5 6396 "description" : "Specify network devices.",
f004f5b9
DM
6397 "format" : {
6398 "bridge" : {
c2993fe5 6399 "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
6400 "format_description" : "bridge",
6401 "optional" : 1,
6402 "type" : "string"
6403 },
6404 "e1000" : {
6405 "alias" : "macaddr",
6406 "keyAlias" : "model"
6407 },
6408 "e1000-82540em" : {
6409 "alias" : "macaddr",
6410 "keyAlias" : "model"
6411 },
6412 "e1000-82544gc" : {
6413 "alias" : "macaddr",
6414 "keyAlias" : "model"
6415 },
6416 "e1000-82545em" : {
6417 "alias" : "macaddr",
6418 "keyAlias" : "model"
6419 },
6420 "firewall" : {
6421 "description" : "Whether this interface should be protected by the firewall.",
6422 "optional" : 1,
6423 "type" : "boolean"
6424 },
6425 "i82551" : {
6426 "alias" : "macaddr",
6427 "keyAlias" : "model"
6428 },
6429 "i82557b" : {
6430 "alias" : "macaddr",
6431 "keyAlias" : "model"
6432 },
6433 "i82559er" : {
6434 "alias" : "macaddr",
6435 "keyAlias" : "model"
6436 },
6437 "link_down" : {
c2993fe5 6438 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
6439 "optional" : 1,
6440 "type" : "boolean"
6441 },
6442 "macaddr" : {
c2993fe5 6443 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 6444 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
6445 "optional" : 1,
6446 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
6447 "type" : "string"
6448 },
6449 "model" : {
6450 "default_key" : 1,
c2993fe5 6451 "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
6452 "enum" : [
6453 "rtl8139",
6454 "ne2k_pci",
6455 "e1000",
6456 "pcnet",
6457 "virtio",
6458 "ne2k_isa",
6459 "i82551",
6460 "i82557b",
6461 "i82559er",
6462 "vmxnet3",
6463 "e1000-82540em",
6464 "e1000-82544gc",
6465 "e1000-82545em"
6466 ],
f004f5b9
DM
6467 "type" : "string"
6468 },
6469 "ne2k_isa" : {
6470 "alias" : "macaddr",
6471 "keyAlias" : "model"
6472 },
6473 "ne2k_pci" : {
6474 "alias" : "macaddr",
6475 "keyAlias" : "model"
6476 },
6477 "pcnet" : {
6478 "alias" : "macaddr",
6479 "keyAlias" : "model"
6480 },
6481 "queues" : {
6482 "description" : "Number of packet queues to be used on the device.",
6483 "maximum" : 16,
6484 "minimum" : 0,
6485 "optional" : 1,
6486 "type" : "integer"
6487 },
6488 "rate" : {
c2993fe5 6489 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
6490 "minimum" : 0,
6491 "optional" : 1,
6492 "type" : "number"
6493 },
6494 "rtl8139" : {
6495 "alias" : "macaddr",
6496 "keyAlias" : "model"
6497 },
6498 "tag" : {
6499 "description" : "VLAN tag to apply to packets on this interface.",
6500 "maximum" : 4094,
c2993fe5 6501 "minimum" : 1,
f004f5b9
DM
6502 "optional" : 1,
6503 "type" : "integer"
6504 },
6505 "trunks" : {
6506 "description" : "VLAN trunks to pass through this interface.",
6507 "format_description" : "vlanid[;vlanid...]",
6508 "optional" : 1,
6509 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6510 "type" : "string"
6511 },
6512 "virtio" : {
6513 "alias" : "macaddr",
6514 "keyAlias" : "model"
6515 },
6516 "vmxnet3" : {
6517 "alias" : "macaddr",
6518 "keyAlias" : "model"
6519 }
6520 },
44660702 6521 "optional" : 1,
4bd7df8b 6522 "type" : "string",
013dc89f 6523 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
6524 },
6525 "node" : {
6526 "description" : "The cluster node name.",
6527 "format" : "pve-node",
013dc89f
DM
6528 "type" : "string",
6529 "typetext" : "<string>"
44660702
DM
6530 },
6531 "numa" : {
6532 "default" : 0,
6533 "description" : "Enable/disable NUMA.",
6534 "optional" : 1,
013dc89f
DM
6535 "type" : "boolean",
6536 "typetext" : "<boolean>"
44660702
DM
6537 },
6538 "numa[n]" : {
c2993fe5 6539 "description" : "NUMA topology.",
56122987 6540 "format" : {
7aacca6f 6541 "cpus" : {
c2993fe5 6542 "description" : "CPUs accessing this NUMA node.",
44660702
DM
6543 "format_description" : "id[-id];...",
6544 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6545 "type" : "string"
7aacca6f
DM
6546 },
6547 "hostnodes" : {
c2993fe5 6548 "description" : "Host NUMA nodes to use.",
44660702 6549 "format_description" : "id[-id];...",
7aacca6f 6550 "optional" : 1,
7aacca6f 6551 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 6552 "type" : "string"
7aacca6f 6553 },
44660702 6554 "memory" : {
c2993fe5 6555 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 6556 "optional" : 1,
44660702
DM
6557 "type" : "number"
6558 },
6559 "policy" : {
c2993fe5 6560 "description" : "NUMA allocation policy.",
7aacca6f
DM
6561 "enum" : [
6562 "preferred",
6563 "bind",
6564 "interleave"
6565 ],
44660702
DM
6566 "optional" : 1,
6567 "type" : "string"
56122987 6568 }
44660702 6569 },
56122987 6570 "optional" : 1,
4bd7df8b
DM
6571 "type" : "string",
6572 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 6573 },
44660702 6574 "onboot" : {
7aacca6f 6575 "default" : 0,
44660702
DM
6576 "description" : "Specifies whether a VM will be started during system bootup.",
6577 "optional" : 1,
013dc89f
DM
6578 "type" : "boolean",
6579 "typetext" : "<boolean>"
7aacca6f
DM
6580 },
6581 "ostype" : {
c2993fe5 6582 "description" : "Specify guest operating system.",
7aacca6f
DM
6583 "enum" : [
6584 "other",
6585 "wxp",
6586 "w2k",
6587 "w2k3",
6588 "w2k8",
6589 "wvista",
6590 "win7",
6591 "win8",
32d876b5 6592 "win10",
7aacca6f
DM
6593 "l24",
6594 "l26",
6595 "solaris"
6596 ],
7aacca6f 6597 "optional" : 1,
c2993fe5 6598 "type" : "string",
35a75dd3 6599 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 6600 },
44660702 6601 "parallel[n]" : {
c2993fe5 6602 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 6603 "optional" : 1,
44660702 6604 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
6605 "type" : "string",
6606 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f
DM
6607 },
6608 "protection" : {
6609 "default" : 0,
c2993fe5 6610 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 6611 "optional" : 1,
013dc89f
DM
6612 "type" : "boolean",
6613 "typetext" : "<boolean>"
7aacca6f 6614 },
44660702
DM
6615 "reboot" : {
6616 "default" : 1,
6617 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 6618 "optional" : 1,
013dc89f
DM
6619 "type" : "boolean",
6620 "typetext" : "<boolean>"
7aacca6f 6621 },
44660702
DM
6622 "revert" : {
6623 "description" : "Revert a pending change.",
6624 "format" : "pve-configid-list",
7aacca6f 6625 "optional" : 1,
013dc89f
DM
6626 "type" : "string",
6627 "typetext" : "<string>"
44660702
DM
6628 },
6629 "sata[n]" : {
6630 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 6631 "format" : {
44660702
DM
6632 "aio" : {
6633 "description" : "AIO type to use.",
7aacca6f 6634 "enum" : [
44660702
DM
6635 "native",
6636 "threads"
7aacca6f 6637 ],
44660702
DM
6638 "optional" : 1,
6639 "type" : "string"
7aacca6f 6640 },
44660702
DM
6641 "backup" : {
6642 "description" : "Whether the drive should be included when making backups.",
56122987 6643 "optional" : 1,
7aacca6f 6644 "type" : "boolean"
44660702
DM
6645 },
6646 "bps" : {
de0983cb 6647 "description" : "Maximum r/w speed in bytes per second.",
44660702 6648 "format_description" : "bps",
7aacca6f 6649 "optional" : 1,
44660702 6650 "type" : "integer"
56122987 6651 },
de0983cb
DM
6652 "bps_max_length" : {
6653 "description" : "Maximum length of I/O bursts in seconds.",
6654 "format_description" : "seconds",
6655 "minimum" : 1,
6656 "optional" : 1,
6657 "type" : "integer"
6658 },
44660702 6659 "bps_rd" : {
de0983cb 6660 "description" : "Maximum read speed in bytes per second.",
44660702 6661 "format_description" : "bps",
56122987 6662 "optional" : 1,
44660702 6663 "type" : "integer"
56122987 6664 },
de0983cb 6665 "bps_rd_length" : {
5d9c884c
DM
6666 "alias" : "bps_rd_max_length"
6667 },
6668 "bps_rd_max_length" : {
de0983cb
DM
6669 "description" : "Maximum length of read I/O bursts in seconds.",
6670 "format_description" : "seconds",
6671 "minimum" : 1,
6672 "optional" : 1,
6673 "type" : "integer"
6674 },
44660702 6675 "bps_wr" : {
de0983cb 6676 "description" : "Maximum write speed in bytes per second.",
44660702 6677 "format_description" : "bps",
56122987 6678 "optional" : 1,
44660702 6679 "type" : "integer"
56122987 6680 },
de0983cb 6681 "bps_wr_length" : {
5d9c884c
DM
6682 "alias" : "bps_wr_max_length"
6683 },
6684 "bps_wr_max_length" : {
de0983cb
DM
6685 "description" : "Maximum length of write I/O bursts in seconds.",
6686 "format_description" : "seconds",
6687 "minimum" : 1,
6688 "optional" : 1,
6689 "type" : "integer"
6690 },
56122987 6691 "cache" : {
44660702 6692 "description" : "The drive's cache mode",
56122987
DM
6693 "enum" : [
6694 "none",
6695 "writethrough",
6696 "writeback",
6697 "unsafe",
6698 "directsync"
6699 ],
56122987 6700 "optional" : 1,
44660702 6701 "type" : "string"
56122987 6702 },
44660702
DM
6703 "cyls" : {
6704 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6705 "optional" : 1,
44660702 6706 "type" : "integer"
7aacca6f
DM
6707 },
6708 "detect_zeroes" : {
6709 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6710 "optional" : 1,
44660702 6711 "type" : "boolean"
56122987 6712 },
44660702
DM
6713 "discard" : {
6714 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6715 "enum" : [
6716 "ignore",
6717 "on"
6718 ],
56122987 6719 "optional" : 1,
44660702 6720 "type" : "string"
7aacca6f 6721 },
44660702
DM
6722 "file" : {
6723 "default_key" : 1,
6724 "description" : "The drive's backing volume.",
6725 "format" : "pve-volume-id-or-qm-path",
6726 "format_description" : "volume",
6727 "type" : "string"
56122987 6728 },
7aacca6f 6729 "format" : {
44660702 6730 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6731 "enum" : [
6732 "raw",
6733 "cow",
6734 "qcow",
6735 "qed",
6736 "qcow2",
6737 "vmdk",
6738 "cloop"
6739 ],
7aacca6f 6740 "optional" : 1,
44660702 6741 "type" : "string"
56122987 6742 },
7aacca6f 6743 "heads" : {
7aacca6f 6744 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6745 "optional" : 1,
7aacca6f 6746 "type" : "integer"
56122987 6747 },
44660702 6748 "iops" : {
de0983cb 6749 "description" : "Maximum r/w I/O in operations per second.",
44660702 6750 "format_description" : "iops",
56122987 6751 "optional" : 1,
44660702 6752 "type" : "integer"
56122987 6753 },
44660702 6754 "iops_max" : {
de0983cb 6755 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6756 "format_description" : "iops",
56122987 6757 "optional" : 1,
44660702 6758 "type" : "integer"
56122987 6759 },
de0983cb
DM
6760 "iops_max_length" : {
6761 "description" : "Maximum length of I/O bursts in seconds.",
6762 "format_description" : "seconds",
6763 "minimum" : 1,
6764 "optional" : 1,
6765 "type" : "integer"
6766 },
44660702 6767 "iops_rd" : {
de0983cb 6768 "description" : "Maximum read I/O in operations per second.",
44660702 6769 "format_description" : "iops",
7aacca6f 6770 "optional" : 1,
44660702 6771 "type" : "integer"
56122987 6772 },
de0983cb 6773 "iops_rd_length" : {
5d9c884c 6774 "alias" : "iops_rd_max_length"
de0983cb 6775 },
44660702 6776 "iops_rd_max" : {
de0983cb 6777 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6778 "format_description" : "iops",
56122987 6779 "optional" : 1,
44660702 6780 "type" : "integer"
7aacca6f 6781 },
5d9c884c
DM
6782 "iops_rd_max_length" : {
6783 "description" : "Maximum length of read I/O bursts in seconds.",
6784 "format_description" : "seconds",
6785 "minimum" : 1,
6786 "optional" : 1,
6787 "type" : "integer"
6788 },
44660702 6789 "iops_wr" : {
de0983cb 6790 "description" : "Maximum write I/O in operations per second.",
44660702 6791 "format_description" : "iops",
56122987 6792 "optional" : 1,
44660702 6793 "type" : "integer"
56122987 6794 },
de0983cb 6795 "iops_wr_length" : {
5d9c884c 6796 "alias" : "iops_wr_max_length"
de0983cb 6797 },
56122987 6798 "iops_wr_max" : {
de0983cb 6799 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6800 "format_description" : "iops",
56122987 6801 "optional" : 1,
44660702 6802 "type" : "integer"
56122987 6803 },
5d9c884c
DM
6804 "iops_wr_max_length" : {
6805 "description" : "Maximum length of write I/O bursts in seconds.",
6806 "format_description" : "seconds",
6807 "minimum" : 1,
6808 "optional" : 1,
6809 "type" : "integer"
6810 },
44660702 6811 "mbps" : {
de0983cb 6812 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6813 "format_description" : "mbps",
56122987 6814 "optional" : 1,
44660702 6815 "type" : "number"
56122987 6816 },
44660702 6817 "mbps_max" : {
de0983cb 6818 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6819 "format_description" : "mbps",
6820 "optional" : 1,
6821 "type" : "number"
56122987 6822 },
44660702 6823 "mbps_rd" : {
de0983cb 6824 "description" : "Maximum read speed in megabytes per second.",
44660702 6825 "format_description" : "mbps",
56122987 6826 "optional" : 1,
44660702 6827 "type" : "number"
56122987 6828 },
44660702 6829 "mbps_rd_max" : {
de0983cb 6830 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6831 "format_description" : "mbps",
56122987 6832 "optional" : 1,
44660702 6833 "type" : "number"
56122987 6834 },
44660702 6835 "mbps_wr" : {
de0983cb 6836 "description" : "Maximum write speed in megabytes per second.",
56122987 6837 "format_description" : "mbps",
44660702
DM
6838 "optional" : 1,
6839 "type" : "number"
56122987 6840 },
44660702 6841 "mbps_wr_max" : {
de0983cb 6842 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6843 "format_description" : "mbps",
6844 "optional" : 1,
6845 "type" : "number"
7aacca6f 6846 },
44660702
DM
6847 "media" : {
6848 "default" : "disk",
6849 "description" : "The drive's media type.",
6850 "enum" : [
6851 "cdrom",
6852 "disk"
6853 ],
56122987 6854 "optional" : 1,
44660702
DM
6855 "type" : "string"
6856 },
5d9c884c
DM
6857 "replicate" : {
6858 "default" : 1,
6859 "description" : "Whether the drive should considered for replication jobs.",
6860 "optional" : 1,
6861 "type" : "boolean"
6862 },
44660702
DM
6863 "rerror" : {
6864 "description" : "Read error action.",
7aacca6f 6865 "enum" : [
44660702
DM
6866 "ignore",
6867 "report",
6868 "stop"
6869 ],
7aacca6f 6870 "optional" : 1,
44660702 6871 "type" : "string"
56122987 6872 },
44660702
DM
6873 "secs" : {
6874 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6875 "optional" : 1,
44660702 6876 "type" : "integer"
56122987 6877 },
44660702
DM
6878 "serial" : {
6879 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6880 "format" : "urlencoded",
6881 "format_description" : "serial",
6882 "maxLength" : 60,
56122987 6883 "optional" : 1,
44660702 6884 "type" : "string"
56122987 6885 },
44660702
DM
6886 "size" : {
6887 "description" : "Disk size. This is purely informational and has no effect.",
6888 "format" : "disk-size",
f004f5b9 6889 "format_description" : "DiskSize",
44660702
DM
6890 "optional" : 1,
6891 "type" : "string"
6892 },
6893 "snapshot" : {
6894 "description" : "Whether the drive should be included when making snapshots.",
56122987 6895 "optional" : 1,
44660702
DM
6896 "type" : "boolean"
6897 },
6898 "trans" : {
6899 "description" : "Force disk geometry bios translation mode.",
56122987 6900 "enum" : [
7aacca6f
DM
6901 "none",
6902 "lba",
6903 "auto"
56122987 6904 ],
44660702
DM
6905 "optional" : 1,
6906 "type" : "string"
56122987 6907 },
7aacca6f
DM
6908 "volume" : {
6909 "alias" : "file"
56122987 6910 },
44660702
DM
6911 "werror" : {
6912 "description" : "Write error action.",
6913 "enum" : [
6914 "enospc",
6915 "ignore",
6916 "report",
6917 "stop"
6918 ],
7aacca6f 6919 "optional" : 1,
44660702
DM
6920 "type" : "string"
6921 }
6922 },
6923 "optional" : 1,
4bd7df8b 6924 "type" : "string",
5d9c884c 6925 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
6926 },
6927 "scsi[n]" : {
6928 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6929 "format" : {
56122987 6930 "aio" : {
56122987
DM
6931 "description" : "AIO type to use.",
6932 "enum" : [
6933 "native",
6934 "threads"
6935 ],
7aacca6f 6936 "optional" : 1,
44660702 6937 "type" : "string"
56122987 6938 },
44660702
DM
6939 "backup" : {
6940 "description" : "Whether the drive should be included when making backups.",
56122987 6941 "optional" : 1,
44660702 6942 "type" : "boolean"
56122987 6943 },
44660702 6944 "bps" : {
de0983cb 6945 "description" : "Maximum r/w speed in bytes per second.",
44660702 6946 "format_description" : "bps",
56122987 6947 "optional" : 1,
44660702 6948 "type" : "integer"
56122987 6949 },
de0983cb
DM
6950 "bps_max_length" : {
6951 "description" : "Maximum length of I/O bursts in seconds.",
6952 "format_description" : "seconds",
6953 "minimum" : 1,
6954 "optional" : 1,
6955 "type" : "integer"
6956 },
44660702 6957 "bps_rd" : {
de0983cb 6958 "description" : "Maximum read speed in bytes per second.",
44660702 6959 "format_description" : "bps",
56122987 6960 "optional" : 1,
44660702 6961 "type" : "integer"
56122987 6962 },
de0983cb 6963 "bps_rd_length" : {
5d9c884c
DM
6964 "alias" : "bps_rd_max_length"
6965 },
6966 "bps_rd_max_length" : {
de0983cb
DM
6967 "description" : "Maximum length of read I/O bursts in seconds.",
6968 "format_description" : "seconds",
6969 "minimum" : 1,
6970 "optional" : 1,
6971 "type" : "integer"
6972 },
7aacca6f 6973 "bps_wr" : {
de0983cb 6974 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6975 "format_description" : "bps",
56122987 6976 "optional" : 1,
44660702 6977 "type" : "integer"
56122987 6978 },
de0983cb 6979 "bps_wr_length" : {
5d9c884c
DM
6980 "alias" : "bps_wr_max_length"
6981 },
6982 "bps_wr_max_length" : {
de0983cb
DM
6983 "description" : "Maximum length of write I/O bursts in seconds.",
6984 "format_description" : "seconds",
6985 "minimum" : 1,
6986 "optional" : 1,
6987 "type" : "integer"
6988 },
44660702
DM
6989 "cache" : {
6990 "description" : "The drive's cache mode",
7aacca6f 6991 "enum" : [
44660702
DM
6992 "none",
6993 "writethrough",
6994 "writeback",
6995 "unsafe",
6996 "directsync"
7aacca6f 6997 ],
56122987 6998 "optional" : 1,
44660702 6999 "type" : "string"
56122987 7000 },
44660702
DM
7001 "cyls" : {
7002 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 7003 "optional" : 1,
44660702 7004 "type" : "integer"
56122987 7005 },
44660702
DM
7006 "detect_zeroes" : {
7007 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 7008 "optional" : 1,
44660702 7009 "type" : "boolean"
56122987 7010 },
44660702
DM
7011 "discard" : {
7012 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7013 "enum" : [
7014 "ignore",
7015 "on"
7016 ],
7aacca6f 7017 "optional" : 1,
44660702 7018 "type" : "string"
56122987 7019 },
44660702
DM
7020 "file" : {
7021 "default_key" : 1,
7022 "description" : "The drive's backing volume.",
7023 "format" : "pve-volume-id-or-qm-path",
7024 "format_description" : "volume",
7025 "type" : "string"
56122987 7026 },
7aacca6f 7027 "format" : {
44660702 7028 "description" : "The drive's backing file's data format.",
56122987 7029 "enum" : [
7aacca6f
DM
7030 "raw",
7031 "cow",
7032 "qcow",
7033 "qed",
7034 "qcow2",
7035 "vmdk",
7036 "cloop"
7037 ],
44660702
DM
7038 "optional" : 1,
7039 "type" : "string"
56122987 7040 },
44660702
DM
7041 "heads" : {
7042 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7043 "optional" : 1,
7aacca6f 7044 "type" : "integer"
56122987 7045 },
44660702 7046 "iops" : {
de0983cb 7047 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7048 "format_description" : "iops",
44660702
DM
7049 "optional" : 1,
7050 "type" : "integer"
7aacca6f 7051 },
44660702 7052 "iops_max" : {
de0983cb 7053 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7054 "format_description" : "iops",
56122987 7055 "optional" : 1,
44660702 7056 "type" : "integer"
7aacca6f 7057 },
de0983cb
DM
7058 "iops_max_length" : {
7059 "description" : "Maximum length of I/O bursts in seconds.",
7060 "format_description" : "seconds",
7061 "minimum" : 1,
7062 "optional" : 1,
7063 "type" : "integer"
7064 },
44660702 7065 "iops_rd" : {
de0983cb 7066 "description" : "Maximum read I/O in operations per second.",
44660702 7067 "format_description" : "iops",
7aacca6f 7068 "optional" : 1,
44660702 7069 "type" : "integer"
56122987 7070 },
de0983cb 7071 "iops_rd_length" : {
5d9c884c 7072 "alias" : "iops_rd_max_length"
de0983cb 7073 },
44660702 7074 "iops_rd_max" : {
de0983cb 7075 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
7076 "format_description" : "iops",
7077 "optional" : 1,
7078 "type" : "integer"
7079 },
5d9c884c
DM
7080 "iops_rd_max_length" : {
7081 "description" : "Maximum length of read I/O bursts in seconds.",
7082 "format_description" : "seconds",
7083 "minimum" : 1,
7084 "optional" : 1,
7085 "type" : "integer"
7086 },
44660702 7087 "iops_wr" : {
de0983cb 7088 "description" : "Maximum write I/O in operations per second.",
44660702 7089 "format_description" : "iops",
56122987 7090 "optional" : 1,
44660702
DM
7091 "type" : "integer"
7092 },
de0983cb 7093 "iops_wr_length" : {
5d9c884c 7094 "alias" : "iops_wr_max_length"
de0983cb 7095 },
44660702 7096 "iops_wr_max" : {
de0983cb 7097 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
7098 "format_description" : "iops",
7099 "optional" : 1,
7100 "type" : "integer"
56122987 7101 },
5d9c884c
DM
7102 "iops_wr_max_length" : {
7103 "description" : "Maximum length of write I/O bursts in seconds.",
7104 "format_description" : "seconds",
7105 "minimum" : 1,
7106 "optional" : 1,
7107 "type" : "integer"
7108 },
7aacca6f 7109 "iothread" : {
7aacca6f 7110 "description" : "Whether to use iothreads for this drive",
56122987 7111 "optional" : 1,
56122987
DM
7112 "type" : "boolean"
7113 },
44660702 7114 "mbps" : {
de0983cb 7115 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7116 "format_description" : "mbps",
7117 "optional" : 1,
7118 "type" : "number"
7119 },
7120 "mbps_max" : {
de0983cb 7121 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7122 "format_description" : "mbps",
7123 "optional" : 1,
7124 "type" : "number"
7125 },
7126 "mbps_rd" : {
de0983cb 7127 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
7128 "format_description" : "mbps",
7129 "optional" : 1,
7130 "type" : "number"
7131 },
7132 "mbps_rd_max" : {
de0983cb 7133 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7134 "format_description" : "mbps",
7135 "optional" : 1,
7136 "type" : "number"
7137 },
7138 "mbps_wr" : {
de0983cb 7139 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
7140 "format_description" : "mbps",
7141 "optional" : 1,
7142 "type" : "number"
7143 },
7144 "mbps_wr_max" : {
de0983cb 7145 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7146 "format_description" : "mbps",
7147 "optional" : 1,
7148 "type" : "number"
7149 },
7aacca6f 7150 "media" : {
44660702
DM
7151 "default" : "disk",
7152 "description" : "The drive's media type.",
7aacca6f
DM
7153 "enum" : [
7154 "cdrom",
7155 "disk"
7156 ],
56122987 7157 "optional" : 1,
44660702
DM
7158 "type" : "string"
7159 },
7160 "queues" : {
7161 "description" : "Number of queues.",
44660702
DM
7162 "minimum" : 2,
7163 "optional" : 1,
7164 "type" : "integer"
7165 },
5d9c884c
DM
7166 "replicate" : {
7167 "default" : 1,
7168 "description" : "Whether the drive should considered for replication jobs.",
7169 "optional" : 1,
7170 "type" : "boolean"
7171 },
7172 "rerror" : {
7173 "description" : "Read error action.",
7174 "enum" : [
7175 "ignore",
7176 "report",
7177 "stop"
7178 ],
7179 "optional" : 1,
7180 "type" : "string"
7181 },
52e44c50
FG
7182 "scsiblock" : {
7183 "default" : 0,
7184 "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",
7185 "optional" : 1,
7186 "type" : "boolean"
7187 },
44660702
DM
7188 "secs" : {
7189 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7190 "optional" : 1,
7191 "type" : "integer"
7192 },
7193 "serial" : {
7194 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7195 "format" : "urlencoded",
7196 "format_description" : "serial",
7197 "maxLength" : 60,
7198 "optional" : 1,
7199 "type" : "string"
7200 },
7201 "size" : {
7202 "description" : "Disk size. This is purely informational and has no effect.",
7203 "format" : "disk-size",
f004f5b9 7204 "format_description" : "DiskSize",
44660702
DM
7205 "optional" : 1,
7206 "type" : "string"
56122987 7207 },
7aacca6f
DM
7208 "snapshot" : {
7209 "description" : "Whether the drive should be included when making snapshots.",
7210 "optional" : 1,
44660702 7211 "type" : "boolean"
7aacca6f 7212 },
44660702
DM
7213 "trans" : {
7214 "description" : "Force disk geometry bios translation mode.",
7215 "enum" : [
7216 "none",
7217 "lba",
7218 "auto"
7219 ],
44660702
DM
7220 "optional" : 1,
7221 "type" : "string"
7222 },
7223 "volume" : {
7224 "alias" : "file"
7225 },
7226 "werror" : {
7227 "description" : "Write error action.",
7228 "enum" : [
7229 "enospc",
7230 "ignore",
7231 "report",
7232 "stop"
7233 ],
56122987 7234 "optional" : 1,
44660702 7235 "type" : "string"
56122987 7236 }
44660702 7237 },
7aacca6f 7238 "optional" : 1,
4bd7df8b 7239 "type" : "string",
5d9c884c 7240 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
7241 },
7242 "scsihw" : {
7243 "default" : "lsi",
c2993fe5 7244 "description" : "SCSI controller model",
7aacca6f 7245 "enum" : [
44660702
DM
7246 "lsi",
7247 "lsi53c810",
7248 "virtio-scsi-pci",
7249 "virtio-scsi-single",
7250 "megasas",
7251 "pvscsi"
7aacca6f 7252 ],
44660702
DM
7253 "optional" : 1,
7254 "type" : "string"
56122987 7255 },
44660702 7256 "serial[n]" : {
c2993fe5 7257 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 7258 "optional" : 1,
44660702 7259 "pattern" : "(/dev/.+|socket)",
c2993fe5 7260 "type" : "string",
57b78691 7261 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 7262 },
44660702
DM
7263 "shares" : {
7264 "default" : 1000,
7265 "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",
7266 "maximum" : 50000,
7267 "minimum" : 0,
56122987 7268 "optional" : 1,
4bd7df8b 7269 "type" : "integer",
013dc89f 7270 "typetext" : "<integer> (0 - 50000)"
56122987 7271 },
44660702
DM
7272 "skiplock" : {
7273 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 7274 "optional" : 1,
013dc89f
DM
7275 "type" : "boolean",
7276 "typetext" : "<boolean>"
56122987 7277 },
44660702
DM
7278 "smbios1" : {
7279 "description" : "Specify SMBIOS type 1 fields.",
7280 "format" : "pve-qm-smbios1",
7281 "maxLength" : 256,
56122987 7282 "optional" : 1,
4bd7df8b
DM
7283 "type" : "string",
7284 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 7285 },
44660702
DM
7286 "smp" : {
7287 "default" : 1,
7288 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 7289 "minimum" : 1,
7aacca6f 7290 "optional" : 1,
4bd7df8b 7291 "type" : "integer",
013dc89f 7292 "typetext" : "<integer> (1 - N)"
7aacca6f 7293 },
44660702
DM
7294 "sockets" : {
7295 "default" : 1,
7296 "description" : "The number of CPU sockets.",
7297 "minimum" : 1,
7aacca6f 7298 "optional" : 1,
4bd7df8b 7299 "type" : "integer",
013dc89f 7300 "typetext" : "<integer> (1 - N)"
56122987 7301 },
44660702
DM
7302 "startdate" : {
7303 "default" : "now",
7304 "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 7305 "optional" : 1,
44660702 7306 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 7307 "type" : "string",
44660702 7308 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 7309 },
7aacca6f 7310 "startup" : {
7aacca6f 7311 "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 7312 "format" : "pve-startup-order",
56122987 7313 "optional" : 1,
44660702
DM
7314 "type" : "string",
7315 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 7316 },
44660702 7317 "tablet" : {
7aacca6f 7318 "default" : 1,
c2993fe5 7319 "description" : "Enable/disable the USB tablet device.",
7aacca6f 7320 "optional" : 1,
c2993fe5 7321 "type" : "boolean",
013dc89f 7322 "typetext" : "<boolean>",
c2993fe5 7323 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
56122987 7324 },
44660702
DM
7325 "tdf" : {
7326 "default" : 0,
7327 "description" : "Enable/disable time drift fix.",
7aacca6f 7328 "optional" : 1,
013dc89f
DM
7329 "type" : "boolean",
7330 "typetext" : "<boolean>"
7aacca6f 7331 },
44660702
DM
7332 "template" : {
7333 "default" : 0,
7334 "description" : "Enable/disable Template.",
7aacca6f 7335 "optional" : 1,
013dc89f
DM
7336 "type" : "boolean",
7337 "typetext" : "<boolean>"
7aacca6f 7338 },
44660702 7339 "unused[n]" : {
c2993fe5 7340 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 7341 "format" : "pve-volume-id",
7aacca6f 7342 "optional" : 1,
013dc89f
DM
7343 "type" : "string",
7344 "typetext" : "<string>"
7aacca6f 7345 },
44660702 7346 "usb[n]" : {
c2993fe5 7347 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
7348 "format" : {
7349 "host" : {
7350 "default_key" : 1,
c2993fe5 7351 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
7352 "format" : "pve-qm-usb-device",
7353 "format_description" : "HOSTUSBDEVICE|spice",
7354 "type" : "string"
7355 },
7356 "usb3" : {
c2993fe5
DM
7357 "default" : 0,
7358 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
44660702
DM
7359 "optional" : 1,
7360 "type" : "boolean"
7361 }
7362 },
7aacca6f 7363 "optional" : 1,
4bd7df8b
DM
7364 "type" : "string",
7365 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 7366 },
44660702
DM
7367 "vcpus" : {
7368 "default" : 0,
7369 "description" : "Number of hotplugged vcpus.",
7370 "minimum" : 1,
56122987 7371 "optional" : 1,
4bd7df8b 7372 "type" : "integer",
013dc89f 7373 "typetext" : "<integer> (1 - N)"
56122987 7374 },
44660702 7375 "vga" : {
c2993fe5 7376 "description" : "Select the VGA type.",
44660702
DM
7377 "enum" : [
7378 "std",
7379 "cirrus",
7380 "vmware",
7381 "qxl",
7382 "serial0",
7383 "serial1",
7384 "serial2",
7385 "serial3",
7386 "qxl2",
7387 "qxl3",
7388 "qxl4"
7389 ],
56122987 7390 "optional" : 1,
c2993fe5
DM
7391 "type" : "string",
7392 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
56122987 7393 },
44660702
DM
7394 "virtio[n]" : {
7395 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 7396 "format" : {
44660702
DM
7397 "aio" : {
7398 "description" : "AIO type to use.",
56122987 7399 "enum" : [
44660702
DM
7400 "native",
7401 "threads"
56122987 7402 ],
56122987
DM
7403 "optional" : 1,
7404 "type" : "string"
7405 },
44660702
DM
7406 "backup" : {
7407 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7408 "optional" : 1,
7409 "type" : "boolean"
7aacca6f 7410 },
44660702 7411 "bps" : {
de0983cb 7412 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7413 "format_description" : "bps",
7414 "optional" : 1,
7415 "type" : "integer"
56122987 7416 },
de0983cb
DM
7417 "bps_max_length" : {
7418 "description" : "Maximum length of I/O bursts in seconds.",
7419 "format_description" : "seconds",
7420 "minimum" : 1,
7421 "optional" : 1,
7422 "type" : "integer"
7423 },
44660702 7424 "bps_rd" : {
de0983cb 7425 "description" : "Maximum read speed in bytes per second.",
44660702 7426 "format_description" : "bps",
56122987 7427 "optional" : 1,
44660702 7428 "type" : "integer"
56122987 7429 },
de0983cb 7430 "bps_rd_length" : {
5d9c884c
DM
7431 "alias" : "bps_rd_max_length"
7432 },
7433 "bps_rd_max_length" : {
de0983cb
DM
7434 "description" : "Maximum length of read I/O bursts in seconds.",
7435 "format_description" : "seconds",
7436 "minimum" : 1,
7437 "optional" : 1,
7438 "type" : "integer"
7439 },
44660702 7440 "bps_wr" : {
de0983cb 7441 "description" : "Maximum write speed in bytes per second.",
44660702 7442 "format_description" : "bps",
56122987 7443 "optional" : 1,
44660702
DM
7444 "type" : "integer"
7445 },
de0983cb 7446 "bps_wr_length" : {
5d9c884c
DM
7447 "alias" : "bps_wr_max_length"
7448 },
7449 "bps_wr_max_length" : {
de0983cb
DM
7450 "description" : "Maximum length of write I/O bursts in seconds.",
7451 "format_description" : "seconds",
7452 "minimum" : 1,
7453 "optional" : 1,
7454 "type" : "integer"
7455 },
44660702
DM
7456 "cache" : {
7457 "description" : "The drive's cache mode",
56122987 7458 "enum" : [
44660702
DM
7459 "none",
7460 "writethrough",
7461 "writeback",
7462 "unsafe",
7463 "directsync"
56122987 7464 ],
56122987 7465 "optional" : 1,
44660702 7466 "type" : "string"
56122987 7467 },
44660702
DM
7468 "cyls" : {
7469 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 7470 "optional" : 1,
44660702 7471 "type" : "integer"
7aacca6f 7472 },
44660702
DM
7473 "detect_zeroes" : {
7474 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7475 "optional" : 1,
7476 "type" : "boolean"
7aacca6f 7477 },
44660702
DM
7478 "discard" : {
7479 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7480 "enum" : [
7481 "ignore",
7482 "on"
7483 ],
56122987 7484 "optional" : 1,
44660702 7485 "type" : "string"
56122987
DM
7486 },
7487 "file" : {
7aacca6f 7488 "default_key" : 1,
44660702 7489 "description" : "The drive's backing volume.",
7aacca6f 7490 "format" : "pve-volume-id-or-qm-path",
44660702
DM
7491 "format_description" : "volume",
7492 "type" : "string"
7aacca6f
DM
7493 },
7494 "format" : {
7aacca6f
DM
7495 "description" : "The drive's backing file's data format.",
7496 "enum" : [
7497 "raw",
7498 "cow",
7499 "qcow",
7500 "qed",
7501 "qcow2",
7502 "vmdk",
7503 "cloop"
56122987
DM
7504 ],
7505 "optional" : 1,
56122987
DM
7506 "type" : "string"
7507 },
44660702
DM
7508 "heads" : {
7509 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7510 "optional" : 1,
44660702 7511 "type" : "integer"
56122987 7512 },
44660702 7513 "iops" : {
de0983cb 7514 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7515 "format_description" : "iops",
56122987 7516 "optional" : 1,
44660702 7517 "type" : "integer"
56122987 7518 },
44660702 7519 "iops_max" : {
de0983cb 7520 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7521 "format_description" : "iops",
56122987 7522 "optional" : 1,
56122987
DM
7523 "type" : "integer"
7524 },
de0983cb
DM
7525 "iops_max_length" : {
7526 "description" : "Maximum length of I/O bursts in seconds.",
7527 "format_description" : "seconds",
7528 "minimum" : 1,
7529 "optional" : 1,
7530 "type" : "integer"
7531 },
44660702 7532 "iops_rd" : {
de0983cb 7533 "description" : "Maximum read I/O in operations per second.",
44660702 7534 "format_description" : "iops",
56122987 7535 "optional" : 1,
44660702 7536 "type" : "integer"
56122987 7537 },
de0983cb 7538 "iops_rd_length" : {
5d9c884c 7539 "alias" : "iops_rd_max_length"
de0983cb 7540 },
44660702 7541 "iops_rd_max" : {
de0983cb 7542 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7543 "format_description" : "iops",
7aacca6f 7544 "optional" : 1,
44660702 7545 "type" : "integer"
56122987 7546 },
5d9c884c
DM
7547 "iops_rd_max_length" : {
7548 "description" : "Maximum length of read I/O bursts in seconds.",
7549 "format_description" : "seconds",
7550 "minimum" : 1,
7551 "optional" : 1,
7552 "type" : "integer"
7553 },
44660702 7554 "iops_wr" : {
de0983cb 7555 "description" : "Maximum write I/O in operations per second.",
44660702 7556 "format_description" : "iops",
7aacca6f 7557 "optional" : 1,
44660702 7558 "type" : "integer"
56122987 7559 },
de0983cb 7560 "iops_wr_length" : {
5d9c884c 7561 "alias" : "iops_wr_max_length"
de0983cb 7562 },
44660702 7563 "iops_wr_max" : {
de0983cb 7564 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7565 "format_description" : "iops",
56122987
DM
7566 "optional" : 1,
7567 "type" : "integer"
7568 },
5d9c884c
DM
7569 "iops_wr_max_length" : {
7570 "description" : "Maximum length of write I/O bursts in seconds.",
7571 "format_description" : "seconds",
7572 "minimum" : 1,
7573 "optional" : 1,
7574 "type" : "integer"
7575 },
44660702
DM
7576 "iothread" : {
7577 "description" : "Whether to use iothreads for this drive",
44660702
DM
7578 "optional" : 1,
7579 "type" : "boolean"
7580 },
7581 "mbps" : {
de0983cb 7582 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7583 "format_description" : "mbps",
44660702
DM
7584 "optional" : 1,
7585 "type" : "number"
7586 },
7587 "mbps_max" : {
de0983cb 7588 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7589 "format_description" : "mbps",
7590 "optional" : 1,
7591 "type" : "number"
7aacca6f 7592 },
44660702 7593 "mbps_rd" : {
de0983cb 7594 "description" : "Maximum read speed in megabytes per second.",
44660702 7595 "format_description" : "mbps",
56122987 7596 "optional" : 1,
44660702 7597 "type" : "number"
56122987 7598 },
44660702 7599 "mbps_rd_max" : {
de0983cb 7600 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 7601 "format_description" : "mbps",
7aacca6f 7602 "optional" : 1,
44660702 7603 "type" : "number"
56122987 7604 },
44660702 7605 "mbps_wr" : {
de0983cb 7606 "description" : "Maximum write speed in megabytes per second.",
44660702 7607 "format_description" : "mbps",
56122987 7608 "optional" : 1,
44660702 7609 "type" : "number"
56122987 7610 },
44660702 7611 "mbps_wr_max" : {
de0983cb 7612 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7613 "format_description" : "mbps",
56122987 7614 "optional" : 1,
44660702 7615 "type" : "number"
56122987
DM
7616 },
7617 "media" : {
7aacca6f 7618 "default" : "disk",
44660702 7619 "description" : "The drive's media type.",
56122987
DM
7620 "enum" : [
7621 "cdrom",
7622 "disk"
7623 ],
44660702
DM
7624 "optional" : 1,
7625 "type" : "string"
56122987 7626 },
5d9c884c
DM
7627 "replicate" : {
7628 "default" : 1,
7629 "description" : "Whether the drive should considered for replication jobs.",
7630 "optional" : 1,
7631 "type" : "boolean"
7632 },
7aacca6f 7633 "rerror" : {
44660702 7634 "description" : "Read error action.",
56122987 7635 "enum" : [
7aacca6f
DM
7636 "ignore",
7637 "report",
7638 "stop"
56122987 7639 ],
56122987 7640 "optional" : 1,
44660702 7641 "type" : "string"
56122987 7642 },
44660702
DM
7643 "secs" : {
7644 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7645 "optional" : 1,
7646 "type" : "integer"
7647 },
7648 "serial" : {
7649 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7650 "format" : "urlencoded",
7651 "format_description" : "serial",
7652 "maxLength" : 60,
56122987 7653 "optional" : 1,
7aacca6f 7654 "type" : "string"
56122987 7655 },
44660702
DM
7656 "size" : {
7657 "description" : "Disk size. This is purely informational and has no effect.",
7658 "format" : "disk-size",
f004f5b9 7659 "format_description" : "DiskSize",
56122987 7660 "optional" : 1,
44660702 7661 "type" : "string"
56122987 7662 },
44660702
DM
7663 "snapshot" : {
7664 "description" : "Whether the drive should be included when making snapshots.",
56122987 7665 "optional" : 1,
44660702 7666 "type" : "boolean"
56122987 7667 },
44660702
DM
7668 "trans" : {
7669 "description" : "Force disk geometry bios translation mode.",
7670 "enum" : [
7671 "none",
7672 "lba",
7673 "auto"
7674 ],
44660702
DM
7675 "optional" : 1,
7676 "type" : "string"
7677 },
7678 "volume" : {
7679 "alias" : "file"
7680 },
7681 "werror" : {
7682 "description" : "Write error action.",
7683 "enum" : [
7684 "enospc",
7685 "ignore",
7686 "report",
7687 "stop"
7688 ],
56122987 7689 "optional" : 1,
44660702 7690 "type" : "string"
56122987 7691 }
44660702 7692 },
56122987 7693 "optional" : 1,
4bd7df8b 7694 "type" : "string",
5d9c884c 7695 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 7696 },
7aacca6f
DM
7697 "vmid" : {
7698 "description" : "The (unique) ID of the VM.",
7aacca6f 7699 "format" : "pve-vmid",
44660702 7700 "minimum" : 1,
4bd7df8b 7701 "type" : "integer",
013dc89f 7702 "typetext" : "<integer> (1 - N)"
56122987 7703 },
2489d6df
WB
7704 "vmstatestorage" : {
7705 "description" : "Default storage for VM state volumes/files.",
7706 "format" : "pve-storage-id",
7707 "optional" : 1,
7708 "type" : "string",
7709 "typetext" : "<string>"
7710 },
44660702 7711 "watchdog" : {
c2993fe5 7712 "description" : "Create a virtual hardware watchdog device.",
44660702 7713 "format" : "pve-qm-watchdog",
56122987 7714 "optional" : 1,
c2993fe5 7715 "type" : "string",
013dc89f 7716 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 7717 "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 7718 }
44660702 7719 }
56122987 7720 },
7aacca6f
DM
7721 "permissions" : {
7722 "check" : [
7723 "perm",
7724 "/vms/{vmid}",
7725 [
44660702
DM
7726 "VM.Config.Disk",
7727 "VM.Config.CDROM",
7728 "VM.Config.CPU",
7729 "VM.Config.Memory",
7730 "VM.Config.Network",
7731 "VM.Config.HWType",
7732 "VM.Config.Options"
7733 ],
7734 "any",
7735 1
7aacca6f 7736 ]
56122987 7737 },
44660702 7738 "protected" : 1,
7aacca6f 7739 "proxyto" : "node",
44660702
DM
7740 "returns" : {
7741 "optional" : 1,
7742 "type" : "string"
7743 }
56122987 7744 },
7aacca6f 7745 "PUT" : {
44660702
DM
7746 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7747 "method" : "PUT",
7748 "name" : "update_vm",
56122987 7749 "parameters" : {
7aacca6f 7750 "additionalProperties" : 0,
56122987 7751 "properties" : {
44660702
DM
7752 "acpi" : {
7753 "default" : 1,
7754 "description" : "Enable/disable ACPI.",
7aacca6f 7755 "optional" : 1,
013dc89f
DM
7756 "type" : "boolean",
7757 "typetext" : "<boolean>"
7aacca6f 7758 },
44660702
DM
7759 "agent" : {
7760 "default" : 0,
7761 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7762 "optional" : 1,
013dc89f
DM
7763 "type" : "boolean",
7764 "typetext" : "<boolean>"
56122987 7765 },
44660702 7766 "args" : {
c2993fe5 7767 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7768 "optional" : 1,
c2993fe5 7769 "type" : "string",
013dc89f 7770 "typetext" : "<string>",
c2993fe5 7771 "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 7772 },
44660702
DM
7773 "autostart" : {
7774 "default" : 0,
7775 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 7776 "optional" : 1,
013dc89f
DM
7777 "type" : "boolean",
7778 "typetext" : "<boolean>"
7aacca6f 7779 },
44660702
DM
7780 "balloon" : {
7781 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7782 "minimum" : 0,
7783 "optional" : 1,
4bd7df8b 7784 "type" : "integer",
013dc89f 7785 "typetext" : "<integer> (0 - N)"
44660702
DM
7786 },
7787 "bios" : {
7788 "default" : "seabios",
7789 "description" : "Select BIOS implementation.",
7aacca6f 7790 "enum" : [
44660702
DM
7791 "seabios",
7792 "ovmf"
7aacca6f 7793 ],
56122987 7794 "optional" : 1,
7aacca6f
DM
7795 "type" : "string"
7796 },
44660702
DM
7797 "boot" : {
7798 "default" : "cdn",
7799 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7800 "optional" : 1,
44660702
DM
7801 "pattern" : "[acdn]{1,4}",
7802 "type" : "string"
56122987 7803 },
44660702
DM
7804 "bootdisk" : {
7805 "description" : "Enable booting from specified disk.",
7806 "format" : "pve-qm-bootdisk",
7807 "optional" : 1,
7808 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7809 "type" : "string"
7810 },
7811 "cdrom" : {
7812 "description" : "This is an alias for option -ide2",
de0983cb 7813 "format" : "pve-qm-ide",
56122987 7814 "optional" : 1,
7aacca6f 7815 "type" : "string",
013dc89f 7816 "typetext" : "<volume>"
44660702
DM
7817 },
7818 "cores" : {
7819 "default" : 1,
7820 "description" : "The number of cores per socket.",
7821 "minimum" : 1,
7822 "optional" : 1,
4bd7df8b 7823 "type" : "integer",
013dc89f 7824 "typetext" : "<integer> (1 - N)"
44660702
DM
7825 },
7826 "cpu" : {
7827 "description" : "Emulated CPU type.",
7828 "format" : {
7829 "cputype" : {
7830 "default" : "kvm64",
7831 "default_key" : 1,
7832 "description" : "Emulated CPU type.",
7833 "enum" : [
7834 "486",
7835 "athlon",
f004f5b9 7836 "Broadwell",
35a75dd3 7837 "Broadwell-IBRS",
f004f5b9 7838 "Broadwell-noTSX",
35a75dd3 7839 "Broadwell-noTSX-IBRS",
f004f5b9 7840 "Conroe",
44660702 7841 "core2duo",
f004f5b9
DM
7842 "coreduo",
7843 "Haswell",
35a75dd3 7844 "Haswell-IBRS",
f004f5b9 7845 "Haswell-noTSX",
35a75dd3 7846 "Haswell-noTSX-IBRS",
f004f5b9
DM
7847 "host",
7848 "IvyBridge",
35a75dd3 7849 "IvyBridge-IBRS",
44660702
DM
7850 "kvm32",
7851 "kvm64",
35a75dd3 7852 "max",
44660702 7853 "Nehalem",
35a75dd3 7854 "Nehalem-IBRS",
44660702
DM
7855 "Opteron_G1",
7856 "Opteron_G2",
7857 "Opteron_G3",
7858 "Opteron_G4",
7859 "Opteron_G5",
f004f5b9
DM
7860 "Penryn",
7861 "pentium",
7862 "pentium2",
7863 "pentium3",
7864 "phenom",
7865 "qemu32",
7866 "qemu64",
7867 "SandyBridge",
35a75dd3 7868 "SandyBridge-IBRS",
5d9c884c 7869 "Skylake-Client",
35a75dd3
DM
7870 "Skylake-Client-IBRS",
7871 "Skylake-Server",
7872 "Skylake-Server-IBRS",
7873 "Westmere",
7874 "Westmere-IBRS"
44660702 7875 ],
44660702
DM
7876 "type" : "string"
7877 },
35a75dd3
DM
7878 "flags" : {
7879 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
7880 "format_description" : "+FLAG[;-FLAG...]",
7881 "optional" : 1,
7882 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
7883 "type" : "string"
7884 },
44660702
DM
7885 "hidden" : {
7886 "default" : 0,
7887 "description" : "Do not identify as a KVM virtual machine.",
7888 "optional" : 1,
7889 "type" : "boolean"
7890 }
7891 },
7892 "optional" : 1,
4bd7df8b 7893 "type" : "string",
35a75dd3 7894 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
44660702
DM
7895 },
7896 "cpulimit" : {
7897 "default" : 0,
c2993fe5 7898 "description" : "Limit of CPU usage.",
44660702
DM
7899 "maximum" : 128,
7900 "minimum" : 0,
7901 "optional" : 1,
c2993fe5 7902 "type" : "number",
013dc89f 7903 "typetext" : "<number> (0 - 128)",
c2993fe5 7904 "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
7905 },
7906 "cpuunits" : {
de0983cb 7907 "default" : 1024,
c2993fe5 7908 "description" : "CPU weight for a VM.",
2489d6df
WB
7909 "maximum" : 262144,
7910 "minimum" : 2,
44660702 7911 "optional" : 1,
c2993fe5 7912 "type" : "integer",
2489d6df
WB
7913 "typetext" : "<integer> (2 - 262144)",
7914 "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
7915 },
7916 "delete" : {
7917 "description" : "A list of settings you want to delete.",
7918 "format" : "pve-configid-list",
7919 "optional" : 1,
013dc89f
DM
7920 "type" : "string",
7921 "typetext" : "<string>"
44660702
DM
7922 },
7923 "description" : {
7924 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7925 "optional" : 1,
013dc89f
DM
7926 "type" : "string",
7927 "typetext" : "<string>"
44660702
DM
7928 },
7929 "digest" : {
7930 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7931 "maxLength" : 40,
7932 "optional" : 1,
013dc89f
DM
7933 "type" : "string",
7934 "typetext" : "<string>"
44660702
DM
7935 },
7936 "force" : {
7937 "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.",
7938 "optional" : 1,
7939 "requires" : "delete",
013dc89f
DM
7940 "type" : "boolean",
7941 "typetext" : "<boolean>"
44660702
DM
7942 },
7943 "freeze" : {
7944 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7945 "optional" : 1,
013dc89f
DM
7946 "type" : "boolean",
7947 "typetext" : "<boolean>"
44660702
DM
7948 },
7949 "hostpci[n]" : {
c2993fe5 7950 "description" : "Map host PCI devices into guest.",
44660702
DM
7951 "format" : "pve-qm-hostpci",
7952 "optional" : 1,
57b78691 7953 "type" : "string",
52e44c50 7954 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 7955 "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 7956 },
7aacca6f 7957 "hotplug" : {
7aacca6f 7958 "default" : "network,disk,usb",
44660702
DM
7959 "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'.",
7960 "format" : "pve-hotplug-features",
56122987 7961 "optional" : 1,
013dc89f
DM
7962 "type" : "string",
7963 "typetext" : "<string>"
56122987 7964 },
4bd7df8b
DM
7965 "hugepages" : {
7966 "description" : "Enable/disable hugepages memory.",
7967 "enum" : [
7968 "any",
7969 "2",
7970 "1024"
7971 ],
7972 "optional" : 1,
7973 "type" : "string"
7974 },
56122987 7975 "ide[n]" : {
7aacca6f 7976 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7977 "format" : {
44660702
DM
7978 "aio" : {
7979 "description" : "AIO type to use.",
7980 "enum" : [
7981 "native",
7982 "threads"
7983 ],
56122987 7984 "optional" : 1,
44660702 7985 "type" : "string"
56122987 7986 },
44660702
DM
7987 "backup" : {
7988 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7989 "optional" : 1,
7990 "type" : "boolean"
7991 },
7992 "bps" : {
de0983cb 7993 "description" : "Maximum r/w speed in bytes per second.",
44660702 7994 "format_description" : "bps",
56122987 7995 "optional" : 1,
44660702 7996 "type" : "integer"
56122987 7997 },
de0983cb
DM
7998 "bps_max_length" : {
7999 "description" : "Maximum length of I/O bursts in seconds.",
8000 "format_description" : "seconds",
8001 "minimum" : 1,
8002 "optional" : 1,
8003 "type" : "integer"
8004 },
44660702 8005 "bps_rd" : {
de0983cb 8006 "description" : "Maximum read speed in bytes per second.",
44660702 8007 "format_description" : "bps",
56122987 8008 "optional" : 1,
44660702 8009 "type" : "integer"
56122987 8010 },
de0983cb 8011 "bps_rd_length" : {
5d9c884c
DM
8012 "alias" : "bps_rd_max_length"
8013 },
8014 "bps_rd_max_length" : {
de0983cb
DM
8015 "description" : "Maximum length of read I/O bursts in seconds.",
8016 "format_description" : "seconds",
8017 "minimum" : 1,
8018 "optional" : 1,
8019 "type" : "integer"
8020 },
7aacca6f 8021 "bps_wr" : {
de0983cb 8022 "description" : "Maximum write speed in bytes per second.",
44660702
DM
8023 "format_description" : "bps",
8024 "optional" : 1,
8025 "type" : "integer"
7aacca6f 8026 },
de0983cb 8027 "bps_wr_length" : {
5d9c884c
DM
8028 "alias" : "bps_wr_max_length"
8029 },
8030 "bps_wr_max_length" : {
de0983cb
DM
8031 "description" : "Maximum length of write I/O bursts in seconds.",
8032 "format_description" : "seconds",
8033 "minimum" : 1,
8034 "optional" : 1,
8035 "type" : "integer"
8036 },
44660702
DM
8037 "cache" : {
8038 "description" : "The drive's cache mode",
8039 "enum" : [
8040 "none",
8041 "writethrough",
8042 "writeback",
8043 "unsafe",
8044 "directsync"
8045 ],
56122987 8046 "optional" : 1,
44660702
DM
8047 "type" : "string"
8048 },
8049 "cyls" : {
8050 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8051 "optional" : 1,
8052 "type" : "integer"
8053 },
8054 "detect_zeroes" : {
8055 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8056 "optional" : 1,
8057 "type" : "boolean"
56122987 8058 },
7aacca6f 8059 "discard" : {
7aacca6f 8060 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8061 "enum" : [
7aacca6f
DM
8062 "ignore",
8063 "on"
56122987
DM
8064 ],
8065 "optional" : 1,
44660702 8066 "type" : "string"
7aacca6f 8067 },
44660702
DM
8068 "file" : {
8069 "default_key" : 1,
8070 "description" : "The drive's backing volume.",
8071 "format" : "pve-volume-id-or-qm-path",
8072 "format_description" : "volume",
8073 "type" : "string"
7aacca6f
DM
8074 },
8075 "format" : {
44660702 8076 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8077 "enum" : [
8078 "raw",
8079 "cow",
8080 "qcow",
8081 "qed",
8082 "qcow2",
8083 "vmdk",
8084 "cloop"
8085 ],
7aacca6f 8086 "optional" : 1,
44660702 8087 "type" : "string"
56122987 8088 },
7aacca6f 8089 "heads" : {
44660702 8090 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8091 "optional" : 1,
44660702 8092 "type" : "integer"
7aacca6f 8093 },
44660702 8094 "iops" : {
de0983cb 8095 "description" : "Maximum r/w I/O in operations per second.",
44660702 8096 "format_description" : "iops",
7aacca6f 8097 "optional" : 1,
44660702 8098 "type" : "integer"
56122987 8099 },
44660702 8100 "iops_max" : {
de0983cb 8101 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8102 "format_description" : "iops",
56122987 8103 "optional" : 1,
44660702 8104 "type" : "integer"
56122987 8105 },
de0983cb
DM
8106 "iops_max_length" : {
8107 "description" : "Maximum length of I/O bursts in seconds.",
8108 "format_description" : "seconds",
8109 "minimum" : 1,
8110 "optional" : 1,
8111 "type" : "integer"
8112 },
44660702 8113 "iops_rd" : {
de0983cb 8114 "description" : "Maximum read I/O in operations per second.",
44660702 8115 "format_description" : "iops",
56122987 8116 "optional" : 1,
44660702 8117 "type" : "integer"
7aacca6f 8118 },
de0983cb 8119 "iops_rd_length" : {
5d9c884c 8120 "alias" : "iops_rd_max_length"
de0983cb 8121 },
44660702 8122 "iops_rd_max" : {
de0983cb 8123 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8124 "format_description" : "iops",
7aacca6f 8125 "optional" : 1,
44660702 8126 "type" : "integer"
7aacca6f 8127 },
5d9c884c
DM
8128 "iops_rd_max_length" : {
8129 "description" : "Maximum length of read I/O bursts in seconds.",
8130 "format_description" : "seconds",
8131 "minimum" : 1,
8132 "optional" : 1,
8133 "type" : "integer"
8134 },
44660702 8135 "iops_wr" : {
de0983cb 8136 "description" : "Maximum write I/O in operations per second.",
44660702 8137 "format_description" : "iops",
7aacca6f 8138 "optional" : 1,
44660702 8139 "type" : "integer"
56122987 8140 },
de0983cb 8141 "iops_wr_length" : {
5d9c884c 8142 "alias" : "iops_wr_max_length"
de0983cb 8143 },
44660702 8144 "iops_wr_max" : {
de0983cb 8145 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8146 "format_description" : "iops",
7aacca6f 8147 "optional" : 1,
44660702 8148 "type" : "integer"
7aacca6f 8149 },
5d9c884c
DM
8150 "iops_wr_max_length" : {
8151 "description" : "Maximum length of write I/O bursts in seconds.",
8152 "format_description" : "seconds",
8153 "minimum" : 1,
8154 "optional" : 1,
8155 "type" : "integer"
8156 },
7aacca6f 8157 "mbps" : {
de0983cb 8158 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 8159 "format_description" : "mbps",
7aacca6f 8160 "optional" : 1,
44660702 8161 "type" : "number"
7aacca6f 8162 },
44660702 8163 "mbps_max" : {
de0983cb 8164 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8165 "format_description" : "mbps",
7aacca6f 8166 "optional" : 1,
44660702 8167 "type" : "number"
7aacca6f 8168 },
44660702 8169 "mbps_rd" : {
de0983cb 8170 "description" : "Maximum read speed in megabytes per second.",
44660702 8171 "format_description" : "mbps",
7aacca6f 8172 "optional" : 1,
44660702 8173 "type" : "number"
7aacca6f 8174 },
44660702 8175 "mbps_rd_max" : {
de0983cb 8176 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8177 "format_description" : "mbps",
8178 "optional" : 1,
8179 "type" : "number"
7aacca6f 8180 },
44660702 8181 "mbps_wr" : {
de0983cb 8182 "description" : "Maximum write speed in megabytes per second.",
44660702 8183 "format_description" : "mbps",
7aacca6f 8184 "optional" : 1,
44660702
DM
8185 "type" : "number"
8186 },
8187 "mbps_wr_max" : {
de0983cb 8188 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8189 "format_description" : "mbps",
8190 "optional" : 1,
8191 "type" : "number"
8192 },
8193 "media" : {
8194 "default" : "disk",
8195 "description" : "The drive's media type.",
56122987 8196 "enum" : [
44660702
DM
8197 "cdrom",
8198 "disk"
56122987 8199 ],
44660702
DM
8200 "optional" : 1,
8201 "type" : "string"
56122987 8202 },
7aacca6f 8203 "model" : {
44660702 8204 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 8205 "format" : "urlencoded",
7aacca6f 8206 "format_description" : "model",
44660702 8207 "maxLength" : 120,
56122987 8208 "optional" : 1,
44660702 8209 "type" : "string"
56122987 8210 },
5d9c884c
DM
8211 "replicate" : {
8212 "default" : 1,
8213 "description" : "Whether the drive should considered for replication jobs.",
8214 "optional" : 1,
8215 "type" : "boolean"
8216 },
44660702
DM
8217 "rerror" : {
8218 "description" : "Read error action.",
8219 "enum" : [
8220 "ignore",
8221 "report",
8222 "stop"
8223 ],
56122987 8224 "optional" : 1,
44660702 8225 "type" : "string"
56122987 8226 },
44660702
DM
8227 "secs" : {
8228 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8229 "optional" : 1,
8230 "type" : "integer"
56122987 8231 },
44660702
DM
8232 "serial" : {
8233 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8234 "format" : "urlencoded",
8235 "format_description" : "serial",
8236 "maxLength" : 60,
56122987 8237 "optional" : 1,
44660702 8238 "type" : "string"
56122987 8239 },
44660702
DM
8240 "size" : {
8241 "description" : "Disk size. This is purely informational and has no effect.",
8242 "format" : "disk-size",
f004f5b9 8243 "format_description" : "DiskSize",
56122987 8244 "optional" : 1,
44660702 8245 "type" : "string"
56122987 8246 },
44660702
DM
8247 "snapshot" : {
8248 "description" : "Whether the drive should be included when making snapshots.",
56122987 8249 "optional" : 1,
44660702 8250 "type" : "boolean"
56122987 8251 },
44660702
DM
8252 "trans" : {
8253 "description" : "Force disk geometry bios translation mode.",
8254 "enum" : [
8255 "none",
8256 "lba",
8257 "auto"
8258 ],
56122987 8259 "optional" : 1,
44660702
DM
8260 "type" : "string"
8261 },
8262 "volume" : {
8263 "alias" : "file"
56122987 8264 },
7aacca6f 8265 "werror" : {
44660702 8266 "description" : "Write error action.",
7aacca6f
DM
8267 "enum" : [
8268 "enospc",
8269 "ignore",
8270 "report",
8271 "stop"
8272 ],
56122987 8273 "optional" : 1,
44660702 8274 "type" : "string"
7aacca6f 8275 }
44660702
DM
8276 },
8277 "optional" : 1,
4bd7df8b 8278 "type" : "string",
5d9c884c 8279 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 8280 },
44660702 8281 "keyboard" : {
35a75dd3
DM
8282 "default" : null,
8283 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
44660702
DM
8284 "enum" : [
8285 "de",
8286 "de-ch",
8287 "da",
8288 "en-gb",
8289 "en-us",
8290 "es",
8291 "fi",
8292 "fr",
8293 "fr-be",
8294 "fr-ca",
8295 "fr-ch",
8296 "hu",
8297 "is",
8298 "it",
8299 "ja",
8300 "lt",
8301 "mk",
8302 "nl",
8303 "no",
8304 "pl",
8305 "pt",
8306 "pt-br",
8307 "sv",
8308 "sl",
8309 "tr"
8310 ],
7aacca6f 8311 "optional" : 1,
44660702 8312 "type" : "string"
7aacca6f 8313 },
44660702 8314 "kvm" : {
7aacca6f 8315 "default" : 1,
44660702 8316 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 8317 "optional" : 1,
013dc89f
DM
8318 "type" : "boolean",
8319 "typetext" : "<boolean>"
7aacca6f 8320 },
44660702
DM
8321 "localtime" : {
8322 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 8323 "optional" : 1,
013dc89f
DM
8324 "type" : "boolean",
8325 "typetext" : "<boolean>"
7aacca6f 8326 },
44660702
DM
8327 "lock" : {
8328 "description" : "Lock/unlock the VM.",
8329 "enum" : [
8330 "migrate",
8331 "backup",
8332 "snapshot",
8333 "rollback"
8334 ],
7aacca6f 8335 "optional" : 1,
44660702 8336 "type" : "string"
7aacca6f 8337 },
44660702
DM
8338 "machine" : {
8339 "description" : "Specific the Qemu machine type.",
8340 "maxLength" : 40,
7aacca6f 8341 "optional" : 1,
44660702
DM
8342 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8343 "type" : "string"
7aacca6f 8344 },
44660702
DM
8345 "memory" : {
8346 "default" : 512,
8347 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8348 "minimum" : 16,
7aacca6f 8349 "optional" : 1,
4bd7df8b 8350 "type" : "integer",
013dc89f 8351 "typetext" : "<integer> (16 - N)"
7aacca6f 8352 },
44660702
DM
8353 "migrate_downtime" : {
8354 "default" : 0.1,
8355 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8356 "minimum" : 0,
7aacca6f 8357 "optional" : 1,
4bd7df8b 8358 "type" : "number",
013dc89f 8359 "typetext" : "<number> (0 - N)"
7aacca6f 8360 },
44660702 8361 "migrate_speed" : {
7aacca6f 8362 "default" : 0,
44660702
DM
8363 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8364 "minimum" : 0,
8365 "optional" : 1,
4bd7df8b 8366 "type" : "integer",
013dc89f 8367 "typetext" : "<integer> (0 - N)"
7aacca6f 8368 },
44660702
DM
8369 "name" : {
8370 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8371 "format" : "dns-name",
7aacca6f 8372 "optional" : 1,
013dc89f
DM
8373 "type" : "string",
8374 "typetext" : "<string>"
7aacca6f 8375 },
44660702 8376 "net[n]" : {
c2993fe5 8377 "description" : "Specify network devices.",
f004f5b9
DM
8378 "format" : {
8379 "bridge" : {
c2993fe5 8380 "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
8381 "format_description" : "bridge",
8382 "optional" : 1,
8383 "type" : "string"
8384 },
8385 "e1000" : {
8386 "alias" : "macaddr",
8387 "keyAlias" : "model"
8388 },
8389 "e1000-82540em" : {
8390 "alias" : "macaddr",
8391 "keyAlias" : "model"
8392 },
8393 "e1000-82544gc" : {
8394 "alias" : "macaddr",
8395 "keyAlias" : "model"
8396 },
8397 "e1000-82545em" : {
8398 "alias" : "macaddr",
8399 "keyAlias" : "model"
8400 },
8401 "firewall" : {
8402 "description" : "Whether this interface should be protected by the firewall.",
8403 "optional" : 1,
8404 "type" : "boolean"
8405 },
8406 "i82551" : {
8407 "alias" : "macaddr",
8408 "keyAlias" : "model"
8409 },
8410 "i82557b" : {
8411 "alias" : "macaddr",
8412 "keyAlias" : "model"
8413 },
8414 "i82559er" : {
8415 "alias" : "macaddr",
8416 "keyAlias" : "model"
8417 },
8418 "link_down" : {
c2993fe5 8419 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8420 "optional" : 1,
8421 "type" : "boolean"
8422 },
8423 "macaddr" : {
c2993fe5 8424 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8425 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8426 "optional" : 1,
8427 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8428 "type" : "string"
8429 },
8430 "model" : {
8431 "default_key" : 1,
c2993fe5 8432 "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
8433 "enum" : [
8434 "rtl8139",
8435 "ne2k_pci",
8436 "e1000",
8437 "pcnet",
8438 "virtio",
8439 "ne2k_isa",
8440 "i82551",
8441 "i82557b",
8442 "i82559er",
8443 "vmxnet3",
8444 "e1000-82540em",
8445 "e1000-82544gc",
8446 "e1000-82545em"
8447 ],
f004f5b9
DM
8448 "type" : "string"
8449 },
8450 "ne2k_isa" : {
8451 "alias" : "macaddr",
8452 "keyAlias" : "model"
8453 },
8454 "ne2k_pci" : {
8455 "alias" : "macaddr",
8456 "keyAlias" : "model"
8457 },
8458 "pcnet" : {
8459 "alias" : "macaddr",
8460 "keyAlias" : "model"
8461 },
8462 "queues" : {
8463 "description" : "Number of packet queues to be used on the device.",
8464 "maximum" : 16,
8465 "minimum" : 0,
8466 "optional" : 1,
8467 "type" : "integer"
8468 },
8469 "rate" : {
c2993fe5 8470 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8471 "minimum" : 0,
8472 "optional" : 1,
8473 "type" : "number"
8474 },
8475 "rtl8139" : {
8476 "alias" : "macaddr",
8477 "keyAlias" : "model"
8478 },
8479 "tag" : {
8480 "description" : "VLAN tag to apply to packets on this interface.",
8481 "maximum" : 4094,
c2993fe5 8482 "minimum" : 1,
f004f5b9
DM
8483 "optional" : 1,
8484 "type" : "integer"
8485 },
8486 "trunks" : {
8487 "description" : "VLAN trunks to pass through this interface.",
8488 "format_description" : "vlanid[;vlanid...]",
8489 "optional" : 1,
8490 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8491 "type" : "string"
8492 },
8493 "virtio" : {
8494 "alias" : "macaddr",
8495 "keyAlias" : "model"
8496 },
8497 "vmxnet3" : {
8498 "alias" : "macaddr",
8499 "keyAlias" : "model"
8500 }
8501 },
7aacca6f 8502 "optional" : 1,
4bd7df8b 8503 "type" : "string",
013dc89f 8504 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 8505 },
44660702
DM
8506 "node" : {
8507 "description" : "The cluster node name.",
8508 "format" : "pve-node",
013dc89f
DM
8509 "type" : "string",
8510 "typetext" : "<string>"
44660702
DM
8511 },
8512 "numa" : {
8513 "default" : 0,
8514 "description" : "Enable/disable NUMA.",
7aacca6f 8515 "optional" : 1,
013dc89f
DM
8516 "type" : "boolean",
8517 "typetext" : "<boolean>"
7aacca6f 8518 },
44660702 8519 "numa[n]" : {
c2993fe5 8520 "description" : "NUMA topology.",
44660702
DM
8521 "format" : {
8522 "cpus" : {
c2993fe5 8523 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8524 "format_description" : "id[-id];...",
8525 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8526 "type" : "string"
8527 },
8528 "hostnodes" : {
c2993fe5 8529 "description" : "Host NUMA nodes to use.",
44660702
DM
8530 "format_description" : "id[-id];...",
8531 "optional" : 1,
8532 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8533 "type" : "string"
8534 },
8535 "memory" : {
c2993fe5 8536 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
8537 "optional" : 1,
8538 "type" : "number"
8539 },
8540 "policy" : {
c2993fe5 8541 "description" : "NUMA allocation policy.",
44660702
DM
8542 "enum" : [
8543 "preferred",
8544 "bind",
8545 "interleave"
8546 ],
44660702
DM
8547 "optional" : 1,
8548 "type" : "string"
8549 }
8550 },
7aacca6f 8551 "optional" : 1,
4bd7df8b
DM
8552 "type" : "string",
8553 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 8554 },
44660702
DM
8555 "onboot" : {
8556 "default" : 0,
8557 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 8558 "optional" : 1,
013dc89f
DM
8559 "type" : "boolean",
8560 "typetext" : "<boolean>"
7aacca6f 8561 },
44660702 8562 "ostype" : {
c2993fe5 8563 "description" : "Specify guest operating system.",
44660702
DM
8564 "enum" : [
8565 "other",
8566 "wxp",
8567 "w2k",
8568 "w2k3",
8569 "w2k8",
8570 "wvista",
8571 "win7",
8572 "win8",
32d876b5 8573 "win10",
44660702
DM
8574 "l24",
8575 "l26",
8576 "solaris"
8577 ],
7aacca6f 8578 "optional" : 1,
c2993fe5 8579 "type" : "string",
35a75dd3 8580 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 8581 },
44660702 8582 "parallel[n]" : {
c2993fe5 8583 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8584 "optional" : 1,
44660702 8585 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8586 "type" : "string",
8587 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
7aacca6f 8588 },
44660702
DM
8589 "protection" : {
8590 "default" : 0,
c2993fe5 8591 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8592 "optional" : 1,
013dc89f
DM
8593 "type" : "boolean",
8594 "typetext" : "<boolean>"
7aacca6f 8595 },
44660702
DM
8596 "reboot" : {
8597 "default" : 1,
8598 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8599 "optional" : 1,
013dc89f
DM
8600 "type" : "boolean",
8601 "typetext" : "<boolean>"
7aacca6f 8602 },
44660702
DM
8603 "revert" : {
8604 "description" : "Revert a pending change.",
8605 "format" : "pve-configid-list",
7aacca6f 8606 "optional" : 1,
013dc89f
DM
8607 "type" : "string",
8608 "typetext" : "<string>"
7aacca6f 8609 },
44660702
DM
8610 "sata[n]" : {
8611 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 8612 "format" : {
44660702
DM
8613 "aio" : {
8614 "description" : "AIO type to use.",
8615 "enum" : [
8616 "native",
8617 "threads"
8618 ],
44660702
DM
8619 "optional" : 1,
8620 "type" : "string"
8621 },
8622 "backup" : {
8623 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8624 "optional" : 1,
8625 "type" : "boolean"
8626 },
8627 "bps" : {
de0983cb 8628 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 8629 "format_description" : "bps",
7aacca6f
DM
8630 "optional" : 1,
8631 "type" : "integer"
56122987 8632 },
de0983cb
DM
8633 "bps_max_length" : {
8634 "description" : "Maximum length of I/O bursts in seconds.",
8635 "format_description" : "seconds",
8636 "minimum" : 1,
8637 "optional" : 1,
8638 "type" : "integer"
8639 },
44660702 8640 "bps_rd" : {
de0983cb 8641 "description" : "Maximum read speed in bytes per second.",
44660702 8642 "format_description" : "bps",
7aacca6f 8643 "optional" : 1,
44660702 8644 "type" : "integer"
7aacca6f 8645 },
de0983cb 8646 "bps_rd_length" : {
5d9c884c
DM
8647 "alias" : "bps_rd_max_length"
8648 },
8649 "bps_rd_max_length" : {
de0983cb
DM
8650 "description" : "Maximum length of read I/O bursts in seconds.",
8651 "format_description" : "seconds",
8652 "minimum" : 1,
8653 "optional" : 1,
8654 "type" : "integer"
8655 },
44660702 8656 "bps_wr" : {
de0983cb 8657 "description" : "Maximum write speed in bytes per second.",
44660702 8658 "format_description" : "bps",
7aacca6f 8659 "optional" : 1,
44660702 8660 "type" : "integer"
7aacca6f 8661 },
de0983cb 8662 "bps_wr_length" : {
5d9c884c
DM
8663 "alias" : "bps_wr_max_length"
8664 },
8665 "bps_wr_max_length" : {
de0983cb
DM
8666 "description" : "Maximum length of write I/O bursts in seconds.",
8667 "format_description" : "seconds",
8668 "minimum" : 1,
8669 "optional" : 1,
8670 "type" : "integer"
8671 },
44660702
DM
8672 "cache" : {
8673 "description" : "The drive's cache mode",
8674 "enum" : [
8675 "none",
8676 "writethrough",
8677 "writeback",
8678 "unsafe",
8679 "directsync"
8680 ],
7aacca6f 8681 "optional" : 1,
44660702 8682 "type" : "string"
7aacca6f 8683 },
44660702
DM
8684 "cyls" : {
8685 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8686 "optional" : 1,
44660702 8687 "type" : "integer"
7aacca6f 8688 },
44660702
DM
8689 "detect_zeroes" : {
8690 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 8691 "optional" : 1,
44660702 8692 "type" : "boolean"
7aacca6f 8693 },
44660702
DM
8694 "discard" : {
8695 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8696 "enum" : [
8697 "ignore",
8698 "on"
8699 ],
7aacca6f 8700 "optional" : 1,
44660702
DM
8701 "type" : "string"
8702 },
8703 "file" : {
8704 "default_key" : 1,
8705 "description" : "The drive's backing volume.",
8706 "format" : "pve-volume-id-or-qm-path",
8707 "format_description" : "volume",
8708 "type" : "string"
7aacca6f
DM
8709 },
8710 "format" : {
7aacca6f 8711 "description" : "The drive's backing file's data format.",
56122987
DM
8712 "enum" : [
8713 "raw",
8714 "cow",
8715 "qcow",
8716 "qed",
8717 "qcow2",
8718 "vmdk",
8719 "cloop"
8720 ],
8721 "optional" : 1,
7aacca6f 8722 "type" : "string"
56122987 8723 },
7aacca6f 8724 "heads" : {
7aacca6f 8725 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8726 "optional" : 1,
8727 "type" : "integer"
56122987 8728 },
44660702 8729 "iops" : {
de0983cb 8730 "description" : "Maximum r/w I/O in operations per second.",
44660702 8731 "format_description" : "iops",
56122987 8732 "optional" : 1,
44660702 8733 "type" : "integer"
7aacca6f 8734 },
44660702 8735 "iops_max" : {
de0983cb 8736 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8737 "format_description" : "iops",
7aacca6f 8738 "optional" : 1,
44660702 8739 "type" : "integer"
56122987 8740 },
de0983cb
DM
8741 "iops_max_length" : {
8742 "description" : "Maximum length of I/O bursts in seconds.",
8743 "format_description" : "seconds",
8744 "minimum" : 1,
8745 "optional" : 1,
8746 "type" : "integer"
8747 },
44660702 8748 "iops_rd" : {
de0983cb 8749 "description" : "Maximum read I/O in operations per second.",
44660702 8750 "format_description" : "iops",
56122987 8751 "optional" : 1,
44660702 8752 "type" : "integer"
7aacca6f 8753 },
de0983cb 8754 "iops_rd_length" : {
5d9c884c 8755 "alias" : "iops_rd_max_length"
de0983cb 8756 },
44660702 8757 "iops_rd_max" : {
de0983cb 8758 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8759 "format_description" : "iops",
56122987 8760 "optional" : 1,
44660702 8761 "type" : "integer"
56122987 8762 },
5d9c884c
DM
8763 "iops_rd_max_length" : {
8764 "description" : "Maximum length of read I/O bursts in seconds.",
8765 "format_description" : "seconds",
8766 "minimum" : 1,
8767 "optional" : 1,
8768 "type" : "integer"
8769 },
44660702 8770 "iops_wr" : {
de0983cb 8771 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8772 "format_description" : "iops",
8773 "optional" : 1,
8774 "type" : "integer"
56122987 8775 },
de0983cb 8776 "iops_wr_length" : {
5d9c884c 8777 "alias" : "iops_wr_max_length"
de0983cb 8778 },
44660702 8779 "iops_wr_max" : {
de0983cb 8780 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8781 "format_description" : "iops",
8782 "optional" : 1,
8783 "type" : "integer"
8784 },
5d9c884c
DM
8785 "iops_wr_max_length" : {
8786 "description" : "Maximum length of write I/O bursts in seconds.",
8787 "format_description" : "seconds",
8788 "minimum" : 1,
8789 "optional" : 1,
8790 "type" : "integer"
8791 },
44660702 8792 "mbps" : {
de0983cb 8793 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8794 "format_description" : "mbps",
8795 "optional" : 1,
8796 "type" : "number"
8797 },
8798 "mbps_max" : {
de0983cb 8799 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8800 "format_description" : "mbps",
8801 "optional" : 1,
8802 "type" : "number"
8803 },
8804 "mbps_rd" : {
de0983cb 8805 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8806 "format_description" : "mbps",
8807 "optional" : 1,
8808 "type" : "number"
8809 },
8810 "mbps_rd_max" : {
de0983cb 8811 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8812 "format_description" : "mbps",
8813 "optional" : 1,
8814 "type" : "number"
8815 },
8816 "mbps_wr" : {
de0983cb 8817 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8818 "format_description" : "mbps",
8819 "optional" : 1,
8820 "type" : "number"
8821 },
8822 "mbps_wr_max" : {
de0983cb 8823 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8824 "format_description" : "mbps",
8825 "optional" : 1,
8826 "type" : "number"
8827 },
8828 "media" : {
8829 "default" : "disk",
8830 "description" : "The drive's media type.",
8831 "enum" : [
8832 "cdrom",
8833 "disk"
8834 ],
56122987 8835 "optional" : 1,
44660702
DM
8836 "type" : "string"
8837 },
5d9c884c
DM
8838 "replicate" : {
8839 "default" : 1,
8840 "description" : "Whether the drive should considered for replication jobs.",
8841 "optional" : 1,
8842 "type" : "boolean"
8843 },
44660702 8844 "rerror" : {
7aacca6f
DM
8845 "description" : "Read error action.",
8846 "enum" : [
8847 "ignore",
8848 "report",
8849 "stop"
44660702 8850 ],
56122987 8851 "optional" : 1,
44660702 8852 "type" : "string"
56122987 8853 },
7aacca6f 8854 "secs" : {
44660702 8855 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8856 "optional" : 1,
44660702 8857 "type" : "integer"
56122987 8858 },
44660702
DM
8859 "serial" : {
8860 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8861 "format" : "urlencoded",
8862 "format_description" : "serial",
8863 "maxLength" : 60,
56122987 8864 "optional" : 1,
44660702 8865 "type" : "string"
56122987 8866 },
44660702
DM
8867 "size" : {
8868 "description" : "Disk size. This is purely informational and has no effect.",
8869 "format" : "disk-size",
f004f5b9 8870 "format_description" : "DiskSize",
56122987 8871 "optional" : 1,
44660702 8872 "type" : "string"
56122987
DM
8873 },
8874 "snapshot" : {
7aacca6f 8875 "description" : "Whether the drive should be included when making snapshots.",
56122987 8876 "optional" : 1,
44660702 8877 "type" : "boolean"
56122987 8878 },
56122987 8879 "trans" : {
7aacca6f 8880 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8881 "enum" : [
8882 "none",
8883 "lba",
8884 "auto"
8885 ],
8886 "optional" : 1,
44660702 8887 "type" : "string"
56122987 8888 },
44660702
DM
8889 "volume" : {
8890 "alias" : "file"
56122987 8891 },
7aacca6f 8892 "werror" : {
44660702 8893 "description" : "Write error action.",
56122987 8894 "enum" : [
7aacca6f 8895 "enospc",
56122987 8896 "ignore",
7aacca6f
DM
8897 "report",
8898 "stop"
8899 ],
7aacca6f 8900 "optional" : 1,
44660702
DM
8901 "type" : "string"
8902 }
8903 },
8904 "optional" : 1,
4bd7df8b 8905 "type" : "string",
5d9c884c 8906 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
8907 },
8908 "scsi[n]" : {
8909 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8910 "format" : {
8911 "aio" : {
7aacca6f 8912 "description" : "AIO type to use.",
56122987
DM
8913 "enum" : [
8914 "native",
8915 "threads"
44660702 8916 ],
56122987 8917 "optional" : 1,
44660702 8918 "type" : "string"
56122987 8919 },
7aacca6f 8920 "backup" : {
7aacca6f 8921 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8922 "optional" : 1,
44660702 8923 "type" : "boolean"
56122987 8924 },
44660702 8925 "bps" : {
de0983cb 8926 "description" : "Maximum r/w speed in bytes per second.",
44660702 8927 "format_description" : "bps",
7aacca6f 8928 "optional" : 1,
44660702 8929 "type" : "integer"
7aacca6f 8930 },
de0983cb
DM
8931 "bps_max_length" : {
8932 "description" : "Maximum length of I/O bursts in seconds.",
8933 "format_description" : "seconds",
8934 "minimum" : 1,
8935 "optional" : 1,
8936 "type" : "integer"
8937 },
44660702 8938 "bps_rd" : {
de0983cb 8939 "description" : "Maximum read speed in bytes per second.",
44660702 8940 "format_description" : "bps",
56122987 8941 "optional" : 1,
44660702 8942 "type" : "integer"
56122987 8943 },
de0983cb 8944 "bps_rd_length" : {
5d9c884c
DM
8945 "alias" : "bps_rd_max_length"
8946 },
8947 "bps_rd_max_length" : {
de0983cb
DM
8948 "description" : "Maximum length of read I/O bursts in seconds.",
8949 "format_description" : "seconds",
8950 "minimum" : 1,
8951 "optional" : 1,
8952 "type" : "integer"
8953 },
44660702 8954 "bps_wr" : {
de0983cb 8955 "description" : "Maximum write speed in bytes per second.",
44660702 8956 "format_description" : "bps",
56122987 8957 "optional" : 1,
44660702 8958 "type" : "integer"
56122987 8959 },
de0983cb 8960 "bps_wr_length" : {
5d9c884c
DM
8961 "alias" : "bps_wr_max_length"
8962 },
8963 "bps_wr_max_length" : {
de0983cb
DM
8964 "description" : "Maximum length of write I/O bursts in seconds.",
8965 "format_description" : "seconds",
8966 "minimum" : 1,
8967 "optional" : 1,
8968 "type" : "integer"
8969 },
44660702
DM
8970 "cache" : {
8971 "description" : "The drive's cache mode",
8972 "enum" : [
8973 "none",
8974 "writethrough",
8975 "writeback",
8976 "unsafe",
8977 "directsync"
8978 ],
56122987 8979 "optional" : 1,
44660702
DM
8980 "type" : "string"
8981 },
8982 "cyls" : {
8983 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8984 "optional" : 1,
8985 "type" : "integer"
8986 },
8987 "detect_zeroes" : {
8988 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8989 "optional" : 1,
8990 "type" : "boolean"
8991 },
8992 "discard" : {
8993 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8994 "enum" : [
8995 "ignore",
8996 "on"
8997 ],
44660702
DM
8998 "optional" : 1,
8999 "type" : "string"
9000 },
9001 "file" : {
9002 "default_key" : 1,
9003 "description" : "The drive's backing volume.",
9004 "format" : "pve-volume-id-or-qm-path",
9005 "format_description" : "volume",
9006 "type" : "string"
56122987 9007 },
7aacca6f 9008 "format" : {
44660702 9009 "description" : "The drive's backing file's data format.",
7aacca6f
DM
9010 "enum" : [
9011 "raw",
9012 "cow",
9013 "qcow",
9014 "qed",
9015 "qcow2",
9016 "vmdk",
9017 "cloop"
9018 ],
56122987 9019 "optional" : 1,
44660702 9020 "type" : "string"
56122987 9021 },
44660702
DM
9022 "heads" : {
9023 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 9024 "optional" : 1,
44660702 9025 "type" : "integer"
56122987 9026 },
44660702 9027 "iops" : {
de0983cb 9028 "description" : "Maximum r/w I/O in operations per second.",
44660702 9029 "format_description" : "iops",
7aacca6f 9030 "optional" : 1,
44660702 9031 "type" : "integer"
56122987 9032 },
44660702 9033 "iops_max" : {
de0983cb 9034 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 9035 "format_description" : "iops",
7aacca6f 9036 "optional" : 1,
44660702 9037 "type" : "integer"
56122987 9038 },
de0983cb
DM
9039 "iops_max_length" : {
9040 "description" : "Maximum length of I/O bursts in seconds.",
9041 "format_description" : "seconds",
9042 "minimum" : 1,
9043 "optional" : 1,
9044 "type" : "integer"
9045 },
44660702 9046 "iops_rd" : {
de0983cb 9047 "description" : "Maximum read I/O in operations per second.",
44660702 9048 "format_description" : "iops",
56122987 9049 "optional" : 1,
44660702 9050 "type" : "integer"
56122987 9051 },
de0983cb 9052 "iops_rd_length" : {
5d9c884c 9053 "alias" : "iops_rd_max_length"
de0983cb 9054 },
44660702 9055 "iops_rd_max" : {
de0983cb 9056 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9057 "format_description" : "iops",
56122987 9058 "optional" : 1,
44660702 9059 "type" : "integer"
56122987 9060 },
5d9c884c
DM
9061 "iops_rd_max_length" : {
9062 "description" : "Maximum length of read I/O bursts in seconds.",
9063 "format_description" : "seconds",
9064 "minimum" : 1,
9065 "optional" : 1,
9066 "type" : "integer"
9067 },
44660702 9068 "iops_wr" : {
de0983cb 9069 "description" : "Maximum write I/O in operations per second.",
44660702 9070 "format_description" : "iops",
56122987 9071 "optional" : 1,
44660702 9072 "type" : "integer"
56122987 9073 },
de0983cb 9074 "iops_wr_length" : {
5d9c884c 9075 "alias" : "iops_wr_max_length"
de0983cb 9076 },
44660702 9077 "iops_wr_max" : {
de0983cb 9078 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 9079 "format_description" : "iops",
44660702
DM
9080 "optional" : 1,
9081 "type" : "integer"
7aacca6f 9082 },
5d9c884c
DM
9083 "iops_wr_max_length" : {
9084 "description" : "Maximum length of write I/O bursts in seconds.",
9085 "format_description" : "seconds",
9086 "minimum" : 1,
9087 "optional" : 1,
9088 "type" : "integer"
9089 },
7aacca6f 9090 "iothread" : {
44660702 9091 "description" : "Whether to use iothreads for this drive",
56122987 9092 "optional" : 1,
44660702 9093 "type" : "boolean"
56122987 9094 },
44660702 9095 "mbps" : {
de0983cb 9096 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9097 "format_description" : "mbps",
56122987 9098 "optional" : 1,
44660702 9099 "type" : "number"
56122987 9100 },
44660702 9101 "mbps_max" : {
de0983cb 9102 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9103 "format_description" : "mbps",
56122987 9104 "optional" : 1,
44660702 9105 "type" : "number"
56122987 9106 },
44660702 9107 "mbps_rd" : {
de0983cb 9108 "description" : "Maximum read speed in megabytes per second.",
44660702 9109 "format_description" : "mbps",
7aacca6f 9110 "optional" : 1,
44660702 9111 "type" : "number"
56122987 9112 },
44660702 9113 "mbps_rd_max" : {
de0983cb 9114 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9115 "format_description" : "mbps",
7aacca6f 9116 "optional" : 1,
44660702 9117 "type" : "number"
7aacca6f 9118 },
44660702 9119 "mbps_wr" : {
de0983cb 9120 "description" : "Maximum write speed in megabytes per second.",
44660702 9121 "format_description" : "mbps",
56122987 9122 "optional" : 1,
44660702 9123 "type" : "number"
56122987 9124 },
44660702 9125 "mbps_wr_max" : {
de0983cb 9126 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9127 "format_description" : "mbps",
56122987 9128 "optional" : 1,
44660702
DM
9129 "type" : "number"
9130 },
9131 "media" : {
9132 "default" : "disk",
9133 "description" : "The drive's media type.",
7aacca6f 9134 "enum" : [
44660702
DM
9135 "cdrom",
9136 "disk"
7aacca6f 9137 ],
56122987 9138 "optional" : 1,
44660702 9139 "type" : "string"
56122987 9140 },
7aacca6f 9141 "queues" : {
44660702 9142 "description" : "Number of queues.",
7aacca6f 9143 "minimum" : 2,
7aacca6f
DM
9144 "optional" : 1,
9145 "type" : "integer"
56122987 9146 },
5d9c884c
DM
9147 "replicate" : {
9148 "default" : 1,
9149 "description" : "Whether the drive should considered for replication jobs.",
9150 "optional" : 1,
9151 "type" : "boolean"
9152 },
9153 "rerror" : {
9154 "description" : "Read error action.",
9155 "enum" : [
9156 "ignore",
9157 "report",
9158 "stop"
9159 ],
9160 "optional" : 1,
9161 "type" : "string"
9162 },
52e44c50
FG
9163 "scsiblock" : {
9164 "default" : 0,
9165 "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",
9166 "optional" : 1,
9167 "type" : "boolean"
9168 },
44660702
DM
9169 "secs" : {
9170 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9171 "optional" : 1,
44660702 9172 "type" : "integer"
56122987 9173 },
44660702
DM
9174 "serial" : {
9175 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9176 "format" : "urlencoded",
9177 "format_description" : "serial",
9178 "maxLength" : 60,
56122987 9179 "optional" : 1,
44660702 9180 "type" : "string"
56122987 9181 },
44660702
DM
9182 "size" : {
9183 "description" : "Disk size. This is purely informational and has no effect.",
9184 "format" : "disk-size",
f004f5b9 9185 "format_description" : "DiskSize",
44660702
DM
9186 "optional" : 1,
9187 "type" : "string"
9188 },
9189 "snapshot" : {
9190 "description" : "Whether the drive should be included when making snapshots.",
56122987 9191 "optional" : 1,
44660702
DM
9192 "type" : "boolean"
9193 },
9194 "trans" : {
9195 "description" : "Force disk geometry bios translation mode.",
56122987 9196 "enum" : [
44660702
DM
9197 "none",
9198 "lba",
9199 "auto"
56122987 9200 ],
44660702
DM
9201 "optional" : 1,
9202 "type" : "string"
9203 },
9204 "volume" : {
9205 "alias" : "file"
56122987 9206 },
7aacca6f 9207 "werror" : {
7aacca6f
DM
9208 "description" : "Write error action.",
9209 "enum" : [
9210 "enospc",
9211 "ignore",
9212 "report",
9213 "stop"
44660702 9214 ],
56122987 9215 "optional" : 1,
7aacca6f 9216 "type" : "string"
56122987 9217 }
44660702 9218 },
56122987 9219 "optional" : 1,
4bd7df8b 9220 "type" : "string",
5d9c884c 9221 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
9222 },
9223 "scsihw" : {
44660702 9224 "default" : "lsi",
c2993fe5 9225 "description" : "SCSI controller model",
56122987
DM
9226 "enum" : [
9227 "lsi",
9228 "lsi53c810",
9229 "virtio-scsi-pci",
9230 "virtio-scsi-single",
9231 "megasas",
9232 "pvscsi"
9233 ],
9234 "optional" : 1,
56122987
DM
9235 "type" : "string"
9236 },
44660702 9237 "serial[n]" : {
c2993fe5 9238 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 9239 "optional" : 1,
44660702 9240 "pattern" : "(/dev/.+|socket)",
c2993fe5 9241 "type" : "string",
57b78691 9242 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 9243 },
44660702
DM
9244 "shares" : {
9245 "default" : 1000,
9246 "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",
9247 "maximum" : 50000,
9248 "minimum" : 0,
7aacca6f 9249 "optional" : 1,
4bd7df8b 9250 "type" : "integer",
013dc89f 9251 "typetext" : "<integer> (0 - 50000)"
56122987 9252 },
7aacca6f
DM
9253 "skiplock" : {
9254 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9255 "optional" : 1,
013dc89f
DM
9256 "type" : "boolean",
9257 "typetext" : "<boolean>"
56122987 9258 },
44660702
DM
9259 "smbios1" : {
9260 "description" : "Specify SMBIOS type 1 fields.",
9261 "format" : "pve-qm-smbios1",
9262 "maxLength" : 256,
56122987 9263 "optional" : 1,
4bd7df8b
DM
9264 "type" : "string",
9265 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 9266 },
44660702
DM
9267 "smp" : {
9268 "default" : 1,
9269 "description" : "The number of CPUs. Please use option -sockets instead.",
9270 "minimum" : 1,
56122987 9271 "optional" : 1,
4bd7df8b 9272 "type" : "integer",
013dc89f 9273 "typetext" : "<integer> (1 - N)"
56122987 9274 },
44660702
DM
9275 "sockets" : {
9276 "default" : 1,
9277 "description" : "The number of CPU sockets.",
9278 "minimum" : 1,
56122987 9279 "optional" : 1,
4bd7df8b 9280 "type" : "integer",
013dc89f 9281 "typetext" : "<integer> (1 - N)"
56122987 9282 },
44660702
DM
9283 "startdate" : {
9284 "default" : "now",
9285 "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'.",
9286 "optional" : 1,
9287 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9288 "type" : "string",
44660702
DM
9289 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
9290 },
9291 "startup" : {
9292 "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.",
9293 "format" : "pve-startup-order",
7aacca6f 9294 "optional" : 1,
44660702
DM
9295 "type" : "string",
9296 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 9297 },
44660702
DM
9298 "tablet" : {
9299 "default" : 1,
c2993fe5 9300 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9301 "optional" : 1,
c2993fe5 9302 "type" : "boolean",
013dc89f 9303 "typetext" : "<boolean>",
c2993fe5 9304 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
7aacca6f 9305 },
44660702
DM
9306 "tdf" : {
9307 "default" : 0,
9308 "description" : "Enable/disable time drift fix.",
7aacca6f 9309 "optional" : 1,
013dc89f
DM
9310 "type" : "boolean",
9311 "typetext" : "<boolean>"
7aacca6f 9312 },
44660702
DM
9313 "template" : {
9314 "default" : 0,
9315 "description" : "Enable/disable Template.",
7aacca6f 9316 "optional" : 1,
013dc89f
DM
9317 "type" : "boolean",
9318 "typetext" : "<boolean>"
7aacca6f 9319 },
44660702 9320 "unused[n]" : {
c2993fe5 9321 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9322 "format" : "pve-volume-id",
7aacca6f 9323 "optional" : 1,
013dc89f
DM
9324 "type" : "string",
9325 "typetext" : "<string>"
7aacca6f 9326 },
44660702 9327 "usb[n]" : {
c2993fe5 9328 "description" : "Configure an USB device (n is 0 to 4).",
56122987 9329 "format" : {
44660702
DM
9330 "host" : {
9331 "default_key" : 1,
c2993fe5 9332 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
44660702
DM
9333 "format" : "pve-qm-usb-device",
9334 "format_description" : "HOSTUSBDEVICE|spice",
9335 "type" : "string"
7aacca6f 9336 },
44660702 9337 "usb3" : {
c2993fe5
DM
9338 "default" : 0,
9339 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
7aacca6f 9340 "optional" : 1,
44660702 9341 "type" : "boolean"
7aacca6f 9342 }
44660702 9343 },
7aacca6f 9344 "optional" : 1,
4bd7df8b
DM
9345 "type" : "string",
9346 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 9347 },
44660702 9348 "vcpus" : {
7aacca6f 9349 "default" : 0,
44660702
DM
9350 "description" : "Number of hotplugged vcpus.",
9351 "minimum" : 1,
7aacca6f 9352 "optional" : 1,
4bd7df8b 9353 "type" : "integer",
013dc89f 9354 "typetext" : "<integer> (1 - N)"
7aacca6f 9355 },
44660702 9356 "vga" : {
c2993fe5 9357 "description" : "Select the VGA type.",
44660702
DM
9358 "enum" : [
9359 "std",
9360 "cirrus",
9361 "vmware",
9362 "qxl",
9363 "serial0",
9364 "serial1",
9365 "serial2",
9366 "serial3",
9367 "qxl2",
9368 "qxl3",
9369 "qxl4"
9370 ],
7aacca6f 9371 "optional" : 1,
c2993fe5
DM
9372 "type" : "string",
9373 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 9374 },
44660702
DM
9375 "virtio[n]" : {
9376 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 9377 "format" : {
7aacca6f 9378 "aio" : {
7aacca6f 9379 "description" : "AIO type to use.",
56122987 9380 "enum" : [
7aacca6f
DM
9381 "native",
9382 "threads"
7aacca6f 9383 ],
44660702
DM
9384 "optional" : 1,
9385 "type" : "string"
56122987 9386 },
44660702
DM
9387 "backup" : {
9388 "description" : "Whether the drive should be included when making backups.",
56122987 9389 "optional" : 1,
44660702 9390 "type" : "boolean"
7aacca6f 9391 },
44660702 9392 "bps" : {
de0983cb 9393 "description" : "Maximum r/w speed in bytes per second.",
44660702 9394 "format_description" : "bps",
7aacca6f 9395 "optional" : 1,
44660702 9396 "type" : "integer"
56122987 9397 },
de0983cb
DM
9398 "bps_max_length" : {
9399 "description" : "Maximum length of I/O bursts in seconds.",
9400 "format_description" : "seconds",
9401 "minimum" : 1,
9402 "optional" : 1,
9403 "type" : "integer"
9404 },
56122987 9405 "bps_rd" : {
de0983cb 9406 "description" : "Maximum read speed in bytes per second.",
44660702 9407 "format_description" : "bps",
56122987 9408 "optional" : 1,
7aacca6f 9409 "type" : "integer"
56122987 9410 },
de0983cb 9411 "bps_rd_length" : {
5d9c884c
DM
9412 "alias" : "bps_rd_max_length"
9413 },
9414 "bps_rd_max_length" : {
de0983cb
DM
9415 "description" : "Maximum length of read I/O bursts in seconds.",
9416 "format_description" : "seconds",
9417 "minimum" : 1,
9418 "optional" : 1,
9419 "type" : "integer"
9420 },
44660702 9421 "bps_wr" : {
de0983cb 9422 "description" : "Maximum write speed in bytes per second.",
44660702 9423 "format_description" : "bps",
56122987 9424 "optional" : 1,
7aacca6f 9425 "type" : "integer"
56122987 9426 },
de0983cb 9427 "bps_wr_length" : {
5d9c884c
DM
9428 "alias" : "bps_wr_max_length"
9429 },
9430 "bps_wr_max_length" : {
de0983cb
DM
9431 "description" : "Maximum length of write I/O bursts in seconds.",
9432 "format_description" : "seconds",
9433 "minimum" : 1,
9434 "optional" : 1,
9435 "type" : "integer"
9436 },
7aacca6f 9437 "cache" : {
44660702 9438 "description" : "The drive's cache mode",
7aacca6f
DM
9439 "enum" : [
9440 "none",
9441 "writethrough",
9442 "writeback",
9443 "unsafe",
9444 "directsync"
9445 ],
56122987 9446 "optional" : 1,
44660702 9447 "type" : "string"
7aacca6f 9448 },
44660702
DM
9449 "cyls" : {
9450 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9451 "optional" : 1,
9452 "type" : "integer"
9453 },
9454 "detect_zeroes" : {
9455 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9456 "optional" : 1,
9457 "type" : "boolean"
9458 },
9459 "discard" : {
9460 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 9461 "enum" : [
44660702
DM
9462 "ignore",
9463 "on"
56122987
DM
9464 ],
9465 "optional" : 1,
44660702 9466 "type" : "string"
56122987 9467 },
44660702
DM
9468 "file" : {
9469 "default_key" : 1,
9470 "description" : "The drive's backing volume.",
9471 "format" : "pve-volume-id-or-qm-path",
9472 "format_description" : "volume",
9473 "type" : "string"
9474 },
9475 "format" : {
9476 "description" : "The drive's backing file's data format.",
9477 "enum" : [
9478 "raw",
9479 "cow",
9480 "qcow",
9481 "qed",
9482 "qcow2",
9483 "vmdk",
9484 "cloop"
9485 ],
56122987 9486 "optional" : 1,
44660702 9487 "type" : "string"
56122987 9488 },
44660702
DM
9489 "heads" : {
9490 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
9491 "optional" : 1,
9492 "type" : "integer"
9493 },
9494 "iops" : {
de0983cb 9495 "description" : "Maximum r/w I/O in operations per second.",
44660702 9496 "format_description" : "iops",
56122987 9497 "optional" : 1,
44660702
DM
9498 "type" : "integer"
9499 },
9500 "iops_max" : {
de0983cb 9501 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
9502 "format_description" : "iops",
9503 "optional" : 1,
9504 "type" : "integer"
56122987 9505 },
de0983cb
DM
9506 "iops_max_length" : {
9507 "description" : "Maximum length of I/O bursts in seconds.",
9508 "format_description" : "seconds",
9509 "minimum" : 1,
9510 "optional" : 1,
9511 "type" : "integer"
9512 },
7aacca6f 9513 "iops_rd" : {
de0983cb 9514 "description" : "Maximum read I/O in operations per second.",
7aacca6f 9515 "format_description" : "iops",
7aacca6f 9516 "optional" : 1,
44660702 9517 "type" : "integer"
56122987 9518 },
de0983cb 9519 "iops_rd_length" : {
5d9c884c 9520 "alias" : "iops_rd_max_length"
de0983cb 9521 },
44660702 9522 "iops_rd_max" : {
de0983cb 9523 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9524 "format_description" : "iops",
9525 "optional" : 1,
9526 "type" : "integer"
9527 },
5d9c884c
DM
9528 "iops_rd_max_length" : {
9529 "description" : "Maximum length of read I/O bursts in seconds.",
9530 "format_description" : "seconds",
9531 "minimum" : 1,
9532 "optional" : 1,
9533 "type" : "integer"
9534 },
44660702 9535 "iops_wr" : {
de0983cb 9536 "description" : "Maximum write I/O in operations per second.",
44660702
DM
9537 "format_description" : "iops",
9538 "optional" : 1,
9539 "type" : "integer"
9540 },
de0983cb 9541 "iops_wr_length" : {
5d9c884c 9542 "alias" : "iops_wr_max_length"
de0983cb 9543 },
44660702 9544 "iops_wr_max" : {
de0983cb 9545 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9546 "format_description" : "iops",
9547 "optional" : 1,
9548 "type" : "integer"
9549 },
5d9c884c
DM
9550 "iops_wr_max_length" : {
9551 "description" : "Maximum length of write I/O bursts in seconds.",
9552 "format_description" : "seconds",
9553 "minimum" : 1,
9554 "optional" : 1,
9555 "type" : "integer"
9556 },
44660702
DM
9557 "iothread" : {
9558 "description" : "Whether to use iothreads for this drive",
44660702
DM
9559 "optional" : 1,
9560 "type" : "boolean"
9561 },
9562 "mbps" : {
de0983cb 9563 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9564 "format_description" : "mbps",
7aacca6f 9565 "optional" : 1,
44660702 9566 "type" : "number"
7aacca6f
DM
9567 },
9568 "mbps_max" : {
de0983cb 9569 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9570 "format_description" : "mbps",
56122987 9571 "optional" : 1,
44660702 9572 "type" : "number"
56122987 9573 },
44660702 9574 "mbps_rd" : {
de0983cb 9575 "description" : "Maximum read speed in megabytes per second.",
44660702 9576 "format_description" : "mbps",
56122987 9577 "optional" : 1,
44660702 9578 "type" : "number"
56122987 9579 },
44660702 9580 "mbps_rd_max" : {
de0983cb 9581 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9582 "format_description" : "mbps",
9583 "optional" : 1,
9584 "type" : "number"
9585 },
9586 "mbps_wr" : {
de0983cb 9587 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9588 "format_description" : "mbps",
9589 "optional" : 1,
9590 "type" : "number"
9591 },
9592 "mbps_wr_max" : {
de0983cb 9593 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9594 "format_description" : "mbps",
9595 "optional" : 1,
9596 "type" : "number"
9597 },
9598 "media" : {
9599 "default" : "disk",
9600 "description" : "The drive's media type.",
56122987 9601 "enum" : [
44660702
DM
9602 "cdrom",
9603 "disk"
56122987
DM
9604 ],
9605 "optional" : 1,
44660702 9606 "type" : "string"
56122987 9607 },
5d9c884c
DM
9608 "replicate" : {
9609 "default" : 1,
9610 "description" : "Whether the drive should considered for replication jobs.",
9611 "optional" : 1,
9612 "type" : "boolean"
9613 },
44660702
DM
9614 "rerror" : {
9615 "description" : "Read error action.",
9616 "enum" : [
9617 "ignore",
9618 "report",
9619 "stop"
9620 ],
56122987 9621 "optional" : 1,
44660702 9622 "type" : "string"
56122987 9623 },
44660702
DM
9624 "secs" : {
9625 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9626 "optional" : 1,
44660702 9627 "type" : "integer"
56122987 9628 },
7aacca6f
DM
9629 "serial" : {
9630 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 9631 "format" : "urlencoded",
44660702 9632 "format_description" : "serial",
7aacca6f 9633 "maxLength" : 60,
44660702
DM
9634 "optional" : 1,
9635 "type" : "string"
56122987 9636 },
44660702
DM
9637 "size" : {
9638 "description" : "Disk size. This is purely informational and has no effect.",
9639 "format" : "disk-size",
f004f5b9 9640 "format_description" : "DiskSize",
44660702
DM
9641 "optional" : 1,
9642 "type" : "string"
56122987 9643 },
44660702
DM
9644 "snapshot" : {
9645 "description" : "Whether the drive should be included when making snapshots.",
56122987 9646 "optional" : 1,
44660702 9647 "type" : "boolean"
56122987 9648 },
44660702
DM
9649 "trans" : {
9650 "description" : "Force disk geometry bios translation mode.",
9651 "enum" : [
9652 "none",
9653 "lba",
9654 "auto"
9655 ],
7aacca6f 9656 "optional" : 1,
44660702 9657 "type" : "string"
7aacca6f 9658 },
44660702
DM
9659 "volume" : {
9660 "alias" : "file"
9661 },
9662 "werror" : {
9663 "description" : "Write error action.",
9664 "enum" : [
9665 "enospc",
9666 "ignore",
9667 "report",
9668 "stop"
9669 ],
7aacca6f 9670 "optional" : 1,
44660702 9671 "type" : "string"
56122987
DM
9672 }
9673 },
7aacca6f 9674 "optional" : 1,
4bd7df8b 9675 "type" : "string",
5d9c884c 9676 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 9677 },
44660702
DM
9678 "vmid" : {
9679 "description" : "The (unique) ID of the VM.",
9680 "format" : "pve-vmid",
9681 "minimum" : 1,
4bd7df8b 9682 "type" : "integer",
013dc89f 9683 "typetext" : "<integer> (1 - N)"
56122987 9684 },
2489d6df
WB
9685 "vmstatestorage" : {
9686 "description" : "Default storage for VM state volumes/files.",
9687 "format" : "pve-storage-id",
9688 "optional" : 1,
9689 "type" : "string",
9690 "typetext" : "<string>"
9691 },
44660702 9692 "watchdog" : {
c2993fe5 9693 "description" : "Create a virtual hardware watchdog device.",
44660702 9694 "format" : "pve-qm-watchdog",
56122987 9695 "optional" : 1,
c2993fe5 9696 "type" : "string",
013dc89f 9697 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9698 "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 9699 }
7aacca6f 9700 }
56122987 9701 },
56122987
DM
9702 "permissions" : {
9703 "check" : [
9704 "perm",
9705 "/vms/{vmid}",
9706 [
9707 "VM.Config.Disk",
9708 "VM.Config.CDROM",
9709 "VM.Config.CPU",
9710 "VM.Config.Memory",
9711 "VM.Config.Network",
9712 "VM.Config.HWType",
9713 "VM.Config.Options"
9714 ],
9715 "any",
9716 1
9717 ]
9718 },
44660702 9719 "protected" : 1,
7aacca6f 9720 "proxyto" : "node",
56122987 9721 "returns" : {
7aacca6f
DM
9722 "type" : "null"
9723 }
9724 }
9725 },
44660702
DM
9726 "leaf" : 1,
9727 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
9728 "text" : "config"
9729 },
9730 {
9731 "info" : {
56122987 9732 "GET" : {
44660702 9733 "description" : "Get virtual machine configuration, including pending changes.",
56122987 9734 "method" : "GET",
44660702 9735 "name" : "vm_pending",
7aacca6f 9736 "parameters" : {
44660702 9737 "additionalProperties" : 0,
7aacca6f
DM
9738 "properties" : {
9739 "node" : {
7aacca6f 9740 "description" : "The cluster node name.",
44660702 9741 "format" : "pve-node",
013dc89f
DM
9742 "type" : "string",
9743 "typetext" : "<string>"
7aacca6f
DM
9744 },
9745 "vmid" : {
44660702 9746 "description" : "The (unique) ID of the VM.",
7aacca6f 9747 "format" : "pve-vmid",
44660702 9748 "minimum" : 1,
4bd7df8b 9749 "type" : "integer",
013dc89f 9750 "typetext" : "<integer> (1 - N)"
7aacca6f 9751 }
44660702 9752 }
7aacca6f 9753 },
56122987
DM
9754 "permissions" : {
9755 "check" : [
9756 "perm",
9757 "/vms/{vmid}",
9758 [
9759 "VM.Audit"
9760 ]
9761 ]
9762 },
7aacca6f 9763 "proxyto" : "node",
44660702
DM
9764 "returns" : {
9765 "items" : {
9766 "properties" : {
9767 "delete" : {
9768 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
9769 "maximum" : 2,
9770 "minimum" : 0,
9771 "optional" : 1,
9772 "type" : "integer"
9773 },
9774 "key" : {
9775 "description" : "Configuration option name.",
9776 "type" : "string"
9777 },
9778 "pending" : {
9779 "description" : "Pending value.",
9780 "optional" : 1,
9781 "type" : "string"
9782 },
9783 "value" : {
9784 "description" : "Current value.",
9785 "optional" : 1,
9786 "type" : "string"
9787 }
9788 },
9789 "type" : "object"
9790 },
9791 "type" : "array"
9792 }
56122987
DM
9793 }
9794 },
7aacca6f 9795 "leaf" : 1,
44660702
DM
9796 "path" : "/nodes/{node}/qemu/{vmid}/pending",
9797 "text" : "pending"
56122987
DM
9798 },
9799 {
56122987
DM
9800 "info" : {
9801 "PUT" : {
7aacca6f 9802 "description" : "Unlink/delete disk images.",
7aacca6f 9803 "method" : "PUT",
7aacca6f 9804 "name" : "unlink",
56122987 9805 "parameters" : {
44660702 9806 "additionalProperties" : 0,
56122987 9807 "properties" : {
7aacca6f 9808 "force" : {
44660702 9809 "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
7aacca6f 9810 "optional" : 1,
013dc89f
DM
9811 "type" : "boolean",
9812 "typetext" : "<boolean>"
7aacca6f 9813 },
56122987
DM
9814 "idlist" : {
9815 "description" : "A list of disk IDs you want to delete.",
44660702 9816 "format" : "pve-configid-list",
013dc89f
DM
9817 "type" : "string",
9818 "typetext" : "<string>"
44660702
DM
9819 },
9820 "node" : {
9821 "description" : "The cluster node name.",
9822 "format" : "pve-node",
013dc89f
DM
9823 "type" : "string",
9824 "typetext" : "<string>"
56122987
DM
9825 },
9826 "vmid" : {
7aacca6f 9827 "description" : "The (unique) ID of the VM.",
44660702 9828 "format" : "pve-vmid",
7aacca6f 9829 "minimum" : 1,
4bd7df8b 9830 "type" : "integer",
013dc89f 9831 "typetext" : "<integer> (1 - N)"
56122987 9832 }
44660702
DM
9833 }
9834 },
9835 "permissions" : {
9836 "check" : [
9837 "perm",
9838 "/vms/{vmid}",
9839 [
9840 "VM.Config.Disk"
9841 ]
9842 ]
9843 },
9844 "protected" : 1,
9845 "proxyto" : "node",
9846 "returns" : {
9847 "type" : "null"
7aacca6f 9848 }
56122987 9849 }
7aacca6f 9850 },
44660702 9851 "leaf" : 1,
7aacca6f 9852 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 9853 "text" : "unlink"
56122987
DM
9854 },
9855 {
56122987
DM
9856 "info" : {
9857 "POST" : {
7aacca6f 9858 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
9859 "method" : "POST",
9860 "name" : "vncproxy",
56122987 9861 "parameters" : {
44660702 9862 "additionalProperties" : 0,
56122987 9863 "properties" : {
44660702
DM
9864 "node" : {
9865 "description" : "The cluster node name.",
9866 "format" : "pve-node",
013dc89f
DM
9867 "type" : "string",
9868 "typetext" : "<string>"
44660702 9869 },
56122987 9870 "vmid" : {
7aacca6f 9871 "description" : "The (unique) ID of the VM.",
44660702 9872 "format" : "pve-vmid",
56122987 9873 "minimum" : 1,
4bd7df8b 9874 "type" : "integer",
013dc89f 9875 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9876 },
9877 "websocket" : {
9878 "description" : "starts websockify instead of vncproxy",
44660702 9879 "optional" : 1,
013dc89f
DM
9880 "type" : "boolean",
9881 "typetext" : "<boolean>"
56122987 9882 }
44660702 9883 }
56122987 9884 },
44660702
DM
9885 "permissions" : {
9886 "check" : [
9887 "perm",
9888 "/vms/{vmid}",
9889 [
9890 "VM.Console"
9891 ]
9892 ]
9893 },
9894 "protected" : 1,
56122987 9895 "returns" : {
7aacca6f 9896 "additionalProperties" : 0,
56122987 9897 "properties" : {
7aacca6f 9898 "cert" : {
56122987
DM
9899 "type" : "string"
9900 },
56122987
DM
9901 "port" : {
9902 "type" : "integer"
9903 },
7aacca6f
DM
9904 "ticket" : {
9905 "type" : "string"
9906 },
44660702
DM
9907 "upid" : {
9908 "type" : "string"
9909 },
7aacca6f 9910 "user" : {
56122987
DM
9911 "type" : "string"
9912 }
7aacca6f 9913 }
56122987
DM
9914 }
9915 }
9916 },
44660702
DM
9917 "leaf" : 1,
9918 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9919 "text" : "vncproxy"
56122987 9920 },
35a75dd3
DM
9921 {
9922 "info" : {
9923 "POST" : {
9924 "description" : "Creates a TCP proxy connections.",
9925 "method" : "POST",
9926 "name" : "termproxy",
9927 "parameters" : {
9928 "additionalProperties" : 0,
9929 "properties" : {
9930 "node" : {
9931 "description" : "The cluster node name.",
9932 "format" : "pve-node",
9933 "type" : "string",
9934 "typetext" : "<string>"
9935 },
9936 "serial" : {
9937 "description" : "opens a serial terminal (defaults to display)",
9938 "enum" : [
9939 "serial0",
9940 "serial1",
9941 "serial2",
9942 "serial3"
9943 ],
9944 "optional" : 1,
9945 "type" : "string"
9946 },
9947 "vmid" : {
9948 "description" : "The (unique) ID of the VM.",
9949 "format" : "pve-vmid",
9950 "minimum" : 1,
9951 "type" : "integer",
9952 "typetext" : "<integer> (1 - N)"
9953 }
9954 }
9955 },
9956 "permissions" : {
9957 "check" : [
9958 "perm",
9959 "/vms/{vmid}",
9960 [
9961 "VM.Console"
9962 ]
9963 ]
9964 },
9965 "protected" : 1,
9966 "returns" : {
9967 "additionalProperties" : 0,
9968 "properties" : {
9969 "port" : {
9970 "type" : "integer"
9971 },
9972 "ticket" : {
9973 "type" : "string"
9974 },
9975 "upid" : {
9976 "type" : "string"
9977 },
9978 "user" : {
9979 "type" : "string"
9980 }
9981 }
9982 }
9983 }
9984 },
9985 "leaf" : 1,
9986 "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
9987 "text" : "termproxy"
9988 },
56122987 9989 {
56122987
DM
9990 "info" : {
9991 "GET" : {
44660702
DM
9992 "description" : "Opens a weksocket for VNC traffic.",
9993 "method" : "GET",
9994 "name" : "vncwebsocket",
56122987 9995 "parameters" : {
44660702 9996 "additionalProperties" : 0,
56122987 9997 "properties" : {
7aacca6f 9998 "node" : {
7aacca6f 9999 "description" : "The cluster node name.",
44660702 10000 "format" : "pve-node",
013dc89f
DM
10001 "type" : "string",
10002 "typetext" : "<string>"
7aacca6f 10003 },
44660702
DM
10004 "port" : {
10005 "description" : "Port number returned by previous vncproxy call.",
10006 "maximum" : 5999,
10007 "minimum" : 5900,
4bd7df8b 10008 "type" : "integer",
013dc89f 10009 "typetext" : "<integer> (5900 - 5999)"
56122987 10010 },
7aacca6f 10011 "vmid" : {
44660702 10012 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10013 "format" : "pve-vmid",
10014 "minimum" : 1,
4bd7df8b 10015 "type" : "integer",
013dc89f 10016 "typetext" : "<integer> (1 - N)"
44660702
DM
10017 },
10018 "vncticket" : {
10019 "description" : "Ticket from previous call to vncproxy.",
10020 "maxLength" : 512,
013dc89f
DM
10021 "type" : "string",
10022 "typetext" : "<string>"
56122987 10023 }
44660702
DM
10024 }
10025 },
10026 "permissions" : {
10027 "check" : [
10028 "perm",
10029 "/vms/{vmid}",
10030 [
10031 "VM.Console"
10032 ]
10033 ],
10034 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 10035 },
7aacca6f
DM
10036 "returns" : {
10037 "properties" : {
10038 "port" : {
10039 "type" : "string"
10040 }
10041 },
10042 "type" : "object"
10043 }
56122987
DM
10044 }
10045 },
7aacca6f 10046 "leaf" : 1,
44660702
DM
10047 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
10048 "text" : "vncwebsocket"
56122987
DM
10049 },
10050 {
10051 "info" : {
10052 "POST" : {
44660702
DM
10053 "description" : "Returns a SPICE configuration to connect to the VM.",
10054 "method" : "POST",
7aacca6f
DM
10055 "name" : "spiceproxy",
10056 "parameters" : {
44660702 10057 "additionalProperties" : 0,
56122987 10058 "properties" : {
44660702
DM
10059 "node" : {
10060 "description" : "The cluster node name.",
10061 "format" : "pve-node",
013dc89f
DM
10062 "type" : "string",
10063 "typetext" : "<string>"
44660702 10064 },
7aacca6f 10065 "proxy" : {
44660702 10066 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
7aacca6f 10067 "format" : "address",
7aacca6f 10068 "optional" : 1,
013dc89f
DM
10069 "type" : "string",
10070 "typetext" : "<string>"
56122987 10071 },
7aacca6f 10072 "vmid" : {
44660702 10073 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10074 "format" : "pve-vmid",
10075 "minimum" : 1,
4bd7df8b 10076 "type" : "integer",
013dc89f 10077 "typetext" : "<integer> (1 - N)"
56122987 10078 }
44660702 10079 }
56122987 10080 },
56122987
DM
10081 "permissions" : {
10082 "check" : [
10083 "perm",
10084 "/vms/{vmid}",
10085 [
10086 "VM.Console"
10087 ]
10088 ]
10089 },
44660702
DM
10090 "protected" : 1,
10091 "proxyto" : "node",
7aacca6f 10092 "returns" : {
44660702
DM
10093 "additionalProperties" : 1,
10094 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 10095 "properties" : {
44660702 10096 "host" : {
7aacca6f
DM
10097 "type" : "string"
10098 },
7aacca6f
DM
10099 "password" : {
10100 "type" : "string"
10101 },
44660702 10102 "proxy" : {
7aacca6f
DM
10103 "type" : "string"
10104 },
44660702
DM
10105 "tls-port" : {
10106 "type" : "integer"
10107 },
10108 "type" : {
7aacca6f
DM
10109 "type" : "string"
10110 }
44660702 10111 }
7aacca6f
DM
10112 }
10113 }
10114 },
44660702
DM
10115 "leaf" : 1,
10116 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
10117 "text" : "spiceproxy"
10118 },
10119 {
56122987
DM
10120 "children" : [
10121 {
56122987
DM
10122 "info" : {
10123 "GET" : {
44660702
DM
10124 "description" : "Get virtual machine status.",
10125 "method" : "GET",
10126 "name" : "vm_status",
56122987 10127 "parameters" : {
44660702 10128 "additionalProperties" : 0,
56122987 10129 "properties" : {
44660702
DM
10130 "node" : {
10131 "description" : "The cluster node name.",
10132 "format" : "pve-node",
013dc89f
DM
10133 "type" : "string",
10134 "typetext" : "<string>"
44660702 10135 },
56122987 10136 "vmid" : {
44660702 10137 "description" : "The (unique) ID of the VM.",
7aacca6f 10138 "format" : "pve-vmid",
56122987 10139 "minimum" : 1,
4bd7df8b 10140 "type" : "integer",
013dc89f 10141 "typetext" : "<integer> (1 - N)"
56122987 10142 }
44660702 10143 }
56122987
DM
10144 },
10145 "permissions" : {
10146 "check" : [
10147 "perm",
10148 "/vms/{vmid}",
10149 [
10150 "VM.Audit"
10151 ]
10152 ]
10153 },
44660702 10154 "protected" : 1,
7aacca6f 10155 "proxyto" : "node",
56122987
DM
10156 "returns" : {
10157 "type" : "object"
7aacca6f 10158 }
56122987 10159 }
7aacca6f 10160 },
7aacca6f 10161 "leaf" : 1,
44660702
DM
10162 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
10163 "text" : "current"
56122987
DM
10164 },
10165 {
56122987
DM
10166 "info" : {
10167 "POST" : {
44660702 10168 "description" : "Start virtual machine.",
56122987 10169 "method" : "POST",
44660702 10170 "name" : "vm_start",
56122987 10171 "parameters" : {
44660702 10172 "additionalProperties" : 0,
56122987 10173 "properties" : {
44660702
DM
10174 "machine" : {
10175 "description" : "Specific the Qemu machine type.",
10176 "maxLength" : 40,
10177 "optional" : 1,
10178 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10179 "type" : "string"
10180 },
10181 "migratedfrom" : {
10182 "description" : "The cluster node name.",
10183 "format" : "pve-node",
56122987 10184 "optional" : 1,
013dc89f
DM
10185 "type" : "string",
10186 "typetext" : "<string>"
56122987 10187 },
de0983cb
DM
10188 "migration_network" : {
10189 "description" : "CIDR of the (sub) network that is used for migration.",
10190 "format" : "CIDR",
10191 "optional" : 1,
013dc89f
DM
10192 "type" : "string",
10193 "typetext" : "<string>"
de0983cb
DM
10194 },
10195 "migration_type" : {
10196 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10197 "enum" : [
10198 "secure",
10199 "insecure"
10200 ],
10201 "optional" : 1,
10202 "type" : "string"
10203 },
7aacca6f 10204 "node" : {
7aacca6f 10205 "description" : "The cluster node name.",
44660702 10206 "format" : "pve-node",
013dc89f
DM
10207 "type" : "string",
10208 "typetext" : "<string>"
7aacca6f 10209 },
44660702
DM
10210 "skiplock" : {
10211 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 10212 "optional" : 1,
013dc89f
DM
10213 "type" : "boolean",
10214 "typetext" : "<boolean>"
56122987 10215 },
44660702
DM
10216 "stateuri" : {
10217 "description" : "Some command save/restore state from this location.",
10218 "maxLength" : 128,
56122987 10219 "optional" : 1,
013dc89f
DM
10220 "type" : "string",
10221 "typetext" : "<string>"
56122987 10222 },
52e44c50
FG
10223 "targetstorage" : {
10224 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
10225 "optional" : 1,
10226 "type" : "string",
10227 "typetext" : "<string>"
10228 },
56122987 10229 "vmid" : {
7aacca6f 10230 "description" : "The (unique) ID of the VM.",
44660702
DM
10231 "format" : "pve-vmid",
10232 "minimum" : 1,
4bd7df8b 10233 "type" : "integer",
013dc89f 10234 "typetext" : "<integer> (1 - N)"
56122987 10235 }
44660702 10236 }
7aacca6f 10237 },
56122987
DM
10238 "permissions" : {
10239 "check" : [
10240 "perm",
10241 "/vms/{vmid}",
10242 [
10243 "VM.PowerMgmt"
10244 ]
10245 ]
44660702
DM
10246 },
10247 "protected" : 1,
10248 "proxyto" : "node",
10249 "returns" : {
10250 "type" : "string"
56122987
DM
10251 }
10252 }
44660702
DM
10253 },
10254 "leaf" : 1,
10255 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
10256 "text" : "start"
56122987
DM
10257 },
10258 {
56122987
DM
10259 "info" : {
10260 "POST" : {
7aacca6f 10261 "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
44660702
DM
10262 "method" : "POST",
10263 "name" : "vm_stop",
56122987 10264 "parameters" : {
44660702 10265 "additionalProperties" : 0,
56122987 10266 "properties" : {
44660702
DM
10267 "keepActive" : {
10268 "default" : 0,
de0983cb 10269 "description" : "Do not deactivate storage volumes.",
56122987 10270 "optional" : 1,
013dc89f
DM
10271 "type" : "boolean",
10272 "typetext" : "<boolean>"
56122987
DM
10273 },
10274 "migratedfrom" : {
56122987 10275 "description" : "The cluster node name.",
44660702 10276 "format" : "pve-node",
7aacca6f 10277 "optional" : 1,
013dc89f
DM
10278 "type" : "string",
10279 "typetext" : "<string>"
7aacca6f 10280 },
44660702
DM
10281 "node" : {
10282 "description" : "The cluster node name.",
10283 "format" : "pve-node",
013dc89f
DM
10284 "type" : "string",
10285 "typetext" : "<string>"
56122987
DM
10286 },
10287 "skiplock" : {
10288 "description" : "Ignore locks - only root is allowed to use this option.",
10289 "optional" : 1,
013dc89f
DM
10290 "type" : "boolean",
10291 "typetext" : "<boolean>"
56122987 10292 },
44660702
DM
10293 "timeout" : {
10294 "description" : "Wait maximal timeout seconds.",
10295 "minimum" : 0,
56122987 10296 "optional" : 1,
4bd7df8b 10297 "type" : "integer",
013dc89f 10298 "typetext" : "<integer> (0 - N)"
7aacca6f 10299 },
44660702
DM
10300 "vmid" : {
10301 "description" : "The (unique) ID of the VM.",
10302 "format" : "pve-vmid",
10303 "minimum" : 1,
4bd7df8b 10304 "type" : "integer",
013dc89f 10305 "typetext" : "<integer> (1 - N)"
56122987 10306 }
44660702 10307 }
56122987 10308 },
56122987
DM
10309 "permissions" : {
10310 "check" : [
10311 "perm",
10312 "/vms/{vmid}",
10313 [
10314 "VM.PowerMgmt"
10315 ]
10316 ]
10317 },
44660702
DM
10318 "protected" : 1,
10319 "proxyto" : "node",
7aacca6f
DM
10320 "returns" : {
10321 "type" : "string"
44660702
DM
10322 }
10323 }
10324 },
10325 "leaf" : 1,
10326 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
10327 "text" : "stop"
10328 },
10329 {
10330 "info" : {
10331 "POST" : {
10332 "description" : "Reset virtual machine.",
10333 "method" : "POST",
10334 "name" : "vm_reset",
56122987 10335 "parameters" : {
7aacca6f 10336 "additionalProperties" : 0,
56122987 10337 "properties" : {
56122987
DM
10338 "node" : {
10339 "description" : "The cluster node name.",
44660702 10340 "format" : "pve-node",
013dc89f
DM
10341 "type" : "string",
10342 "typetext" : "<string>"
56122987
DM
10343 },
10344 "skiplock" : {
44660702 10345 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 10346 "optional" : 1,
013dc89f
DM
10347 "type" : "boolean",
10348 "typetext" : "<boolean>"
7aacca6f
DM
10349 },
10350 "vmid" : {
44660702 10351 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10352 "format" : "pve-vmid",
10353 "minimum" : 1,
4bd7df8b 10354 "type" : "integer",
013dc89f 10355 "typetext" : "<integer> (1 - N)"
56122987 10356 }
7aacca6f 10357 }
56122987 10358 },
7aacca6f
DM
10359 "permissions" : {
10360 "check" : [
10361 "perm",
10362 "/vms/{vmid}",
10363 [
10364 "VM.PowerMgmt"
10365 ]
10366 ]
10367 },
44660702 10368 "protected" : 1,
7aacca6f 10369 "proxyto" : "node",
56122987
DM
10370 "returns" : {
10371 "type" : "string"
44660702
DM
10372 }
10373 }
10374 },
10375 "leaf" : 1,
10376 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
10377 "text" : "reset"
10378 },
10379 {
10380 "info" : {
10381 "POST" : {
10382 "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.",
10383 "method" : "POST",
56122987 10384 "name" : "vm_shutdown",
56122987 10385 "parameters" : {
7aacca6f 10386 "additionalProperties" : 0,
56122987 10387 "properties" : {
56122987 10388 "forceStop" : {
56122987 10389 "default" : 0,
44660702 10390 "description" : "Make sure the VM stops.",
7aacca6f 10391 "optional" : 1,
013dc89f
DM
10392 "type" : "boolean",
10393 "typetext" : "<boolean>"
56122987
DM
10394 },
10395 "keepActive" : {
7aacca6f 10396 "default" : 0,
de0983cb 10397 "description" : "Do not deactivate storage volumes.",
44660702 10398 "optional" : 1,
013dc89f
DM
10399 "type" : "boolean",
10400 "typetext" : "<boolean>"
44660702
DM
10401 },
10402 "node" : {
10403 "description" : "The cluster node name.",
10404 "format" : "pve-node",
013dc89f
DM
10405 "type" : "string",
10406 "typetext" : "<string>"
44660702
DM
10407 },
10408 "skiplock" : {
10409 "description" : "Ignore locks - only root is allowed to use this option.",
10410 "optional" : 1,
013dc89f
DM
10411 "type" : "boolean",
10412 "typetext" : "<boolean>"
56122987 10413 },
7aacca6f 10414 "timeout" : {
7aacca6f 10415 "description" : "Wait maximal timeout seconds.",
44660702 10416 "minimum" : 0,
7aacca6f 10417 "optional" : 1,
4bd7df8b 10418 "type" : "integer",
013dc89f 10419 "typetext" : "<integer> (0 - N)"
7aacca6f 10420 },
56122987 10421 "vmid" : {
7aacca6f 10422 "description" : "The (unique) ID of the VM.",
44660702
DM
10423 "format" : "pve-vmid",
10424 "minimum" : 1,
4bd7df8b 10425 "type" : "integer",
013dc89f 10426 "typetext" : "<integer> (1 - N)"
56122987 10427 }
7aacca6f 10428 }
56122987 10429 },
44660702
DM
10430 "permissions" : {
10431 "check" : [
10432 "perm",
10433 "/vms/{vmid}",
10434 [
10435 "VM.PowerMgmt"
10436 ]
10437 ]
10438 },
7aacca6f 10439 "protected" : 1,
44660702
DM
10440 "proxyto" : "node",
10441 "returns" : {
10442 "type" : "string"
10443 }
56122987
DM
10444 }
10445 },
44660702 10446 "leaf" : 1,
7aacca6f 10447 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 10448 "text" : "shutdown"
56122987
DM
10449 },
10450 {
56122987
DM
10451 "info" : {
10452 "POST" : {
44660702 10453 "description" : "Suspend virtual machine.",
56122987 10454 "method" : "POST",
44660702 10455 "name" : "vm_suspend",
7aacca6f 10456 "parameters" : {
44660702 10457 "additionalProperties" : 0,
7aacca6f
DM
10458 "properties" : {
10459 "node" : {
7aacca6f 10460 "description" : "The cluster node name.",
44660702 10461 "format" : "pve-node",
013dc89f
DM
10462 "type" : "string",
10463 "typetext" : "<string>"
7aacca6f
DM
10464 },
10465 "skiplock" : {
10466 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 10467 "optional" : 1,
013dc89f
DM
10468 "type" : "boolean",
10469 "typetext" : "<boolean>"
44660702
DM
10470 },
10471 "vmid" : {
10472 "description" : "The (unique) ID of the VM.",
10473 "format" : "pve-vmid",
10474 "minimum" : 1,
4bd7df8b 10475 "type" : "integer",
013dc89f 10476 "typetext" : "<integer> (1 - N)"
44660702
DM
10477 }
10478 }
56122987
DM
10479 },
10480 "permissions" : {
10481 "check" : [
10482 "perm",
10483 "/vms/{vmid}",
10484 [
10485 "VM.PowerMgmt"
10486 ]
10487 ]
10488 },
44660702
DM
10489 "protected" : 1,
10490 "proxyto" : "node",
10491 "returns" : {
10492 "type" : "string"
10493 }
56122987
DM
10494 }
10495 },
44660702 10496 "leaf" : 1,
7aacca6f 10497 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 10498 "text" : "suspend"
56122987
DM
10499 },
10500 {
56122987
DM
10501 "info" : {
10502 "POST" : {
44660702
DM
10503 "description" : "Resume virtual machine.",
10504 "method" : "POST",
7aacca6f 10505 "name" : "vm_resume",
56122987
DM
10506 "parameters" : {
10507 "additionalProperties" : 0,
10508 "properties" : {
44660702
DM
10509 "nocheck" : {
10510 "optional" : 1,
013dc89f
DM
10511 "type" : "boolean",
10512 "typetext" : "<boolean>"
44660702 10513 },
7aacca6f 10514 "node" : {
44660702 10515 "description" : "The cluster node name.",
7aacca6f 10516 "format" : "pve-node",
013dc89f
DM
10517 "type" : "string",
10518 "typetext" : "<string>"
56122987
DM
10519 },
10520 "skiplock" : {
56122987 10521 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 10522 "optional" : 1,
013dc89f
DM
10523 "type" : "boolean",
10524 "typetext" : "<boolean>"
56122987 10525 },
7aacca6f 10526 "vmid" : {
7aacca6f
DM
10527 "description" : "The (unique) ID of the VM.",
10528 "format" : "pve-vmid",
44660702 10529 "minimum" : 1,
4bd7df8b 10530 "type" : "integer",
013dc89f 10531 "typetext" : "<integer> (1 - N)"
56122987
DM
10532 }
10533 }
10534 },
10535 "permissions" : {
10536 "check" : [
10537 "perm",
10538 "/vms/{vmid}",
10539 [
10540 "VM.PowerMgmt"
10541 ]
10542 ]
10543 },
44660702
DM
10544 "protected" : 1,
10545 "proxyto" : "node",
56122987
DM
10546 "returns" : {
10547 "type" : "string"
7aacca6f 10548 }
56122987
DM
10549 }
10550 },
44660702
DM
10551 "leaf" : 1,
10552 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 10553 "text" : "resume"
56122987
DM
10554 }
10555 ],
10556 "info" : {
44660702
DM
10557 "GET" : {
10558 "description" : "Directory index",
10559 "method" : "GET",
10560 "name" : "vmcmdidx",
56122987 10561 "parameters" : {
44660702 10562 "additionalProperties" : 0,
56122987 10563 "properties" : {
44660702
DM
10564 "node" : {
10565 "description" : "The cluster node name.",
10566 "format" : "pve-node",
013dc89f
DM
10567 "type" : "string",
10568 "typetext" : "<string>"
7aacca6f 10569 },
56122987 10570 "vmid" : {
7aacca6f 10571 "description" : "The (unique) ID of the VM.",
44660702
DM
10572 "format" : "pve-vmid",
10573 "minimum" : 1,
4bd7df8b 10574 "type" : "integer",
013dc89f 10575 "typetext" : "<integer> (1 - N)"
56122987 10576 }
44660702 10577 }
56122987 10578 },
44660702
DM
10579 "permissions" : {
10580 "user" : "all"
10581 },
10582 "proxyto" : "node",
10583 "returns" : {
10584 "items" : {
10585 "properties" : {
10586 "subdir" : {
10587 "type" : "string"
10588 }
10589 },
10590 "type" : "object"
10591 },
10592 "links" : [
10593 {
10594 "href" : "{subdir}",
10595 "rel" : "child"
10596 }
10597 ],
10598 "type" : "array"
10599 }
56122987 10600 }
7aacca6f 10601 },
44660702
DM
10602 "leaf" : 0,
10603 "path" : "/nodes/{node}/qemu/{vmid}/status",
10604 "text" : "status"
56122987
DM
10605 },
10606 {
56122987 10607 "info" : {
44660702
DM
10608 "PUT" : {
10609 "description" : "Send key event to virtual machine.",
10610 "method" : "PUT",
10611 "name" : "vm_sendkey",
10612 "parameters" : {
10613 "additionalProperties" : 0,
56122987 10614 "properties" : {
44660702
DM
10615 "key" : {
10616 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
10617 "type" : "string",
10618 "typetext" : "<string>"
44660702
DM
10619 },
10620 "node" : {
10621 "description" : "The cluster node name.",
10622 "format" : "pve-node",
013dc89f
DM
10623 "type" : "string",
10624 "typetext" : "<string>"
44660702
DM
10625 },
10626 "skiplock" : {
10627 "description" : "Ignore locks - only root is allowed to use this option.",
10628 "optional" : 1,
013dc89f
DM
10629 "type" : "boolean",
10630 "typetext" : "<boolean>"
7aacca6f 10631 },
44660702
DM
10632 "vmid" : {
10633 "description" : "The (unique) ID of the VM.",
10634 "format" : "pve-vmid",
10635 "minimum" : 1,
4bd7df8b 10636 "type" : "integer",
013dc89f 10637 "typetext" : "<integer> (1 - N)"
56122987 10638 }
7aacca6f 10639 }
56122987 10640 },
56122987
DM
10641 "permissions" : {
10642 "check" : [
10643 "perm",
10644 "/vms/{vmid}",
10645 [
44660702 10646 "VM.Console"
56122987
DM
10647 ]
10648 ]
10649 },
7aacca6f 10650 "protected" : 1,
44660702
DM
10651 "proxyto" : "node",
10652 "returns" : {
10653 "type" : "null"
10654 }
10655 }
10656 },
10657 "leaf" : 1,
10658 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
10659 "text" : "sendkey"
10660 },
10661 {
10662 "info" : {
10663 "GET" : {
10664 "description" : "Check if feature for virtual machine is available.",
10665 "method" : "GET",
7aacca6f 10666 "name" : "vm_feature",
56122987 10667 "parameters" : {
44660702 10668 "additionalProperties" : 0,
56122987 10669 "properties" : {
56122987 10670 "feature" : {
44660702 10671 "description" : "Feature to check.",
56122987
DM
10672 "enum" : [
10673 "snapshot",
10674 "clone",
10675 "copy"
10676 ],
44660702
DM
10677 "type" : "string"
10678 },
10679 "node" : {
10680 "description" : "The cluster node name.",
10681 "format" : "pve-node",
013dc89f
DM
10682 "type" : "string",
10683 "typetext" : "<string>"
56122987
DM
10684 },
10685 "snapname" : {
56122987 10686 "description" : "The name of the snapshot.",
44660702
DM
10687 "format" : "pve-configid",
10688 "maxLength" : 40,
7aacca6f 10689 "optional" : 1,
013dc89f
DM
10690 "type" : "string",
10691 "typetext" : "<string>"
7aacca6f 10692 },
44660702
DM
10693 "vmid" : {
10694 "description" : "The (unique) ID of the VM.",
10695 "format" : "pve-vmid",
10696 "minimum" : 1,
4bd7df8b 10697 "type" : "integer",
013dc89f 10698 "typetext" : "<integer> (1 - N)"
44660702
DM
10699 }
10700 }
10701 },
10702 "permissions" : {
10703 "check" : [
10704 "perm",
10705 "/vms/{vmid}",
10706 [
10707 "VM.Audit"
10708 ]
10709 ]
10710 },
10711 "protected" : 1,
10712 "proxyto" : "node",
10713 "returns" : {
10714 "properties" : {
10715 "hasFeature" : {
10716 "type" : "boolean"
10717 },
10718 "nodes" : {
10719 "items" : {
10720 "type" : "string"
10721 },
10722 "type" : "array"
56122987
DM
10723 }
10724 },
44660702 10725 "type" : "object"
56122987
DM
10726 }
10727 }
10728 },
7aacca6f 10729 "leaf" : 1,
44660702
DM
10730 "path" : "/nodes/{node}/qemu/{vmid}/feature",
10731 "text" : "feature"
56122987
DM
10732 },
10733 {
56122987
DM
10734 "info" : {
10735 "POST" : {
44660702 10736 "description" : "Create a copy of virtual machine/template.",
56122987 10737 "method" : "POST",
7aacca6f 10738 "name" : "clone_vm",
56122987
DM
10739 "parameters" : {
10740 "additionalProperties" : 0,
10741 "properties" : {
44660702
DM
10742 "description" : {
10743 "description" : "Description for the new VM.",
56122987 10744 "optional" : 1,
013dc89f
DM
10745 "type" : "string",
10746 "typetext" : "<string>"
56122987 10747 },
44660702
DM
10748 "format" : {
10749 "description" : "Target format for file storage.",
10750 "enum" : [
10751 "raw",
10752 "qcow2",
10753 "vmdk"
10754 ],
10755 "optional" : 1,
10756 "requires" : "full",
56122987
DM
10757 "type" : "string"
10758 },
44660702
DM
10759 "full" : {
10760 "default" : 0,
10761 "description" : "Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
7aacca6f 10762 "optional" : 1,
013dc89f
DM
10763 "type" : "boolean",
10764 "typetext" : "<boolean>"
44660702
DM
10765 },
10766 "name" : {
56122987 10767 "description" : "Set a name for the new VM.",
44660702
DM
10768 "format" : "dns-name",
10769 "optional" : 1,
013dc89f
DM
10770 "type" : "string",
10771 "typetext" : "<string>"
44660702
DM
10772 },
10773 "newid" : {
10774 "description" : "VMID for the clone.",
10775 "format" : "pve-vmid",
10776 "minimum" : 1,
4bd7df8b 10777 "type" : "integer",
013dc89f 10778 "typetext" : "<integer> (1 - N)"
44660702
DM
10779 },
10780 "node" : {
10781 "description" : "The cluster node name.",
10782 "format" : "pve-node",
013dc89f
DM
10783 "type" : "string",
10784 "typetext" : "<string>"
7aacca6f
DM
10785 },
10786 "pool" : {
10787 "description" : "Add the new VM to the specified pool.",
44660702 10788 "format" : "pve-poolid",
56122987 10789 "optional" : 1,
013dc89f
DM
10790 "type" : "string",
10791 "typetext" : "<string>"
56122987 10792 },
44660702
DM
10793 "snapname" : {
10794 "description" : "The name of the snapshot.",
10795 "format" : "pve-configid",
10796 "maxLength" : 40,
7aacca6f 10797 "optional" : 1,
013dc89f
DM
10798 "type" : "string",
10799 "typetext" : "<string>"
56122987 10800 },
44660702
DM
10801 "storage" : {
10802 "description" : "Target storage for full clone.",
10803 "format" : "pve-storage-id",
7aacca6f 10804 "optional" : 1,
44660702 10805 "requires" : "full",
013dc89f
DM
10806 "type" : "string",
10807 "typetext" : "<string>"
56122987 10808 },
44660702
DM
10809 "target" : {
10810 "description" : "Target node. Only allowed if the original VM is on shared storage.",
10811 "format" : "pve-node",
56122987 10812 "optional" : 1,
013dc89f
DM
10813 "type" : "string",
10814 "typetext" : "<string>"
44660702
DM
10815 },
10816 "vmid" : {
10817 "description" : "The (unique) ID of the VM.",
10818 "format" : "pve-vmid",
10819 "minimum" : 1,
4bd7df8b 10820 "type" : "integer",
013dc89f 10821 "typetext" : "<integer> (1 - N)"
56122987
DM
10822 }
10823 }
10824 },
56122987
DM
10825 "permissions" : {
10826 "check" : [
10827 "and",
10828 [
10829 "perm",
10830 "/vms/{vmid}",
10831 [
10832 "VM.Clone"
10833 ]
10834 ],
10835 [
10836 "or",
10837 [
10838 "perm",
10839 "/vms/{newid}",
10840 [
10841 "VM.Allocate"
10842 ]
10843 ],
10844 [
10845 "perm",
10846 "/pool/{pool}",
10847 [
10848 "VM.Allocate"
10849 ],
10850 "require_param",
10851 "pool"
10852 ]
10853 ]
44660702
DM
10854 ],
10855 "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."
10856 },
10857 "protected" : 1,
10858 "proxyto" : "node",
10859 "returns" : {
10860 "type" : "string"
56122987
DM
10861 }
10862 }
10863 },
44660702
DM
10864 "leaf" : 1,
10865 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
10866 "text" : "clone"
10867 },
10868 {
56122987
DM
10869 "info" : {
10870 "POST" : {
7aacca6f 10871 "description" : "Move volume to different storage.",
44660702
DM
10872 "method" : "POST",
10873 "name" : "move_vm_disk",
56122987
DM
10874 "parameters" : {
10875 "additionalProperties" : 0,
10876 "properties" : {
10877 "delete" : {
44660702 10878 "default" : 0,
56122987 10879 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 10880 "optional" : 1,
013dc89f
DM
10881 "type" : "boolean",
10882 "typetext" : "<boolean>"
56122987 10883 },
44660702
DM
10884 "digest" : {
10885 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10886 "maxLength" : 40,
10887 "optional" : 1,
013dc89f
DM
10888 "type" : "string",
10889 "typetext" : "<string>"
56122987 10890 },
56122987 10891 "disk" : {
56122987
DM
10892 "description" : "The disk you want to move.",
10893 "enum" : [
10894 "ide0",
10895 "ide1",
10896 "ide2",
10897 "ide3",
10898 "scsi0",
10899 "scsi1",
10900 "scsi2",
10901 "scsi3",
10902 "scsi4",
10903 "scsi5",
10904 "scsi6",
10905 "scsi7",
10906 "scsi8",
10907 "scsi9",
10908 "scsi10",
10909 "scsi11",
10910 "scsi12",
10911 "scsi13",
10912 "virtio0",
10913 "virtio1",
10914 "virtio2",
10915 "virtio3",
10916 "virtio4",
10917 "virtio5",
10918 "virtio6",
10919 "virtio7",
10920 "virtio8",
10921 "virtio9",
10922 "virtio10",
10923 "virtio11",
10924 "virtio12",
10925 "virtio13",
10926 "virtio14",
10927 "virtio15",
10928 "sata0",
10929 "sata1",
10930 "sata2",
10931 "sata3",
10932 "sata4",
2c0dde61
DM
10933 "sata5",
10934 "efidisk0"
44660702
DM
10935 ],
10936 "type" : "string"
7aacca6f
DM
10937 },
10938 "format" : {
10939 "description" : "Target Format.",
10940 "enum" : [
10941 "raw",
10942 "qcow2",
10943 "vmdk"
10944 ],
10945 "optional" : 1,
10946 "type" : "string"
44660702
DM
10947 },
10948 "node" : {
10949 "description" : "The cluster node name.",
10950 "format" : "pve-node",
013dc89f
DM
10951 "type" : "string",
10952 "typetext" : "<string>"
44660702
DM
10953 },
10954 "storage" : {
10955 "description" : "Target storage.",
10956 "format" : "pve-storage-id",
013dc89f
DM
10957 "type" : "string",
10958 "typetext" : "<string>"
44660702
DM
10959 },
10960 "vmid" : {
10961 "description" : "The (unique) ID of the VM.",
10962 "format" : "pve-vmid",
10963 "minimum" : 1,
4bd7df8b 10964 "type" : "integer",
013dc89f 10965 "typetext" : "<integer> (1 - N)"
56122987
DM
10966 }
10967 }
10968 },
44660702
DM
10969 "permissions" : {
10970 "check" : [
10971 "and",
10972 [
10973 "perm",
10974 "/vms/{vmid}",
10975 [
10976 "VM.Config.Disk"
10977 ]
10978 ],
10979 [
10980 "perm",
10981 "/storage/{storage}",
10982 [
10983 "Datastore.AllocateSpace"
10984 ]
10985 ]
10986 ],
10987 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10988 },
10989 "protected" : 1,
10990 "proxyto" : "node",
10991 "returns" : {
10992 "description" : "the task ID.",
10993 "type" : "string"
10994 }
56122987 10995 }
7aacca6f 10996 },
44660702 10997 "leaf" : 1,
7aacca6f 10998 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10999 "text" : "move_disk"
56122987
DM
11000 },
11001 {
56122987
DM
11002 "info" : {
11003 "POST" : {
7aacca6f 11004 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 11005 "method" : "POST",
7aacca6f 11006 "name" : "migrate_vm",
56122987 11007 "parameters" : {
44660702 11008 "additionalProperties" : 0,
56122987 11009 "properties" : {
44660702
DM
11010 "force" : {
11011 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
11012 "optional" : 1,
013dc89f
DM
11013 "type" : "boolean",
11014 "typetext" : "<boolean>"
44660702 11015 },
de0983cb
DM
11016 "migration_network" : {
11017 "description" : "CIDR of the (sub) network that is used for migration.",
11018 "format" : "CIDR",
11019 "optional" : 1,
013dc89f
DM
11020 "type" : "string",
11021 "typetext" : "<string>"
de0983cb
DM
11022 },
11023 "migration_type" : {
11024 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
11025 "enum" : [
11026 "secure",
11027 "insecure"
11028 ],
11029 "optional" : 1,
11030 "type" : "string"
11031 },
7aacca6f 11032 "node" : {
44660702 11033 "description" : "The cluster node name.",
7aacca6f 11034 "format" : "pve-node",
013dc89f
DM
11035 "type" : "string",
11036 "typetext" : "<string>"
56122987
DM
11037 },
11038 "online" : {
44660702 11039 "description" : "Use online/live migration.",
56122987 11040 "optional" : 1,
013dc89f
DM
11041 "type" : "boolean",
11042 "typetext" : "<boolean>"
56122987 11043 },
44660702
DM
11044 "target" : {
11045 "description" : "Target node.",
11046 "format" : "pve-node",
013dc89f
DM
11047 "type" : "string",
11048 "typetext" : "<string>"
56122987 11049 },
52e44c50
FG
11050 "targetstorage" : {
11051 "description" : "Default target storage.",
11052 "format" : "pve-storage-id",
11053 "optional" : 1,
11054 "type" : "string",
11055 "typetext" : "<string>"
11056 },
7aacca6f 11057 "vmid" : {
7aacca6f 11058 "description" : "The (unique) ID of the VM.",
44660702 11059 "format" : "pve-vmid",
7aacca6f 11060 "minimum" : 1,
4bd7df8b 11061 "type" : "integer",
013dc89f 11062 "typetext" : "<integer> (1 - N)"
52e44c50
FG
11063 },
11064 "with-local-disks" : {
11065 "description" : "Enable live storage migration for local disk",
11066 "optional" : 1,
11067 "type" : "boolean",
11068 "typetext" : "<boolean>"
56122987 11069 }
44660702
DM
11070 }
11071 },
11072 "permissions" : {
11073 "check" : [
11074 "perm",
11075 "/vms/{vmid}",
11076 [
11077 "VM.Migrate"
11078 ]
11079 ]
56122987
DM
11080 },
11081 "protected" : 1,
44660702
DM
11082 "proxyto" : "node",
11083 "returns" : {
11084 "description" : "the task ID.",
11085 "type" : "string"
11086 }
56122987 11087 }
7aacca6f 11088 },
44660702
DM
11089 "leaf" : 1,
11090 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 11091 "text" : "migrate"
56122987
DM
11092 },
11093 {
11094 "info" : {
11095 "POST" : {
44660702 11096 "description" : "Execute Qemu monitor commands.",
56122987 11097 "method" : "POST",
44660702 11098 "name" : "monitor",
56122987 11099 "parameters" : {
7aacca6f 11100 "additionalProperties" : 0,
56122987 11101 "properties" : {
44660702
DM
11102 "command" : {
11103 "description" : "The monitor command.",
013dc89f
DM
11104 "type" : "string",
11105 "typetext" : "<string>"
44660702 11106 },
56122987 11107 "node" : {
44660702 11108 "description" : "The cluster node name.",
7aacca6f 11109 "format" : "pve-node",
013dc89f
DM
11110 "type" : "string",
11111 "typetext" : "<string>"
56122987
DM
11112 },
11113 "vmid" : {
44660702 11114 "description" : "The (unique) ID of the VM.",
56122987 11115 "format" : "pve-vmid",
7aacca6f 11116 "minimum" : 1,
4bd7df8b 11117 "type" : "integer",
013dc89f 11118 "typetext" : "<integer> (1 - N)"
56122987 11119 }
7aacca6f 11120 }
56122987 11121 },
56122987
DM
11122 "permissions" : {
11123 "check" : [
11124 "perm",
11125 "/vms/{vmid}",
11126 [
11127 "VM.Monitor"
11128 ]
32d876b5
DM
11129 ],
11130 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 11131 },
44660702
DM
11132 "protected" : 1,
11133 "proxyto" : "node",
11134 "returns" : {
11135 "type" : "string"
11136 }
56122987 11137 }
44660702
DM
11138 },
11139 "leaf" : 1,
11140 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
11141 "text" : "monitor"
56122987 11142 },
32d876b5
DM
11143 {
11144 "info" : {
11145 "POST" : {
11146 "description" : "Execute Qemu Guest Agent commands.",
11147 "method" : "POST",
11148 "name" : "agent",
11149 "parameters" : {
11150 "additionalProperties" : 0,
11151 "properties" : {
11152 "command" : {
11153 "description" : "The QGA command.",
11154 "enum" : [
11155 "ping",
11156 "get-time",
11157 "info",
11158 "fsfreeze-status",
11159 "fsfreeze-freeze",
11160 "fsfreeze-thaw",
11161 "fstrim",
11162 "network-get-interfaces",
11163 "get-vcpus",
11164 "get-fsinfo",
11165 "get-memory-blocks",
11166 "get-memory-block-info",
11167 "suspend-hybrid",
11168 "suspend-ram",
11169 "suspend-disk",
11170 "shutdown"
11171 ],
11172 "type" : "string"
11173 },
11174 "node" : {
11175 "description" : "The cluster node name.",
11176 "format" : "pve-node",
11177 "type" : "string",
11178 "typetext" : "<string>"
11179 },
11180 "vmid" : {
11181 "description" : "The (unique) ID of the VM.",
11182 "format" : "pve-vmid",
11183 "minimum" : 1,
11184 "type" : "integer",
11185 "typetext" : "<integer> (1 - N)"
11186 }
11187 }
11188 },
11189 "permissions" : {
11190 "check" : [
11191 "perm",
11192 "/vms/{vmid}",
11193 [
11194 "VM.Monitor"
11195 ]
11196 ]
11197 },
11198 "protected" : 1,
11199 "proxyto" : "node",
11200 "returns" : {
11201 "description" : "Returns an object with a single `result` property. The type of that\nproperty depends on the executed command.",
11202 "type" : "object"
11203 }
11204 }
11205 },
11206 "leaf" : 1,
11207 "path" : "/nodes/{node}/qemu/{vmid}/agent",
11208 "text" : "agent"
11209 },
56122987 11210 {
56122987
DM
11211 "info" : {
11212 "PUT" : {
44660702
DM
11213 "description" : "Extend volume size.",
11214 "method" : "PUT",
11215 "name" : "resize_vm",
56122987 11216 "parameters" : {
44660702 11217 "additionalProperties" : 0,
56122987 11218 "properties" : {
44660702
DM
11219 "digest" : {
11220 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
11221 "maxLength" : 40,
11222 "optional" : 1,
013dc89f
DM
11223 "type" : "string",
11224 "typetext" : "<string>"
56122987 11225 },
56122987
DM
11226 "disk" : {
11227 "description" : "The disk you want to resize.",
11228 "enum" : [
11229 "ide0",
11230 "ide1",
11231 "ide2",
11232 "ide3",
11233 "scsi0",
11234 "scsi1",
11235 "scsi2",
11236 "scsi3",
11237 "scsi4",
11238 "scsi5",
11239 "scsi6",
11240 "scsi7",
11241 "scsi8",
11242 "scsi9",
11243 "scsi10",
11244 "scsi11",
11245 "scsi12",
11246 "scsi13",
11247 "virtio0",
11248 "virtio1",
11249 "virtio2",
11250 "virtio3",
11251 "virtio4",
11252 "virtio5",
11253 "virtio6",
11254 "virtio7",
11255 "virtio8",
11256 "virtio9",
11257 "virtio10",
11258 "virtio11",
11259 "virtio12",
11260 "virtio13",
11261 "virtio14",
11262 "virtio15",
11263 "sata0",
11264 "sata1",
11265 "sata2",
11266 "sata3",
11267 "sata4",
2c0dde61
DM
11268 "sata5",
11269 "efidisk0"
44660702
DM
11270 ],
11271 "type" : "string"
56122987 11272 },
44660702
DM
11273 "node" : {
11274 "description" : "The cluster node name.",
11275 "format" : "pve-node",
013dc89f
DM
11276 "type" : "string",
11277 "typetext" : "<string>"
7aacca6f 11278 },
44660702 11279 "size" : {
5d9c884c 11280 "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
11281 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
11282 "type" : "string"
56122987
DM
11283 },
11284 "skiplock" : {
11285 "description" : "Ignore locks - only root is allowed to use this option.",
11286 "optional" : 1,
013dc89f
DM
11287 "type" : "boolean",
11288 "typetext" : "<boolean>"
56122987
DM
11289 },
11290 "vmid" : {
7aacca6f 11291 "description" : "The (unique) ID of the VM.",
56122987 11292 "format" : "pve-vmid",
44660702 11293 "minimum" : 1,
4bd7df8b 11294 "type" : "integer",
013dc89f 11295 "typetext" : "<integer> (1 - N)"
56122987
DM
11296 }
11297 }
11298 },
11299 "permissions" : {
11300 "check" : [
11301 "perm",
11302 "/vms/{vmid}",
11303 [
44660702 11304 "VM.Config.Disk"
56122987
DM
11305 ]
11306 ]
11307 },
7aacca6f 11308 "protected" : 1,
7aacca6f 11309 "proxyto" : "node",
44660702
DM
11310 "returns" : {
11311 "type" : "null"
11312 }
7aacca6f
DM
11313 }
11314 },
44660702
DM
11315 "leaf" : 1,
11316 "path" : "/nodes/{node}/qemu/{vmid}/resize",
11317 "text" : "resize"
11318 },
11319 {
56122987
DM
11320 "children" : [
11321 {
11322 "children" : [
11323 {
56122987 11324 "info" : {
44660702
DM
11325 "GET" : {
11326 "description" : "Get snapshot configuration",
11327 "method" : "GET",
11328 "name" : "get_snapshot_config",
56122987 11329 "parameters" : {
44660702 11330 "additionalProperties" : 0,
56122987 11331 "properties" : {
56122987 11332 "node" : {
44660702 11333 "description" : "The cluster node name.",
56122987 11334 "format" : "pve-node",
013dc89f
DM
11335 "type" : "string",
11336 "typetext" : "<string>"
7aacca6f
DM
11337 },
11338 "snapname" : {
44660702 11339 "description" : "The name of the snapshot.",
7aacca6f 11340 "format" : "pve-configid",
44660702 11341 "maxLength" : 40,
013dc89f
DM
11342 "type" : "string",
11343 "typetext" : "<string>"
7aacca6f
DM
11344 },
11345 "vmid" : {
44660702 11346 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11347 "format" : "pve-vmid",
11348 "minimum" : 1,
4bd7df8b 11349 "type" : "integer",
013dc89f 11350 "typetext" : "<integer> (1 - N)"
56122987 11351 }
44660702 11352 }
56122987
DM
11353 },
11354 "permissions" : {
11355 "check" : [
11356 "perm",
11357 "/vms/{vmid}",
11358 [
2489d6df
WB
11359 "VM.Snapshot",
11360 "VM.Snapshot.Rollback"
11361 ],
11362 "any",
11363 1
56122987
DM
11364 ]
11365 },
44660702 11366 "proxyto" : "node",
56122987 11367 "returns" : {
44660702 11368 "type" : "object"
7aacca6f
DM
11369 }
11370 },
44660702
DM
11371 "PUT" : {
11372 "description" : "Update snapshot metadata.",
11373 "method" : "PUT",
11374 "name" : "update_snapshot_config",
56122987 11375 "parameters" : {
44660702 11376 "additionalProperties" : 0,
56122987 11377 "properties" : {
44660702
DM
11378 "description" : {
11379 "description" : "A textual description or comment.",
11380 "optional" : 1,
013dc89f
DM
11381 "type" : "string",
11382 "typetext" : "<string>"
44660702 11383 },
56122987 11384 "node" : {
7aacca6f 11385 "description" : "The cluster node name.",
44660702 11386 "format" : "pve-node",
013dc89f
DM
11387 "type" : "string",
11388 "typetext" : "<string>"
56122987 11389 },
56122987
DM
11390 "snapname" : {
11391 "description" : "The name of the snapshot.",
44660702 11392 "format" : "pve-configid",
7aacca6f 11393 "maxLength" : 40,
013dc89f
DM
11394 "type" : "string",
11395 "typetext" : "<string>"
7aacca6f
DM
11396 },
11397 "vmid" : {
11398 "description" : "The (unique) ID of the VM.",
44660702 11399 "format" : "pve-vmid",
7aacca6f 11400 "minimum" : 1,
4bd7df8b 11401 "type" : "integer",
013dc89f 11402 "typetext" : "<integer> (1 - N)"
56122987 11403 }
44660702 11404 }
56122987 11405 },
7aacca6f
DM
11406 "permissions" : {
11407 "check" : [
11408 "perm",
11409 "/vms/{vmid}",
11410 [
11411 "VM.Snapshot"
11412 ]
11413 ]
44660702
DM
11414 },
11415 "protected" : 1,
11416 "proxyto" : "node",
11417 "returns" : {
11418 "type" : "null"
7aacca6f 11419 }
56122987
DM
11420 }
11421 },
44660702 11422 "leaf" : 1,
7aacca6f 11423 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 11424 "text" : "config"
56122987
DM
11425 },
11426 {
56122987
DM
11427 "info" : {
11428 "POST" : {
44660702 11429 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 11430 "method" : "POST",
44660702 11431 "name" : "rollback",
56122987
DM
11432 "parameters" : {
11433 "additionalProperties" : 0,
11434 "properties" : {
44660702
DM
11435 "node" : {
11436 "description" : "The cluster node name.",
11437 "format" : "pve-node",
013dc89f
DM
11438 "type" : "string",
11439 "typetext" : "<string>"
44660702 11440 },
56122987 11441 "snapname" : {
44660702 11442 "description" : "The name of the snapshot.",
56122987
DM
11443 "format" : "pve-configid",
11444 "maxLength" : 40,
013dc89f
DM
11445 "type" : "string",
11446 "typetext" : "<string>"
7aacca6f 11447 },
56122987 11448 "vmid" : {
7aacca6f 11449 "description" : "The (unique) ID of the VM.",
44660702 11450 "format" : "pve-vmid",
56122987 11451 "minimum" : 1,
4bd7df8b 11452 "type" : "integer",
013dc89f 11453 "typetext" : "<integer> (1 - N)"
56122987
DM
11454 }
11455 }
11456 },
7aacca6f 11457 "permissions" : {
56122987
DM
11458 "check" : [
11459 "perm",
11460 "/vms/{vmid}",
11461 [
2489d6df
WB
11462 "VM.Snapshot",
11463 "VM.Snapshot.Rollback"
11464 ],
11465 "any",
11466 1
56122987
DM
11467 ]
11468 },
44660702 11469 "protected" : 1,
7aacca6f 11470 "proxyto" : "node",
44660702
DM
11471 "returns" : {
11472 "description" : "the task ID.",
11473 "type" : "string"
11474 }
56122987
DM
11475 }
11476 },
44660702
DM
11477 "leaf" : 1,
11478 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 11479 "text" : "rollback"
56122987 11480 }
44660702
DM
11481 ],
11482 "info" : {
11483 "DELETE" : {
11484 "description" : "Delete a VM snapshot.",
11485 "method" : "DELETE",
11486 "name" : "delsnapshot",
11487 "parameters" : {
11488 "additionalProperties" : 0,
11489 "properties" : {
11490 "force" : {
11491 "description" : "For removal from config file, even if removing disk snapshots fails.",
11492 "optional" : 1,
013dc89f
DM
11493 "type" : "boolean",
11494 "typetext" : "<boolean>"
44660702
DM
11495 },
11496 "node" : {
11497 "description" : "The cluster node name.",
11498 "format" : "pve-node",
013dc89f
DM
11499 "type" : "string",
11500 "typetext" : "<string>"
44660702
DM
11501 },
11502 "snapname" : {
11503 "description" : "The name of the snapshot.",
11504 "format" : "pve-configid",
11505 "maxLength" : 40,
013dc89f
DM
11506 "type" : "string",
11507 "typetext" : "<string>"
44660702
DM
11508 },
11509 "vmid" : {
11510 "description" : "The (unique) ID of the VM.",
11511 "format" : "pve-vmid",
11512 "minimum" : 1,
4bd7df8b 11513 "type" : "integer",
013dc89f 11514 "typetext" : "<integer> (1 - N)"
44660702
DM
11515 }
11516 }
11517 },
11518 "permissions" : {
11519 "check" : [
11520 "perm",
11521 "/vms/{vmid}",
11522 [
11523 "VM.Snapshot"
11524 ]
11525 ]
11526 },
11527 "protected" : 1,
11528 "proxyto" : "node",
11529 "returns" : {
11530 "description" : "the task ID.",
11531 "type" : "string"
11532 }
11533 },
11534 "GET" : {
11535 "description" : "",
11536 "method" : "GET",
11537 "name" : "snapshot_cmd_idx",
11538 "parameters" : {
11539 "additionalProperties" : 0,
11540 "properties" : {
11541 "node" : {
11542 "description" : "The cluster node name.",
11543 "format" : "pve-node",
013dc89f
DM
11544 "type" : "string",
11545 "typetext" : "<string>"
44660702
DM
11546 },
11547 "snapname" : {
11548 "description" : "The name of the snapshot.",
11549 "format" : "pve-configid",
11550 "maxLength" : 40,
013dc89f
DM
11551 "type" : "string",
11552 "typetext" : "<string>"
44660702
DM
11553 },
11554 "vmid" : {
11555 "description" : "The (unique) ID of the VM.",
11556 "format" : "pve-vmid",
11557 "minimum" : 1,
4bd7df8b 11558 "type" : "integer",
013dc89f 11559 "typetext" : "<integer> (1 - N)"
44660702
DM
11560 }
11561 }
11562 },
11563 "permissions" : {
11564 "user" : "all"
11565 },
11566 "returns" : {
11567 "items" : {
11568 "properties" : {},
11569 "type" : "object"
11570 },
11571 "links" : [
11572 {
11573 "href" : "{cmd}",
11574 "rel" : "child"
11575 }
11576 ],
11577 "type" : "array"
11578 }
11579 }
11580 },
11581 "leaf" : 0,
11582 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
11583 "text" : "{snapname}"
56122987
DM
11584 }
11585 ],
44660702
DM
11586 "info" : {
11587 "GET" : {
11588 "description" : "List all snapshots.",
11589 "method" : "GET",
11590 "name" : "snapshot_list",
11591 "parameters" : {
11592 "additionalProperties" : 0,
11593 "properties" : {
11594 "node" : {
11595 "description" : "The cluster node name.",
11596 "format" : "pve-node",
013dc89f
DM
11597 "type" : "string",
11598 "typetext" : "<string>"
44660702
DM
11599 },
11600 "vmid" : {
11601 "description" : "The (unique) ID of the VM.",
11602 "format" : "pve-vmid",
11603 "minimum" : 1,
4bd7df8b 11604 "type" : "integer",
013dc89f 11605 "typetext" : "<integer> (1 - N)"
44660702
DM
11606 }
11607 }
11608 },
11609 "permissions" : {
11610 "check" : [
11611 "perm",
11612 "/vms/{vmid}",
11613 [
11614 "VM.Audit"
11615 ]
11616 ]
11617 },
11618 "protected" : 1,
11619 "proxyto" : "node",
11620 "returns" : {
11621 "items" : {
11622 "properties" : {},
11623 "type" : "object"
11624 },
11625 "links" : [
11626 {
11627 "href" : "{name}",
11628 "rel" : "child"
11629 }
11630 ],
11631 "type" : "array"
11632 }
11633 },
11634 "POST" : {
11635 "description" : "Snapshot a VM.",
11636 "method" : "POST",
11637 "name" : "snapshot",
11638 "parameters" : {
11639 "additionalProperties" : 0,
11640 "properties" : {
11641 "description" : {
11642 "description" : "A textual description or comment.",
11643 "optional" : 1,
013dc89f
DM
11644 "type" : "string",
11645 "typetext" : "<string>"
44660702
DM
11646 },
11647 "node" : {
11648 "description" : "The cluster node name.",
11649 "format" : "pve-node",
013dc89f
DM
11650 "type" : "string",
11651 "typetext" : "<string>"
44660702
DM
11652 },
11653 "snapname" : {
11654 "description" : "The name of the snapshot.",
11655 "format" : "pve-configid",
11656 "maxLength" : 40,
013dc89f
DM
11657 "type" : "string",
11658 "typetext" : "<string>"
44660702
DM
11659 },
11660 "vmid" : {
11661 "description" : "The (unique) ID of the VM.",
11662 "format" : "pve-vmid",
11663 "minimum" : 1,
4bd7df8b 11664 "type" : "integer",
013dc89f 11665 "typetext" : "<integer> (1 - N)"
44660702
DM
11666 },
11667 "vmstate" : {
11668 "description" : "Save the vmstate",
11669 "optional" : 1,
013dc89f
DM
11670 "type" : "boolean",
11671 "typetext" : "<boolean>"
44660702
DM
11672 }
11673 }
11674 },
11675 "permissions" : {
11676 "check" : [
11677 "perm",
11678 "/vms/{vmid}",
11679 [
11680 "VM.Snapshot"
11681 ]
11682 ]
11683 },
11684 "protected" : 1,
11685 "proxyto" : "node",
11686 "returns" : {
11687 "description" : "the task ID.",
11688 "type" : "string"
11689 }
11690 }
11691 },
11692 "leaf" : 0,
11693 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 11694 "text" : "snapshot"
56122987
DM
11695 },
11696 {
56122987
DM
11697 "info" : {
11698 "POST" : {
44660702
DM
11699 "description" : "Create a Template.",
11700 "method" : "POST",
56122987 11701 "name" : "template",
56122987 11702 "parameters" : {
7aacca6f 11703 "additionalProperties" : 0,
56122987 11704 "properties" : {
56122987 11705 "disk" : {
56122987
DM
11706 "description" : "If you want to convert only 1 disk to base image.",
11707 "enum" : [
11708 "ide0",
11709 "ide1",
11710 "ide2",
11711 "ide3",
11712 "scsi0",
11713 "scsi1",
11714 "scsi2",
11715 "scsi3",
11716 "scsi4",
11717 "scsi5",
11718 "scsi6",
11719 "scsi7",
11720 "scsi8",
11721 "scsi9",
11722 "scsi10",
11723 "scsi11",
11724 "scsi12",
11725 "scsi13",
11726 "virtio0",
11727 "virtio1",
11728 "virtio2",
11729 "virtio3",
11730 "virtio4",
11731 "virtio5",
11732 "virtio6",
11733 "virtio7",
11734 "virtio8",
11735 "virtio9",
11736 "virtio10",
11737 "virtio11",
11738 "virtio12",
11739 "virtio13",
11740 "virtio14",
11741 "virtio15",
11742 "sata0",
11743 "sata1",
11744 "sata2",
11745 "sata3",
11746 "sata4",
2c0dde61
DM
11747 "sata5",
11748 "efidisk0"
56122987 11749 ],
7aacca6f 11750 "optional" : 1,
56122987
DM
11751 "type" : "string"
11752 },
44660702
DM
11753 "node" : {
11754 "description" : "The cluster node name.",
11755 "format" : "pve-node",
013dc89f
DM
11756 "type" : "string",
11757 "typetext" : "<string>"
44660702
DM
11758 },
11759 "vmid" : {
11760 "description" : "The (unique) ID of the VM.",
7aacca6f 11761 "format" : "pve-vmid",
44660702 11762 "minimum" : 1,
4bd7df8b 11763 "type" : "integer",
013dc89f 11764 "typetext" : "<integer> (1 - N)"
56122987 11765 }
7aacca6f 11766 }
56122987 11767 },
7aacca6f
DM
11768 "permissions" : {
11769 "check" : [
11770 "perm",
11771 "/vms/{vmid}",
11772 [
11773 "VM.Allocate"
11774 ]
11775 ],
11776 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
11777 },
44660702 11778 "protected" : 1,
7aacca6f 11779 "proxyto" : "node",
7aacca6f
DM
11780 "returns" : {
11781 "type" : "null"
11782 }
56122987
DM
11783 }
11784 },
44660702 11785 "leaf" : 1,
7aacca6f 11786 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 11787 "text" : "template"
56122987
DM
11788 }
11789 ],
7aacca6f 11790 "info" : {
44660702
DM
11791 "DELETE" : {
11792 "description" : "Destroy the vm (also delete all used/owned volumes).",
11793 "method" : "DELETE",
11794 "name" : "destroy_vm",
7aacca6f 11795 "parameters" : {
44660702 11796 "additionalProperties" : 0,
7aacca6f
DM
11797 "properties" : {
11798 "node" : {
44660702 11799 "description" : "The cluster node name.",
7aacca6f 11800 "format" : "pve-node",
013dc89f
DM
11801 "type" : "string",
11802 "typetext" : "<string>"
44660702
DM
11803 },
11804 "skiplock" : {
11805 "description" : "Ignore locks - only root is allowed to use this option.",
11806 "optional" : 1,
013dc89f
DM
11807 "type" : "boolean",
11808 "typetext" : "<boolean>"
7aacca6f
DM
11809 },
11810 "vmid" : {
44660702 11811 "description" : "The (unique) ID of the VM.",
7aacca6f 11812 "format" : "pve-vmid",
44660702 11813 "minimum" : 1,
4bd7df8b 11814 "type" : "integer",
013dc89f 11815 "typetext" : "<integer> (1 - N)"
7aacca6f 11816 }
44660702 11817 }
7aacca6f 11818 },
7aacca6f
DM
11819 "permissions" : {
11820 "check" : [
11821 "perm",
11822 "/vms/{vmid}",
11823 [
11824 "VM.Allocate"
11825 ]
11826 ]
11827 },
44660702
DM
11828 "protected" : 1,
11829 "proxyto" : "node",
7aacca6f
DM
11830 "returns" : {
11831 "type" : "string"
44660702
DM
11832 }
11833 },
11834 "GET" : {
11835 "description" : "Directory index",
11836 "method" : "GET",
11837 "name" : "vmdiridx",
7aacca6f 11838 "parameters" : {
44660702 11839 "additionalProperties" : 0,
7aacca6f 11840 "properties" : {
7aacca6f 11841 "node" : {
7aacca6f 11842 "description" : "The cluster node name.",
44660702 11843 "format" : "pve-node",
013dc89f
DM
11844 "type" : "string",
11845 "typetext" : "<string>"
44660702
DM
11846 },
11847 "vmid" : {
11848 "description" : "The (unique) ID of the VM.",
11849 "format" : "pve-vmid",
11850 "minimum" : 1,
4bd7df8b 11851 "type" : "integer",
013dc89f 11852 "typetext" : "<integer> (1 - N)"
7aacca6f 11853 }
44660702 11854 }
7aacca6f 11855 },
44660702
DM
11856 "permissions" : {
11857 "user" : "all"
11858 },
11859 "proxyto" : "node",
11860 "returns" : {
11861 "items" : {
11862 "properties" : {
11863 "subdir" : {
11864 "type" : "string"
11865 }
11866 },
11867 "type" : "object"
11868 },
11869 "links" : [
11870 {
11871 "href" : "{subdir}",
11872 "rel" : "child"
11873 }
11874 ],
11875 "type" : "array"
11876 }
7aacca6f 11877 }
44660702
DM
11878 },
11879 "leaf" : 0,
11880 "path" : "/nodes/{node}/qemu/{vmid}",
11881 "text" : "{vmid}"
56122987
DM
11882 }
11883 ],
11884 "info" : {
44660702
DM
11885 "GET" : {
11886 "description" : "Virtual machine index (per node).",
11887 "method" : "GET",
11888 "name" : "vmlist",
56122987 11889 "parameters" : {
44660702 11890 "additionalProperties" : 0,
56122987 11891 "properties" : {
44660702
DM
11892 "full" : {
11893 "description" : "Determine the full status of active VMs.",
56122987 11894 "optional" : 1,
013dc89f
DM
11895 "type" : "boolean",
11896 "typetext" : "<boolean>"
56122987 11897 },
44660702
DM
11898 "node" : {
11899 "description" : "The cluster node name.",
11900 "format" : "pve-node",
013dc89f
DM
11901 "type" : "string",
11902 "typetext" : "<string>"
44660702
DM
11903 }
11904 }
11905 },
11906 "permissions" : {
11907 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
11908 "user" : "all"
11909 },
11910 "protected" : 1,
11911 "proxyto" : "node",
11912 "returns" : {
11913 "items" : {
11914 "properties" : {},
11915 "type" : "object"
11916 },
11917 "links" : [
11918 {
11919 "href" : "{vmid}",
11920 "rel" : "child"
11921 }
11922 ],
11923 "type" : "array"
11924 }
11925 },
11926 "POST" : {
11927 "description" : "Create or restore a virtual machine.",
11928 "method" : "POST",
11929 "name" : "create_vm",
11930 "parameters" : {
11931 "additionalProperties" : 0,
11932 "properties" : {
7aacca6f 11933 "acpi" : {
7aacca6f 11934 "default" : 1,
44660702 11935 "description" : "Enable/disable ACPI.",
56122987 11936 "optional" : 1,
013dc89f
DM
11937 "type" : "boolean",
11938 "typetext" : "<boolean>"
56122987 11939 },
44660702
DM
11940 "agent" : {
11941 "default" : 0,
11942 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 11943 "optional" : 1,
013dc89f
DM
11944 "type" : "boolean",
11945 "typetext" : "<boolean>"
56122987 11946 },
44660702
DM
11947 "archive" : {
11948 "description" : "The backup file.",
11949 "maxLength" : 255,
56122987 11950 "optional" : 1,
013dc89f
DM
11951 "type" : "string",
11952 "typetext" : "<string>"
56122987 11953 },
44660702 11954 "args" : {
c2993fe5 11955 "description" : "Arbitrary arguments passed to kvm.",
56122987 11956 "optional" : 1,
c2993fe5 11957 "type" : "string",
013dc89f 11958 "typetext" : "<string>",
c2993fe5 11959 "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 11960 },
44660702 11961 "autostart" : {
7aacca6f 11962 "default" : 0,
44660702
DM
11963 "description" : "Automatic restart after crash (currently ignored).",
11964 "optional" : 1,
013dc89f
DM
11965 "type" : "boolean",
11966 "typetext" : "<boolean>"
7aacca6f 11967 },
44660702
DM
11968 "balloon" : {
11969 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11970 "minimum" : 0,
56122987 11971 "optional" : 1,
4bd7df8b 11972 "type" : "integer",
013dc89f 11973 "typetext" : "<integer> (0 - N)"
56122987 11974 },
44660702
DM
11975 "bios" : {
11976 "default" : "seabios",
11977 "description" : "Select BIOS implementation.",
11978 "enum" : [
11979 "seabios",
11980 "ovmf"
11981 ],
56122987 11982 "optional" : 1,
44660702 11983 "type" : "string"
56122987 11984 },
44660702
DM
11985 "boot" : {
11986 "default" : "cdn",
11987 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 11988 "optional" : 1,
44660702
DM
11989 "pattern" : "[acdn]{1,4}",
11990 "type" : "string"
56122987 11991 },
7aacca6f
DM
11992 "bootdisk" : {
11993 "description" : "Enable booting from specified disk.",
44660702
DM
11994 "format" : "pve-qm-bootdisk",
11995 "optional" : 1,
7aacca6f 11996 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
11997 "type" : "string"
11998 },
11999 "cdrom" : {
12000 "description" : "This is an alias for option -ide2",
de0983cb 12001 "format" : "pve-qm-ide",
56122987 12002 "optional" : 1,
44660702 12003 "type" : "string",
013dc89f 12004 "typetext" : "<volume>"
56122987 12005 },
44660702
DM
12006 "cores" : {
12007 "default" : 1,
12008 "description" : "The number of cores per socket.",
7aacca6f 12009 "minimum" : 1,
44660702 12010 "optional" : 1,
4bd7df8b 12011 "type" : "integer",
013dc89f 12012 "typetext" : "<integer> (1 - N)"
7aacca6f 12013 },
44660702
DM
12014 "cpu" : {
12015 "description" : "Emulated CPU type.",
12016 "format" : {
12017 "cputype" : {
12018 "default" : "kvm64",
12019 "default_key" : 1,
12020 "description" : "Emulated CPU type.",
12021 "enum" : [
12022 "486",
12023 "athlon",
f004f5b9 12024 "Broadwell",
35a75dd3 12025 "Broadwell-IBRS",
f004f5b9 12026 "Broadwell-noTSX",
35a75dd3 12027 "Broadwell-noTSX-IBRS",
f004f5b9 12028 "Conroe",
44660702 12029 "core2duo",
f004f5b9
DM
12030 "coreduo",
12031 "Haswell",
35a75dd3 12032 "Haswell-IBRS",
f004f5b9 12033 "Haswell-noTSX",
35a75dd3 12034 "Haswell-noTSX-IBRS",
f004f5b9
DM
12035 "host",
12036 "IvyBridge",
35a75dd3 12037 "IvyBridge-IBRS",
44660702
DM
12038 "kvm32",
12039 "kvm64",
35a75dd3 12040 "max",
44660702 12041 "Nehalem",
35a75dd3 12042 "Nehalem-IBRS",
44660702
DM
12043 "Opteron_G1",
12044 "Opteron_G2",
12045 "Opteron_G3",
12046 "Opteron_G4",
12047 "Opteron_G5",
f004f5b9
DM
12048 "Penryn",
12049 "pentium",
12050 "pentium2",
12051 "pentium3",
12052 "phenom",
12053 "qemu32",
12054 "qemu64",
12055 "SandyBridge",
35a75dd3 12056 "SandyBridge-IBRS",
5d9c884c 12057 "Skylake-Client",
35a75dd3
DM
12058 "Skylake-Client-IBRS",
12059 "Skylake-Server",
12060 "Skylake-Server-IBRS",
12061 "Westmere",
12062 "Westmere-IBRS"
44660702 12063 ],
44660702
DM
12064 "type" : "string"
12065 },
35a75dd3
DM
12066 "flags" : {
12067 "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
12068 "format_description" : "+FLAG[;-FLAG...]",
12069 "optional" : 1,
12070 "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
12071 "type" : "string"
12072 },
44660702
DM
12073 "hidden" : {
12074 "default" : 0,
12075 "description" : "Do not identify as a KVM virtual machine.",
12076 "optional" : 1,
12077 "type" : "boolean"
12078 }
12079 },
56122987 12080 "optional" : 1,
4bd7df8b 12081 "type" : "string",
35a75dd3 12082 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
56122987 12083 },
44660702 12084 "cpulimit" : {
7aacca6f 12085 "default" : 0,
c2993fe5 12086 "description" : "Limit of CPU usage.",
44660702
DM
12087 "maximum" : 128,
12088 "minimum" : 0,
7aacca6f 12089 "optional" : 1,
c2993fe5 12090 "type" : "number",
013dc89f 12091 "typetext" : "<number> (0 - 128)",
c2993fe5 12092 "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
12093 },
12094 "cpuunits" : {
de0983cb 12095 "default" : 1024,
c2993fe5 12096 "description" : "CPU weight for a VM.",
2489d6df
WB
12097 "maximum" : 262144,
12098 "minimum" : 2,
44660702 12099 "optional" : 1,
c2993fe5 12100 "type" : "integer",
2489d6df
WB
12101 "typetext" : "<integer> (2 - 262144)",
12102 "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
12103 },
12104 "description" : {
12105 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 12106 "optional" : 1,
013dc89f
DM
12107 "type" : "string",
12108 "typetext" : "<string>"
44660702
DM
12109 },
12110 "force" : {
12111 "description" : "Allow to overwrite existing VM.",
12112 "optional" : 1,
12113 "requires" : "archive",
013dc89f
DM
12114 "type" : "boolean",
12115 "typetext" : "<boolean>"
44660702
DM
12116 },
12117 "freeze" : {
12118 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
12119 "optional" : 1,
013dc89f
DM
12120 "type" : "boolean",
12121 "typetext" : "<boolean>"
44660702
DM
12122 },
12123 "hostpci[n]" : {
c2993fe5 12124 "description" : "Map host PCI devices into guest.",
44660702
DM
12125 "format" : "pve-qm-hostpci",
12126 "optional" : 1,
57b78691 12127 "type" : "string",
52e44c50 12128 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 12129 "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
12130 },
12131 "hotplug" : {
12132 "default" : "network,disk,usb",
12133 "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'.",
12134 "format" : "pve-hotplug-features",
12135 "optional" : 1,
013dc89f
DM
12136 "type" : "string",
12137 "typetext" : "<string>"
7aacca6f 12138 },
4bd7df8b
DM
12139 "hugepages" : {
12140 "description" : "Enable/disable hugepages memory.",
12141 "enum" : [
12142 "any",
12143 "2",
12144 "1024"
12145 ],
12146 "optional" : 1,
12147 "type" : "string"
12148 },
7aacca6f 12149 "ide[n]" : {
44660702 12150 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 12151 "format" : {
44660702
DM
12152 "aio" : {
12153 "description" : "AIO type to use.",
12154 "enum" : [
12155 "native",
12156 "threads"
12157 ],
44660702
DM
12158 "optional" : 1,
12159 "type" : "string"
12160 },
12161 "backup" : {
12162 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12163 "optional" : 1,
12164 "type" : "boolean"
12165 },
12166 "bps" : {
de0983cb 12167 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 12168 "format_description" : "bps",
56122987 12169 "optional" : 1,
44660702 12170 "type" : "integer"
56122987 12171 },
de0983cb
DM
12172 "bps_max_length" : {
12173 "description" : "Maximum length of I/O bursts in seconds.",
12174 "format_description" : "seconds",
12175 "minimum" : 1,
12176 "optional" : 1,
12177 "type" : "integer"
12178 },
44660702 12179 "bps_rd" : {
de0983cb 12180 "description" : "Maximum read speed in bytes per second.",
44660702 12181 "format_description" : "bps",
56122987 12182 "optional" : 1,
44660702 12183 "type" : "integer"
56122987 12184 },
de0983cb 12185 "bps_rd_length" : {
5d9c884c
DM
12186 "alias" : "bps_rd_max_length"
12187 },
12188 "bps_rd_max_length" : {
de0983cb
DM
12189 "description" : "Maximum length of read I/O bursts in seconds.",
12190 "format_description" : "seconds",
12191 "minimum" : 1,
12192 "optional" : 1,
12193 "type" : "integer"
12194 },
44660702 12195 "bps_wr" : {
de0983cb 12196 "description" : "Maximum write speed in bytes per second.",
44660702 12197 "format_description" : "bps",
56122987 12198 "optional" : 1,
44660702 12199 "type" : "integer"
56122987 12200 },
de0983cb 12201 "bps_wr_length" : {
5d9c884c
DM
12202 "alias" : "bps_wr_max_length"
12203 },
12204 "bps_wr_max_length" : {
de0983cb
DM
12205 "description" : "Maximum length of write I/O bursts in seconds.",
12206 "format_description" : "seconds",
12207 "minimum" : 1,
12208 "optional" : 1,
12209 "type" : "integer"
12210 },
44660702
DM
12211 "cache" : {
12212 "description" : "The drive's cache mode",
56122987 12213 "enum" : [
7aacca6f 12214 "none",
44660702
DM
12215 "writethrough",
12216 "writeback",
12217 "unsafe",
12218 "directsync"
56122987 12219 ],
56122987 12220 "optional" : 1,
44660702 12221 "type" : "string"
56122987 12222 },
44660702
DM
12223 "cyls" : {
12224 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12225 "optional" : 1,
12226 "type" : "integer"
7aacca6f 12227 },
44660702
DM
12228 "detect_zeroes" : {
12229 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12230 "optional" : 1,
44660702 12231 "type" : "boolean"
56122987 12232 },
44660702
DM
12233 "discard" : {
12234 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12235 "enum" : [
12236 "ignore",
12237 "on"
12238 ],
56122987 12239 "optional" : 1,
44660702 12240 "type" : "string"
56122987 12241 },
7aacca6f 12242 "file" : {
44660702 12243 "default_key" : 1,
7aacca6f 12244 "description" : "The drive's backing volume.",
7aacca6f
DM
12245 "format" : "pve-volume-id-or-qm-path",
12246 "format_description" : "volume",
7aacca6f 12247 "type" : "string"
56122987 12248 },
44660702
DM
12249 "format" : {
12250 "description" : "The drive's backing file's data format.",
56122987 12251 "enum" : [
44660702
DM
12252 "raw",
12253 "cow",
12254 "qcow",
12255 "qed",
12256 "qcow2",
12257 "vmdk",
12258 "cloop"
7aacca6f 12259 ],
7aacca6f
DM
12260 "optional" : 1,
12261 "type" : "string"
56122987 12262 },
44660702
DM
12263 "heads" : {
12264 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12265 "optional" : 1,
44660702 12266 "type" : "integer"
56122987 12267 },
44660702 12268 "iops" : {
de0983cb 12269 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12270 "format_description" : "iops",
56122987 12271 "optional" : 1,
44660702 12272 "type" : "integer"
56122987 12273 },
44660702 12274 "iops_max" : {
de0983cb 12275 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12276 "format_description" : "iops",
56122987 12277 "optional" : 1,
44660702 12278 "type" : "integer"
56122987 12279 },
de0983cb
DM
12280 "iops_max_length" : {
12281 "description" : "Maximum length of I/O bursts in seconds.",
12282 "format_description" : "seconds",
12283 "minimum" : 1,
12284 "optional" : 1,
12285 "type" : "integer"
12286 },
7aacca6f 12287 "iops_rd" : {
de0983cb 12288 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12289 "format_description" : "iops",
12290 "optional" : 1,
12291 "type" : "integer"
7aacca6f 12292 },
de0983cb 12293 "iops_rd_length" : {
5d9c884c 12294 "alias" : "iops_rd_max_length"
de0983cb 12295 },
44660702 12296 "iops_rd_max" : {
de0983cb 12297 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12298 "format_description" : "iops",
56122987 12299 "optional" : 1,
44660702 12300 "type" : "integer"
56122987 12301 },
5d9c884c
DM
12302 "iops_rd_max_length" : {
12303 "description" : "Maximum length of read I/O bursts in seconds.",
12304 "format_description" : "seconds",
12305 "minimum" : 1,
12306 "optional" : 1,
12307 "type" : "integer"
12308 },
44660702 12309 "iops_wr" : {
de0983cb 12310 "description" : "Maximum write I/O in operations per second.",
44660702 12311 "format_description" : "iops",
56122987 12312 "optional" : 1,
44660702 12313 "type" : "integer"
7aacca6f 12314 },
de0983cb 12315 "iops_wr_length" : {
5d9c884c 12316 "alias" : "iops_wr_max_length"
de0983cb 12317 },
44660702 12318 "iops_wr_max" : {
de0983cb 12319 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12320 "format_description" : "iops",
7aacca6f 12321 "optional" : 1,
44660702 12322 "type" : "integer"
56122987 12323 },
5d9c884c
DM
12324 "iops_wr_max_length" : {
12325 "description" : "Maximum length of write I/O bursts in seconds.",
12326 "format_description" : "seconds",
12327 "minimum" : 1,
12328 "optional" : 1,
12329 "type" : "integer"
12330 },
44660702 12331 "mbps" : {
de0983cb 12332 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12333 "format_description" : "mbps",
7aacca6f 12334 "optional" : 1,
44660702 12335 "type" : "number"
56122987 12336 },
44660702 12337 "mbps_max" : {
de0983cb 12338 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 12339 "format_description" : "mbps",
56122987 12340 "optional" : 1,
44660702 12341 "type" : "number"
56122987 12342 },
44660702 12343 "mbps_rd" : {
de0983cb 12344 "description" : "Maximum read speed in megabytes per second.",
44660702 12345 "format_description" : "mbps",
7aacca6f 12346 "optional" : 1,
44660702 12347 "type" : "number"
7aacca6f 12348 },
44660702 12349 "mbps_rd_max" : {
de0983cb 12350 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12351 "format_description" : "mbps",
56122987 12352 "optional" : 1,
44660702 12353 "type" : "number"
56122987 12354 },
44660702 12355 "mbps_wr" : {
de0983cb 12356 "description" : "Maximum write speed in megabytes per second.",
44660702 12357 "format_description" : "mbps",
7aacca6f 12358 "optional" : 1,
44660702 12359 "type" : "number"
56122987 12360 },
44660702 12361 "mbps_wr_max" : {
de0983cb 12362 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12363 "format_description" : "mbps",
56122987 12364 "optional" : 1,
44660702 12365 "type" : "number"
7aacca6f
DM
12366 },
12367 "media" : {
44660702
DM
12368 "default" : "disk",
12369 "description" : "The drive's media type.",
56122987 12370 "enum" : [
7aacca6f
DM
12371 "cdrom",
12372 "disk"
56122987 12373 ],
56122987 12374 "optional" : 1,
44660702 12375 "type" : "string"
56122987 12376 },
44660702
DM
12377 "model" : {
12378 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12379 "format" : "urlencoded",
12380 "format_description" : "model",
12381 "maxLength" : 120,
56122987 12382 "optional" : 1,
44660702 12383 "type" : "string"
56122987 12384 },
5d9c884c
DM
12385 "replicate" : {
12386 "default" : 1,
12387 "description" : "Whether the drive should considered for replication jobs.",
12388 "optional" : 1,
12389 "type" : "boolean"
12390 },
7aacca6f 12391 "rerror" : {
7aacca6f
DM
12392 "description" : "Read error action.",
12393 "enum" : [
12394 "ignore",
12395 "report",
12396 "stop"
44660702 12397 ],
44660702
DM
12398 "optional" : 1,
12399 "type" : "string"
56122987 12400 },
44660702
DM
12401 "secs" : {
12402 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12403 "optional" : 1,
44660702
DM
12404 "type" : "integer"
12405 },
12406 "serial" : {
12407 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12408 "format" : "urlencoded",
12409 "format_description" : "serial",
12410 "maxLength" : 60,
12411 "optional" : 1,
12412 "type" : "string"
12413 },
12414 "size" : {
12415 "description" : "Disk size. This is purely informational and has no effect.",
12416 "format" : "disk-size",
f004f5b9 12417 "format_description" : "DiskSize",
44660702
DM
12418 "optional" : 1,
12419 "type" : "string"
7aacca6f
DM
12420 },
12421 "snapshot" : {
44660702 12422 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 12423 "optional" : 1,
44660702 12424 "type" : "boolean"
7aacca6f 12425 },
44660702
DM
12426 "trans" : {
12427 "description" : "Force disk geometry bios translation mode.",
12428 "enum" : [
12429 "none",
12430 "lba",
12431 "auto"
12432 ],
7aacca6f 12433 "optional" : 1,
44660702
DM
12434 "type" : "string"
12435 },
12436 "volume" : {
12437 "alias" : "file"
12438 },
12439 "werror" : {
12440 "description" : "Write error action.",
12441 "enum" : [
12442 "enospc",
12443 "ignore",
12444 "report",
12445 "stop"
12446 ],
44660702
DM
12447 "optional" : 1,
12448 "type" : "string"
56122987
DM
12449 }
12450 },
56122987 12451 "optional" : 1,
4bd7df8b 12452 "type" : "string",
5d9c884c 12453 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 12454 },
56122987 12455 "keyboard" : {
35a75dd3
DM
12456 "default" : null,
12457 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
56122987 12458 "enum" : [
44660702
DM
12459 "de",
12460 "de-ch",
7aacca6f 12461 "da",
56122987 12462 "en-gb",
44660702
DM
12463 "en-us",
12464 "es",
12465 "fi",
12466 "fr",
12467 "fr-be",
12468 "fr-ca",
12469 "fr-ch",
12470 "hu",
7aacca6f 12471 "is",
44660702
DM
12472 "it",
12473 "ja",
12474 "lt",
56122987 12475 "mk",
7aacca6f 12476 "nl",
56122987 12477 "no",
44660702 12478 "pl",
7aacca6f 12479 "pt",
44660702
DM
12480 "pt-br",
12481 "sv",
12482 "sl",
12483 "tr"
56122987 12484 ],
44660702
DM
12485 "optional" : 1,
12486 "type" : "string"
56122987 12487 },
44660702
DM
12488 "kvm" : {
12489 "default" : 1,
12490 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 12491 "optional" : 1,
013dc89f
DM
12492 "type" : "boolean",
12493 "typetext" : "<boolean>"
7aacca6f 12494 },
44660702
DM
12495 "localtime" : {
12496 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 12497 "optional" : 1,
013dc89f
DM
12498 "type" : "boolean",
12499 "typetext" : "<boolean>"
44660702
DM
12500 },
12501 "lock" : {
12502 "description" : "Lock/unlock the VM.",
7aacca6f
DM
12503 "enum" : [
12504 "migrate",
12505 "backup",
12506 "snapshot",
12507 "rollback"
12508 ],
44660702
DM
12509 "optional" : 1,
12510 "type" : "string"
56122987 12511 },
44660702
DM
12512 "machine" : {
12513 "description" : "Specific the Qemu machine type.",
12514 "maxLength" : 40,
12515 "optional" : 1,
12516 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
12517 "type" : "string"
12518 },
12519 "memory" : {
12520 "default" : 512,
12521 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12522 "minimum" : 16,
12523 "optional" : 1,
4bd7df8b 12524 "type" : "integer",
013dc89f 12525 "typetext" : "<integer> (16 - N)"
44660702
DM
12526 },
12527 "migrate_downtime" : {
12528 "default" : 0.1,
12529 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12530 "minimum" : 0,
12531 "optional" : 1,
4bd7df8b 12532 "type" : "number",
013dc89f 12533 "typetext" : "<number> (0 - N)"
44660702
DM
12534 },
12535 "migrate_speed" : {
56122987 12536 "default" : 0,
44660702
DM
12537 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12538 "minimum" : 0,
56122987 12539 "optional" : 1,
4bd7df8b 12540 "type" : "integer",
013dc89f 12541 "typetext" : "<integer> (0 - N)"
56122987 12542 },
44660702
DM
12543 "name" : {
12544 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12545 "format" : "dns-name",
12546 "optional" : 1,
013dc89f
DM
12547 "type" : "string",
12548 "typetext" : "<string>"
44660702
DM
12549 },
12550 "net[n]" : {
c2993fe5 12551 "description" : "Specify network devices.",
f004f5b9
DM
12552 "format" : {
12553 "bridge" : {
c2993fe5 12554 "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
12555 "format_description" : "bridge",
12556 "optional" : 1,
12557 "type" : "string"
12558 },
12559 "e1000" : {
12560 "alias" : "macaddr",
12561 "keyAlias" : "model"
12562 },
12563 "e1000-82540em" : {
12564 "alias" : "macaddr",
12565 "keyAlias" : "model"
12566 },
12567 "e1000-82544gc" : {
12568 "alias" : "macaddr",
12569 "keyAlias" : "model"
12570 },
12571 "e1000-82545em" : {
12572 "alias" : "macaddr",
12573 "keyAlias" : "model"
12574 },
12575 "firewall" : {
12576 "description" : "Whether this interface should be protected by the firewall.",
12577 "optional" : 1,
12578 "type" : "boolean"
12579 },
12580 "i82551" : {
12581 "alias" : "macaddr",
12582 "keyAlias" : "model"
12583 },
12584 "i82557b" : {
12585 "alias" : "macaddr",
12586 "keyAlias" : "model"
12587 },
12588 "i82559er" : {
12589 "alias" : "macaddr",
12590 "keyAlias" : "model"
12591 },
12592 "link_down" : {
c2993fe5 12593 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
12594 "optional" : 1,
12595 "type" : "boolean"
12596 },
12597 "macaddr" : {
c2993fe5 12598 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 12599 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
12600 "optional" : 1,
12601 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
12602 "type" : "string"
12603 },
12604 "model" : {
12605 "default_key" : 1,
c2993fe5 12606 "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
12607 "enum" : [
12608 "rtl8139",
12609 "ne2k_pci",
12610 "e1000",
12611 "pcnet",
12612 "virtio",
12613 "ne2k_isa",
12614 "i82551",
12615 "i82557b",
12616 "i82559er",
12617 "vmxnet3",
12618 "e1000-82540em",
12619 "e1000-82544gc",
12620 "e1000-82545em"
12621 ],
f004f5b9
DM
12622 "type" : "string"
12623 },
12624 "ne2k_isa" : {
12625 "alias" : "macaddr",
12626 "keyAlias" : "model"
12627 },
12628 "ne2k_pci" : {
12629 "alias" : "macaddr",
12630 "keyAlias" : "model"
12631 },
12632 "pcnet" : {
12633 "alias" : "macaddr",
12634 "keyAlias" : "model"
12635 },
12636 "queues" : {
12637 "description" : "Number of packet queues to be used on the device.",
12638 "maximum" : 16,
12639 "minimum" : 0,
12640 "optional" : 1,
12641 "type" : "integer"
12642 },
12643 "rate" : {
c2993fe5 12644 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
12645 "minimum" : 0,
12646 "optional" : 1,
12647 "type" : "number"
12648 },
12649 "rtl8139" : {
12650 "alias" : "macaddr",
12651 "keyAlias" : "model"
12652 },
12653 "tag" : {
12654 "description" : "VLAN tag to apply to packets on this interface.",
12655 "maximum" : 4094,
c2993fe5 12656 "minimum" : 1,
f004f5b9
DM
12657 "optional" : 1,
12658 "type" : "integer"
12659 },
12660 "trunks" : {
12661 "description" : "VLAN trunks to pass through this interface.",
12662 "format_description" : "vlanid[;vlanid...]",
12663 "optional" : 1,
12664 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12665 "type" : "string"
12666 },
12667 "virtio" : {
12668 "alias" : "macaddr",
12669 "keyAlias" : "model"
12670 },
12671 "vmxnet3" : {
12672 "alias" : "macaddr",
12673 "keyAlias" : "model"
12674 }
12675 },
44660702 12676 "optional" : 1,
4bd7df8b 12677 "type" : "string",
013dc89f 12678 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
12679 },
12680 "node" : {
12681 "description" : "The cluster node name.",
12682 "format" : "pve-node",
013dc89f
DM
12683 "type" : "string",
12684 "typetext" : "<string>"
44660702
DM
12685 },
12686 "numa" : {
7aacca6f 12687 "default" : 0,
44660702
DM
12688 "description" : "Enable/disable NUMA.",
12689 "optional" : 1,
013dc89f
DM
12690 "type" : "boolean",
12691 "typetext" : "<boolean>"
56122987 12692 },
7aacca6f 12693 "numa[n]" : {
c2993fe5 12694 "description" : "NUMA topology.",
7aacca6f 12695 "format" : {
44660702 12696 "cpus" : {
c2993fe5 12697 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12698 "format_description" : "id[-id];...",
12699 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12700 "type" : "string"
12701 },
7aacca6f 12702 "hostnodes" : {
c2993fe5 12703 "description" : "Host NUMA nodes to use.",
44660702 12704 "format_description" : "id[-id];...",
7aacca6f 12705 "optional" : 1,
44660702
DM
12706 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12707 "type" : "string"
7aacca6f 12708 },
44660702 12709 "memory" : {
c2993fe5 12710 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
12711 "optional" : 1,
12712 "type" : "number"
7aacca6f
DM
12713 },
12714 "policy" : {
c2993fe5 12715 "description" : "NUMA allocation policy.",
7aacca6f
DM
12716 "enum" : [
12717 "preferred",
12718 "bind",
12719 "interleave"
12720 ],
7aacca6f 12721 "optional" : 1,
44660702 12722 "type" : "string"
7aacca6f
DM
12723 }
12724 },
56122987 12725 "optional" : 1,
4bd7df8b
DM
12726 "type" : "string",
12727 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 12728 },
44660702
DM
12729 "onboot" : {
12730 "default" : 0,
12731 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 12732 "optional" : 1,
013dc89f
DM
12733 "type" : "boolean",
12734 "typetext" : "<boolean>"
56122987
DM
12735 },
12736 "ostype" : {
c2993fe5 12737 "description" : "Specify guest operating system.",
56122987
DM
12738 "enum" : [
12739 "other",
12740 "wxp",
12741 "w2k",
12742 "w2k3",
12743 "w2k8",
12744 "wvista",
12745 "win7",
12746 "win8",
32d876b5 12747 "win10",
56122987
DM
12748 "l24",
12749 "l26",
12750 "solaris"
44660702 12751 ],
56122987 12752 "optional" : 1,
c2993fe5 12753 "type" : "string",
35a75dd3 12754 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 12755 },
44660702 12756 "parallel[n]" : {
c2993fe5 12757 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 12758 "optional" : 1,
44660702 12759 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
12760 "type" : "string",
12761 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
56122987 12762 },
44660702
DM
12763 "pool" : {
12764 "description" : "Add the VM to the specified pool.",
12765 "format" : "pve-poolid",
56122987 12766 "optional" : 1,
013dc89f
DM
12767 "type" : "string",
12768 "typetext" : "<string>"
56122987 12769 },
44660702
DM
12770 "protection" : {
12771 "default" : 0,
c2993fe5 12772 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 12773 "optional" : 1,
013dc89f
DM
12774 "type" : "boolean",
12775 "typetext" : "<boolean>"
56122987 12776 },
44660702 12777 "reboot" : {
7aacca6f 12778 "default" : 1,
44660702
DM
12779 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
12780 "optional" : 1,
013dc89f
DM
12781 "type" : "boolean",
12782 "typetext" : "<boolean>"
56122987 12783 },
56122987 12784 "sata[n]" : {
44660702 12785 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 12786 "format" : {
7aacca6f 12787 "aio" : {
44660702 12788 "description" : "AIO type to use.",
56122987 12789 "enum" : [
7aacca6f
DM
12790 "native",
12791 "threads"
56122987 12792 ],
7aacca6f 12793 "optional" : 1,
44660702 12794 "type" : "string"
7aacca6f
DM
12795 },
12796 "backup" : {
7aacca6f 12797 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12798 "optional" : 1,
44660702 12799 "type" : "boolean"
56122987 12800 },
44660702 12801 "bps" : {
de0983cb 12802 "description" : "Maximum r/w speed in bytes per second.",
44660702 12803 "format_description" : "bps",
7aacca6f 12804 "optional" : 1,
44660702 12805 "type" : "integer"
56122987 12806 },
de0983cb
DM
12807 "bps_max_length" : {
12808 "description" : "Maximum length of I/O bursts in seconds.",
12809 "format_description" : "seconds",
12810 "minimum" : 1,
12811 "optional" : 1,
12812 "type" : "integer"
12813 },
44660702 12814 "bps_rd" : {
de0983cb 12815 "description" : "Maximum read speed in bytes per second.",
44660702 12816 "format_description" : "bps",
56122987 12817 "optional" : 1,
44660702 12818 "type" : "integer"
7aacca6f 12819 },
de0983cb 12820 "bps_rd_length" : {
5d9c884c
DM
12821 "alias" : "bps_rd_max_length"
12822 },
12823 "bps_rd_max_length" : {
de0983cb
DM
12824 "description" : "Maximum length of read I/O bursts in seconds.",
12825 "format_description" : "seconds",
12826 "minimum" : 1,
12827 "optional" : 1,
12828 "type" : "integer"
12829 },
44660702 12830 "bps_wr" : {
de0983cb 12831 "description" : "Maximum write speed in bytes per second.",
44660702 12832 "format_description" : "bps",
56122987 12833 "optional" : 1,
44660702 12834 "type" : "integer"
56122987 12835 },
de0983cb 12836 "bps_wr_length" : {
5d9c884c
DM
12837 "alias" : "bps_wr_max_length"
12838 },
12839 "bps_wr_max_length" : {
de0983cb
DM
12840 "description" : "Maximum length of write I/O bursts in seconds.",
12841 "format_description" : "seconds",
12842 "minimum" : 1,
12843 "optional" : 1,
12844 "type" : "integer"
12845 },
7aacca6f 12846 "cache" : {
7aacca6f
DM
12847 "description" : "The drive's cache mode",
12848 "enum" : [
12849 "none",
12850 "writethrough",
12851 "writeback",
12852 "unsafe",
12853 "directsync"
12854 ],
44660702
DM
12855 "optional" : 1,
12856 "type" : "string"
56122987 12857 },
44660702
DM
12858 "cyls" : {
12859 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12860 "optional" : 1,
7aacca6f 12861 "type" : "integer"
56122987 12862 },
7aacca6f
DM
12863 "detect_zeroes" : {
12864 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12865 "optional" : 1,
7aacca6f 12866 "type" : "boolean"
56122987 12867 },
44660702
DM
12868 "discard" : {
12869 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12870 "enum" : [
12871 "ignore",
12872 "on"
12873 ],
56122987 12874 "optional" : 1,
44660702 12875 "type" : "string"
56122987 12876 },
44660702
DM
12877 "file" : {
12878 "default_key" : 1,
12879 "description" : "The drive's backing volume.",
12880 "format" : "pve-volume-id-or-qm-path",
12881 "format_description" : "volume",
12882 "type" : "string"
56122987
DM
12883 },
12884 "format" : {
44660702 12885 "description" : "The drive's backing file's data format.",
56122987
DM
12886 "enum" : [
12887 "raw",
12888 "cow",
12889 "qcow",
12890 "qed",
12891 "qcow2",
12892 "vmdk",
12893 "cloop"
12894 ],
56122987 12895 "optional" : 1,
44660702 12896 "type" : "string"
56122987 12897 },
7aacca6f 12898 "heads" : {
7aacca6f 12899 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12900 "optional" : 1,
12901 "type" : "integer"
56122987 12902 },
44660702 12903 "iops" : {
de0983cb 12904 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12905 "format_description" : "iops",
12906 "optional" : 1,
12907 "type" : "integer"
56122987 12908 },
44660702 12909 "iops_max" : {
de0983cb 12910 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12911 "format_description" : "iops",
56122987 12912 "optional" : 1,
44660702 12913 "type" : "integer"
56122987 12914 },
de0983cb
DM
12915 "iops_max_length" : {
12916 "description" : "Maximum length of I/O bursts in seconds.",
12917 "format_description" : "seconds",
12918 "minimum" : 1,
12919 "optional" : 1,
12920 "type" : "integer"
12921 },
44660702 12922 "iops_rd" : {
de0983cb 12923 "description" : "Maximum read I/O in operations per second.",
44660702 12924 "format_description" : "iops",
56122987 12925 "optional" : 1,
44660702 12926 "type" : "integer"
56122987 12927 },
de0983cb 12928 "iops_rd_length" : {
5d9c884c 12929 "alias" : "iops_rd_max_length"
de0983cb 12930 },
44660702 12931 "iops_rd_max" : {
de0983cb 12932 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12933 "format_description" : "iops",
56122987 12934 "optional" : 1,
44660702 12935 "type" : "integer"
56122987 12936 },
5d9c884c
DM
12937 "iops_rd_max_length" : {
12938 "description" : "Maximum length of read I/O bursts in seconds.",
12939 "format_description" : "seconds",
12940 "minimum" : 1,
12941 "optional" : 1,
12942 "type" : "integer"
12943 },
44660702 12944 "iops_wr" : {
de0983cb 12945 "description" : "Maximum write I/O in operations per second.",
44660702 12946 "format_description" : "iops",
7aacca6f 12947 "optional" : 1,
44660702 12948 "type" : "integer"
7aacca6f 12949 },
de0983cb 12950 "iops_wr_length" : {
5d9c884c 12951 "alias" : "iops_wr_max_length"
de0983cb 12952 },
44660702 12953 "iops_wr_max" : {
de0983cb 12954 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12955 "format_description" : "iops",
56122987 12956 "optional" : 1,
7aacca6f 12957 "type" : "integer"
56122987 12958 },
5d9c884c
DM
12959 "iops_wr_max_length" : {
12960 "description" : "Maximum length of write I/O bursts in seconds.",
12961 "format_description" : "seconds",
12962 "minimum" : 1,
12963 "optional" : 1,
12964 "type" : "integer"
12965 },
44660702 12966 "mbps" : {
de0983cb 12967 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12968 "format_description" : "mbps",
56122987 12969 "optional" : 1,
44660702 12970 "type" : "number"
56122987 12971 },
44660702 12972 "mbps_max" : {
de0983cb 12973 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12974 "format_description" : "mbps",
7aacca6f 12975 "optional" : 1,
44660702 12976 "type" : "number"
7aacca6f 12977 },
44660702 12978 "mbps_rd" : {
de0983cb 12979 "description" : "Maximum read speed in megabytes per second.",
44660702 12980 "format_description" : "mbps",
7aacca6f 12981 "optional" : 1,
44660702 12982 "type" : "number"
7aacca6f 12983 },
44660702 12984 "mbps_rd_max" : {
de0983cb 12985 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12986 "format_description" : "mbps",
7aacca6f 12987 "optional" : 1,
44660702 12988 "type" : "number"
7aacca6f 12989 },
44660702 12990 "mbps_wr" : {
de0983cb 12991 "description" : "Maximum write speed in megabytes per second.",
44660702 12992 "format_description" : "mbps",
7aacca6f 12993 "optional" : 1,
44660702 12994 "type" : "number"
7aacca6f
DM
12995 },
12996 "mbps_wr_max" : {
de0983cb 12997 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12998 "format_description" : "mbps",
7aacca6f 12999 "optional" : 1,
44660702 13000 "type" : "number"
7aacca6f 13001 },
44660702
DM
13002 "media" : {
13003 "default" : "disk",
13004 "description" : "The drive's media type.",
56122987 13005 "enum" : [
44660702
DM
13006 "cdrom",
13007 "disk"
56122987 13008 ],
56122987 13009 "optional" : 1,
44660702 13010 "type" : "string"
56122987 13011 },
5d9c884c
DM
13012 "replicate" : {
13013 "default" : 1,
13014 "description" : "Whether the drive should considered for replication jobs.",
13015 "optional" : 1,
13016 "type" : "boolean"
13017 },
44660702
DM
13018 "rerror" : {
13019 "description" : "Read error action.",
7aacca6f
DM
13020 "enum" : [
13021 "ignore",
44660702
DM
13022 "report",
13023 "stop"
7aacca6f 13024 ],
56122987 13025 "optional" : 1,
44660702 13026 "type" : "string"
56122987 13027 },
44660702
DM
13028 "secs" : {
13029 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 13030 "optional" : 1,
44660702 13031 "type" : "integer"
56122987 13032 },
44660702
DM
13033 "serial" : {
13034 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13035 "format" : "urlencoded",
13036 "format_description" : "serial",
13037 "maxLength" : 60,
13038 "optional" : 1,
13039 "type" : "string"
7aacca6f
DM
13040 },
13041 "size" : {
13042 "description" : "Disk size. This is purely informational and has no effect.",
44660702 13043 "format" : "disk-size",
f004f5b9 13044 "format_description" : "DiskSize",
56122987 13045 "optional" : 1,
44660702 13046 "type" : "string"
56122987 13047 },
44660702
DM
13048 "snapshot" : {
13049 "description" : "Whether the drive should be included when making snapshots.",
56122987 13050 "optional" : 1,
44660702 13051 "type" : "boolean"
56122987 13052 },
44660702
DM
13053 "trans" : {
13054 "description" : "Force disk geometry bios translation mode.",
56122987 13055 "enum" : [
44660702
DM
13056 "none",
13057 "lba",
13058 "auto"
7aacca6f 13059 ],
44660702
DM
13060 "optional" : 1,
13061 "type" : "string"
13062 },
13063 "volume" : {
13064 "alias" : "file"
56122987
DM
13065 },
13066 "werror" : {
56122987
DM
13067 "description" : "Write error action.",
13068 "enum" : [
13069 "enospc",
13070 "ignore",
13071 "report",
13072 "stop"
13073 ],
56122987 13074 "optional" : 1,
44660702
DM
13075 "type" : "string"
13076 }
13077 },
13078 "optional" : 1,
4bd7df8b 13079 "type" : "string",
5d9c884c 13080 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
13081 },
13082 "scsi[n]" : {
13083 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
13084 "format" : {
13085 "aio" : {
13086 "description" : "AIO type to use.",
13087 "enum" : [
13088 "native",
13089 "threads"
13090 ],
44660702
DM
13091 "optional" : 1,
13092 "type" : "string"
56122987 13093 },
7aacca6f 13094 "backup" : {
44660702 13095 "description" : "Whether the drive should be included when making backups.",
7aacca6f 13096 "optional" : 1,
44660702 13097 "type" : "boolean"
7aacca6f 13098 },
44660702 13099 "bps" : {
de0983cb 13100 "description" : "Maximum r/w speed in bytes per second.",
44660702 13101 "format_description" : "bps",
7aacca6f 13102 "optional" : 1,
44660702 13103 "type" : "integer"
7aacca6f 13104 },
de0983cb
DM
13105 "bps_max_length" : {
13106 "description" : "Maximum length of I/O bursts in seconds.",
13107 "format_description" : "seconds",
13108 "minimum" : 1,
13109 "optional" : 1,
13110 "type" : "integer"
13111 },
44660702 13112 "bps_rd" : {
de0983cb 13113 "description" : "Maximum read speed in bytes per second.",
44660702 13114 "format_description" : "bps",
56122987 13115 "optional" : 1,
44660702 13116 "type" : "integer"
56122987 13117 },
de0983cb 13118 "bps_rd_length" : {
5d9c884c
DM
13119 "alias" : "bps_rd_max_length"
13120 },
13121 "bps_rd_max_length" : {
de0983cb
DM
13122 "description" : "Maximum length of read I/O bursts in seconds.",
13123 "format_description" : "seconds",
13124 "minimum" : 1,
13125 "optional" : 1,
13126 "type" : "integer"
13127 },
44660702 13128 "bps_wr" : {
de0983cb 13129 "description" : "Maximum write speed in bytes per second.",
44660702 13130 "format_description" : "bps",
7aacca6f 13131 "optional" : 1,
44660702 13132 "type" : "integer"
56122987 13133 },
de0983cb 13134 "bps_wr_length" : {
5d9c884c
DM
13135 "alias" : "bps_wr_max_length"
13136 },
13137 "bps_wr_max_length" : {
de0983cb
DM
13138 "description" : "Maximum length of write I/O bursts in seconds.",
13139 "format_description" : "seconds",
13140 "minimum" : 1,
13141 "optional" : 1,
13142 "type" : "integer"
13143 },
44660702
DM
13144 "cache" : {
13145 "description" : "The drive's cache mode",
7aacca6f
DM
13146 "enum" : [
13147 "none",
44660702
DM
13148 "writethrough",
13149 "writeback",
13150 "unsafe",
13151 "directsync"
7aacca6f 13152 ],
56122987 13153 "optional" : 1,
44660702 13154 "type" : "string"
56122987 13155 },
7aacca6f
DM
13156 "cyls" : {
13157 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13158 "optional" : 1,
44660702 13159 "type" : "integer"
7aacca6f 13160 },
44660702
DM
13161 "detect_zeroes" : {
13162 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13163 "optional" : 1,
44660702 13164 "type" : "boolean"
56122987 13165 },
44660702
DM
13166 "discard" : {
13167 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 13168 "enum" : [
44660702
DM
13169 "ignore",
13170 "on"
7aacca6f 13171 ],
7aacca6f 13172 "optional" : 1,
44660702 13173 "type" : "string"
56122987
DM
13174 },
13175 "file" : {
7aacca6f
DM
13176 "default_key" : 1,
13177 "description" : "The drive's backing volume.",
44660702
DM
13178 "format" : "pve-volume-id-or-qm-path",
13179 "format_description" : "volume",
7aacca6f 13180 "type" : "string"
56122987 13181 },
7aacca6f 13182 "format" : {
44660702 13183 "description" : "The drive's backing file's data format.",
56122987 13184 "enum" : [
7aacca6f
DM
13185 "raw",
13186 "cow",
13187 "qcow",
13188 "qed",
13189 "qcow2",
13190 "vmdk",
13191 "cloop"
56122987 13192 ],
44660702
DM
13193 "optional" : 1,
13194 "type" : "string"
56122987 13195 },
44660702
DM
13196 "heads" : {
13197 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13198 "optional" : 1,
13199 "type" : "integer"
13200 },
13201 "iops" : {
de0983cb 13202 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 13203 "format_description" : "iops",
56122987 13204 "optional" : 1,
44660702 13205 "type" : "integer"
56122987 13206 },
44660702 13207 "iops_max" : {
de0983cb 13208 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13209 "format_description" : "iops",
7aacca6f 13210 "optional" : 1,
44660702 13211 "type" : "integer"
56122987 13212 },
de0983cb
DM
13213 "iops_max_length" : {
13214 "description" : "Maximum length of I/O bursts in seconds.",
13215 "format_description" : "seconds",
13216 "minimum" : 1,
13217 "optional" : 1,
13218 "type" : "integer"
13219 },
44660702 13220 "iops_rd" : {
de0983cb 13221 "description" : "Maximum read I/O in operations per second.",
44660702 13222 "format_description" : "iops",
56122987 13223 "optional" : 1,
44660702 13224 "type" : "integer"
56122987 13225 },
de0983cb 13226 "iops_rd_length" : {
5d9c884c 13227 "alias" : "iops_rd_max_length"
de0983cb 13228 },
44660702 13229 "iops_rd_max" : {
de0983cb 13230 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13231 "format_description" : "iops",
13232 "optional" : 1,
13233 "type" : "integer"
56122987 13234 },
5d9c884c
DM
13235 "iops_rd_max_length" : {
13236 "description" : "Maximum length of read I/O bursts in seconds.",
13237 "format_description" : "seconds",
13238 "minimum" : 1,
13239 "optional" : 1,
13240 "type" : "integer"
13241 },
44660702 13242 "iops_wr" : {
de0983cb 13243 "description" : "Maximum write I/O in operations per second.",
44660702 13244 "format_description" : "iops",
56122987 13245 "optional" : 1,
44660702 13246 "type" : "integer"
56122987 13247 },
de0983cb 13248 "iops_wr_length" : {
5d9c884c 13249 "alias" : "iops_wr_max_length"
de0983cb 13250 },
44660702 13251 "iops_wr_max" : {
de0983cb 13252 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13253 "format_description" : "iops",
56122987 13254 "optional" : 1,
56122987
DM
13255 "type" : "integer"
13256 },
5d9c884c
DM
13257 "iops_wr_max_length" : {
13258 "description" : "Maximum length of write I/O bursts in seconds.",
13259 "format_description" : "seconds",
13260 "minimum" : 1,
13261 "optional" : 1,
13262 "type" : "integer"
13263 },
44660702
DM
13264 "iothread" : {
13265 "description" : "Whether to use iothreads for this drive",
44660702
DM
13266 "optional" : 1,
13267 "type" : "boolean"
13268 },
13269 "mbps" : {
de0983cb 13270 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13271 "format_description" : "mbps",
13272 "optional" : 1,
13273 "type" : "number"
13274 },
7aacca6f 13275 "mbps_max" : {
de0983cb 13276 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13277 "format_description" : "mbps",
56122987 13278 "optional" : 1,
44660702 13279 "type" : "number"
56122987 13280 },
44660702 13281 "mbps_rd" : {
de0983cb 13282 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13283 "format_description" : "mbps",
13284 "optional" : 1,
13285 "type" : "number"
56122987 13286 },
44660702 13287 "mbps_rd_max" : {
de0983cb 13288 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13289 "format_description" : "mbps",
56122987 13290 "optional" : 1,
44660702 13291 "type" : "number"
56122987 13292 },
44660702 13293 "mbps_wr" : {
de0983cb 13294 "description" : "Maximum write speed in megabytes per second.",
44660702 13295 "format_description" : "mbps",
56122987 13296 "optional" : 1,
44660702 13297 "type" : "number"
56122987 13298 },
44660702 13299 "mbps_wr_max" : {
de0983cb 13300 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 13301 "format_description" : "mbps",
7aacca6f 13302 "optional" : 1,
44660702 13303 "type" : "number"
56122987 13304 },
7aacca6f 13305 "media" : {
44660702 13306 "default" : "disk",
7aacca6f
DM
13307 "description" : "The drive's media type.",
13308 "enum" : [
13309 "cdrom",
13310 "disk"
13311 ],
56122987 13312 "optional" : 1,
44660702 13313 "type" : "string"
56122987 13314 },
44660702
DM
13315 "queues" : {
13316 "description" : "Number of queues.",
44660702
DM
13317 "minimum" : 2,
13318 "optional" : 1,
13319 "type" : "integer"
56122987 13320 },
5d9c884c
DM
13321 "replicate" : {
13322 "default" : 1,
13323 "description" : "Whether the drive should considered for replication jobs.",
13324 "optional" : 1,
13325 "type" : "boolean"
13326 },
13327 "rerror" : {
13328 "description" : "Read error action.",
13329 "enum" : [
13330 "ignore",
13331 "report",
13332 "stop"
13333 ],
13334 "optional" : 1,
13335 "type" : "string"
13336 },
52e44c50
FG
13337 "scsiblock" : {
13338 "default" : 0,
13339 "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",
13340 "optional" : 1,
13341 "type" : "boolean"
13342 },
7aacca6f 13343 "secs" : {
7aacca6f 13344 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13345 "optional" : 1,
13346 "type" : "integer"
13347 },
13348 "serial" : {
13349 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13350 "format" : "urlencoded",
13351 "format_description" : "serial",
13352 "maxLength" : 60,
13353 "optional" : 1,
13354 "type" : "string"
13355 },
13356 "size" : {
13357 "description" : "Disk size. This is purely informational and has no effect.",
13358 "format" : "disk-size",
f004f5b9 13359 "format_description" : "DiskSize",
44660702
DM
13360 "optional" : 1,
13361 "type" : "string"
13362 },
13363 "snapshot" : {
13364 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
13365 "optional" : 1,
13366 "type" : "boolean"
13367 },
13368 "trans" : {
13369 "description" : "Force disk geometry bios translation mode.",
13370 "enum" : [
13371 "none",
13372 "lba",
13373 "auto"
13374 ],
44660702
DM
13375 "optional" : 1,
13376 "type" : "string"
13377 },
13378 "volume" : {
13379 "alias" : "file"
13380 },
13381 "werror" : {
13382 "description" : "Write error action.",
13383 "enum" : [
13384 "enospc",
13385 "ignore",
13386 "report",
13387 "stop"
13388 ],
44660702
DM
13389 "optional" : 1,
13390 "type" : "string"
56122987
DM
13391 }
13392 },
7aacca6f 13393 "optional" : 1,
4bd7df8b 13394 "type" : "string",
5d9c884c 13395 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 13396 },
44660702
DM
13397 "scsihw" : {
13398 "default" : "lsi",
c2993fe5 13399 "description" : "SCSI controller model",
44660702
DM
13400 "enum" : [
13401 "lsi",
13402 "lsi53c810",
13403 "virtio-scsi-pci",
13404 "virtio-scsi-single",
13405 "megasas",
13406 "pvscsi"
13407 ],
7aacca6f 13408 "optional" : 1,
44660702 13409 "type" : "string"
7aacca6f 13410 },
44660702 13411 "serial[n]" : {
c2993fe5 13412 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
13413 "optional" : 1,
13414 "pattern" : "(/dev/.+|socket)",
c2993fe5 13415 "type" : "string",
57b78691 13416 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
44660702
DM
13417 },
13418 "shares" : {
13419 "default" : 1000,
13420 "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",
13421 "maximum" : 50000,
13422 "minimum" : 0,
13423 "optional" : 1,
4bd7df8b 13424 "type" : "integer",
013dc89f 13425 "typetext" : "<integer> (0 - 50000)"
44660702
DM
13426 },
13427 "smbios1" : {
13428 "description" : "Specify SMBIOS type 1 fields.",
13429 "format" : "pve-qm-smbios1",
13430 "maxLength" : 256,
7aacca6f 13431 "optional" : 1,
4bd7df8b
DM
13432 "type" : "string",
13433 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
13434 },
13435 "smp" : {
44660702 13436 "default" : 1,
7aacca6f 13437 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 13438 "minimum" : 1,
56122987 13439 "optional" : 1,
4bd7df8b 13440 "type" : "integer",
013dc89f 13441 "typetext" : "<integer> (1 - N)"
44660702
DM
13442 },
13443 "sockets" : {
7aacca6f 13444 "default" : 1,
44660702
DM
13445 "description" : "The number of CPU sockets.",
13446 "minimum" : 1,
13447 "optional" : 1,
4bd7df8b 13448 "type" : "integer",
013dc89f 13449 "typetext" : "<integer> (1 - N)"
7aacca6f 13450 },
44660702
DM
13451 "startdate" : {
13452 "default" : "now",
13453 "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'.",
13454 "optional" : 1,
13455 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
13456 "type" : "string",
13457 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
13458 },
13459 "startup" : {
13460 "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.",
13461 "format" : "pve-startup-order",
13462 "optional" : 1,
13463 "type" : "string",
13464 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13465 },
13466 "storage" : {
13467 "description" : "Default storage.",
13468 "format" : "pve-storage-id",
7aacca6f 13469 "optional" : 1,
013dc89f
DM
13470 "type" : "string",
13471 "typetext" : "<string>"
56122987 13472 },
44660702
DM
13473 "tablet" : {
13474 "default" : 1,
c2993fe5 13475 "description" : "Enable/disable the USB tablet device.",
56122987 13476 "optional" : 1,
c2993fe5 13477 "type" : "boolean",
013dc89f 13478 "typetext" : "<boolean>",
c2993fe5 13479 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
44660702
DM
13480 },
13481 "tdf" : {
13482 "default" : 0,
13483 "description" : "Enable/disable time drift fix.",
13484 "optional" : 1,
013dc89f
DM
13485 "type" : "boolean",
13486 "typetext" : "<boolean>"
7aacca6f
DM
13487 },
13488 "template" : {
7aacca6f 13489 "default" : 0,
44660702 13490 "description" : "Enable/disable Template.",
7aacca6f 13491 "optional" : 1,
013dc89f
DM
13492 "type" : "boolean",
13493 "typetext" : "<boolean>"
7aacca6f 13494 },
44660702
DM
13495 "unique" : {
13496 "description" : "Assign a unique random ethernet address.",
7aacca6f 13497 "optional" : 1,
44660702 13498 "requires" : "archive",
013dc89f
DM
13499 "type" : "boolean",
13500 "typetext" : "<boolean>"
56122987 13501 },
44660702 13502 "unused[n]" : {
c2993fe5 13503 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13504 "format" : "pve-volume-id",
7aacca6f 13505 "optional" : 1,
013dc89f
DM
13506 "type" : "string",
13507 "typetext" : "<string>"
44660702
DM
13508 },
13509 "usb[n]" : {
c2993fe5 13510 "description" : "Configure an USB device (n is 0 to 4).",
56122987 13511 "format" : {
7aacca6f
DM
13512 "host" : {
13513 "default_key" : 1,
c2993fe5 13514 "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
7aacca6f 13515 "format" : "pve-qm-usb-device",
44660702
DM
13516 "format_description" : "HOSTUSBDEVICE|spice",
13517 "type" : "string"
7aacca6f 13518 },
56122987 13519 "usb3" : {
c2993fe5
DM
13520 "default" : 0,
13521 "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
56122987 13522 "optional" : 1,
56122987 13523 "type" : "boolean"
7aacca6f 13524 }
56122987 13525 },
56122987 13526 "optional" : 1,
4bd7df8b
DM
13527 "type" : "string",
13528 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 13529 },
44660702
DM
13530 "vcpus" : {
13531 "default" : 0,
13532 "description" : "Number of hotplugged vcpus.",
13533 "minimum" : 1,
56122987 13534 "optional" : 1,
4bd7df8b 13535 "type" : "integer",
013dc89f 13536 "typetext" : "<integer> (1 - N)"
7aacca6f 13537 },
44660702 13538 "vga" : {
c2993fe5 13539 "description" : "Select the VGA type.",
44660702
DM
13540 "enum" : [
13541 "std",
13542 "cirrus",
13543 "vmware",
13544 "qxl",
13545 "serial0",
13546 "serial1",
13547 "serial2",
13548 "serial3",
13549 "qxl2",
13550 "qxl3",
13551 "qxl4"
13552 ],
13553 "optional" : 1,
c2993fe5
DM
13554 "type" : "string",
13555 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
7aacca6f 13556 },
44660702
DM
13557 "virtio[n]" : {
13558 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
13559 "format" : {
13560 "aio" : {
13561 "description" : "AIO type to use.",
13562 "enum" : [
13563 "native",
13564 "threads"
13565 ],
44660702
DM
13566 "optional" : 1,
13567 "type" : "string"
13568 },
13569 "backup" : {
13570 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13571 "optional" : 1,
13572 "type" : "boolean"
13573 },
13574 "bps" : {
de0983cb 13575 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
13576 "format_description" : "bps",
13577 "optional" : 1,
13578 "type" : "integer"
13579 },
de0983cb
DM
13580 "bps_max_length" : {
13581 "description" : "Maximum length of I/O bursts in seconds.",
13582 "format_description" : "seconds",
13583 "minimum" : 1,
13584 "optional" : 1,
13585 "type" : "integer"
13586 },
44660702 13587 "bps_rd" : {
de0983cb 13588 "description" : "Maximum read speed in bytes per second.",
44660702
DM
13589 "format_description" : "bps",
13590 "optional" : 1,
13591 "type" : "integer"
13592 },
de0983cb 13593 "bps_rd_length" : {
5d9c884c
DM
13594 "alias" : "bps_rd_max_length"
13595 },
13596 "bps_rd_max_length" : {
de0983cb
DM
13597 "description" : "Maximum length of read I/O bursts in seconds.",
13598 "format_description" : "seconds",
13599 "minimum" : 1,
13600 "optional" : 1,
13601 "type" : "integer"
13602 },
44660702 13603 "bps_wr" : {
de0983cb 13604 "description" : "Maximum write speed in bytes per second.",
44660702
DM
13605 "format_description" : "bps",
13606 "optional" : 1,
13607 "type" : "integer"
13608 },
de0983cb 13609 "bps_wr_length" : {
5d9c884c
DM
13610 "alias" : "bps_wr_max_length"
13611 },
13612 "bps_wr_max_length" : {
de0983cb
DM
13613 "description" : "Maximum length of write I/O bursts in seconds.",
13614 "format_description" : "seconds",
13615 "minimum" : 1,
13616 "optional" : 1,
13617 "type" : "integer"
13618 },
44660702
DM
13619 "cache" : {
13620 "description" : "The drive's cache mode",
13621 "enum" : [
13622 "none",
13623 "writethrough",
13624 "writeback",
13625 "unsafe",
13626 "directsync"
13627 ],
44660702
DM
13628 "optional" : 1,
13629 "type" : "string"
13630 },
13631 "cyls" : {
13632 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13633 "optional" : 1,
13634 "type" : "integer"
13635 },
13636 "detect_zeroes" : {
13637 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13638 "optional" : 1,
13639 "type" : "boolean"
13640 },
13641 "discard" : {
13642 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13643 "enum" : [
13644 "ignore",
13645 "on"
13646 ],
44660702
DM
13647 "optional" : 1,
13648 "type" : "string"
13649 },
13650 "file" : {
13651 "default_key" : 1,
13652 "description" : "The drive's backing volume.",
13653 "format" : "pve-volume-id-or-qm-path",
13654 "format_description" : "volume",
13655 "type" : "string"
13656 },
13657 "format" : {
13658 "description" : "The drive's backing file's data format.",
13659 "enum" : [
13660 "raw",
13661 "cow",
13662 "qcow",
13663 "qed",
13664 "qcow2",
13665 "vmdk",
13666 "cloop"
13667 ],
44660702
DM
13668 "optional" : 1,
13669 "type" : "string"
13670 },
13671 "heads" : {
13672 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13673 "optional" : 1,
13674 "type" : "integer"
13675 },
13676 "iops" : {
de0983cb 13677 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
13678 "format_description" : "iops",
13679 "optional" : 1,
13680 "type" : "integer"
13681 },
13682 "iops_max" : {
de0983cb 13683 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
13684 "format_description" : "iops",
13685 "optional" : 1,
13686 "type" : "integer"
13687 },
de0983cb
DM
13688 "iops_max_length" : {
13689 "description" : "Maximum length of I/O bursts in seconds.",
13690 "format_description" : "seconds",
13691 "minimum" : 1,
13692 "optional" : 1,
13693 "type" : "integer"
13694 },
44660702 13695 "iops_rd" : {
de0983cb 13696 "description" : "Maximum read I/O in operations per second.",
44660702
DM
13697 "format_description" : "iops",
13698 "optional" : 1,
13699 "type" : "integer"
13700 },
de0983cb 13701 "iops_rd_length" : {
5d9c884c 13702 "alias" : "iops_rd_max_length"
de0983cb 13703 },
44660702 13704 "iops_rd_max" : {
de0983cb 13705 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13706 "format_description" : "iops",
13707 "optional" : 1,
13708 "type" : "integer"
13709 },
5d9c884c
DM
13710 "iops_rd_max_length" : {
13711 "description" : "Maximum length of read I/O bursts in seconds.",
13712 "format_description" : "seconds",
13713 "minimum" : 1,
13714 "optional" : 1,
13715 "type" : "integer"
13716 },
44660702 13717 "iops_wr" : {
de0983cb 13718 "description" : "Maximum write I/O in operations per second.",
44660702
DM
13719 "format_description" : "iops",
13720 "optional" : 1,
13721 "type" : "integer"
13722 },
de0983cb 13723 "iops_wr_length" : {
5d9c884c 13724 "alias" : "iops_wr_max_length"
de0983cb 13725 },
44660702 13726 "iops_wr_max" : {
de0983cb 13727 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13728 "format_description" : "iops",
13729 "optional" : 1,
13730 "type" : "integer"
13731 },
5d9c884c
DM
13732 "iops_wr_max_length" : {
13733 "description" : "Maximum length of write I/O bursts in seconds.",
13734 "format_description" : "seconds",
13735 "minimum" : 1,
13736 "optional" : 1,
13737 "type" : "integer"
13738 },
44660702
DM
13739 "iothread" : {
13740 "description" : "Whether to use iothreads for this drive",
44660702
DM
13741 "optional" : 1,
13742 "type" : "boolean"
13743 },
13744 "mbps" : {
de0983cb 13745 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13746 "format_description" : "mbps",
13747 "optional" : 1,
13748 "type" : "number"
13749 },
13750 "mbps_max" : {
de0983cb 13751 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13752 "format_description" : "mbps",
13753 "optional" : 1,
13754 "type" : "number"
13755 },
13756 "mbps_rd" : {
de0983cb 13757 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13758 "format_description" : "mbps",
13759 "optional" : 1,
13760 "type" : "number"
13761 },
13762 "mbps_rd_max" : {
de0983cb 13763 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13764 "format_description" : "mbps",
13765 "optional" : 1,
13766 "type" : "number"
13767 },
13768 "mbps_wr" : {
de0983cb 13769 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13770 "format_description" : "mbps",
13771 "optional" : 1,
13772 "type" : "number"
13773 },
13774 "mbps_wr_max" : {
de0983cb 13775 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13776 "format_description" : "mbps",
13777 "optional" : 1,
13778 "type" : "number"
13779 },
13780 "media" : {
13781 "default" : "disk",
13782 "description" : "The drive's media type.",
13783 "enum" : [
13784 "cdrom",
13785 "disk"
13786 ],
44660702
DM
13787 "optional" : 1,
13788 "type" : "string"
13789 },
5d9c884c
DM
13790 "replicate" : {
13791 "default" : 1,
13792 "description" : "Whether the drive should considered for replication jobs.",
13793 "optional" : 1,
13794 "type" : "boolean"
13795 },
44660702
DM
13796 "rerror" : {
13797 "description" : "Read error action.",
13798 "enum" : [
13799 "ignore",
13800 "report",
13801 "stop"
13802 ],
44660702
DM
13803 "optional" : 1,
13804 "type" : "string"
13805 },
13806 "secs" : {
13807 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13808 "optional" : 1,
13809 "type" : "integer"
13810 },
13811 "serial" : {
13812 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13813 "format" : "urlencoded",
13814 "format_description" : "serial",
13815 "maxLength" : 60,
13816 "optional" : 1,
13817 "type" : "string"
13818 },
13819 "size" : {
13820 "description" : "Disk size. This is purely informational and has no effect.",
13821 "format" : "disk-size",
f004f5b9 13822 "format_description" : "DiskSize",
44660702
DM
13823 "optional" : 1,
13824 "type" : "string"
13825 },
13826 "snapshot" : {
13827 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
13828 "optional" : 1,
13829 "type" : "boolean"
13830 },
13831 "trans" : {
13832 "description" : "Force disk geometry bios translation mode.",
13833 "enum" : [
13834 "none",
13835 "lba",
13836 "auto"
13837 ],
44660702
DM
13838 "optional" : 1,
13839 "type" : "string"
13840 },
13841 "volume" : {
13842 "alias" : "file"
13843 },
13844 "werror" : {
13845 "description" : "Write error action.",
13846 "enum" : [
13847 "enospc",
13848 "ignore",
13849 "report",
13850 "stop"
13851 ],
44660702
DM
13852 "optional" : 1,
13853 "type" : "string"
13854 }
13855 },
13856 "optional" : 1,
4bd7df8b 13857 "type" : "string",
5d9c884c 13858 "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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 13859 },
44660702
DM
13860 "vmid" : {
13861 "description" : "The (unique) ID of the VM.",
13862 "format" : "pve-vmid",
13863 "minimum" : 1,
4bd7df8b 13864 "type" : "integer",
013dc89f 13865 "typetext" : "<integer> (1 - N)"
44660702 13866 },
2489d6df
WB
13867 "vmstatestorage" : {
13868 "description" : "Default storage for VM state volumes/files.",
13869 "format" : "pve-storage-id",
13870 "optional" : 1,
13871 "type" : "string",
13872 "typetext" : "<string>"
13873 },
44660702 13874 "watchdog" : {
c2993fe5 13875 "description" : "Create a virtual hardware watchdog device.",
44660702 13876 "format" : "pve-qm-watchdog",
7aacca6f 13877 "optional" : 1,
c2993fe5 13878 "type" : "string",
013dc89f 13879 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 13880 "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 13881 }
44660702 13882 }
56122987 13883 },
56122987 13884 "permissions" : {
44660702
DM
13885 "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.",
13886 "user" : "all"
56122987 13887 },
44660702
DM
13888 "protected" : 1,
13889 "proxyto" : "node",
56122987 13890 "returns" : {
44660702 13891 "type" : "string"
7aacca6f 13892 }
56122987 13893 }
7aacca6f 13894 },
44660702 13895 "leaf" : 0,
7aacca6f 13896 "path" : "/nodes/{node}/qemu",
44660702 13897 "text" : "qemu"
56122987
DM
13898 },
13899 {
13900 "children" : [
13901 {
56122987
DM
13902 "children" : [
13903 {
56122987 13904 "info" : {
44660702
DM
13905 "GET" : {
13906 "description" : "Get container configuration.",
13907 "method" : "GET",
13908 "name" : "vm_config",
13909 "parameters" : {
13910 "additionalProperties" : 0,
13911 "properties" : {
13912 "node" : {
13913 "description" : "The cluster node name.",
13914 "format" : "pve-node",
013dc89f
DM
13915 "type" : "string",
13916 "typetext" : "<string>"
44660702
DM
13917 },
13918 "vmid" : {
13919 "description" : "The (unique) ID of the VM.",
13920 "format" : "pve-vmid",
13921 "minimum" : 1,
4bd7df8b 13922 "type" : "integer",
013dc89f 13923 "typetext" : "<integer> (1 - N)"
44660702
DM
13924 }
13925 }
13926 },
13927 "permissions" : {
13928 "check" : [
13929 "perm",
13930 "/vms/{vmid}",
13931 [
13932 "VM.Audit"
13933 ]
13934 ]
13935 },
13936 "proxyto" : "node",
13937 "returns" : {
13938 "properties" : {
13939 "digest" : {
13940 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
13941 "type" : "string"
13942 }
13943 },
13944 "type" : "object"
13945 }
13946 },
56122987 13947 "PUT" : {
44660702
DM
13948 "description" : "Set container options.",
13949 "method" : "PUT",
13950 "name" : "update_vm",
56122987 13951 "parameters" : {
44660702 13952 "additionalProperties" : 0,
56122987 13953 "properties" : {
44660702
DM
13954 "arch" : {
13955 "default" : "amd64",
13956 "description" : "OS architecture type.",
13957 "enum" : [
13958 "amd64",
13959 "i386"
13960 ],
7aacca6f 13961 "optional" : 1,
44660702
DM
13962 "type" : "string"
13963 },
13964 "cmode" : {
7aacca6f 13965 "default" : "tty",
44660702 13966 "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
13967 "enum" : [
13968 "shell",
13969 "console",
13970 "tty"
13971 ],
44660702
DM
13972 "optional" : 1,
13973 "type" : "string"
7aacca6f 13974 },
44660702
DM
13975 "console" : {
13976 "default" : 1,
13977 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 13978 "optional" : 1,
013dc89f
DM
13979 "type" : "boolean",
13980 "typetext" : "<boolean>"
7aacca6f 13981 },
de0983cb
DM
13982 "cores" : {
13983 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
13984 "maximum" : 128,
13985 "minimum" : 1,
13986 "optional" : 1,
13987 "type" : "integer",
013dc89f 13988 "typetext" : "<integer> (1 - 128)"
de0983cb 13989 },
44660702
DM
13990 "cpulimit" : {
13991 "default" : 0,
13992 "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.",
13993 "maximum" : 128,
7aacca6f 13994 "minimum" : 0,
7aacca6f 13995 "optional" : 1,
4bd7df8b 13996 "type" : "number",
013dc89f 13997 "typetext" : "<number> (0 - 128)"
7aacca6f 13998 },
44660702
DM
13999 "cpuunits" : {
14000 "default" : 1024,
14001 "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.",
14002 "maximum" : 500000,
14003 "minimum" : 0,
14004 "optional" : 1,
4bd7df8b 14005 "type" : "integer",
013dc89f 14006 "typetext" : "<integer> (0 - 500000)"
7aacca6f 14007 },
44660702
DM
14008 "delete" : {
14009 "description" : "A list of settings you want to delete.",
14010 "format" : "pve-configid-list",
7aacca6f 14011 "optional" : 1,
013dc89f
DM
14012 "type" : "string",
14013 "typetext" : "<string>"
7aacca6f 14014 },
44660702
DM
14015 "description" : {
14016 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 14017 "optional" : 1,
013dc89f
DM
14018 "type" : "string",
14019 "typetext" : "<string>"
7aacca6f 14020 },
44660702
DM
14021 "digest" : {
14022 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14023 "maxLength" : 40,
7aacca6f 14024 "optional" : 1,
013dc89f
DM
14025 "type" : "string",
14026 "typetext" : "<string>"
7aacca6f 14027 },
44660702
DM
14028 "hostname" : {
14029 "description" : "Set a host name for the container.",
14030 "format" : "dns-name",
14031 "maxLength" : 255,
56122987 14032 "optional" : 1,
013dc89f
DM
14033 "type" : "string",
14034 "typetext" : "<string>"
44660702
DM
14035 },
14036 "lock" : {
14037 "description" : "Lock/unlock the VM.",
14038 "enum" : [
14039 "migrate",
14040 "backup",
14041 "snapshot",
14042 "rollback"
14043 ],
14044 "optional" : 1,
14045 "type" : "string"
14046 },
14047 "memory" : {
14048 "default" : 512,
14049 "description" : "Amount of RAM for the VM in MB.",
14050 "minimum" : 16,
14051 "optional" : 1,
4bd7df8b 14052 "type" : "integer",
013dc89f 14053 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
14054 },
14055 "mp[n]" : {
c2993fe5 14056 "description" : "Use volume as container mount point.",
7aacca6f 14057 "format" : {
7aacca6f
DM
14058 "acl" : {
14059 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 14060 "optional" : 1,
44660702 14061 "type" : "boolean"
7aacca6f
DM
14062 },
14063 "backup" : {
de0983cb 14064 "description" : "Whether to include the mount point in backups.",
7aacca6f 14065 "optional" : 1,
4bd7df8b 14066 "type" : "boolean",
de0983cb 14067 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
14068 },
14069 "mp" : {
de0983cb 14070 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 14071 "format" : "pve-lxc-mp-string",
44660702 14072 "format_description" : "Path",
4bd7df8b 14073 "type" : "string",
de0983cb 14074 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 14075 },
5d9c884c
DM
14076 "quota" : {
14077 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
14078 "optional" : 1,
14079 "type" : "boolean"
14080 },
14081 "replicate" : {
14082 "default" : 1,
14083 "description" : "Will include this volume to a storage replica job.",
44660702
DM
14084 "optional" : 1,
14085 "type" : "boolean"
14086 },
14087 "ro" : {
de0983cb 14088 "description" : "Read-only mount point",
44660702
DM
14089 "optional" : 1,
14090 "type" : "boolean"
14091 },
de0983cb
DM
14092 "shared" : {
14093 "default" : 0,
14094 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
14095 "optional" : 1,
14096 "type" : "boolean",
14097 "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!"
14098 },
44660702
DM
14099 "size" : {
14100 "description" : "Volume size (read only value).",
14101 "format" : "disk-size",
14102 "format_description" : "DiskSize",
14103 "optional" : 1,
14104 "type" : "string"
14105 },
14106 "volume" : {
14107 "default_key" : 1,
14108 "description" : "Volume, device or directory to mount into the container.",
14109 "format" : "pve-lxc-mp-string",
14110 "format_description" : "volume",
14111 "type" : "string"
14112 }
14113 },
7aacca6f 14114 "optional" : 1,
4bd7df8b 14115 "type" : "string",
5d9c884c 14116 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 14117 },
44660702
DM
14118 "nameserver" : {
14119 "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.",
14120 "format" : "address-list",
56122987 14121 "optional" : 1,
013dc89f
DM
14122 "type" : "string",
14123 "typetext" : "<string>"
56122987
DM
14124 },
14125 "net[n]" : {
44660702 14126 "description" : "Specifies network interfaces for the container.",
56122987 14127 "format" : {
44660702
DM
14128 "bridge" : {
14129 "description" : "Bridge to attach the network device to.",
f004f5b9 14130 "format_description" : "bridge",
56122987 14131 "optional" : 1,
44660702
DM
14132 "pattern" : "[-_.\\w\\d]+",
14133 "type" : "string"
56122987 14134 },
44660702
DM
14135 "firewall" : {
14136 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 14137 "optional" : 1,
44660702 14138 "type" : "boolean"
56122987 14139 },
44660702
DM
14140 "gw" : {
14141 "description" : "Default gateway for IPv4 traffic.",
14142 "format" : "ipv4",
14143 "format_description" : "GatewayIPv4",
56122987 14144 "optional" : 1,
44660702 14145 "type" : "string"
56122987
DM
14146 },
14147 "gw6" : {
7aacca6f 14148 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
14149 "format" : "ipv6",
14150 "format_description" : "GatewayIPv6",
7aacca6f 14151 "optional" : 1,
56122987
DM
14152 "type" : "string"
14153 },
44660702 14154 "hwaddr" : {
f004f5b9
DM
14155 "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)",
14156 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
14157 "optional" : 1,
14158 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
14159 "type" : "string"
14160 },
14161 "ip" : {
14162 "description" : "IPv4 address in CIDR format.",
14163 "format" : "pve-ipv4-config",
2489d6df 14164 "format_description" : "(IPv4/CIDR|dhcp|manual)",
56122987 14165 "optional" : 1,
44660702 14166 "type" : "string"
56122987 14167 },
7aacca6f 14168 "ip6" : {
7aacca6f
DM
14169 "description" : "IPv6 address in CIDR format.",
14170 "format" : "pve-ipv6-config",
2489d6df 14171 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
7aacca6f 14172 "optional" : 1,
44660702 14173 "type" : "string"
56122987 14174 },
44660702
DM
14175 "mtu" : {
14176 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 14177 "minimum" : 64,
56122987 14178 "optional" : 1,
44660702 14179 "type" : "integer"
56122987
DM
14180 },
14181 "name" : {
44660702 14182 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 14183 "format_description" : "string",
56122987 14184 "pattern" : "[-_.\\w\\d]+",
44660702 14185 "type" : "string"
56122987 14186 },
44660702
DM
14187 "rate" : {
14188 "description" : "Apply rate limiting to the interface",
14189 "format_description" : "mbps",
56122987 14190 "optional" : 1,
44660702 14191 "type" : "number"
7aacca6f 14192 },
44660702
DM
14193 "tag" : {
14194 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
14195 "maximum" : 4094,
14196 "minimum" : 1,
56122987 14197 "optional" : 1,
7aacca6f 14198 "type" : "integer"
56122987 14199 },
44660702
DM
14200 "trunks" : {
14201 "description" : "VLAN ids to pass through the interface",
14202 "format_description" : "vlanid[;vlanid...]",
14203 "optional" : 1,
14204 "pattern" : "(?^:\\d+(?:;\\d+)*)",
14205 "type" : "string"
14206 },
14207 "type" : {
14208 "description" : "Network interface type.",
14209 "enum" : [
14210 "veth"
14211 ],
56122987 14212 "optional" : 1,
44660702 14213 "type" : "string"
56122987
DM
14214 }
14215 },
7aacca6f 14216 "optional" : 1,
4bd7df8b 14217 "type" : "string",
2489d6df 14218 "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 14219 },
44660702
DM
14220 "node" : {
14221 "description" : "The cluster node name.",
14222 "format" : "pve-node",
013dc89f
DM
14223 "type" : "string",
14224 "typetext" : "<string>"
56122987 14225 },
44660702
DM
14226 "onboot" : {
14227 "default" : 0,
14228 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 14229 "optional" : 1,
013dc89f
DM
14230 "type" : "boolean",
14231 "typetext" : "<boolean>"
56122987 14232 },
44660702
DM
14233 "ostype" : {
14234 "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.",
14235 "enum" : [
14236 "debian",
14237 "ubuntu",
14238 "centos",
14239 "fedora",
14240 "opensuse",
14241 "archlinux",
14242 "alpine",
57b78691 14243 "gentoo",
44660702
DM
14244 "unmanaged"
14245 ],
56122987 14246 "optional" : 1,
44660702 14247 "type" : "string"
56122987 14248 },
44660702
DM
14249 "protection" : {
14250 "default" : 0,
14251 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 14252 "optional" : 1,
013dc89f
DM
14253 "type" : "boolean",
14254 "typetext" : "<boolean>"
56122987 14255 },
7aacca6f
DM
14256 "rootfs" : {
14257 "description" : "Use volume as container root.",
56122987
DM
14258 "format" : {
14259 "acl" : {
44660702 14260 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
14261 "optional" : 1,
14262 "type" : "boolean"
56122987 14263 },
44660702
DM
14264 "quota" : {
14265 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
14266 "optional" : 1,
14267 "type" : "boolean"
14268 },
5d9c884c
DM
14269 "replicate" : {
14270 "default" : 1,
14271 "description" : "Will include this volume to a storage replica job.",
14272 "optional" : 1,
14273 "type" : "boolean"
14274 },
44660702 14275 "ro" : {
de0983cb 14276 "description" : "Read-only mount point",
56122987 14277 "optional" : 1,
44660702
DM
14278 "type" : "boolean"
14279 },
de0983cb
DM
14280 "shared" : {
14281 "default" : 0,
14282 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
14283 "optional" : 1,
14284 "type" : "boolean",
14285 "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!"
14286 },
44660702 14287 "size" : {
7aacca6f 14288 "description" : "Volume size (read only value).",
44660702 14289 "format" : "disk-size",
56122987 14290 "format_description" : "DiskSize",
56122987 14291 "optional" : 1,
44660702 14292 "type" : "string"
7aacca6f
DM
14293 },
14294 "volume" : {
7aacca6f
DM
14295 "default_key" : 1,
14296 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
14297 "format" : "pve-lxc-mp-string",
14298 "format_description" : "volume",
7aacca6f 14299 "type" : "string"
56122987 14300 }
44660702
DM
14301 },
14302 "optional" : 1,
4bd7df8b 14303 "type" : "string",
5d9c884c 14304 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
14305 },
14306 "searchdomain" : {
14307 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
14308 "format" : "dns-name-list",
14309 "optional" : 1,
013dc89f
DM
14310 "type" : "string",
14311 "typetext" : "<string>"
44660702
DM
14312 },
14313 "startup" : {
14314 "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.",
14315 "format" : "pve-startup-order",
14316 "optional" : 1,
14317 "type" : "string",
14318 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14319 },
14320 "swap" : {
14321 "default" : 512,
14322 "description" : "Amount of SWAP for the VM in MB.",
14323 "minimum" : 0,
14324 "optional" : 1,
4bd7df8b 14325 "type" : "integer",
013dc89f 14326 "typetext" : "<integer> (0 - N)"
56122987 14327 },
56122987 14328 "template" : {
44660702 14329 "default" : 0,
7aacca6f 14330 "description" : "Enable/disable Template.",
56122987 14331 "optional" : 1,
013dc89f
DM
14332 "type" : "boolean",
14333 "typetext" : "<boolean>"
56122987 14334 },
44660702
DM
14335 "tty" : {
14336 "default" : 2,
14337 "description" : "Specify the number of tty available to the container",
14338 "maximum" : 6,
14339 "minimum" : 0,
14340 "optional" : 1,
4bd7df8b 14341 "type" : "integer",
013dc89f 14342 "typetext" : "<integer> (0 - 6)"
56122987 14343 },
44660702
DM
14344 "unprivileged" : {
14345 "default" : 0,
14346 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 14347 "optional" : 1,
013dc89f
DM
14348 "type" : "boolean",
14349 "typetext" : "<boolean>"
56122987 14350 },
44660702 14351 "unused[n]" : {
c2993fe5 14352 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 14353 "format" : "pve-volume-id",
56122987 14354 "optional" : 1,
013dc89f
DM
14355 "type" : "string",
14356 "typetext" : "<string>"
44660702
DM
14357 },
14358 "vmid" : {
14359 "description" : "The (unique) ID of the VM.",
14360 "format" : "pve-vmid",
14361 "minimum" : 1,
4bd7df8b 14362 "type" : "integer",
013dc89f 14363 "typetext" : "<integer> (1 - N)"
56122987 14364 }
44660702 14365 }
56122987 14366 },
56122987
DM
14367 "permissions" : {
14368 "check" : [
14369 "perm",
14370 "/vms/{vmid}",
14371 [
14372 "VM.Config.Disk",
14373 "VM.Config.CPU",
14374 "VM.Config.Memory",
14375 "VM.Config.Network",
14376 "VM.Config.Options"
14377 ],
14378 "any",
14379 1
52e44c50
FG
14380 ],
14381 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 14382 },
44660702
DM
14383 "protected" : 1,
14384 "proxyto" : "node",
56122987
DM
14385 "returns" : {
14386 "type" : "null"
7aacca6f 14387 }
56122987 14388 }
7aacca6f 14389 },
44660702 14390 "leaf" : 1,
7aacca6f 14391 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 14392 "text" : "config"
56122987
DM
14393 },
14394 {
56122987
DM
14395 "children" : [
14396 {
14397 "info" : {
14398 "GET" : {
44660702 14399 "description" : "Get virtual machine status.",
7aacca6f 14400 "method" : "GET",
44660702 14401 "name" : "vm_status",
56122987 14402 "parameters" : {
44660702 14403 "additionalProperties" : 0,
56122987 14404 "properties" : {
56122987 14405 "node" : {
44660702 14406 "description" : "The cluster node name.",
56122987 14407 "format" : "pve-node",
013dc89f
DM
14408 "type" : "string",
14409 "typetext" : "<string>"
7aacca6f
DM
14410 },
14411 "vmid" : {
14412 "description" : "The (unique) ID of the VM.",
44660702 14413 "format" : "pve-vmid",
7aacca6f 14414 "minimum" : 1,
4bd7df8b 14415 "type" : "integer",
013dc89f 14416 "typetext" : "<integer> (1 - N)"
56122987 14417 }
44660702 14418 }
7aacca6f
DM
14419 },
14420 "permissions" : {
14421 "check" : [
14422 "perm",
14423 "/vms/{vmid}",
14424 [
14425 "VM.Audit"
14426 ]
14427 ]
14428 },
44660702 14429 "protected" : 1,
7aacca6f 14430 "proxyto" : "node",
44660702
DM
14431 "returns" : {
14432 "type" : "object"
14433 }
56122987
DM
14434 }
14435 },
44660702
DM
14436 "leaf" : 1,
14437 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
14438 "text" : "current"
14439 },
14440 {
56122987
DM
14441 "info" : {
14442 "POST" : {
7aacca6f 14443 "description" : "Start the container.",
44660702 14444 "method" : "POST",
7aacca6f 14445 "name" : "vm_start",
56122987
DM
14446 "parameters" : {
14447 "additionalProperties" : 0,
14448 "properties" : {
56122987 14449 "node" : {
7aacca6f 14450 "description" : "The cluster node name.",
44660702 14451 "format" : "pve-node",
013dc89f
DM
14452 "type" : "string",
14453 "typetext" : "<string>"
56122987 14454 },
7aacca6f 14455 "skiplock" : {
44660702 14456 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 14457 "optional" : 1,
013dc89f
DM
14458 "type" : "boolean",
14459 "typetext" : "<boolean>"
7aacca6f 14460 },
56122987 14461 "vmid" : {
7aacca6f 14462 "description" : "The (unique) ID of the VM.",
44660702 14463 "format" : "pve-vmid",
56122987 14464 "minimum" : 1,
4bd7df8b 14465 "type" : "integer",
013dc89f 14466 "typetext" : "<integer> (1 - N)"
56122987
DM
14467 }
14468 }
14469 },
14470 "permissions" : {
14471 "check" : [
14472 "perm",
14473 "/vms/{vmid}",
14474 [
14475 "VM.PowerMgmt"
14476 ]
14477 ]
14478 },
44660702 14479 "protected" : 1,
7aacca6f 14480 "proxyto" : "node",
44660702
DM
14481 "returns" : {
14482 "type" : "string"
14483 }
14484 }
14485 },
14486 "leaf" : 1,
14487 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
14488 "text" : "start"
14489 },
14490 {
14491 "info" : {
14492 "POST" : {
14493 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
14494 "method" : "POST",
14495 "name" : "vm_stop",
14496 "parameters" : {
44660702 14497 "additionalProperties" : 0,
7aacca6f 14498 "properties" : {
44660702
DM
14499 "node" : {
14500 "description" : "The cluster node name.",
14501 "format" : "pve-node",
013dc89f
DM
14502 "type" : "string",
14503 "typetext" : "<string>"
44660702 14504 },
7aacca6f
DM
14505 "skiplock" : {
14506 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 14507 "optional" : 1,
013dc89f
DM
14508 "type" : "boolean",
14509 "typetext" : "<boolean>"
7aacca6f
DM
14510 },
14511 "vmid" : {
44660702 14512 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14513 "format" : "pve-vmid",
14514 "minimum" : 1,
4bd7df8b 14515 "type" : "integer",
013dc89f 14516 "typetext" : "<integer> (1 - N)"
7aacca6f 14517 }
44660702
DM
14518 }
14519 },
14520 "permissions" : {
14521 "check" : [
14522 "perm",
14523 "/vms/{vmid}",
14524 [
14525 "VM.PowerMgmt"
14526 ]
14527 ]
7aacca6f 14528 },
44660702
DM
14529 "protected" : 1,
14530 "proxyto" : "node",
14531 "returns" : {
14532 "type" : "string"
14533 }
56122987 14534 }
7aacca6f 14535 },
7aacca6f 14536 "leaf" : 1,
44660702
DM
14537 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
14538 "text" : "stop"
56122987
DM
14539 },
14540 {
56122987
DM
14541 "info" : {
14542 "POST" : {
44660702
DM
14543 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
14544 "method" : "POST",
7aacca6f 14545 "name" : "vm_shutdown",
56122987 14546 "parameters" : {
44660702 14547 "additionalProperties" : 0,
56122987 14548 "properties" : {
7aacca6f 14549 "forceStop" : {
44660702 14550 "default" : 0,
7aacca6f
DM
14551 "description" : "Make sure the Container stops.",
14552 "optional" : 1,
013dc89f
DM
14553 "type" : "boolean",
14554 "typetext" : "<boolean>"
44660702
DM
14555 },
14556 "node" : {
14557 "description" : "The cluster node name.",
14558 "format" : "pve-node",
013dc89f
DM
14559 "type" : "string",
14560 "typetext" : "<string>"
7aacca6f
DM
14561 },
14562 "timeout" : {
7aacca6f 14563 "default" : 60,
44660702
DM
14564 "description" : "Wait maximal timeout seconds.",
14565 "minimum" : 0,
56122987 14566 "optional" : 1,
4bd7df8b 14567 "type" : "integer",
013dc89f 14568 "typetext" : "<integer> (0 - N)"
56122987
DM
14569 },
14570 "vmid" : {
7aacca6f 14571 "description" : "The (unique) ID of the VM.",
44660702
DM
14572 "format" : "pve-vmid",
14573 "minimum" : 1,
4bd7df8b 14574 "type" : "integer",
013dc89f 14575 "typetext" : "<integer> (1 - N)"
56122987 14576 }
44660702 14577 }
56122987
DM
14578 },
14579 "permissions" : {
14580 "check" : [
14581 "perm",
14582 "/vms/{vmid}",
14583 [
14584 "VM.PowerMgmt"
14585 ]
14586 ]
14587 },
44660702
DM
14588 "protected" : 1,
14589 "proxyto" : "node",
7aacca6f
DM
14590 "returns" : {
14591 "type" : "string"
14592 }
56122987
DM
14593 }
14594 },
44660702
DM
14595 "leaf" : 1,
14596 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 14597 "text" : "shutdown"
56122987
DM
14598 },
14599 {
56122987
DM
14600 "info" : {
14601 "POST" : {
7aacca6f 14602 "description" : "Suspend the container.",
7aacca6f 14603 "method" : "POST",
7aacca6f 14604 "name" : "vm_suspend",
56122987
DM
14605 "parameters" : {
14606 "additionalProperties" : 0,
14607 "properties" : {
44660702
DM
14608 "node" : {
14609 "description" : "The cluster node name.",
14610 "format" : "pve-node",
013dc89f
DM
14611 "type" : "string",
14612 "typetext" : "<string>"
44660702 14613 },
7aacca6f 14614 "vmid" : {
7aacca6f
DM
14615 "description" : "The (unique) ID of the VM.",
14616 "format" : "pve-vmid",
44660702 14617 "minimum" : 1,
4bd7df8b 14618 "type" : "integer",
013dc89f 14619 "typetext" : "<integer> (1 - N)"
56122987
DM
14620 }
14621 }
7aacca6f 14622 },
56122987
DM
14623 "permissions" : {
14624 "check" : [
14625 "perm",
14626 "/vms/{vmid}",
14627 [
14628 "VM.PowerMgmt"
14629 ]
14630 ]
14631 },
7aacca6f 14632 "protected" : 1,
44660702
DM
14633 "proxyto" : "node",
14634 "returns" : {
14635 "type" : "string"
14636 }
14637 }
14638 },
14639 "leaf" : 1,
14640 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
14641 "text" : "suspend"
14642 },
14643 {
14644 "info" : {
14645 "POST" : {
14646 "description" : "Resume the container.",
14647 "method" : "POST",
14648 "name" : "vm_resume",
56122987 14649 "parameters" : {
44660702 14650 "additionalProperties" : 0,
56122987
DM
14651 "properties" : {
14652 "node" : {
7aacca6f 14653 "description" : "The cluster node name.",
44660702 14654 "format" : "pve-node",
013dc89f
DM
14655 "type" : "string",
14656 "typetext" : "<string>"
56122987
DM
14657 },
14658 "vmid" : {
7aacca6f 14659 "description" : "The (unique) ID of the VM.",
56122987 14660 "format" : "pve-vmid",
44660702 14661 "minimum" : 1,
4bd7df8b 14662 "type" : "integer",
013dc89f 14663 "typetext" : "<integer> (1 - N)"
56122987 14664 }
44660702
DM
14665 }
14666 },
14667 "permissions" : {
14668 "check" : [
14669 "perm",
14670 "/vms/{vmid}",
14671 [
14672 "VM.PowerMgmt"
14673 ]
14674 ]
56122987 14675 },
44660702
DM
14676 "protected" : 1,
14677 "proxyto" : "node",
14678 "returns" : {
14679 "type" : "string"
14680 }
7aacca6f
DM
14681 }
14682 },
44660702
DM
14683 "leaf" : 1,
14684 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
14685 "text" : "resume"
14686 }
14687 ],
14688 "info" : {
14689 "GET" : {
7aacca6f 14690 "description" : "Directory index",
44660702 14691 "method" : "GET",
7aacca6f 14692 "name" : "vmcmdidx",
7aacca6f
DM
14693 "parameters" : {
14694 "additionalProperties" : 0,
14695 "properties" : {
14696 "node" : {
14697 "description" : "The cluster node name.",
44660702 14698 "format" : "pve-node",
013dc89f
DM
14699 "type" : "string",
14700 "typetext" : "<string>"
56122987 14701 },
7aacca6f 14702 "vmid" : {
44660702 14703 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14704 "format" : "pve-vmid",
14705 "minimum" : 1,
4bd7df8b 14706 "type" : "integer",
013dc89f 14707 "typetext" : "<integer> (1 - N)"
7aacca6f 14708 }
56122987
DM
14709 }
14710 },
44660702
DM
14711 "permissions" : {
14712 "user" : "all"
14713 },
14714 "proxyto" : "node",
7aacca6f 14715 "returns" : {
7aacca6f
DM
14716 "items" : {
14717 "properties" : {
14718 "subdir" : {
14719 "type" : "string"
14720 }
14721 },
14722 "type" : "object"
14723 },
14724 "links" : [
14725 {
44660702
DM
14726 "href" : "{subdir}",
14727 "rel" : "child"
7aacca6f 14728 }
44660702
DM
14729 ],
14730 "type" : "array"
7aacca6f
DM
14731 }
14732 }
44660702
DM
14733 },
14734 "leaf" : 0,
14735 "path" : "/nodes/{node}/lxc/{vmid}/status",
14736 "text" : "status"
7aacca6f
DM
14737 },
14738 {
7aacca6f 14739 "children" : [
56122987 14740 {
7aacca6f
DM
14741 "children" : [
14742 {
14743 "info" : {
14744 "POST" : {
7aacca6f 14745 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 14746 "method" : "POST",
44660702 14747 "name" : "rollback",
7aacca6f 14748 "parameters" : {
44660702 14749 "additionalProperties" : 0,
7aacca6f 14750 "properties" : {
44660702
DM
14751 "node" : {
14752 "description" : "The cluster node name.",
14753 "format" : "pve-node",
013dc89f
DM
14754 "type" : "string",
14755 "typetext" : "<string>"
44660702 14756 },
7aacca6f 14757 "snapname" : {
44660702 14758 "description" : "The name of the snapshot.",
7aacca6f
DM
14759 "format" : "pve-configid",
14760 "maxLength" : 40,
013dc89f
DM
14761 "type" : "string",
14762 "typetext" : "<string>"
7aacca6f 14763 },
7aacca6f 14764 "vmid" : {
44660702 14765 "description" : "The (unique) ID of the VM.",
7aacca6f 14766 "format" : "pve-vmid",
44660702 14767 "minimum" : 1,
4bd7df8b 14768 "type" : "integer",
013dc89f 14769 "typetext" : "<integer> (1 - N)"
7aacca6f 14770 }
44660702
DM
14771 }
14772 },
14773 "permissions" : {
14774 "check" : [
14775 "perm",
14776 "/vms/{vmid}",
14777 [
2489d6df
WB
14778 "VM.Snapshot",
14779 "VM.Snapshot.Rollback"
14780 ],
14781 "any",
14782 1
44660702 14783 ]
7aacca6f 14784 },
44660702
DM
14785 "protected" : 1,
14786 "proxyto" : "node",
14787 "returns" : {
14788 "description" : "the task ID.",
14789 "type" : "string"
14790 }
7aacca6f
DM
14791 }
14792 },
7aacca6f 14793 "leaf" : 1,
44660702
DM
14794 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
14795 "text" : "rollback"
7aacca6f
DM
14796 },
14797 {
7aacca6f
DM
14798 "info" : {
14799 "GET" : {
7aacca6f 14800 "description" : "Get snapshot configuration",
44660702
DM
14801 "method" : "GET",
14802 "name" : "get_snapshot_config",
7aacca6f
DM
14803 "parameters" : {
14804 "additionalProperties" : 0,
14805 "properties" : {
7aacca6f 14806 "node" : {
7aacca6f 14807 "description" : "The cluster node name.",
44660702 14808 "format" : "pve-node",
013dc89f
DM
14809 "type" : "string",
14810 "typetext" : "<string>"
7aacca6f
DM
14811 },
14812 "snapname" : {
44660702 14813 "description" : "The name of the snapshot.",
7aacca6f
DM
14814 "format" : "pve-configid",
14815 "maxLength" : 40,
013dc89f
DM
14816 "type" : "string",
14817 "typetext" : "<string>"
44660702
DM
14818 },
14819 "vmid" : {
14820 "description" : "The (unique) ID of the VM.",
14821 "format" : "pve-vmid",
14822 "minimum" : 1,
4bd7df8b 14823 "type" : "integer",
013dc89f 14824 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14825 }
14826 }
14827 },
14828 "permissions" : {
14829 "check" : [
14830 "perm",
14831 "/vms/{vmid}",
14832 [
2489d6df
WB
14833 "VM.Snapshot",
14834 "VM.Snapshot.Rollback"
14835 ],
14836 "any",
14837 1
7aacca6f
DM
14838 ]
14839 },
44660702
DM
14840 "proxyto" : "node",
14841 "returns" : {
14842 "type" : "object"
14843 }
7aacca6f
DM
14844 },
14845 "PUT" : {
44660702
DM
14846 "description" : "Update snapshot metadata.",
14847 "method" : "PUT",
7aacca6f
DM
14848 "name" : "update_snapshot_config",
14849 "parameters" : {
14850 "additionalProperties" : 0,
14851 "properties" : {
44660702
DM
14852 "description" : {
14853 "description" : "A textual description or comment.",
14854 "optional" : 1,
013dc89f
DM
14855 "type" : "string",
14856 "typetext" : "<string>"
44660702 14857 },
7aacca6f 14858 "node" : {
7aacca6f 14859 "description" : "The cluster node name.",
44660702 14860 "format" : "pve-node",
013dc89f
DM
14861 "type" : "string",
14862 "typetext" : "<string>"
7aacca6f
DM
14863 },
14864 "snapname" : {
14865 "description" : "The name of the snapshot.",
7aacca6f 14866 "format" : "pve-configid",
44660702 14867 "maxLength" : 40,
013dc89f
DM
14868 "type" : "string",
14869 "typetext" : "<string>"
7aacca6f
DM
14870 },
14871 "vmid" : {
44660702 14872 "description" : "The (unique) ID of the VM.",
7aacca6f 14873 "format" : "pve-vmid",
44660702 14874 "minimum" : 1,
4bd7df8b 14875 "type" : "integer",
013dc89f 14876 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14877 }
14878 }
14879 },
7aacca6f
DM
14880 "permissions" : {
14881 "check" : [
14882 "perm",
14883 "/vms/{vmid}",
14884 [
14885 "VM.Snapshot"
14886 ]
14887 ]
14888 },
44660702
DM
14889 "protected" : 1,
14890 "proxyto" : "node",
7aacca6f
DM
14891 "returns" : {
14892 "type" : "null"
14893 }
14894 }
14895 },
44660702 14896 "leaf" : 1,
7aacca6f 14897 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 14898 "text" : "config"
7aacca6f
DM
14899 }
14900 ],
56122987 14901 "info" : {
44660702
DM
14902 "DELETE" : {
14903 "description" : "Delete a LXC snapshot.",
14904 "method" : "DELETE",
14905 "name" : "delsnapshot",
56122987 14906 "parameters" : {
44660702 14907 "additionalProperties" : 0,
56122987 14908 "properties" : {
44660702
DM
14909 "force" : {
14910 "description" : "For removal from config file, even if removing disk snapshots fails.",
14911 "optional" : 1,
013dc89f
DM
14912 "type" : "boolean",
14913 "typetext" : "<boolean>"
44660702
DM
14914 },
14915 "node" : {
14916 "description" : "The cluster node name.",
14917 "format" : "pve-node",
013dc89f
DM
14918 "type" : "string",
14919 "typetext" : "<string>"
7aacca6f
DM
14920 },
14921 "snapname" : {
7aacca6f
DM
14922 "description" : "The name of the snapshot.",
14923 "format" : "pve-configid",
44660702 14924 "maxLength" : 40,
013dc89f
DM
14925 "type" : "string",
14926 "typetext" : "<string>"
44660702
DM
14927 },
14928 "vmid" : {
14929 "description" : "The (unique) ID of the VM.",
14930 "format" : "pve-vmid",
14931 "minimum" : 1,
4bd7df8b 14932 "type" : "integer",
013dc89f 14933 "typetext" : "<integer> (1 - N)"
56122987 14934 }
44660702 14935 }
7aacca6f 14936 },
56122987
DM
14937 "permissions" : {
14938 "check" : [
14939 "perm",
14940 "/vms/{vmid}",
14941 [
7aacca6f 14942 "VM.Snapshot"
56122987
DM
14943 ]
14944 ]
14945 },
44660702 14946 "protected" : 1,
7aacca6f 14947 "proxyto" : "node",
56122987 14948 "returns" : {
7aacca6f 14949 "description" : "the task ID.",
56122987 14950 "type" : "string"
44660702
DM
14951 }
14952 },
14953 "GET" : {
14954 "description" : "",
14955 "method" : "GET",
14956 "name" : "snapshot_cmd_idx",
7aacca6f
DM
14957 "parameters" : {
14958 "additionalProperties" : 0,
14959 "properties" : {
7aacca6f 14960 "node" : {
44660702 14961 "description" : "The cluster node name.",
7aacca6f 14962 "format" : "pve-node",
013dc89f
DM
14963 "type" : "string",
14964 "typetext" : "<string>"
7aacca6f
DM
14965 },
14966 "snapname" : {
44660702 14967 "description" : "The name of the snapshot.",
7aacca6f 14968 "format" : "pve-configid",
44660702 14969 "maxLength" : 40,
013dc89f
DM
14970 "type" : "string",
14971 "typetext" : "<string>"
44660702
DM
14972 },
14973 "vmid" : {
14974 "description" : "The (unique) ID of the VM.",
14975 "format" : "pve-vmid",
14976 "minimum" : 1,
4bd7df8b 14977 "type" : "integer",
013dc89f 14978 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14979 }
14980 }
14981 },
44660702
DM
14982 "permissions" : {
14983 "user" : "all"
14984 },
14985 "returns" : {
14986 "items" : {
14987 "properties" : {},
14988 "type" : "object"
14989 },
14990 "links" : [
14991 {
14992 "href" : "{cmd}",
14993 "rel" : "child"
14994 }
14995 ],
14996 "type" : "array"
14997 }
14998 }
14999 },
15000 "leaf" : 0,
15001 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
15002 "text" : "{snapname}"
15003 }
15004 ],
15005 "info" : {
15006 "GET" : {
15007 "description" : "List all snapshots.",
15008 "method" : "GET",
15009 "name" : "list",
15010 "parameters" : {
15011 "additionalProperties" : 0,
15012 "properties" : {
15013 "node" : {
15014 "description" : "The cluster node name.",
15015 "format" : "pve-node",
013dc89f
DM
15016 "type" : "string",
15017 "typetext" : "<string>"
44660702
DM
15018 },
15019 "vmid" : {
15020 "description" : "The (unique) ID of the VM.",
15021 "format" : "pve-vmid",
15022 "minimum" : 1,
4bd7df8b 15023 "type" : "integer",
013dc89f 15024 "typetext" : "<integer> (1 - N)"
44660702 15025 }
56122987
DM
15026 }
15027 },
56122987 15028 "permissions" : {
7aacca6f
DM
15029 "check" : [
15030 "perm",
15031 "/vms/{vmid}",
15032 [
15033 "VM.Audit"
15034 ]
15035 ]
15036 },
44660702 15037 "protected" : 1,
56122987 15038 "proxyto" : "node",
7aacca6f 15039 "returns" : {
44660702
DM
15040 "items" : {
15041 "properties" : {},
15042 "type" : "object"
15043 },
7aacca6f
DM
15044 "links" : [
15045 {
15046 "href" : "{name}",
15047 "rel" : "child"
15048 }
15049 ],
7aacca6f 15050 "type" : "array"
44660702 15051 }
7aacca6f
DM
15052 },
15053 "POST" : {
44660702
DM
15054 "description" : "Snapshot a container.",
15055 "method" : "POST",
15056 "name" : "snapshot",
56122987
DM
15057 "parameters" : {
15058 "additionalProperties" : 0,
15059 "properties" : {
7aacca6f 15060 "description" : {
44660702 15061 "description" : "A textual description or comment.",
7aacca6f 15062 "optional" : 1,
013dc89f
DM
15063 "type" : "string",
15064 "typetext" : "<string>"
44660702
DM
15065 },
15066 "node" : {
15067 "description" : "The cluster node name.",
15068 "format" : "pve-node",
013dc89f
DM
15069 "type" : "string",
15070 "typetext" : "<string>"
56122987
DM
15071 },
15072 "snapname" : {
56122987 15073 "description" : "The name of the snapshot.",
44660702 15074 "format" : "pve-configid",
7aacca6f 15075 "maxLength" : 40,
013dc89f
DM
15076 "type" : "string",
15077 "typetext" : "<string>"
56122987 15078 },
44660702
DM
15079 "vmid" : {
15080 "description" : "The (unique) ID of the VM.",
15081 "format" : "pve-vmid",
15082 "minimum" : 1,
4bd7df8b 15083 "type" : "integer",
013dc89f 15084 "typetext" : "<integer> (1 - N)"
56122987 15085 }
7aacca6f 15086 }
56122987 15087 },
56122987
DM
15088 "permissions" : {
15089 "check" : [
15090 "perm",
15091 "/vms/{vmid}",
15092 [
7aacca6f 15093 "VM.Snapshot"
56122987
DM
15094 ]
15095 ]
7aacca6f 15096 },
44660702 15097 "protected" : 1,
7aacca6f
DM
15098 "proxyto" : "node",
15099 "returns" : {
15100 "description" : "the task ID.",
15101 "type" : "string"
56122987
DM
15102 }
15103 }
44660702
DM
15104 },
15105 "leaf" : 0,
15106 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
15107 "text" : "snapshot"
7aacca6f
DM
15108 },
15109 {
56122987
DM
15110 "children" : [
15111 {
56122987
DM
15112 "children" : [
15113 {
56122987 15114 "info" : {
44660702
DM
15115 "DELETE" : {
15116 "description" : "Delete rule.",
15117 "method" : "DELETE",
15118 "name" : "delete_rule",
56122987 15119 "parameters" : {
44660702 15120 "additionalProperties" : 0,
56122987 15121 "properties" : {
44660702
DM
15122 "digest" : {
15123 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15124 "maxLength" : 40,
7aacca6f 15125 "optional" : 1,
013dc89f
DM
15126 "type" : "string",
15127 "typetext" : "<string>"
7aacca6f
DM
15128 },
15129 "node" : {
44660702 15130 "description" : "The cluster node name.",
7aacca6f 15131 "format" : "pve-node",
013dc89f
DM
15132 "type" : "string",
15133 "typetext" : "<string>"
44660702
DM
15134 },
15135 "pos" : {
15136 "description" : "Update rule at position <pos>.",
15137 "minimum" : 0,
15138 "optional" : 1,
4bd7df8b 15139 "type" : "integer",
013dc89f 15140 "typetext" : "<integer> (0 - N)"
44660702
DM
15141 },
15142 "vmid" : {
15143 "description" : "The (unique) ID of the VM.",
15144 "format" : "pve-vmid",
15145 "minimum" : 1,
4bd7df8b 15146 "type" : "integer",
013dc89f 15147 "typetext" : "<integer> (1 - N)"
56122987 15148 }
44660702 15149 }
56122987 15150 },
56122987
DM
15151 "permissions" : {
15152 "check" : [
15153 "perm",
15154 "/vms/{vmid}",
15155 [
44660702 15156 "VM.Config.Network"
56122987
DM
15157 ]
15158 ]
15159 },
44660702 15160 "protected" : 1,
7aacca6f 15161 "proxyto" : null,
44660702
DM
15162 "returns" : {
15163 "type" : "null"
15164 }
7aacca6f 15165 },
44660702
DM
15166 "GET" : {
15167 "description" : "Get single rule data.",
15168 "method" : "GET",
15169 "name" : "get_rule",
56122987 15170 "parameters" : {
44660702 15171 "additionalProperties" : 0,
56122987 15172 "properties" : {
7aacca6f 15173 "node" : {
7aacca6f 15174 "description" : "The cluster node name.",
44660702 15175 "format" : "pve-node",
013dc89f
DM
15176 "type" : "string",
15177 "typetext" : "<string>"
56122987 15178 },
7aacca6f 15179 "pos" : {
7aacca6f 15180 "description" : "Update rule at position <pos>.",
44660702 15181 "minimum" : 0,
7aacca6f 15182 "optional" : 1,
4bd7df8b 15183 "type" : "integer",
013dc89f 15184 "typetext" : "<integer> (0 - N)"
56122987 15185 },
7aacca6f 15186 "vmid" : {
44660702 15187 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15188 "format" : "pve-vmid",
15189 "minimum" : 1,
4bd7df8b 15190 "type" : "integer",
013dc89f 15191 "typetext" : "<integer> (1 - N)"
56122987 15192 }
44660702 15193 }
56122987 15194 },
7aacca6f
DM
15195 "permissions" : {
15196 "check" : [
15197 "perm",
15198 "/vms/{vmid}",
15199 [
44660702 15200 "VM.Audit"
7aacca6f
DM
15201 ]
15202 ]
15203 },
7aacca6f
DM
15204 "proxyto" : null,
15205 "returns" : {
44660702
DM
15206 "properties" : {
15207 "pos" : {
15208 "type" : "integer"
15209 }
15210 },
15211 "type" : "object"
7aacca6f 15212 }
56122987 15213 },
44660702
DM
15214 "PUT" : {
15215 "description" : "Modify rule data.",
15216 "method" : "PUT",
15217 "name" : "update_rule",
56122987
DM
15218 "parameters" : {
15219 "additionalProperties" : 0,
15220 "properties" : {
44660702
DM
15221 "action" : {
15222 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
15223 "maxLength" : 20,
15224 "minLength" : 2,
15225 "optional" : 1,
15226 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15227 "type" : "string"
15228 },
15229 "comment" : {
e94f0d56 15230 "description" : "Descriptive comment.",
44660702 15231 "optional" : 1,
013dc89f
DM
15232 "type" : "string",
15233 "typetext" : "<string>"
44660702
DM
15234 },
15235 "delete" : {
15236 "description" : "A list of settings you want to delete.",
15237 "format" : "pve-configid-list",
15238 "optional" : 1,
013dc89f
DM
15239 "type" : "string",
15240 "typetext" : "<string>"
44660702
DM
15241 },
15242 "dest" : {
15243 "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.",
15244 "format" : "pve-fw-addr-spec",
15245 "optional" : 1,
013dc89f
DM
15246 "type" : "string",
15247 "typetext" : "<string>"
44660702
DM
15248 },
15249 "digest" : {
15250 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15251 "maxLength" : 40,
15252 "optional" : 1,
013dc89f
DM
15253 "type" : "string",
15254 "typetext" : "<string>"
44660702
DM
15255 },
15256 "dport" : {
15257 "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.",
15258 "format" : "pve-fw-dport-spec",
15259 "optional" : 1,
013dc89f
DM
15260 "type" : "string",
15261 "typetext" : "<string>"
44660702
DM
15262 },
15263 "enable" : {
e94f0d56 15264 "description" : "Flag to enable/disable a rule.",
44660702
DM
15265 "minimum" : 0,
15266 "optional" : 1,
4bd7df8b 15267 "type" : "integer",
013dc89f 15268 "typetext" : "<integer> (0 - N)"
44660702
DM
15269 },
15270 "iface" : {
15271 "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.",
15272 "format" : "pve-iface",
15273 "maxLength" : 20,
15274 "minLength" : 2,
15275 "optional" : 1,
013dc89f
DM
15276 "type" : "string",
15277 "typetext" : "<string>"
44660702
DM
15278 },
15279 "macro" : {
e94f0d56 15280 "description" : "Use predefined standard macro.",
44660702
DM
15281 "maxLength" : 128,
15282 "optional" : 1,
013dc89f
DM
15283 "type" : "string",
15284 "typetext" : "<string>"
44660702
DM
15285 },
15286 "moveto" : {
15287 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
15288 "minimum" : 0,
15289 "optional" : 1,
4bd7df8b 15290 "type" : "integer",
013dc89f 15291 "typetext" : "<integer> (0 - N)"
44660702 15292 },
7aacca6f
DM
15293 "node" : {
15294 "description" : "The cluster node name.",
44660702 15295 "format" : "pve-node",
013dc89f
DM
15296 "type" : "string",
15297 "typetext" : "<string>"
56122987
DM
15298 },
15299 "pos" : {
44660702 15300 "description" : "Update rule at position <pos>.",
56122987 15301 "minimum" : 0,
7aacca6f 15302 "optional" : 1,
4bd7df8b 15303 "type" : "integer",
013dc89f 15304 "typetext" : "<integer> (0 - N)"
56122987 15305 },
44660702
DM
15306 "proto" : {
15307 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
15308 "format" : "pve-fw-protocol-spec",
15309 "optional" : 1,
013dc89f
DM
15310 "type" : "string",
15311 "typetext" : "<string>"
7aacca6f 15312 },
44660702
DM
15313 "source" : {
15314 "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.",
15315 "format" : "pve-fw-addr-spec",
15316 "optional" : 1,
013dc89f
DM
15317 "type" : "string",
15318 "typetext" : "<string>"
44660702
DM
15319 },
15320 "sport" : {
15321 "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.",
15322 "format" : "pve-fw-sport-spec",
15323 "optional" : 1,
013dc89f
DM
15324 "type" : "string",
15325 "typetext" : "<string>"
44660702
DM
15326 },
15327 "type" : {
e94f0d56 15328 "description" : "Rule type.",
44660702
DM
15329 "enum" : [
15330 "in",
15331 "out",
15332 "group"
15333 ],
7aacca6f 15334 "optional" : 1,
44660702
DM
15335 "type" : "string"
15336 },
15337 "vmid" : {
15338 "description" : "The (unique) ID of the VM.",
15339 "format" : "pve-vmid",
15340 "minimum" : 1,
4bd7df8b 15341 "type" : "integer",
013dc89f 15342 "typetext" : "<integer> (1 - N)"
56122987
DM
15343 }
15344 }
15345 },
56122987
DM
15346 "permissions" : {
15347 "check" : [
15348 "perm",
15349 "/vms/{vmid}",
15350 [
7aacca6f 15351 "VM.Config.Network"
56122987
DM
15352 ]
15353 ]
15354 },
44660702 15355 "protected" : 1,
56122987 15356 "proxyto" : null,
56122987 15357 "returns" : {
7aacca6f
DM
15358 "type" : "null"
15359 }
56122987 15360 }
44660702
DM
15361 },
15362 "leaf" : 1,
15363 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
15364 "text" : "{pos}"
56122987
DM
15365 }
15366 ],
15367 "info" : {
7aacca6f 15368 "GET" : {
44660702
DM
15369 "description" : "List rules.",
15370 "method" : "GET",
15371 "name" : "get_rules",
7aacca6f 15372 "parameters" : {
44660702 15373 "additionalProperties" : 0,
7aacca6f
DM
15374 "properties" : {
15375 "node" : {
7aacca6f 15376 "description" : "The cluster node name.",
44660702 15377 "format" : "pve-node",
013dc89f
DM
15378 "type" : "string",
15379 "typetext" : "<string>"
7aacca6f
DM
15380 },
15381 "vmid" : {
15382 "description" : "The (unique) ID of the VM.",
44660702 15383 "format" : "pve-vmid",
7aacca6f 15384 "minimum" : 1,
4bd7df8b 15385 "type" : "integer",
013dc89f 15386 "typetext" : "<integer> (1 - N)"
7aacca6f 15387 }
44660702 15388 }
56122987 15389 },
56122987
DM
15390 "permissions" : {
15391 "check" : [
15392 "perm",
15393 "/vms/{vmid}",
15394 [
7aacca6f 15395 "VM.Audit"
56122987
DM
15396 ]
15397 ]
15398 },
15399 "proxyto" : null,
7aacca6f 15400 "returns" : {
7aacca6f
DM
15401 "items" : {
15402 "properties" : {
15403 "pos" : {
15404 "type" : "integer"
15405 }
15406 },
15407 "type" : "object"
15408 },
15409 "links" : [
15410 {
44660702
DM
15411 "href" : "{pos}",
15412 "rel" : "child"
7aacca6f 15413 }
44660702
DM
15414 ],
15415 "type" : "array"
15416 }
7aacca6f
DM
15417 },
15418 "POST" : {
44660702
DM
15419 "description" : "Create new rule.",
15420 "method" : "POST",
7aacca6f 15421 "name" : "create_rule",
56122987 15422 "parameters" : {
44660702 15423 "additionalProperties" : 0,
56122987 15424 "properties" : {
7aacca6f 15425 "action" : {
44660702 15426 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 15427 "maxLength" : 20,
44660702 15428 "minLength" : 2,
7aacca6f
DM
15429 "optional" : 0,
15430 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
15431 "type" : "string"
15432 },
44660702 15433 "comment" : {
e94f0d56 15434 "description" : "Descriptive comment.",
7aacca6f 15435 "optional" : 1,
013dc89f
DM
15436 "type" : "string",
15437 "typetext" : "<string>"
56122987 15438 },
44660702
DM
15439 "dest" : {
15440 "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.",
15441 "format" : "pve-fw-addr-spec",
56122987 15442 "optional" : 1,
013dc89f
DM
15443 "type" : "string",
15444 "typetext" : "<string>"
56122987 15445 },
44660702
DM
15446 "digest" : {
15447 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15448 "maxLength" : 40,
56122987 15449 "optional" : 1,
013dc89f
DM
15450 "type" : "string",
15451 "typetext" : "<string>"
56122987 15452 },
44660702
DM
15453 "dport" : {
15454 "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.",
15455 "format" : "pve-fw-dport-spec",
56122987 15456 "optional" : 1,
013dc89f
DM
15457 "type" : "string",
15458 "typetext" : "<string>"
56122987 15459 },
44660702 15460 "enable" : {
e94f0d56 15461 "description" : "Flag to enable/disable a rule.",
44660702 15462 "minimum" : 0,
56122987 15463 "optional" : 1,
4bd7df8b 15464 "type" : "integer",
013dc89f 15465 "typetext" : "<integer> (0 - N)"
56122987 15466 },
44660702
DM
15467 "iface" : {
15468 "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.",
15469 "format" : "pve-iface",
15470 "maxLength" : 20,
15471 "minLength" : 2,
7aacca6f 15472 "optional" : 1,
013dc89f
DM
15473 "type" : "string",
15474 "typetext" : "<string>"
56122987 15475 },
44660702 15476 "macro" : {
e94f0d56 15477 "description" : "Use predefined standard macro.",
44660702 15478 "maxLength" : 128,
56122987 15479 "optional" : 1,
013dc89f
DM
15480 "type" : "string",
15481 "typetext" : "<string>"
56122987
DM
15482 },
15483 "node" : {
7aacca6f 15484 "description" : "The cluster node name.",
44660702 15485 "format" : "pve-node",
013dc89f
DM
15486 "type" : "string",
15487 "typetext" : "<string>"
7aacca6f 15488 },
44660702
DM
15489 "pos" : {
15490 "description" : "Update rule at position <pos>.",
15491 "minimum" : 0,
15492 "optional" : 1,
4bd7df8b 15493 "type" : "integer",
013dc89f 15494 "typetext" : "<integer> (0 - N)"
44660702
DM
15495 },
15496 "proto" : {
15497 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
15498 "format" : "pve-fw-protocol-spec",
7aacca6f 15499 "optional" : 1,
013dc89f
DM
15500 "type" : "string",
15501 "typetext" : "<string>"
7aacca6f 15502 },
44660702
DM
15503 "source" : {
15504 "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.",
15505 "format" : "pve-fw-addr-spec",
15506 "optional" : 1,
013dc89f
DM
15507 "type" : "string",
15508 "typetext" : "<string>"
56122987 15509 },
44660702
DM
15510 "sport" : {
15511 "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.",
15512 "format" : "pve-fw-sport-spec",
15513 "optional" : 1,
013dc89f
DM
15514 "type" : "string",
15515 "typetext" : "<string>"
7aacca6f 15516 },
44660702 15517 "type" : {
e94f0d56 15518 "description" : "Rule type.",
44660702
DM
15519 "enum" : [
15520 "in",
15521 "out",
15522 "group"
15523 ],
15524 "optional" : 0,
15525 "type" : "string"
15526 },
15527 "vmid" : {
15528 "description" : "The (unique) ID of the VM.",
15529 "format" : "pve-vmid",
15530 "minimum" : 1,
4bd7df8b 15531 "type" : "integer",
013dc89f 15532 "typetext" : "<integer> (1 - N)"
44660702
DM
15533 }
15534 }
15535 },
15536 "permissions" : {
15537 "check" : [
15538 "perm",
15539 "/vms/{vmid}",
15540 [
15541 "VM.Config.Network"
15542 ]
15543 ]
15544 },
15545 "protected" : 1,
15546 "proxyto" : null,
15547 "returns" : {
15548 "type" : "null"
15549 }
15550 }
15551 },
15552 "leaf" : 0,
15553 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
15554 "text" : "rules"
15555 },
15556 {
15557 "children" : [
15558 {
15559 "info" : {
15560 "DELETE" : {
15561 "description" : "Remove IP or Network alias.",
15562 "method" : "DELETE",
15563 "name" : "remove_alias",
56122987 15564 "parameters" : {
44660702 15565 "additionalProperties" : 0,
56122987 15566 "properties" : {
44660702
DM
15567 "digest" : {
15568 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15569 "maxLength" : 40,
56122987 15570 "optional" : 1,
013dc89f
DM
15571 "type" : "string",
15572 "typetext" : "<string>"
56122987 15573 },
7aacca6f 15574 "name" : {
44660702 15575 "description" : "Alias name.",
7aacca6f 15576 "maxLength" : 64,
7aacca6f
DM
15577 "minLength" : 2,
15578 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15579 "type" : "string"
7aacca6f
DM
15580 },
15581 "node" : {
44660702 15582 "description" : "The cluster node name.",
56122987 15583 "format" : "pve-node",
013dc89f
DM
15584 "type" : "string",
15585 "typetext" : "<string>"
7aacca6f 15586 },
56122987 15587 "vmid" : {
44660702 15588 "description" : "The (unique) ID of the VM.",
56122987 15589 "format" : "pve-vmid",
44660702 15590 "minimum" : 1,
4bd7df8b 15591 "type" : "integer",
013dc89f 15592 "typetext" : "<integer> (1 - N)"
56122987 15593 }
44660702 15594 }
56122987 15595 },
56122987
DM
15596 "permissions" : {
15597 "check" : [
15598 "perm",
15599 "/vms/{vmid}",
15600 [
7aacca6f 15601 "VM.Config.Network"
56122987
DM
15602 ]
15603 ]
15604 },
44660702 15605 "protected" : 1,
56122987 15606 "returns" : {
7aacca6f 15607 "type" : "null"
44660702 15608 }
56122987 15609 },
44660702
DM
15610 "GET" : {
15611 "description" : "Read alias.",
15612 "method" : "GET",
15613 "name" : "read_alias",
15614 "parameters" : {
15615 "additionalProperties" : 0,
15616 "properties" : {
15617 "name" : {
15618 "description" : "Alias name.",
15619 "maxLength" : 64,
15620 "minLength" : 2,
15621 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15622 "type" : "string"
15623 },
15624 "node" : {
15625 "description" : "The cluster node name.",
15626 "format" : "pve-node",
013dc89f
DM
15627 "type" : "string",
15628 "typetext" : "<string>"
44660702
DM
15629 },
15630 "vmid" : {
15631 "description" : "The (unique) ID of the VM.",
15632 "format" : "pve-vmid",
15633 "minimum" : 1,
4bd7df8b 15634 "type" : "integer",
013dc89f 15635 "typetext" : "<integer> (1 - N)"
44660702
DM
15636 }
15637 }
56122987 15638 },
7aacca6f
DM
15639 "permissions" : {
15640 "check" : [
15641 "perm",
15642 "/vms/{vmid}",
15643 [
44660702 15644 "VM.Audit"
7aacca6f
DM
15645 ]
15646 ]
15647 },
44660702
DM
15648 "returns" : {
15649 "type" : "object"
15650 }
15651 },
15652 "PUT" : {
15653 "description" : "Update IP or Network alias.",
15654 "method" : "PUT",
15655 "name" : "update_alias",
56122987
DM
15656 "parameters" : {
15657 "additionalProperties" : 0,
15658 "properties" : {
44660702
DM
15659 "cidr" : {
15660 "description" : "Network/IP specification in CIDR format.",
15661 "format" : "IPorCIDR",
013dc89f
DM
15662 "type" : "string",
15663 "typetext" : "<string>"
44660702
DM
15664 },
15665 "comment" : {
15666 "optional" : 1,
013dc89f
DM
15667 "type" : "string",
15668 "typetext" : "<string>"
44660702
DM
15669 },
15670 "digest" : {
15671 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15672 "maxLength" : 40,
15673 "optional" : 1,
013dc89f
DM
15674 "type" : "string",
15675 "typetext" : "<string>"
44660702 15676 },
56122987 15677 "name" : {
7aacca6f 15678 "description" : "Alias name.",
44660702
DM
15679 "maxLength" : 64,
15680 "minLength" : 2,
7aacca6f 15681 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15682 "type" : "string"
56122987
DM
15683 },
15684 "node" : {
15685 "description" : "The cluster node name.",
44660702 15686 "format" : "pve-node",
013dc89f
DM
15687 "type" : "string",
15688 "typetext" : "<string>"
44660702
DM
15689 },
15690 "rename" : {
15691 "description" : "Rename an existing alias.",
15692 "maxLength" : 64,
15693 "minLength" : 2,
15694 "optional" : 1,
15695 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15696 "type" : "string"
56122987 15697 },
7aacca6f 15698 "vmid" : {
7aacca6f 15699 "description" : "The (unique) ID of the VM.",
44660702 15700 "format" : "pve-vmid",
7aacca6f 15701 "minimum" : 1,
4bd7df8b 15702 "type" : "integer",
013dc89f 15703 "typetext" : "<integer> (1 - N)"
56122987
DM
15704 }
15705 }
15706 },
44660702
DM
15707 "permissions" : {
15708 "check" : [
15709 "perm",
15710 "/vms/{vmid}",
15711 [
15712 "VM.Config.Network"
15713 ]
15714 ]
7aacca6f 15715 },
44660702
DM
15716 "protected" : 1,
15717 "returns" : {
15718 "type" : "null"
7aacca6f
DM
15719 }
15720 }
15721 },
44660702
DM
15722 "leaf" : 1,
15723 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
15724 "text" : "{name}"
15725 }
15726 ],
15727 "info" : {
15728 "GET" : {
15729 "description" : "List aliases",
15730 "method" : "GET",
15731 "name" : "get_aliases",
56122987
DM
15732 "parameters" : {
15733 "additionalProperties" : 0,
15734 "properties" : {
15735 "node" : {
44660702 15736 "description" : "The cluster node name.",
56122987 15737 "format" : "pve-node",
013dc89f
DM
15738 "type" : "string",
15739 "typetext" : "<string>"
56122987
DM
15740 },
15741 "vmid" : {
7aacca6f 15742 "description" : "The (unique) ID of the VM.",
44660702 15743 "format" : "pve-vmid",
7aacca6f 15744 "minimum" : 1,
4bd7df8b 15745 "type" : "integer",
013dc89f 15746 "typetext" : "<integer> (1 - N)"
56122987
DM
15747 }
15748 }
15749 },
44660702
DM
15750 "permissions" : {
15751 "check" : [
15752 "perm",
15753 "/vms/{vmid}",
15754 [
15755 "VM.Audit"
15756 ]
15757 ]
15758 },
56122987
DM
15759 "returns" : {
15760 "items" : {
56122987 15761 "properties" : {
44660702
DM
15762 "cidr" : {
15763 "type" : "string"
7aacca6f 15764 },
44660702
DM
15765 "comment" : {
15766 "optional" : 1,
56122987
DM
15767 "type" : "string"
15768 },
56122987 15769 "digest" : {
56122987 15770 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
15771 "maxLength" : 40,
15772 "optional" : 0,
15773 "type" : "string"
15774 },
15775 "name" : {
15776 "type" : "string"
56122987 15777 }
44660702
DM
15778 },
15779 "type" : "object"
15780 },
15781 "links" : [
15782 {
15783 "href" : "{name}",
15784 "rel" : "child"
56122987 15785 }
44660702
DM
15786 ],
15787 "type" : "array"
7aacca6f
DM
15788 }
15789 },
15790 "POST" : {
44660702 15791 "description" : "Create IP or Network Alias.",
7aacca6f 15792 "method" : "POST",
44660702 15793 "name" : "create_alias",
7aacca6f
DM
15794 "parameters" : {
15795 "additionalProperties" : 0,
15796 "properties" : {
44660702
DM
15797 "cidr" : {
15798 "description" : "Network/IP specification in CIDR format.",
15799 "format" : "IPorCIDR",
013dc89f
DM
15800 "type" : "string",
15801 "typetext" : "<string>"
7aacca6f
DM
15802 },
15803 "comment" : {
15804 "optional" : 1,
013dc89f
DM
15805 "type" : "string",
15806 "typetext" : "<string>"
7aacca6f 15807 },
44660702
DM
15808 "name" : {
15809 "description" : "Alias name.",
15810 "maxLength" : 64,
7aacca6f
DM
15811 "minLength" : 2,
15812 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15813 "type" : "string"
7aacca6f
DM
15814 },
15815 "node" : {
44660702 15816 "description" : "The cluster node name.",
7aacca6f 15817 "format" : "pve-node",
013dc89f
DM
15818 "type" : "string",
15819 "typetext" : "<string>"
7aacca6f 15820 },
44660702
DM
15821 "vmid" : {
15822 "description" : "The (unique) ID of the VM.",
15823 "format" : "pve-vmid",
15824 "minimum" : 1,
4bd7df8b 15825 "type" : "integer",
013dc89f 15826 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
15827 }
15828 }
15829 },
44660702
DM
15830 "permissions" : {
15831 "check" : [
15832 "perm",
15833 "/vms/{vmid}",
15834 [
15835 "VM.Config.Network"
15836 ]
15837 ]
15838 },
15839 "protected" : 1,
15840 "returns" : {
15841 "type" : "null"
15842 }
56122987
DM
15843 }
15844 },
44660702
DM
15845 "leaf" : 0,
15846 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
15847 "text" : "aliases"
15848 },
15849 {
56122987
DM
15850 "children" : [
15851 {
56122987
DM
15852 "children" : [
15853 {
15854 "info" : {
15855 "DELETE" : {
44660702 15856 "description" : "Remove IP or Network from IPSet.",
7aacca6f 15857 "method" : "DELETE",
44660702 15858 "name" : "remove_ip",
56122987
DM
15859 "parameters" : {
15860 "additionalProperties" : 0,
15861 "properties" : {
44660702
DM
15862 "cidr" : {
15863 "description" : "Network/IP specification in CIDR format.",
15864 "format" : "IPorCIDRorAlias",
013dc89f
DM
15865 "type" : "string",
15866 "typetext" : "<string>"
56122987
DM
15867 },
15868 "digest" : {
44660702 15869 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 15870 "maxLength" : 40,
7aacca6f 15871 "optional" : 1,
013dc89f
DM
15872 "type" : "string",
15873 "typetext" : "<string>"
56122987 15874 },
56122987 15875 "name" : {
44660702 15876 "description" : "IP set name.",
56122987 15877 "maxLength" : 64,
7aacca6f 15878 "minLength" : 2,
56122987 15879 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 15880 "type" : "string"
7aacca6f
DM
15881 },
15882 "node" : {
7aacca6f 15883 "description" : "The cluster node name.",
44660702 15884 "format" : "pve-node",
013dc89f
DM
15885 "type" : "string",
15886 "typetext" : "<string>"
44660702
DM
15887 },
15888 "vmid" : {
15889 "description" : "The (unique) ID of the VM.",
15890 "format" : "pve-vmid",
15891 "minimum" : 1,
4bd7df8b 15892 "type" : "integer",
013dc89f 15893 "typetext" : "<integer> (1 - N)"
56122987
DM
15894 }
15895 }
15896 },
44660702
DM
15897 "permissions" : {
15898 "check" : [
15899 "perm",
15900 "/vms/{vmid}",
15901 [
15902 "VM.Config.Network"
15903 ]
15904 ]
15905 },
7aacca6f 15906 "protected" : 1,
56122987
DM
15907 "returns" : {
15908 "type" : "null"
44660702
DM
15909 }
15910 },
15911 "GET" : {
15912 "description" : "Read IP or Network settings from IPSet.",
15913 "method" : "GET",
15914 "name" : "read_ip",
56122987
DM
15915 "parameters" : {
15916 "additionalProperties" : 0,
15917 "properties" : {
7aacca6f 15918 "cidr" : {
7aacca6f 15919 "description" : "Network/IP specification in CIDR format.",
44660702 15920 "format" : "IPorCIDRorAlias",
013dc89f
DM
15921 "type" : "string",
15922 "typetext" : "<string>"
56122987 15923 },
7aacca6f 15924 "name" : {
44660702 15925 "description" : "IP set name.",
7aacca6f
DM
15926 "maxLength" : 64,
15927 "minLength" : 2,
7aacca6f
DM
15928 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15929 "type" : "string"
56122987 15930 },
44660702
DM
15931 "node" : {
15932 "description" : "The cluster node name.",
15933 "format" : "pve-node",
013dc89f
DM
15934 "type" : "string",
15935 "typetext" : "<string>"
44660702
DM
15936 },
15937 "vmid" : {
15938 "description" : "The (unique) ID of the VM.",
15939 "format" : "pve-vmid",
15940 "minimum" : 1,
4bd7df8b 15941 "type" : "integer",
013dc89f 15942 "typetext" : "<integer> (1 - N)"
56122987
DM
15943 }
15944 }
15945 },
56122987
DM
15946 "permissions" : {
15947 "check" : [
15948 "perm",
15949 "/vms/{vmid}",
15950 [
44660702 15951 "VM.Audit"
56122987
DM
15952 ]
15953 ]
7aacca6f 15954 },
44660702 15955 "protected" : 1,
7aacca6f
DM
15956 "returns" : {
15957 "type" : "object"
44660702
DM
15958 }
15959 },
15960 "PUT" : {
15961 "description" : "Update IP or Network settings",
15962 "method" : "PUT",
15963 "name" : "update_ip",
7aacca6f 15964 "parameters" : {
44660702 15965 "additionalProperties" : 0,
7aacca6f
DM
15966 "properties" : {
15967 "cidr" : {
44660702 15968 "description" : "Network/IP specification in CIDR format.",
7aacca6f 15969 "format" : "IPorCIDRorAlias",
013dc89f
DM
15970 "type" : "string",
15971 "typetext" : "<string>"
7aacca6f 15972 },
44660702
DM
15973 "comment" : {
15974 "optional" : 1,
013dc89f
DM
15975 "type" : "string",
15976 "typetext" : "<string>"
44660702
DM
15977 },
15978 "digest" : {
15979 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15980 "maxLength" : 40,
15981 "optional" : 1,
013dc89f
DM
15982 "type" : "string",
15983 "typetext" : "<string>"
44660702
DM
15984 },
15985 "name" : {
15986 "description" : "IP set name.",
15987 "maxLength" : 64,
15988 "minLength" : 2,
15989 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15990 "type" : "string"
7aacca6f
DM
15991 },
15992 "node" : {
7aacca6f 15993 "description" : "The cluster node name.",
44660702 15994 "format" : "pve-node",
013dc89f
DM
15995 "type" : "string",
15996 "typetext" : "<string>"
7aacca6f 15997 },
44660702
DM
15998 "nomatch" : {
15999 "optional" : 1,
013dc89f
DM
16000 "type" : "boolean",
16001 "typetext" : "<boolean>"
44660702
DM
16002 },
16003 "vmid" : {
16004 "description" : "The (unique) ID of the VM.",
16005 "format" : "pve-vmid",
16006 "minimum" : 1,
4bd7df8b 16007 "type" : "integer",
013dc89f 16008 "typetext" : "<integer> (1 - N)"
7aacca6f 16009 }
44660702
DM
16010 }
16011 },
16012 "permissions" : {
16013 "check" : [
16014 "perm",
16015 "/vms/{vmid}",
16016 [
16017 "VM.Config.Network"
16018 ]
16019 ]
7aacca6f
DM
16020 },
16021 "protected" : 1,
44660702
DM
16022 "returns" : {
16023 "type" : "null"
16024 }
56122987
DM
16025 }
16026 },
56122987 16027 "leaf" : 1,
44660702
DM
16028 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
16029 "text" : "{cidr}"
56122987
DM
16030 }
16031 ],
16032 "info" : {
44660702
DM
16033 "DELETE" : {
16034 "description" : "Delete IPSet",
16035 "method" : "DELETE",
16036 "name" : "delete_ipset",
16037 "parameters" : {
16038 "additionalProperties" : 0,
16039 "properties" : {
16040 "name" : {
16041 "description" : "IP set name.",
16042 "maxLength" : 64,
16043 "minLength" : 2,
16044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16045 "type" : "string"
16046 },
16047 "node" : {
16048 "description" : "The cluster node name.",
16049 "format" : "pve-node",
013dc89f
DM
16050 "type" : "string",
16051 "typetext" : "<string>"
44660702
DM
16052 },
16053 "vmid" : {
16054 "description" : "The (unique) ID of the VM.",
16055 "format" : "pve-vmid",
16056 "minimum" : 1,
4bd7df8b 16057 "type" : "integer",
013dc89f 16058 "typetext" : "<integer> (1 - N)"
44660702
DM
16059 }
16060 }
16061 },
16062 "permissions" : {
16063 "check" : [
16064 "perm",
16065 "/vms/{vmid}",
16066 [
16067 "VM.Config.Network"
16068 ]
16069 ]
16070 },
16071 "protected" : 1,
16072 "returns" : {
16073 "type" : "null"
16074 }
16075 },
56122987 16076 "GET" : {
7aacca6f 16077 "description" : "List IPSet content",
44660702
DM
16078 "method" : "GET",
16079 "name" : "get_ipset",
7aacca6f
DM
16080 "parameters" : {
16081 "additionalProperties" : 0,
16082 "properties" : {
16083 "name" : {
16084 "description" : "IP set name.",
44660702 16085 "maxLength" : 64,
7aacca6f 16086 "minLength" : 2,
44660702
DM
16087 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16088 "type" : "string"
7aacca6f
DM
16089 },
16090 "node" : {
7aacca6f 16091 "description" : "The cluster node name.",
44660702 16092 "format" : "pve-node",
013dc89f
DM
16093 "type" : "string",
16094 "typetext" : "<string>"
7aacca6f
DM
16095 },
16096 "vmid" : {
16097 "description" : "The (unique) ID of the VM.",
44660702 16098 "format" : "pve-vmid",
7aacca6f 16099 "minimum" : 1,
4bd7df8b 16100 "type" : "integer",
013dc89f 16101 "typetext" : "<integer> (1 - N)"
56122987 16102 }
7aacca6f
DM
16103 }
16104 },
7aacca6f
DM
16105 "permissions" : {
16106 "check" : [
16107 "perm",
16108 "/vms/{vmid}",
16109 [
16110 "VM.Audit"
16111 ]
16112 ]
16113 },
16114 "returns" : {
56122987
DM
16115 "items" : {
16116 "properties" : {
16117 "cidr" : {
16118 "type" : "string"
16119 },
44660702
DM
16120 "comment" : {
16121 "optional" : 1,
16122 "type" : "string"
16123 },
56122987 16124 "digest" : {
56122987 16125 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 16126 "maxLength" : 40,
7aacca6f 16127 "optional" : 0,
56122987 16128 "type" : "string"
7aacca6f
DM
16129 },
16130 "nomatch" : {
44660702
DM
16131 "optional" : 1,
16132 "type" : "boolean"
56122987 16133 }
44660702
DM
16134 },
16135 "type" : "object"
56122987 16136 },
7aacca6f
DM
16137 "links" : [
16138 {
44660702
DM
16139 "href" : "{cidr}",
16140 "rel" : "child"
56122987 16141 }
44660702
DM
16142 ],
16143 "type" : "array"
16144 }
56122987 16145 },
7aacca6f
DM
16146 "POST" : {
16147 "description" : "Add IP or Network to IPSet.",
44660702 16148 "method" : "POST",
7aacca6f 16149 "name" : "create_ip",
56122987 16150 "parameters" : {
44660702 16151 "additionalProperties" : 0,
56122987 16152 "properties" : {
44660702
DM
16153 "cidr" : {
16154 "description" : "Network/IP specification in CIDR format.",
16155 "format" : "IPorCIDRorAlias",
013dc89f
DM
16156 "type" : "string",
16157 "typetext" : "<string>"
44660702
DM
16158 },
16159 "comment" : {
16160 "optional" : 1,
013dc89f
DM
16161 "type" : "string",
16162 "typetext" : "<string>"
56122987
DM
16163 },
16164 "name" : {
56122987 16165 "description" : "IP set name.",
44660702 16166 "maxLength" : 64,
7aacca6f 16167 "minLength" : 2,
44660702 16168 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 16169 "type" : "string"
56122987 16170 },
7aacca6f 16171 "node" : {
7aacca6f 16172 "description" : "The cluster node name.",
44660702 16173 "format" : "pve-node",
013dc89f
DM
16174 "type" : "string",
16175 "typetext" : "<string>"
56122987 16176 },
44660702
DM
16177 "nomatch" : {
16178 "optional" : 1,
013dc89f
DM
16179 "type" : "boolean",
16180 "typetext" : "<boolean>"
7aacca6f
DM
16181 },
16182 "vmid" : {
44660702 16183 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16184 "format" : "pve-vmid",
16185 "minimum" : 1,
4bd7df8b 16186 "type" : "integer",
013dc89f 16187 "typetext" : "<integer> (1 - N)"
56122987 16188 }
44660702
DM
16189 }
16190 },
16191 "permissions" : {
16192 "check" : [
16193 "perm",
16194 "/vms/{vmid}",
16195 [
16196 "VM.Config.Network"
16197 ]
16198 ]
16199 },
16200 "protected" : 1,
16201 "returns" : {
16202 "type" : "null"
16203 }
16204 }
16205 },
16206 "leaf" : 0,
16207 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
16208 "text" : "{name}"
16209 }
16210 ],
16211 "info" : {
16212 "GET" : {
16213 "description" : "List IPSets",
16214 "method" : "GET",
16215 "name" : "ipset_index",
16216 "parameters" : {
16217 "additionalProperties" : 0,
16218 "properties" : {
16219 "node" : {
16220 "description" : "The cluster node name.",
16221 "format" : "pve-node",
013dc89f
DM
16222 "type" : "string",
16223 "typetext" : "<string>"
44660702
DM
16224 },
16225 "vmid" : {
16226 "description" : "The (unique) ID of the VM.",
16227 "format" : "pve-vmid",
16228 "minimum" : 1,
4bd7df8b 16229 "type" : "integer",
013dc89f 16230 "typetext" : "<integer> (1 - N)"
44660702
DM
16231 }
16232 }
16233 },
16234 "permissions" : {
16235 "check" : [
16236 "perm",
16237 "/vms/{vmid}",
16238 [
16239 "VM.Audit"
16240 ]
16241 ]
16242 },
16243 "returns" : {
16244 "items" : {
16245 "properties" : {
16246 "comment" : {
16247 "optional" : 1,
16248 "type" : "string"
16249 },
16250 "digest" : {
16251 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16252 "maxLength" : 40,
16253 "optional" : 0,
16254 "type" : "string"
7aacca6f 16255 },
44660702
DM
16256 "name" : {
16257 "description" : "IP set name.",
16258 "maxLength" : 64,
16259 "minLength" : 2,
16260 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16261 "type" : "string"
16262 }
16263 },
16264 "type" : "object"
16265 },
16266 "links" : [
16267 {
16268 "href" : "{name}",
16269 "rel" : "child"
16270 }
16271 ],
16272 "type" : "array"
16273 }
16274 },
16275 "POST" : {
16276 "description" : "Create new IPSet",
16277 "method" : "POST",
16278 "name" : "create_ipset",
16279 "parameters" : {
16280 "additionalProperties" : 0,
16281 "properties" : {
16282 "comment" : {
16283 "optional" : 1,
013dc89f
DM
16284 "type" : "string",
16285 "typetext" : "<string>"
44660702
DM
16286 },
16287 "digest" : {
16288 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16289 "maxLength" : 40,
16290 "optional" : 1,
013dc89f
DM
16291 "type" : "string",
16292 "typetext" : "<string>"
56122987 16293 },
44660702
DM
16294 "name" : {
16295 "description" : "IP set name.",
16296 "maxLength" : 64,
16297 "minLength" : 2,
16298 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16299 "type" : "string"
16300 },
16301 "node" : {
16302 "description" : "The cluster node name.",
16303 "format" : "pve-node",
013dc89f
DM
16304 "type" : "string",
16305 "typetext" : "<string>"
7aacca6f 16306 },
44660702
DM
16307 "rename" : {
16308 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
16309 "maxLength" : 64,
16310 "minLength" : 2,
16311 "optional" : 1,
16312 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16313 "type" : "string"
16314 },
16315 "vmid" : {
16316 "description" : "The (unique) ID of the VM.",
16317 "format" : "pve-vmid",
16318 "minimum" : 1,
4bd7df8b 16319 "type" : "integer",
013dc89f 16320 "typetext" : "<integer> (1 - N)"
44660702 16321 }
56122987 16322 }
44660702
DM
16323 },
16324 "permissions" : {
16325 "check" : [
16326 "perm",
16327 "/vms/{vmid}",
16328 [
16329 "VM.Config.Network"
16330 ]
16331 ]
16332 },
16333 "protected" : 1,
16334 "returns" : {
16335 "type" : "null"
56122987
DM
16336 }
16337 }
44660702
DM
16338 },
16339 "leaf" : 0,
16340 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
16341 "text" : "ipset"
56122987
DM
16342 },
16343 {
56122987 16344 "info" : {
7aacca6f 16345 "GET" : {
44660702 16346 "description" : "Get VM firewall options.",
7aacca6f 16347 "method" : "GET",
44660702
DM
16348 "name" : "get_options",
16349 "parameters" : {
16350 "additionalProperties" : 0,
16351 "properties" : {
16352 "node" : {
16353 "description" : "The cluster node name.",
16354 "format" : "pve-node",
013dc89f
DM
16355 "type" : "string",
16356 "typetext" : "<string>"
44660702
DM
16357 },
16358 "vmid" : {
16359 "description" : "The (unique) ID of the VM.",
16360 "format" : "pve-vmid",
16361 "minimum" : 1,
4bd7df8b 16362 "type" : "integer",
013dc89f 16363 "typetext" : "<integer> (1 - N)"
44660702
DM
16364 }
16365 }
16366 },
16367 "permissions" : {
16368 "check" : [
16369 "perm",
16370 "/vms/{vmid}",
16371 [
16372 "VM.Audit"
16373 ]
16374 ]
16375 },
16376 "proxyto" : "node",
56122987 16377 "returns" : {
56122987 16378 "properties" : {
44660702
DM
16379 "dhcp" : {
16380 "description" : "Enable DHCP.",
16381 "optional" : 1,
16382 "type" : "boolean"
16383 },
16384 "enable" : {
16385 "description" : "Enable/disable firewall rules.",
16386 "optional" : 1,
16387 "type" : "boolean"
16388 },
16389 "ipfilter" : {
16390 "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 16391 "optional" : 1,
44660702
DM
16392 "type" : "boolean"
16393 },
16394 "log_level_in" : {
7aacca6f
DM
16395 "description" : "Log level for incoming traffic.",
16396 "enum" : [
16397 "emerg",
16398 "alert",
16399 "crit",
16400 "err",
16401 "warning",
16402 "notice",
16403 "info",
16404 "debug",
16405 "nolog"
44660702
DM
16406 ],
16407 "optional" : 1,
16408 "type" : "string"
56122987 16409 },
44660702
DM
16410 "log_level_out" : {
16411 "description" : "Log level for outgoing traffic.",
56122987 16412 "enum" : [
44660702
DM
16413 "emerg",
16414 "alert",
16415 "crit",
16416 "err",
16417 "warning",
16418 "notice",
16419 "info",
16420 "debug",
16421 "nolog"
7aacca6f 16422 ],
7aacca6f
DM
16423 "optional" : 1,
16424 "type" : "string"
56122987 16425 },
44660702
DM
16426 "macfilter" : {
16427 "description" : "Enable/disable MAC address filter.",
16428 "optional" : 1,
16429 "type" : "boolean"
7aacca6f 16430 },
44660702
DM
16431 "ndp" : {
16432 "description" : "Enable NDP.",
56122987 16433 "optional" : 1,
44660702 16434 "type" : "boolean"
56122987
DM
16435 },
16436 "policy_in" : {
7aacca6f 16437 "description" : "Input policy.",
56122987
DM
16438 "enum" : [
16439 "ACCEPT",
16440 "REJECT",
16441 "DROP"
16442 ],
7aacca6f 16443 "optional" : 1,
44660702 16444 "type" : "string"
56122987 16445 },
44660702
DM
16446 "policy_out" : {
16447 "description" : "Output policy.",
56122987 16448 "enum" : [
44660702
DM
16449 "ACCEPT",
16450 "REJECT",
16451 "DROP"
56122987 16452 ],
7aacca6f 16453 "optional" : 1,
56122987
DM
16454 "type" : "string"
16455 },
44660702
DM
16456 "radv" : {
16457 "description" : "Allow sending Router Advertisement.",
56122987 16458 "optional" : 1,
7aacca6f
DM
16459 "type" : "boolean"
16460 }
7aacca6f 16461 },
44660702
DM
16462 "type" : "object"
16463 }
7aacca6f
DM
16464 },
16465 "PUT" : {
44660702
DM
16466 "description" : "Set Firewall options.",
16467 "method" : "PUT",
7aacca6f
DM
16468 "name" : "set_options",
16469 "parameters" : {
44660702 16470 "additionalProperties" : 0,
7aacca6f 16471 "properties" : {
44660702
DM
16472 "delete" : {
16473 "description" : "A list of settings you want to delete.",
16474 "format" : "pve-configid-list",
16475 "optional" : 1,
013dc89f
DM
16476 "type" : "string",
16477 "typetext" : "<string>"
44660702
DM
16478 },
16479 "dhcp" : {
16480 "description" : "Enable DHCP.",
16481 "optional" : 1,
013dc89f
DM
16482 "type" : "boolean",
16483 "typetext" : "<boolean>"
44660702
DM
16484 },
16485 "digest" : {
16486 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16487 "maxLength" : 40,
16488 "optional" : 1,
013dc89f
DM
16489 "type" : "string",
16490 "typetext" : "<string>"
44660702 16491 },
7aacca6f
DM
16492 "enable" : {
16493 "description" : "Enable/disable firewall rules.",
56122987 16494 "optional" : 1,
013dc89f
DM
16495 "type" : "boolean",
16496 "typetext" : "<boolean>"
56122987 16497 },
44660702
DM
16498 "ipfilter" : {
16499 "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.",
16500 "optional" : 1,
013dc89f
DM
16501 "type" : "boolean",
16502 "typetext" : "<boolean>"
44660702
DM
16503 },
16504 "log_level_in" : {
16505 "description" : "Log level for incoming traffic.",
56122987
DM
16506 "enum" : [
16507 "emerg",
16508 "alert",
16509 "crit",
16510 "err",
16511 "warning",
16512 "notice",
16513 "info",
16514 "debug",
16515 "nolog"
16516 ],
56122987 16517 "optional" : 1,
44660702 16518 "type" : "string"
56122987 16519 },
44660702
DM
16520 "log_level_out" : {
16521 "description" : "Log level for outgoing traffic.",
56122987
DM
16522 "enum" : [
16523 "emerg",
16524 "alert",
16525 "crit",
16526 "err",
16527 "warning",
16528 "notice",
16529 "info",
16530 "debug",
16531 "nolog"
16532 ],
44660702
DM
16533 "optional" : 1,
16534 "type" : "string"
56122987 16535 },
44660702
DM
16536 "macfilter" : {
16537 "description" : "Enable/disable MAC address filter.",
16538 "optional" : 1,
013dc89f
DM
16539 "type" : "boolean",
16540 "typetext" : "<boolean>"
44660702
DM
16541 },
16542 "ndp" : {
16543 "description" : "Enable NDP.",
56122987 16544 "optional" : 1,
013dc89f
DM
16545 "type" : "boolean",
16546 "typetext" : "<boolean>"
56122987 16547 },
7aacca6f
DM
16548 "node" : {
16549 "description" : "The cluster node name.",
44660702 16550 "format" : "pve-node",
013dc89f
DM
16551 "type" : "string",
16552 "typetext" : "<string>"
7aacca6f 16553 },
44660702
DM
16554 "policy_in" : {
16555 "description" : "Input policy.",
16556 "enum" : [
16557 "ACCEPT",
16558 "REJECT",
16559 "DROP"
16560 ],
7aacca6f 16561 "optional" : 1,
44660702 16562 "type" : "string"
7aacca6f 16563 },
44660702
DM
16564 "policy_out" : {
16565 "description" : "Output policy.",
56122987 16566 "enum" : [
7aacca6f
DM
16567 "ACCEPT",
16568 "REJECT",
16569 "DROP"
56122987
DM
16570 ],
16571 "optional" : 1,
56122987 16572 "type" : "string"
7aacca6f 16573 },
44660702
DM
16574 "radv" : {
16575 "description" : "Allow sending Router Advertisement.",
7aacca6f 16576 "optional" : 1,
013dc89f
DM
16577 "type" : "boolean",
16578 "typetext" : "<boolean>"
44660702
DM
16579 },
16580 "vmid" : {
16581 "description" : "The (unique) ID of the VM.",
16582 "format" : "pve-vmid",
16583 "minimum" : 1,
4bd7df8b 16584 "type" : "integer",
013dc89f 16585 "typetext" : "<integer> (1 - N)"
56122987 16586 }
44660702 16587 }
56122987 16588 },
7aacca6f
DM
16589 "permissions" : {
16590 "check" : [
16591 "perm",
16592 "/vms/{vmid}",
16593 [
16594 "VM.Config.Network"
16595 ]
16596 ]
16597 },
44660702
DM
16598 "protected" : 1,
16599 "proxyto" : "node",
7aacca6f
DM
16600 "returns" : {
16601 "type" : "null"
56122987
DM
16602 }
16603 }
16604 },
44660702 16605 "leaf" : 1,
7aacca6f 16606 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 16607 "text" : "options"
56122987
DM
16608 },
16609 {
56122987
DM
16610 "info" : {
16611 "GET" : {
44660702 16612 "description" : "Read firewall log",
56122987 16613 "method" : "GET",
7aacca6f 16614 "name" : "log",
56122987
DM
16615 "parameters" : {
16616 "additionalProperties" : 0,
16617 "properties" : {
44660702
DM
16618 "limit" : {
16619 "minimum" : 0,
16620 "optional" : 1,
4bd7df8b 16621 "type" : "integer",
013dc89f 16622 "typetext" : "<integer> (0 - N)"
44660702 16623 },
56122987
DM
16624 "node" : {
16625 "description" : "The cluster node name.",
44660702 16626 "format" : "pve-node",
013dc89f
DM
16627 "type" : "string",
16628 "typetext" : "<string>"
56122987 16629 },
44660702
DM
16630 "start" : {
16631 "minimum" : 0,
7aacca6f 16632 "optional" : 1,
4bd7df8b 16633 "type" : "integer",
013dc89f 16634 "typetext" : "<integer> (0 - N)"
56122987
DM
16635 },
16636 "vmid" : {
44660702 16637 "description" : "The (unique) ID of the VM.",
7aacca6f 16638 "format" : "pve-vmid",
56122987 16639 "minimum" : 1,
4bd7df8b 16640 "type" : "integer",
013dc89f 16641 "typetext" : "<integer> (1 - N)"
56122987
DM
16642 }
16643 }
16644 },
44660702
DM
16645 "permissions" : {
16646 "check" : [
16647 "perm",
16648 "/vms/{vmid}",
16649 [
16650 "VM.Console"
16651 ]
16652 ]
16653 },
56122987 16654 "protected" : 1,
44660702 16655 "proxyto" : "node",
7aacca6f
DM
16656 "returns" : {
16657 "items" : {
16658 "properties" : {
7aacca6f
DM
16659 "n" : {
16660 "description" : "Line number",
16661 "type" : "integer"
44660702
DM
16662 },
16663 "t" : {
16664 "description" : "Line text",
16665 "type" : "string"
7aacca6f
DM
16666 }
16667 },
16668 "type" : "object"
16669 },
16670 "type" : "array"
44660702 16671 }
56122987
DM
16672 }
16673 },
7aacca6f 16674 "leaf" : 1,
44660702
DM
16675 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
16676 "text" : "log"
56122987
DM
16677 },
16678 {
56122987
DM
16679 "info" : {
16680 "GET" : {
7aacca6f 16681 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
16682 "method" : "GET",
16683 "name" : "refs",
56122987 16684 "parameters" : {
7aacca6f 16685 "additionalProperties" : 0,
56122987 16686 "properties" : {
44660702
DM
16687 "node" : {
16688 "description" : "The cluster node name.",
16689 "format" : "pve-node",
013dc89f
DM
16690 "type" : "string",
16691 "typetext" : "<string>"
7aacca6f 16692 },
56122987 16693 "type" : {
44660702 16694 "description" : "Only list references of specified type.",
56122987
DM
16695 "enum" : [
16696 "alias",
16697 "ipset"
16698 ],
44660702
DM
16699 "optional" : 1,
16700 "type" : "string"
56122987 16701 },
44660702
DM
16702 "vmid" : {
16703 "description" : "The (unique) ID of the VM.",
16704 "format" : "pve-vmid",
16705 "minimum" : 1,
4bd7df8b 16706 "type" : "integer",
013dc89f 16707 "typetext" : "<integer> (1 - N)"
56122987 16708 }
7aacca6f 16709 }
56122987 16710 },
44660702
DM
16711 "permissions" : {
16712 "check" : [
16713 "perm",
16714 "/vms/{vmid}",
16715 [
16716 "VM.Audit"
16717 ]
16718 ]
16719 },
56122987 16720 "returns" : {
56122987 16721 "items" : {
56122987 16722 "properties" : {
44660702
DM
16723 "comment" : {
16724 "optional" : 1,
16725 "type" : "string"
16726 },
16727 "name" : {
16728 "type" : "string"
16729 },
56122987 16730 "type" : {
56122987
DM
16731 "enum" : [
16732 "alias",
16733 "ipset"
44660702 16734 ],
7aacca6f 16735 "type" : "string"
56122987 16736 }
44660702
DM
16737 },
16738 "type" : "object"
16739 },
16740 "type" : "array"
56122987
DM
16741 }
16742 }
16743 },
44660702 16744 "leaf" : 1,
7aacca6f 16745 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 16746 "text" : "refs"
56122987
DM
16747 }
16748 ],
56122987
DM
16749 "info" : {
16750 "GET" : {
7aacca6f 16751 "description" : "Directory index.",
44660702
DM
16752 "method" : "GET",
16753 "name" : "index",
56122987 16754 "parameters" : {
44660702 16755 "additionalProperties" : 0,
56122987 16756 "properties" : {
56122987 16757 "node" : {
44660702 16758 "description" : "The cluster node name.",
56122987 16759 "format" : "pve-node",
013dc89f
DM
16760 "type" : "string",
16761 "typetext" : "<string>"
44660702
DM
16762 },
16763 "vmid" : {
16764 "description" : "The (unique) ID of the VM.",
16765 "format" : "pve-vmid",
16766 "minimum" : 1,
4bd7df8b 16767 "type" : "integer",
013dc89f 16768 "typetext" : "<integer> (1 - N)"
56122987 16769 }
44660702
DM
16770 }
16771 },
16772 "permissions" : {
16773 "user" : "all"
56122987
DM
16774 },
16775 "returns" : {
7aacca6f 16776 "items" : {
44660702
DM
16777 "properties" : {},
16778 "type" : "object"
7aacca6f 16779 },
56122987
DM
16780 "links" : [
16781 {
44660702
DM
16782 "href" : "{name}",
16783 "rel" : "child"
56122987 16784 }
44660702
DM
16785 ],
16786 "type" : "array"
56122987
DM
16787 }
16788 }
16789 },
44660702 16790 "leaf" : 0,
7aacca6f 16791 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 16792 "text" : "firewall"
56122987
DM
16793 },
16794 {
56122987
DM
16795 "info" : {
16796 "GET" : {
56122987 16797 "description" : "Read VM RRD statistics (returns PNG)",
44660702 16798 "method" : "GET",
7aacca6f 16799 "name" : "rrd",
56122987 16800 "parameters" : {
7aacca6f 16801 "additionalProperties" : 0,
56122987 16802 "properties" : {
44660702
DM
16803 "cf" : {
16804 "description" : "The RRD consolidation function",
16805 "enum" : [
16806 "AVERAGE",
16807 "MAX"
16808 ],
16809 "optional" : 1,
16810 "type" : "string"
16811 },
16812 "ds" : {
16813 "description" : "The list of datasources you want to display.",
16814 "format" : "pve-configid-list",
013dc89f
DM
16815 "type" : "string",
16816 "typetext" : "<string>"
44660702 16817 },
7aacca6f
DM
16818 "node" : {
16819 "description" : "The cluster node name.",
44660702 16820 "format" : "pve-node",
013dc89f
DM
16821 "type" : "string",
16822 "typetext" : "<string>"
56122987
DM
16823 },
16824 "timeframe" : {
16825 "description" : "Specify the time frame you are interested in.",
16826 "enum" : [
16827 "hour",
16828 "day",
16829 "week",
16830 "month",
16831 "year"
7aacca6f 16832 ],
44660702 16833 "type" : "string"
7aacca6f
DM
16834 },
16835 "vmid" : {
44660702 16836 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16837 "format" : "pve-vmid",
16838 "minimum" : 1,
4bd7df8b 16839 "type" : "integer",
013dc89f 16840 "typetext" : "<integer> (1 - N)"
56122987 16841 }
7aacca6f
DM
16842 }
16843 },
16844 "permissions" : {
16845 "check" : [
16846 "perm",
16847 "/vms/{vmid}",
16848 [
16849 "VM.Audit"
16850 ]
16851 ]
56122987 16852 },
44660702 16853 "protected" : 1,
7aacca6f
DM
16854 "returns" : {
16855 "properties" : {
16856 "filename" : {
16857 "type" : "string"
16858 }
16859 },
16860 "type" : "object"
16861 }
56122987 16862 }
7aacca6f 16863 },
44660702 16864 "leaf" : 1,
7aacca6f 16865 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 16866 "text" : "rrd"
56122987
DM
16867 },
16868 {
56122987
DM
16869 "info" : {
16870 "GET" : {
44660702
DM
16871 "description" : "Read VM RRD statistics",
16872 "method" : "GET",
16873 "name" : "rrddata",
56122987 16874 "parameters" : {
7aacca6f 16875 "additionalProperties" : 0,
56122987 16876 "properties" : {
44660702
DM
16877 "cf" : {
16878 "description" : "The RRD consolidation function",
16879 "enum" : [
16880 "AVERAGE",
16881 "MAX"
16882 ],
16883 "optional" : 1,
16884 "type" : "string"
16885 },
7aacca6f 16886 "node" : {
44660702 16887 "description" : "The cluster node name.",
7aacca6f 16888 "format" : "pve-node",
013dc89f
DM
16889 "type" : "string",
16890 "typetext" : "<string>"
7aacca6f 16891 },
56122987
DM
16892 "timeframe" : {
16893 "description" : "Specify the time frame you are interested in.",
16894 "enum" : [
16895 "hour",
16896 "day",
16897 "week",
16898 "month",
16899 "year"
44660702
DM
16900 ],
16901 "type" : "string"
7aacca6f
DM
16902 },
16903 "vmid" : {
16904 "description" : "The (unique) ID of the VM.",
44660702 16905 "format" : "pve-vmid",
7aacca6f 16906 "minimum" : 1,
4bd7df8b 16907 "type" : "integer",
013dc89f 16908 "typetext" : "<integer> (1 - N)"
56122987 16909 }
56122987
DM
16910 }
16911 },
56122987
DM
16912 "permissions" : {
16913 "check" : [
16914 "perm",
16915 "/vms/{vmid}",
16916 [
16917 "VM.Audit"
16918 ]
16919 ]
16920 },
7aacca6f
DM
16921 "protected" : 1,
16922 "returns" : {
7aacca6f
DM
16923 "items" : {
16924 "properties" : {},
16925 "type" : "object"
44660702
DM
16926 },
16927 "type" : "array"
16928 }
56122987
DM
16929 }
16930 },
44660702 16931 "leaf" : 1,
7aacca6f 16932 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 16933 "text" : "rrddata"
56122987
DM
16934 },
16935 {
16936 "info" : {
16937 "POST" : {
16938 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
16939 "method" : "POST",
16940 "name" : "vncproxy",
7aacca6f 16941 "parameters" : {
44660702 16942 "additionalProperties" : 0,
7aacca6f 16943 "properties" : {
5d9c884c
DM
16944 "height" : {
16945 "description" : "sets the height of the console in pixels.",
16946 "maximum" : 2160,
16947 "minimum" : 16,
16948 "optional" : 1,
16949 "type" : "integer",
16950 "typetext" : "<integer> (16 - 2160)"
16951 },
44660702
DM
16952 "node" : {
16953 "description" : "The cluster node name.",
16954 "format" : "pve-node",
013dc89f
DM
16955 "type" : "string",
16956 "typetext" : "<string>"
44660702 16957 },
7aacca6f 16958 "vmid" : {
44660702 16959 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16960 "format" : "pve-vmid",
16961 "minimum" : 1,
4bd7df8b 16962 "type" : "integer",
013dc89f 16963 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16964 },
16965 "websocket" : {
44660702 16966 "description" : "use websocket instead of standard VNC.",
7aacca6f 16967 "optional" : 1,
013dc89f
DM
16968 "type" : "boolean",
16969 "typetext" : "<boolean>"
5d9c884c
DM
16970 },
16971 "width" : {
16972 "description" : "sets the width of the console in pixels.",
16973 "maximum" : 4096,
16974 "minimum" : 16,
16975 "optional" : 1,
16976 "type" : "integer",
16977 "typetext" : "<integer> (16 - 4096)"
7aacca6f 16978 }
44660702 16979 }
7aacca6f 16980 },
56122987
DM
16981 "permissions" : {
16982 "check" : [
16983 "perm",
16984 "/vms/{vmid}",
16985 [
16986 "VM.Console"
16987 ]
16988 ]
16989 },
44660702 16990 "protected" : 1,
56122987 16991 "returns" : {
7aacca6f 16992 "additionalProperties" : 0,
56122987 16993 "properties" : {
7aacca6f 16994 "cert" : {
56122987
DM
16995 "type" : "string"
16996 },
44660702
DM
16997 "port" : {
16998 "type" : "integer"
56122987 16999 },
44660702 17000 "ticket" : {
56122987
DM
17001 "type" : "string"
17002 },
44660702 17003 "upid" : {
56122987
DM
17004 "type" : "string"
17005 },
44660702
DM
17006 "user" : {
17007 "type" : "string"
56122987 17008 }
7aacca6f 17009 }
56122987
DM
17010 }
17011 }
17012 },
44660702 17013 "leaf" : 1,
56122987 17014 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 17015 "text" : "vncproxy"
56122987 17016 },
35a75dd3
DM
17017 {
17018 "info" : {
17019 "POST" : {
17020 "description" : "Creates a TCP proxy connection.",
17021 "method" : "POST",
17022 "name" : "termproxy",
17023 "parameters" : {
17024 "additionalProperties" : 0,
17025 "properties" : {
17026 "node" : {
17027 "description" : "The cluster node name.",
17028 "format" : "pve-node",
17029 "type" : "string",
17030 "typetext" : "<string>"
17031 },
17032 "vmid" : {
17033 "description" : "The (unique) ID of the VM.",
17034 "format" : "pve-vmid",
17035 "minimum" : 1,
17036 "type" : "integer",
17037 "typetext" : "<integer> (1 - N)"
17038 }
17039 }
17040 },
17041 "permissions" : {
17042 "check" : [
17043 "perm",
17044 "/vms/{vmid}",
17045 [
17046 "VM.Console"
17047 ]
17048 ]
17049 },
17050 "protected" : 1,
17051 "returns" : {
17052 "additionalProperties" : 0,
17053 "properties" : {
17054 "port" : {
17055 "type" : "integer"
17056 },
17057 "ticket" : {
17058 "type" : "string"
17059 },
17060 "upid" : {
17061 "type" : "string"
17062 },
17063 "user" : {
17064 "type" : "string"
17065 }
17066 }
17067 }
17068 }
17069 },
17070 "leaf" : 1,
17071 "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
17072 "text" : "termproxy"
17073 },
56122987 17074 {
56122987
DM
17075 "info" : {
17076 "GET" : {
44660702
DM
17077 "description" : "Opens a weksocket for VNC traffic.",
17078 "method" : "GET",
17079 "name" : "vncwebsocket",
56122987 17080 "parameters" : {
44660702 17081 "additionalProperties" : 0,
56122987 17082 "properties" : {
56122987
DM
17083 "node" : {
17084 "description" : "The cluster node name.",
44660702 17085 "format" : "pve-node",
013dc89f
DM
17086 "type" : "string",
17087 "typetext" : "<string>"
7aacca6f 17088 },
44660702
DM
17089 "port" : {
17090 "description" : "Port number returned by previous vncproxy call.",
17091 "maximum" : 5999,
17092 "minimum" : 5900,
4bd7df8b 17093 "type" : "integer",
013dc89f 17094 "typetext" : "<integer> (5900 - 5999)"
44660702 17095 },
7aacca6f
DM
17096 "vmid" : {
17097 "description" : "The (unique) ID of the VM.",
7aacca6f 17098 "format" : "pve-vmid",
44660702 17099 "minimum" : 1,
4bd7df8b 17100 "type" : "integer",
013dc89f 17101 "typetext" : "<integer> (1 - N)"
44660702
DM
17102 },
17103 "vncticket" : {
17104 "description" : "Ticket from previous call to vncproxy.",
17105 "maxLength" : 512,
013dc89f
DM
17106 "type" : "string",
17107 "typetext" : "<string>"
56122987 17108 }
44660702 17109 }
7aacca6f 17110 },
7aacca6f
DM
17111 "permissions" : {
17112 "check" : [
17113 "perm",
17114 "/vms/{vmid}",
17115 [
17116 "VM.Console"
17117 ]
17118 ],
17119 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
17120 },
17121 "returns" : {
56122987
DM
17122 "properties" : {
17123 "port" : {
17124 "type" : "string"
17125 }
44660702
DM
17126 },
17127 "type" : "object"
17128 }
56122987
DM
17129 }
17130 },
44660702 17131 "leaf" : 1,
7aacca6f 17132 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 17133 "text" : "vncwebsocket"
56122987
DM
17134 },
17135 {
56122987
DM
17136 "info" : {
17137 "POST" : {
44660702
DM
17138 "description" : "Returns a SPICE configuration to connect to the CT.",
17139 "method" : "POST",
17140 "name" : "spiceproxy",
56122987
DM
17141 "parameters" : {
17142 "additionalProperties" : 0,
17143 "properties" : {
44660702
DM
17144 "node" : {
17145 "description" : "The cluster node name.",
17146 "format" : "pve-node",
013dc89f
DM
17147 "type" : "string",
17148 "typetext" : "<string>"
56122987
DM
17149 },
17150 "proxy" : {
7aacca6f 17151 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
44660702
DM
17152 "format" : "address",
17153 "optional" : 1,
013dc89f
DM
17154 "type" : "string",
17155 "typetext" : "<string>"
44660702
DM
17156 },
17157 "vmid" : {
17158 "description" : "The (unique) ID of the VM.",
17159 "format" : "pve-vmid",
17160 "minimum" : 1,
4bd7df8b 17161 "type" : "integer",
013dc89f 17162 "typetext" : "<integer> (1 - N)"
56122987
DM
17163 }
17164 }
17165 },
56122987
DM
17166 "permissions" : {
17167 "check" : [
17168 "perm",
17169 "/vms/{vmid}",
17170 [
17171 "VM.Console"
17172 ]
17173 ]
17174 },
44660702
DM
17175 "protected" : 1,
17176 "proxyto" : "node",
56122987 17177 "returns" : {
7aacca6f 17178 "additionalProperties" : 1,
44660702 17179 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 17180 "properties" : {
44660702 17181 "host" : {
56122987
DM
17182 "type" : "string"
17183 },
44660702 17184 "password" : {
56122987
DM
17185 "type" : "string"
17186 },
17187 "proxy" : {
17188 "type" : "string"
17189 },
56122987
DM
17190 "tls-port" : {
17191 "type" : "integer"
7aacca6f 17192 },
44660702 17193 "type" : {
7aacca6f 17194 "type" : "string"
56122987 17195 }
7aacca6f
DM
17196 }
17197 }
56122987 17198 }
44660702
DM
17199 },
17200 "leaf" : 1,
17201 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
17202 "text" : "spiceproxy"
56122987
DM
17203 },
17204 {
56122987
DM
17205 "info" : {
17206 "POST" : {
44660702 17207 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 17208 "method" : "POST",
44660702 17209 "name" : "migrate_vm",
56122987 17210 "parameters" : {
44660702 17211 "additionalProperties" : 0,
56122987 17212 "properties" : {
44660702 17213 "force" : {
de0983cb 17214 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 17215 "optional" : 1,
013dc89f
DM
17216 "type" : "boolean",
17217 "typetext" : "<boolean>"
44660702
DM
17218 },
17219 "node" : {
17220 "description" : "The cluster node name.",
7aacca6f 17221 "format" : "pve-node",
013dc89f
DM
17222 "type" : "string",
17223 "typetext" : "<string>"
7aacca6f 17224 },
56122987 17225 "online" : {
56122987 17226 "description" : "Use online/live migration.",
44660702 17227 "optional" : 1,
013dc89f
DM
17228 "type" : "boolean",
17229 "typetext" : "<boolean>"
56122987 17230 },
6875b729
DM
17231 "restart" : {
17232 "description" : "Use restart migration",
17233 "optional" : 1,
17234 "type" : "boolean",
17235 "typetext" : "<boolean>"
17236 },
44660702
DM
17237 "target" : {
17238 "description" : "Target node.",
56122987 17239 "format" : "pve-node",
013dc89f
DM
17240 "type" : "string",
17241 "typetext" : "<string>"
56122987 17242 },
6875b729
DM
17243 "timeout" : {
17244 "default" : 180,
17245 "description" : "Timeout in seconds for shutdown for restart migration",
17246 "optional" : 1,
17247 "type" : "integer",
17248 "typetext" : "<integer>"
17249 },
44660702
DM
17250 "vmid" : {
17251 "description" : "The (unique) ID of the VM.",
17252 "format" : "pve-vmid",
17253 "minimum" : 1,
4bd7df8b 17254 "type" : "integer",
013dc89f 17255 "typetext" : "<integer> (1 - N)"
56122987 17256 }
44660702 17257 }
7aacca6f 17258 },
56122987
DM
17259 "permissions" : {
17260 "check" : [
17261 "perm",
17262 "/vms/{vmid}",
17263 [
17264 "VM.Migrate"
17265 ]
17266 ]
17267 },
44660702 17268 "protected" : 1,
7aacca6f 17269 "proxyto" : "node",
44660702
DM
17270 "returns" : {
17271 "description" : "the task ID.",
17272 "type" : "string"
17273 }
56122987
DM
17274 }
17275 },
44660702
DM
17276 "leaf" : 1,
17277 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 17278 "text" : "migrate"
56122987
DM
17279 },
17280 {
56122987
DM
17281 "info" : {
17282 "GET" : {
44660702
DM
17283 "description" : "Check if feature for virtual machine is available.",
17284 "method" : "GET",
56122987 17285 "name" : "vm_feature",
56122987 17286 "parameters" : {
7aacca6f 17287 "additionalProperties" : 0,
56122987 17288 "properties" : {
44660702
DM
17289 "feature" : {
17290 "description" : "Feature to check.",
17291 "enum" : [
17292 "snapshot"
17293 ],
17294 "type" : "string"
17295 },
7aacca6f 17296 "node" : {
44660702 17297 "description" : "The cluster node name.",
7aacca6f 17298 "format" : "pve-node",
013dc89f
DM
17299 "type" : "string",
17300 "typetext" : "<string>"
7aacca6f 17301 },
56122987 17302 "snapname" : {
7aacca6f
DM
17303 "description" : "The name of the snapshot.",
17304 "format" : "pve-configid",
44660702
DM
17305 "maxLength" : 40,
17306 "optional" : 1,
013dc89f
DM
17307 "type" : "string",
17308 "typetext" : "<string>"
56122987
DM
17309 },
17310 "vmid" : {
7aacca6f 17311 "description" : "The (unique) ID of the VM.",
44660702 17312 "format" : "pve-vmid",
7aacca6f 17313 "minimum" : 1,
4bd7df8b 17314 "type" : "integer",
013dc89f 17315 "typetext" : "<integer> (1 - N)"
56122987 17316 }
7aacca6f 17317 }
56122987
DM
17318 },
17319 "permissions" : {
17320 "check" : [
17321 "perm",
17322 "/vms/{vmid}",
17323 [
17324 "VM.Audit"
17325 ]
17326 ]
17327 },
44660702 17328 "protected" : 1,
7aacca6f 17329 "proxyto" : "node",
7aacca6f
DM
17330 "returns" : {
17331 "properties" : {
17332 "hasFeature" : {
17333 "type" : "boolean"
17334 }
17335 },
17336 "type" : "object"
17337 }
56122987
DM
17338 }
17339 },
7aacca6f 17340 "leaf" : 1,
44660702
DM
17341 "path" : "/nodes/{node}/lxc/{vmid}/feature",
17342 "text" : "feature"
56122987
DM
17343 },
17344 {
56122987
DM
17345 "info" : {
17346 "POST" : {
44660702
DM
17347 "description" : "Create a Template.",
17348 "method" : "POST",
56122987 17349 "name" : "template",
56122987
DM
17350 "parameters" : {
17351 "additionalProperties" : 0,
17352 "properties" : {
44660702
DM
17353 "experimental" : {
17354 "default" : 0,
17355 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
17356 "type" : "boolean",
17357 "typetext" : "<boolean>"
7aacca6f
DM
17358 },
17359 "node" : {
7aacca6f 17360 "description" : "The cluster node name.",
44660702 17361 "format" : "pve-node",
013dc89f
DM
17362 "type" : "string",
17363 "typetext" : "<string>"
56122987 17364 },
44660702
DM
17365 "vmid" : {
17366 "description" : "The (unique) ID of the VM.",
17367 "format" : "pve-vmid",
17368 "minimum" : 1,
4bd7df8b 17369 "type" : "integer",
013dc89f 17370 "typetext" : "<integer> (1 - N)"
56122987
DM
17371 }
17372 }
17373 },
56122987 17374 "permissions" : {
56122987
DM
17375 "check" : [
17376 "perm",
17377 "/vms/{vmid}",
17378 [
17379 "VM.Allocate"
17380 ]
44660702
DM
17381 ],
17382 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 17383 },
44660702 17384 "protected" : 1,
7aacca6f
DM
17385 "proxyto" : "node",
17386 "returns" : {
17387 "type" : "null"
56122987
DM
17388 }
17389 }
17390 },
44660702 17391 "leaf" : 1,
7aacca6f 17392 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 17393 "text" : "template"
56122987
DM
17394 },
17395 {
56122987
DM
17396 "info" : {
17397 "POST" : {
44660702
DM
17398 "description" : "Create a container clone/copy",
17399 "method" : "POST",
56122987 17400 "name" : "clone_vm",
7aacca6f
DM
17401 "parameters" : {
17402 "additionalProperties" : 0,
17403 "properties" : {
44660702
DM
17404 "description" : {
17405 "description" : "Description for the new CT.",
7aacca6f 17406 "optional" : 1,
013dc89f
DM
17407 "type" : "string",
17408 "typetext" : "<string>"
7aacca6f
DM
17409 },
17410 "experimental" : {
7aacca6f 17411 "default" : 0,
44660702 17412 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
17413 "type" : "boolean",
17414 "typetext" : "<boolean>"
7aacca6f 17415 },
44660702
DM
17416 "full" : {
17417 "default" : 0,
17418 "description" : "Create a full copy of all disk. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
7aacca6f 17419 "optional" : 1,
013dc89f
DM
17420 "type" : "boolean",
17421 "typetext" : "<boolean>"
7aacca6f
DM
17422 },
17423 "hostname" : {
44660702 17424 "description" : "Set a hostname for the new CT.",
7aacca6f 17425 "format" : "dns-name",
7aacca6f 17426 "optional" : 1,
013dc89f
DM
17427 "type" : "string",
17428 "typetext" : "<string>"
7aacca6f 17429 },
44660702
DM
17430 "newid" : {
17431 "description" : "VMID for the clone.",
7aacca6f 17432 "format" : "pve-vmid",
44660702 17433 "minimum" : 1,
4bd7df8b 17434 "type" : "integer",
013dc89f 17435 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17436 },
17437 "node" : {
17438 "description" : "The cluster node name.",
44660702 17439 "format" : "pve-node",
013dc89f
DM
17440 "type" : "string",
17441 "typetext" : "<string>"
44660702
DM
17442 },
17443 "pool" : {
17444 "description" : "Add the new CT to the specified pool.",
17445 "format" : "pve-poolid",
17446 "optional" : 1,
013dc89f
DM
17447 "type" : "string",
17448 "typetext" : "<string>"
7aacca6f
DM
17449 },
17450 "snapname" : {
44660702 17451 "description" : "The name of the snapshot.",
7aacca6f
DM
17452 "format" : "pve-configid",
17453 "maxLength" : 40,
7aacca6f 17454 "optional" : 1,
013dc89f
DM
17455 "type" : "string",
17456 "typetext" : "<string>"
7aacca6f
DM
17457 },
17458 "storage" : {
44660702 17459 "description" : "Target storage for full clone.",
7aacca6f
DM
17460 "format" : "pve-storage-id",
17461 "optional" : 1,
7aacca6f 17462 "requires" : "full",
013dc89f
DM
17463 "type" : "string",
17464 "typetext" : "<string>"
44660702
DM
17465 },
17466 "vmid" : {
17467 "description" : "The (unique) ID of the VM.",
17468 "format" : "pve-vmid",
17469 "minimum" : 1,
4bd7df8b 17470 "type" : "integer",
013dc89f 17471 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17472 }
17473 }
56122987
DM
17474 },
17475 "permissions" : {
56122987
DM
17476 "check" : [
17477 "and",
17478 [
17479 "perm",
17480 "/vms/{vmid}",
17481 [
17482 "VM.Clone"
17483 ]
17484 ],
17485 [
17486 "or",
17487 [
17488 "perm",
17489 "/vms/{newid}",
17490 [
17491 "VM.Allocate"
17492 ]
17493 ],
17494 [
17495 "perm",
17496 "/pool/{pool}",
17497 [
17498 "VM.Allocate"
17499 ],
17500 "require_param",
17501 "pool"
17502 ]
17503 ]
7aacca6f
DM
17504 ],
17505 "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 17506 },
44660702 17507 "protected" : 1,
56122987 17508 "proxyto" : "node",
7aacca6f
DM
17509 "returns" : {
17510 "type" : "string"
56122987
DM
17511 }
17512 }
44660702
DM
17513 },
17514 "leaf" : 1,
17515 "path" : "/nodes/{node}/lxc/{vmid}/clone",
17516 "text" : "clone"
56122987
DM
17517 },
17518 {
56122987
DM
17519 "info" : {
17520 "PUT" : {
de0983cb 17521 "description" : "Resize a container mount point.",
44660702
DM
17522 "method" : "PUT",
17523 "name" : "resize_vm",
56122987 17524 "parameters" : {
44660702 17525 "additionalProperties" : 0,
56122987 17526 "properties" : {
44660702
DM
17527 "digest" : {
17528 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17529 "maxLength" : 40,
17530 "optional" : 1,
013dc89f
DM
17531 "type" : "string",
17532 "typetext" : "<string>"
56122987
DM
17533 },
17534 "disk" : {
7aacca6f 17535 "description" : "The disk you want to resize.",
56122987
DM
17536 "enum" : [
17537 "rootfs",
17538 "mp0",
17539 "mp1",
17540 "mp2",
17541 "mp3",
17542 "mp4",
17543 "mp5",
17544 "mp6",
17545 "mp7",
17546 "mp8",
17547 "mp9"
17548 ],
7aacca6f
DM
17549 "type" : "string"
17550 },
44660702
DM
17551 "node" : {
17552 "description" : "The cluster node name.",
17553 "format" : "pve-node",
013dc89f
DM
17554 "type" : "string",
17555 "typetext" : "<string>"
44660702
DM
17556 },
17557 "size" : {
17558 "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.",
17559 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
17560 "type" : "string"
17561 },
17562 "vmid" : {
17563 "description" : "The (unique) ID of the VM.",
17564 "format" : "pve-vmid",
17565 "minimum" : 1,
4bd7df8b 17566 "type" : "integer",
013dc89f 17567 "typetext" : "<integer> (1 - N)"
56122987 17568 }
44660702 17569 }
56122987 17570 },
7aacca6f
DM
17571 "permissions" : {
17572 "check" : [
17573 "perm",
17574 "/vms/{vmid}",
17575 [
17576 "VM.Config.Disk"
17577 ],
17578 "any",
17579 1
17580 ]
17581 },
44660702 17582 "protected" : 1,
7aacca6f
DM
17583 "proxyto" : "node",
17584 "returns" : {
17585 "description" : "the task ID.",
17586 "type" : "string"
17587 }
56122987
DM
17588 }
17589 },
44660702 17590 "leaf" : 1,
7aacca6f 17591 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 17592 "text" : "resize"
56122987
DM
17593 }
17594 ],
17595 "info" : {
17596 "DELETE" : {
7aacca6f 17597 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
17598 "method" : "DELETE",
17599 "name" : "destroy_vm",
17600 "parameters" : {
17601 "additionalProperties" : 0,
17602 "properties" : {
17603 "node" : {
17604 "description" : "The cluster node name.",
17605 "format" : "pve-node",
013dc89f
DM
17606 "type" : "string",
17607 "typetext" : "<string>"
44660702
DM
17608 },
17609 "vmid" : {
17610 "description" : "The (unique) ID of the VM.",
17611 "format" : "pve-vmid",
17612 "minimum" : 1,
4bd7df8b 17613 "type" : "integer",
013dc89f 17614 "typetext" : "<integer> (1 - N)"
44660702
DM
17615 }
17616 }
17617 },
7aacca6f
DM
17618 "permissions" : {
17619 "check" : [
17620 "perm",
17621 "/vms/{vmid}",
17622 [
17623 "VM.Allocate"
17624 ]
17625 ]
17626 },
44660702
DM
17627 "protected" : 1,
17628 "proxyto" : "node",
56122987
DM
17629 "returns" : {
17630 "type" : "string"
44660702 17631 }
56122987
DM
17632 },
17633 "GET" : {
7aacca6f 17634 "description" : "Directory index",
44660702 17635 "method" : "GET",
7aacca6f 17636 "name" : "vmdiridx",
56122987 17637 "parameters" : {
7aacca6f 17638 "additionalProperties" : 0,
56122987
DM
17639 "properties" : {
17640 "node" : {
7aacca6f 17641 "description" : "The cluster node name.",
44660702 17642 "format" : "pve-node",
013dc89f
DM
17643 "type" : "string",
17644 "typetext" : "<string>"
56122987
DM
17645 },
17646 "vmid" : {
17647 "description" : "The (unique) ID of the VM.",
56122987 17648 "format" : "pve-vmid",
44660702 17649 "minimum" : 1,
4bd7df8b 17650 "type" : "integer",
013dc89f 17651 "typetext" : "<integer> (1 - N)"
56122987 17652 }
7aacca6f 17653 }
56122987 17654 },
56122987
DM
17655 "permissions" : {
17656 "user" : "all"
44660702
DM
17657 },
17658 "proxyto" : "node",
17659 "returns" : {
17660 "items" : {
17661 "properties" : {
17662 "subdir" : {
17663 "type" : "string"
17664 }
17665 },
17666 "type" : "object"
17667 },
17668 "links" : [
17669 {
17670 "href" : "{subdir}",
17671 "rel" : "child"
17672 }
17673 ],
17674 "type" : "array"
56122987
DM
17675 }
17676 }
44660702
DM
17677 },
17678 "leaf" : 0,
17679 "path" : "/nodes/{node}/lxc/{vmid}",
17680 "text" : "{vmid}"
56122987
DM
17681 }
17682 ],
56122987 17683 "info" : {
44660702
DM
17684 "GET" : {
17685 "description" : "LXC container index (per node).",
17686 "method" : "GET",
17687 "name" : "vmlist",
17688 "parameters" : {
17689 "additionalProperties" : 0,
17690 "properties" : {
17691 "node" : {
17692 "description" : "The cluster node name.",
17693 "format" : "pve-node",
013dc89f
DM
17694 "type" : "string",
17695 "typetext" : "<string>"
44660702
DM
17696 }
17697 }
17698 },
17699 "permissions" : {
17700 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
17701 "user" : "all"
17702 },
17703 "protected" : 1,
17704 "proxyto" : "node",
17705 "returns" : {
17706 "items" : {
17707 "properties" : {},
17708 "type" : "object"
17709 },
17710 "links" : [
17711 {
17712 "href" : "{vmid}",
17713 "rel" : "child"
17714 }
17715 ],
17716 "type" : "array"
17717 }
17718 },
56122987 17719 "POST" : {
44660702 17720 "description" : "Create or restore a container.",
7aacca6f
DM
17721 "method" : "POST",
17722 "name" : "create_vm",
56122987 17723 "parameters" : {
7aacca6f 17724 "additionalProperties" : 0,
56122987 17725 "properties" : {
44660702
DM
17726 "arch" : {
17727 "default" : "amd64",
17728 "description" : "OS architecture type.",
17729 "enum" : [
17730 "amd64",
17731 "i386"
17732 ],
7aacca6f 17733 "optional" : 1,
44660702 17734 "type" : "string"
7aacca6f 17735 },
44660702
DM
17736 "cmode" : {
17737 "default" : "tty",
17738 "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).",
17739 "enum" : [
17740 "shell",
17741 "console",
17742 "tty"
17743 ],
7aacca6f 17744 "optional" : 1,
44660702 17745 "type" : "string"
7aacca6f
DM
17746 },
17747 "console" : {
7aacca6f 17748 "default" : 1,
44660702 17749 "description" : "Attach a console device (/dev/console) to the container.",
56122987 17750 "optional" : 1,
013dc89f
DM
17751 "type" : "boolean",
17752 "typetext" : "<boolean>"
56122987 17753 },
de0983cb
DM
17754 "cores" : {
17755 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
17756 "maximum" : 128,
17757 "minimum" : 1,
17758 "optional" : 1,
17759 "type" : "integer",
013dc89f 17760 "typetext" : "<integer> (1 - 128)"
de0983cb 17761 },
44660702
DM
17762 "cpulimit" : {
17763 "default" : 0,
17764 "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.",
17765 "maximum" : 128,
17766 "minimum" : 0,
56122987 17767 "optional" : 1,
4bd7df8b 17768 "type" : "number",
013dc89f 17769 "typetext" : "<number> (0 - 128)"
56122987 17770 },
44660702
DM
17771 "cpuunits" : {
17772 "default" : 1024,
17773 "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.",
17774 "maximum" : 500000,
17775 "minimum" : 0,
56122987 17776 "optional" : 1,
4bd7df8b 17777 "type" : "integer",
013dc89f 17778 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
17779 },
17780 "description" : {
44660702 17781 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 17782 "optional" : 1,
013dc89f
DM
17783 "type" : "string",
17784 "typetext" : "<string>"
7aacca6f 17785 },
44660702
DM
17786 "force" : {
17787 "description" : "Allow to overwrite existing container.",
7aacca6f 17788 "optional" : 1,
013dc89f
DM
17789 "type" : "boolean",
17790 "typetext" : "<boolean>"
44660702
DM
17791 },
17792 "hostname" : {
17793 "description" : "Set a host name for the container.",
17794 "format" : "dns-name",
17795 "maxLength" : 255,
17796 "optional" : 1,
013dc89f
DM
17797 "type" : "string",
17798 "typetext" : "<string>"
44660702
DM
17799 },
17800 "ignore-unpack-errors" : {
17801 "description" : "Ignore errors when extracting the template.",
17802 "optional" : 1,
013dc89f
DM
17803 "type" : "boolean",
17804 "typetext" : "<boolean>"
44660702
DM
17805 },
17806 "lock" : {
17807 "description" : "Lock/unlock the VM.",
7aacca6f
DM
17808 "enum" : [
17809 "migrate",
17810 "backup",
17811 "snapshot",
17812 "rollback"
17813 ],
44660702
DM
17814 "optional" : 1,
17815 "type" : "string"
7aacca6f 17816 },
44660702
DM
17817 "memory" : {
17818 "default" : 512,
17819 "description" : "Amount of RAM for the VM in MB.",
17820 "minimum" : 16,
7aacca6f 17821 "optional" : 1,
4bd7df8b 17822 "type" : "integer",
013dc89f 17823 "typetext" : "<integer> (16 - N)"
44660702
DM
17824 },
17825 "mp[n]" : {
c2993fe5 17826 "description" : "Use volume as container mount point.",
56122987 17827 "format" : {
7aacca6f
DM
17828 "acl" : {
17829 "description" : "Explicitly enable or disable ACL support.",
17830 "optional" : 1,
44660702 17831 "type" : "boolean"
56122987
DM
17832 },
17833 "backup" : {
de0983cb 17834 "description" : "Whether to include the mount point in backups.",
44660702 17835 "optional" : 1,
4bd7df8b 17836 "type" : "boolean",
de0983cb 17837 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
17838 },
17839 "mp" : {
de0983cb 17840 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
17841 "format" : "pve-lxc-mp-string",
17842 "format_description" : "Path",
4bd7df8b 17843 "type" : "string",
de0983cb 17844 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702
DM
17845 },
17846 "quota" : {
17847 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17848 "optional" : 1,
44660702
DM
17849 "type" : "boolean"
17850 },
5d9c884c
DM
17851 "replicate" : {
17852 "default" : 1,
17853 "description" : "Will include this volume to a storage replica job.",
17854 "optional" : 1,
17855 "type" : "boolean"
17856 },
44660702 17857 "ro" : {
de0983cb 17858 "description" : "Read-only mount point",
44660702
DM
17859 "optional" : 1,
17860 "type" : "boolean"
7aacca6f 17861 },
de0983cb
DM
17862 "shared" : {
17863 "default" : 0,
17864 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17865 "optional" : 1,
17866 "type" : "boolean",
17867 "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!"
17868 },
7aacca6f 17869 "size" : {
44660702 17870 "description" : "Volume size (read only value).",
7aacca6f
DM
17871 "format" : "disk-size",
17872 "format_description" : "DiskSize",
7aacca6f
DM
17873 "optional" : 1,
17874 "type" : "string"
56122987
DM
17875 },
17876 "volume" : {
7aacca6f 17877 "default_key" : 1,
44660702 17878 "description" : "Volume, device or directory to mount into the container.",
56122987 17879 "format" : "pve-lxc-mp-string",
56122987 17880 "format_description" : "volume",
44660702 17881 "type" : "string"
56122987 17882 }
44660702 17883 },
56122987 17884 "optional" : 1,
4bd7df8b 17885 "type" : "string",
5d9c884c 17886 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 17887 },
44660702
DM
17888 "nameserver" : {
17889 "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.",
17890 "format" : "address-list",
56122987 17891 "optional" : 1,
013dc89f
DM
17892 "type" : "string",
17893 "typetext" : "<string>"
56122987 17894 },
44660702
DM
17895 "net[n]" : {
17896 "description" : "Specifies network interfaces for the container.",
7aacca6f 17897 "format" : {
44660702
DM
17898 "bridge" : {
17899 "description" : "Bridge to attach the network device to.",
f004f5b9 17900 "format_description" : "bridge",
7aacca6f 17901 "optional" : 1,
44660702
DM
17902 "pattern" : "[-_.\\w\\d]+",
17903 "type" : "string"
7aacca6f 17904 },
44660702
DM
17905 "firewall" : {
17906 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 17907 "optional" : 1,
44660702 17908 "type" : "boolean"
7aacca6f 17909 },
44660702
DM
17910 "gw" : {
17911 "description" : "Default gateway for IPv4 traffic.",
17912 "format" : "ipv4",
17913 "format_description" : "GatewayIPv4",
7aacca6f 17914 "optional" : 1,
44660702 17915 "type" : "string"
7aacca6f 17916 },
44660702
DM
17917 "gw6" : {
17918 "description" : "Default gateway for IPv6 traffic.",
17919 "format" : "ipv6",
17920 "format_description" : "GatewayIPv6",
17921 "optional" : 1,
17922 "type" : "string"
7aacca6f 17923 },
44660702 17924 "hwaddr" : {
f004f5b9
DM
17925 "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)",
17926 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
17927 "optional" : 1,
17928 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
17929 "type" : "string"
17930 },
44660702
DM
17931 "ip" : {
17932 "description" : "IPv4 address in CIDR format.",
17933 "format" : "pve-ipv4-config",
2489d6df 17934 "format_description" : "(IPv4/CIDR|dhcp|manual)",
7aacca6f 17935 "optional" : 1,
44660702 17936 "type" : "string"
7aacca6f 17937 },
44660702
DM
17938 "ip6" : {
17939 "description" : "IPv6 address in CIDR format.",
17940 "format" : "pve-ipv6-config",
2489d6df 17941 "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
44660702
DM
17942 "optional" : 1,
17943 "type" : "string"
17944 },
17945 "mtu" : {
17946 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
17947 "minimum" : 64,
17948 "optional" : 1,
17949 "type" : "integer"
17950 },
17951 "name" : {
17952 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 17953 "format_description" : "string",
44660702
DM
17954 "pattern" : "[-_.\\w\\d]+",
17955 "type" : "string"
17956 },
17957 "rate" : {
17958 "description" : "Apply rate limiting to the interface",
17959 "format_description" : "mbps",
17960 "optional" : 1,
17961 "type" : "number"
17962 },
17963 "tag" : {
17964 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
17965 "maximum" : 4094,
17966 "minimum" : 1,
44660702
DM
17967 "optional" : 1,
17968 "type" : "integer"
17969 },
17970 "trunks" : {
17971 "description" : "VLAN ids to pass through the interface",
17972 "format_description" : "vlanid[;vlanid...]",
17973 "optional" : 1,
17974 "pattern" : "(?^:\\d+(?:;\\d+)*)",
17975 "type" : "string"
17976 },
17977 "type" : {
17978 "description" : "Network interface type.",
17979 "enum" : [
17980 "veth"
17981 ],
17982 "optional" : 1,
17983 "type" : "string"
7aacca6f
DM
17984 }
17985 },
56122987 17986 "optional" : 1,
4bd7df8b 17987 "type" : "string",
2489d6df 17988 "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 17989 },
44660702
DM
17990 "node" : {
17991 "description" : "The cluster node name.",
17992 "format" : "pve-node",
013dc89f
DM
17993 "type" : "string",
17994 "typetext" : "<string>"
56122987 17995 },
44660702
DM
17996 "onboot" : {
17997 "default" : 0,
17998 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17999 "optional" : 1,
013dc89f
DM
18000 "type" : "boolean",
18001 "typetext" : "<boolean>"
44660702
DM
18002 },
18003 "ostemplate" : {
18004 "description" : "The OS template or backup file.",
18005 "maxLength" : 255,
013dc89f
DM
18006 "type" : "string",
18007 "typetext" : "<string>"
56122987
DM
18008 },
18009 "ostype" : {
7aacca6f 18010 "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
56122987
DM
18011 "enum" : [
18012 "debian",
18013 "ubuntu",
18014 "centos",
18015 "fedora",
18016 "opensuse",
18017 "archlinux",
18018 "alpine",
57b78691 18019 "gentoo",
56122987 18020 "unmanaged"
44660702 18021 ],
56122987 18022 "optional" : 1,
7aacca6f 18023 "type" : "string"
56122987 18024 },
44660702
DM
18025 "password" : {
18026 "description" : "Sets root password inside container.",
18027 "minLength" : 5,
7aacca6f 18028 "optional" : 1,
013dc89f
DM
18029 "type" : "string",
18030 "typetext" : "<string>"
7aacca6f 18031 },
44660702
DM
18032 "pool" : {
18033 "description" : "Add the VM to the specified pool.",
18034 "format" : "pve-poolid",
7aacca6f 18035 "optional" : 1,
013dc89f
DM
18036 "type" : "string",
18037 "typetext" : "<string>"
7aacca6f 18038 },
44660702
DM
18039 "protection" : {
18040 "default" : 0,
18041 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 18042 "optional" : 1,
013dc89f
DM
18043 "type" : "boolean",
18044 "typetext" : "<boolean>"
7aacca6f 18045 },
44660702
DM
18046 "restore" : {
18047 "description" : "Mark this as restore task.",
18048 "optional" : 1,
013dc89f
DM
18049 "type" : "boolean",
18050 "typetext" : "<boolean>"
7aacca6f 18051 },
44660702
DM
18052 "rootfs" : {
18053 "description" : "Use volume as container root.",
56122987 18054 "format" : {
44660702
DM
18055 "acl" : {
18056 "description" : "Explicitly enable or disable ACL support.",
56122987 18057 "optional" : 1,
44660702 18058 "type" : "boolean"
56122987 18059 },
44660702
DM
18060 "quota" : {
18061 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 18062 "optional" : 1,
44660702 18063 "type" : "boolean"
7aacca6f 18064 },
5d9c884c
DM
18065 "replicate" : {
18066 "default" : 1,
18067 "description" : "Will include this volume to a storage replica job.",
18068 "optional" : 1,
18069 "type" : "boolean"
18070 },
44660702 18071 "ro" : {
de0983cb 18072 "description" : "Read-only mount point",
7aacca6f 18073 "optional" : 1,
44660702 18074 "type" : "boolean"
7aacca6f 18075 },
de0983cb
DM
18076 "shared" : {
18077 "default" : 0,
18078 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
18079 "optional" : 1,
18080 "type" : "boolean",
18081 "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!"
18082 },
44660702
DM
18083 "size" : {
18084 "description" : "Volume size (read only value).",
18085 "format" : "disk-size",
18086 "format_description" : "DiskSize",
7aacca6f
DM
18087 "optional" : 1,
18088 "type" : "string"
18089 },
44660702
DM
18090 "volume" : {
18091 "default_key" : 1,
18092 "description" : "Volume, device or directory to mount into the container.",
18093 "format" : "pve-lxc-mp-string",
18094 "format_description" : "volume",
18095 "type" : "string"
56122987 18096 }
7aacca6f 18097 },
7aacca6f 18098 "optional" : 1,
4bd7df8b 18099 "type" : "string",
5d9c884c 18100 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
18101 },
18102 "searchdomain" : {
18103 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
18104 "format" : "dns-name-list",
18105 "optional" : 1,
013dc89f
DM
18106 "type" : "string",
18107 "typetext" : "<string>"
44660702
DM
18108 },
18109 "ssh-public-keys" : {
18110 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
18111 "optional" : 1,
013dc89f
DM
18112 "type" : "string",
18113 "typetext" : "<string>"
44660702
DM
18114 },
18115 "startup" : {
18116 "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.",
18117 "format" : "pve-startup-order",
18118 "optional" : 1,
7aacca6f 18119 "type" : "string",
44660702 18120 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 18121 },
44660702
DM
18122 "storage" : {
18123 "default" : "local",
18124 "description" : "Default Storage.",
18125 "format" : "pve-storage-id",
18126 "optional" : 1,
013dc89f
DM
18127 "type" : "string",
18128 "typetext" : "<string>"
7aacca6f 18129 },
44660702
DM
18130 "swap" : {
18131 "default" : 512,
18132 "description" : "Amount of SWAP for the VM in MB.",
18133 "minimum" : 0,
18134 "optional" : 1,
4bd7df8b 18135 "type" : "integer",
013dc89f 18136 "typetext" : "<integer> (0 - N)"
44660702
DM
18137 },
18138 "template" : {
18139 "default" : 0,
18140 "description" : "Enable/disable Template.",
18141 "optional" : 1,
013dc89f
DM
18142 "type" : "boolean",
18143 "typetext" : "<boolean>"
7aacca6f 18144 },
44660702
DM
18145 "tty" : {
18146 "default" : 2,
18147 "description" : "Specify the number of tty available to the container",
18148 "maximum" : 6,
18149 "minimum" : 0,
18150 "optional" : 1,
4bd7df8b 18151 "type" : "integer",
013dc89f 18152 "typetext" : "<integer> (0 - 6)"
7aacca6f 18153 },
44660702
DM
18154 "unprivileged" : {
18155 "default" : 0,
18156 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
18157 "optional" : 1,
013dc89f
DM
18158 "type" : "boolean",
18159 "typetext" : "<boolean>"
44660702
DM
18160 },
18161 "unused[n]" : {
c2993fe5 18162 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
18163 "format" : "pve-volume-id",
18164 "optional" : 1,
013dc89f
DM
18165 "type" : "string",
18166 "typetext" : "<string>"
44660702
DM
18167 },
18168 "vmid" : {
18169 "description" : "The (unique) ID of the VM.",
18170 "format" : "pve-vmid",
18171 "minimum" : 1,
4bd7df8b 18172 "type" : "integer",
013dc89f 18173 "typetext" : "<integer> (1 - N)"
44660702 18174 }
7aacca6f
DM
18175 }
18176 },
44660702
DM
18177 "permissions" : {
18178 "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.",
18179 "user" : "all"
18180 },
18181 "protected" : 1,
18182 "proxyto" : "node",
18183 "returns" : {
18184 "type" : "string"
18185 }
18186 }
18187 },
18188 "leaf" : 0,
18189 "path" : "/nodes/{node}/lxc",
18190 "text" : "lxc"
18191 },
18192 {
18193 "children" : [
18194 {
56122987
DM
18195 "children" : [
18196 {
7aacca6f
DM
18197 "children" : [
18198 {
7aacca6f
DM
18199 "info" : {
18200 "POST" : {
44660702
DM
18201 "description" : "ceph osd in",
18202 "method" : "POST",
18203 "name" : "in",
18204 "parameters" : {
18205 "additionalProperties" : 0,
18206 "properties" : {
18207 "node" : {
18208 "description" : "The cluster node name.",
18209 "format" : "pve-node",
013dc89f
DM
18210 "type" : "string",
18211 "typetext" : "<string>"
44660702
DM
18212 },
18213 "osdid" : {
18214 "description" : "OSD ID",
013dc89f
DM
18215 "type" : "integer",
18216 "typetext" : "<integer>"
44660702
DM
18217 }
18218 }
18219 },
56122987
DM
18220 "permissions" : {
18221 "check" : [
18222 "perm",
18223 "/",
18224 [
18225 "Sys.Modify"
18226 ]
18227 ]
7aacca6f 18228 },
44660702 18229 "protected" : 1,
7aacca6f
DM
18230 "proxyto" : "node",
18231 "returns" : {
18232 "type" : "null"
44660702 18233 }
56122987
DM
18234 }
18235 },
44660702 18236 "leaf" : 1,
7aacca6f 18237 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 18238 "text" : "in"
56122987
DM
18239 },
18240 {
56122987
DM
18241 "info" : {
18242 "POST" : {
44660702
DM
18243 "description" : "ceph osd out",
18244 "method" : "POST",
18245 "name" : "out",
18246 "parameters" : {
18247 "additionalProperties" : 0,
18248 "properties" : {
18249 "node" : {
18250 "description" : "The cluster node name.",
18251 "format" : "pve-node",
013dc89f
DM
18252 "type" : "string",
18253 "typetext" : "<string>"
44660702
DM
18254 },
18255 "osdid" : {
18256 "description" : "OSD ID",
013dc89f
DM
18257 "type" : "integer",
18258 "typetext" : "<integer>"
44660702
DM
18259 }
18260 }
18261 },
56122987
DM
18262 "permissions" : {
18263 "check" : [
18264 "perm",
18265 "/",
18266 [
18267 "Sys.Modify"
18268 ]
18269 ]
18270 },
44660702 18271 "protected" : 1,
56122987 18272 "proxyto" : "node",
7aacca6f
DM
18273 "returns" : {
18274 "type" : "null"
44660702
DM
18275 }
18276 }
18277 },
18278 "leaf" : 1,
18279 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
18280 "text" : "out"
18281 }
18282 ],
18283 "info" : {
18284 "DELETE" : {
18285 "description" : "Destroy OSD",
18286 "method" : "DELETE",
18287 "name" : "destroyosd",
18288 "parameters" : {
18289 "additionalProperties" : 0,
18290 "properties" : {
18291 "cleanup" : {
18292 "default" : 0,
18293 "description" : "If set, we remove partition table entries.",
18294 "optional" : 1,
013dc89f
DM
18295 "type" : "boolean",
18296 "typetext" : "<boolean>"
7aacca6f 18297 },
44660702
DM
18298 "node" : {
18299 "description" : "The cluster node name.",
18300 "format" : "pve-node",
013dc89f
DM
18301 "type" : "string",
18302 "typetext" : "<string>"
56122987 18303 },
44660702
DM
18304 "osdid" : {
18305 "description" : "OSD ID",
013dc89f
DM
18306 "type" : "integer",
18307 "typetext" : "<integer>"
44660702 18308 }
56122987
DM
18309 }
18310 },
44660702
DM
18311 "protected" : 1,
18312 "proxyto" : "node",
18313 "returns" : {
18314 "type" : "string"
18315 }
18316 }
18317 },
18318 "leaf" : 0,
18319 "path" : "/nodes/{node}/ceph/osd/{osdid}",
18320 "text" : "{osdid}"
18321 }
18322 ],
18323 "info" : {
18324 "GET" : {
18325 "description" : "Get Ceph osd list/tree.",
18326 "method" : "GET",
18327 "name" : "index",
18328 "parameters" : {
18329 "additionalProperties" : 0,
18330 "properties" : {
18331 "node" : {
18332 "description" : "The cluster node name.",
18333 "format" : "pve-node",
013dc89f
DM
18334 "type" : "string",
18335 "typetext" : "<string>"
44660702
DM
18336 }
18337 }
18338 },
18339 "permissions" : {
18340 "check" : [
18341 "perm",
18342 "/",
18343 [
18344 "Sys.Audit",
18345 "Datastore.Audit"
18346 ],
18347 "any",
18348 1
18349 ]
18350 },
18351 "protected" : 1,
18352 "proxyto" : "node",
18353 "returns" : {
18354 "type" : "object"
18355 }
18356 },
18357 "POST" : {
18358 "description" : "Create OSD",
18359 "method" : "POST",
18360 "name" : "createosd",
18361 "parameters" : {
18362 "additionalProperties" : 0,
18363 "properties" : {
5d9c884c 18364 "bluestore" : {
35a75dd3
DM
18365 "default" : 1,
18366 "description" : "Use bluestore instead of filestore. This is the default.",
5d9c884c
DM
18367 "optional" : 1,
18368 "type" : "boolean",
18369 "typetext" : "<boolean>"
18370 },
44660702
DM
18371 "dev" : {
18372 "description" : "Block device name.",
013dc89f
DM
18373 "type" : "string",
18374 "typetext" : "<string>"
44660702
DM
18375 },
18376 "fstype" : {
18377 "default" : "xfs",
5d9c884c 18378 "description" : "File system type (filestore only).",
44660702
DM
18379 "enum" : [
18380 "xfs",
18381 "ext4",
18382 "btrfs"
18383 ],
18384 "optional" : 1,
18385 "type" : "string"
18386 },
18387 "journal_dev" : {
2489d6df 18388 "description" : "Block device name for journal (filestore) or block.db (bluestore).",
44660702 18389 "optional" : 1,
013dc89f
DM
18390 "type" : "string",
18391 "typetext" : "<string>"
44660702
DM
18392 },
18393 "node" : {
18394 "description" : "The cluster node name.",
18395 "format" : "pve-node",
013dc89f
DM
18396 "type" : "string",
18397 "typetext" : "<string>"
2489d6df
WB
18398 },
18399 "wal_dev" : {
18400 "description" : "Block device name for block.wal (bluestore only).",
18401 "optional" : 1,
18402 "type" : "string",
18403 "typetext" : "<string>"
44660702 18404 }
56122987 18405 }
44660702
DM
18406 },
18407 "protected" : 1,
18408 "proxyto" : "node",
18409 "returns" : {
18410 "type" : "string"
18411 }
56122987 18412 }
44660702 18413 },
7aacca6f 18414 "leaf" : 0,
44660702
DM
18415 "path" : "/nodes/{node}/ceph/osd",
18416 "text" : "osd"
7aacca6f
DM
18417 },
18418 {
56122987
DM
18419 "info" : {
18420 "GET" : {
7aacca6f 18421 "description" : "List local disks.",
44660702
DM
18422 "method" : "GET",
18423 "name" : "disks",
18424 "parameters" : {
18425 "additionalProperties" : 0,
18426 "properties" : {
18427 "node" : {
18428 "description" : "The cluster node name.",
18429 "format" : "pve-node",
013dc89f
DM
18430 "type" : "string",
18431 "typetext" : "<string>"
44660702
DM
18432 },
18433 "type" : {
18434 "description" : "Only list specific types of disks.",
18435 "enum" : [
18436 "unused",
18437 "journal_disks"
18438 ],
18439 "optional" : 1,
18440 "type" : "string"
18441 }
18442 }
18443 },
56122987
DM
18444 "permissions" : {
18445 "check" : [
18446 "perm",
18447 "/",
18448 [
18449 "Sys.Audit",
18450 "Datastore.Audit"
18451 ],
18452 "any",
18453 1
18454 ]
7aacca6f 18455 },
44660702
DM
18456 "protected" : 1,
18457 "proxyto" : "node",
56122987 18458 "returns" : {
7aacca6f
DM
18459 "items" : {
18460 "properties" : {
44660702
DM
18461 "dev" : {
18462 "type" : "string"
18463 },
18464 "gpt" : {
18465 "type" : "boolean"
18466 },
18467 "model" : {
18468 "optional" : 1,
18469 "type" : "string"
7aacca6f
DM
18470 },
18471 "osdid" : {
18472 "type" : "integer"
18473 },
18474 "serial" : {
7aacca6f
DM
18475 "optional" : 1,
18476 "type" : "string"
18477 },
18478 "size" : {
18479 "type" : "integer"
18480 },
44660702
DM
18481 "used" : {
18482 "optional" : 1,
7aacca6f
DM
18483 "type" : "string"
18484 },
44660702
DM
18485 "vendor" : {
18486 "optional" : 1,
18487 "type" : "string"
7aacca6f
DM
18488 }
18489 },
18490 "type" : "object"
44660702
DM
18491 },
18492 "type" : "array"
18493 }
56122987 18494 }
44660702
DM
18495 },
18496 "leaf" : 1,
18497 "path" : "/nodes/{node}/ceph/disks",
18498 "text" : "disks"
56122987
DM
18499 },
18500 {
56122987
DM
18501 "info" : {
18502 "GET" : {
7aacca6f 18503 "description" : "Get Ceph configuration.",
44660702
DM
18504 "method" : "GET",
18505 "name" : "config",
56122987 18506 "parameters" : {
7aacca6f 18507 "additionalProperties" : 0,
56122987 18508 "properties" : {
56122987 18509 "node" : {
7aacca6f 18510 "description" : "The cluster node name.",
44660702 18511 "format" : "pve-node",
013dc89f
DM
18512 "type" : "string",
18513 "typetext" : "<string>"
56122987 18514 }
7aacca6f 18515 }
56122987 18516 },
56122987
DM
18517 "permissions" : {
18518 "check" : [
18519 "perm",
18520 "/",
18521 [
18522 "Sys.Audit",
18523 "Datastore.Audit"
18524 ],
18525 "any",
18526 1
18527 ]
44660702
DM
18528 },
18529 "returns" : {
18530 "type" : "string"
7aacca6f
DM
18531 }
18532 }
44660702
DM
18533 },
18534 "leaf" : 1,
18535 "path" : "/nodes/{node}/ceph/config",
18536 "text" : "config"
7aacca6f
DM
18537 },
18538 {
7aacca6f
DM
18539 "children" : [
18540 {
7aacca6f
DM
18541 "info" : {
18542 "DELETE" : {
2489d6df 18543 "description" : "Destroy Ceph Monitor and Manager.",
44660702
DM
18544 "method" : "DELETE",
18545 "name" : "destroymon",
18546 "parameters" : {
18547 "additionalProperties" : 0,
18548 "properties" : {
2489d6df
WB
18549 "exclude-manager" : {
18550 "default" : 0,
18551 "description" : "When set, removes only the monitor, not the manager",
18552 "optional" : 1,
18553 "type" : "boolean",
18554 "typetext" : "<boolean>"
18555 },
44660702
DM
18556 "monid" : {
18557 "description" : "Monitor ID",
2489d6df
WB
18558 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
18559 "type" : "string"
44660702
DM
18560 },
18561 "node" : {
18562 "description" : "The cluster node name.",
18563 "format" : "pve-node",
013dc89f
DM
18564 "type" : "string",
18565 "typetext" : "<string>"
44660702
DM
18566 }
18567 }
18568 },
7aacca6f
DM
18569 "permissions" : {
18570 "check" : [
18571 "perm",
18572 "/",
18573 [
18574 "Sys.Modify"
18575 ]
18576 ]
18577 },
44660702
DM
18578 "protected" : 1,
18579 "proxyto" : "node",
7aacca6f
DM
18580 "returns" : {
18581 "type" : "string"
44660702 18582 }
7aacca6f 18583 }
44660702
DM
18584 },
18585 "leaf" : 1,
18586 "path" : "/nodes/{node}/ceph/mon/{monid}",
18587 "text" : "{monid}"
7aacca6f
DM
18588 }
18589 ],
18590 "info" : {
18591 "GET" : {
44660702 18592 "description" : "Get Ceph monitor list.",
7aacca6f 18593 "method" : "GET",
44660702 18594 "name" : "listmon",
7aacca6f
DM
18595 "parameters" : {
18596 "additionalProperties" : 0,
18597 "properties" : {
18598 "node" : {
7aacca6f 18599 "description" : "The cluster node name.",
44660702 18600 "format" : "pve-node",
013dc89f
DM
18601 "type" : "string",
18602 "typetext" : "<string>"
7aacca6f
DM
18603 }
18604 }
18605 },
44660702
DM
18606 "permissions" : {
18607 "check" : [
18608 "perm",
18609 "/",
18610 [
18611 "Sys.Audit",
18612 "Datastore.Audit"
18613 ],
18614 "any",
18615 1
18616 ]
18617 },
7aacca6f 18618 "protected" : 1,
44660702 18619 "proxyto" : "node",
7aacca6f
DM
18620 "returns" : {
18621 "items" : {
18622 "properties" : {
44660702 18623 "addr" : {
7aacca6f 18624 "type" : "string"
56122987 18625 },
44660702 18626 "name" : {
56122987
DM
18627 "type" : "string"
18628 }
7aacca6f
DM
18629 },
18630 "type" : "object"
56122987 18631 },
7aacca6f
DM
18632 "links" : [
18633 {
18634 "href" : "{name}",
18635 "rel" : "child"
18636 }
18637 ],
56122987 18638 "type" : "array"
44660702 18639 }
7aacca6f
DM
18640 },
18641 "POST" : {
2489d6df 18642 "description" : "Create Ceph Monitor and Manager",
44660702
DM
18643 "method" : "POST",
18644 "name" : "createmon",
18645 "parameters" : {
18646 "additionalProperties" : 0,
18647 "properties" : {
2489d6df
WB
18648 "exclude-manager" : {
18649 "default" : 0,
18650 "description" : "When set, only a monitor will be created.",
18651 "optional" : 1,
18652 "type" : "boolean",
18653 "typetext" : "<boolean>"
18654 },
18655 "id" : {
18656 "description" : "The ID for the monitor, when omitted the same as the nodename",
18657 "optional" : 1,
18658 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
18659 "type" : "string"
18660 },
35a75dd3
DM
18661 "mon-address" : {
18662 "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
18663 "format" : "ip",
18664 "optional" : 1,
18665 "type" : "string",
18666 "typetext" : "<string>"
18667 },
44660702
DM
18668 "node" : {
18669 "description" : "The cluster node name.",
18670 "format" : "pve-node",
013dc89f
DM
18671 "type" : "string",
18672 "typetext" : "<string>"
44660702
DM
18673 }
18674 }
18675 },
7aacca6f
DM
18676 "permissions" : {
18677 "check" : [
18678 "perm",
18679 "/",
18680 [
18681 "Sys.Modify"
18682 ]
18683 ]
18684 },
44660702 18685 "protected" : 1,
7aacca6f 18686 "proxyto" : "node",
56122987
DM
18687 "returns" : {
18688 "type" : "string"
44660702 18689 }
56122987 18690 }
44660702
DM
18691 },
18692 "leaf" : 0,
18693 "path" : "/nodes/{node}/ceph/mon",
18694 "text" : "mon"
56122987
DM
18695 },
18696 {
18697 "info" : {
18698 "POST" : {
44660702
DM
18699 "description" : "Create initial ceph default configuration and setup symlinks.",
18700 "method" : "POST",
18701 "name" : "init",
18702 "parameters" : {
18703 "additionalProperties" : 0,
18704 "properties" : {
5d9c884c
DM
18705 "disable_cephx" : {
18706 "default" : 0,
18707 "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
18708 "optional" : 1,
18709 "type" : "boolean",
18710 "typetext" : "<boolean>"
18711 },
18712 "min_size" : {
18713 "default" : 2,
18714 "description" : "Minimum number of available replicas per object to allow I/O",
18715 "maximum" : 7,
18716 "minimum" : 1,
18717 "optional" : 1,
18718 "type" : "integer",
18719 "typetext" : "<integer> (1 - 7)"
18720 },
44660702
DM
18721 "network" : {
18722 "description" : "Use specific network for all ceph related traffic",
18723 "format" : "CIDR",
18724 "maxLength" : 128,
18725 "optional" : 1,
013dc89f
DM
18726 "type" : "string",
18727 "typetext" : "<string>"
44660702
DM
18728 },
18729 "node" : {
18730 "description" : "The cluster node name.",
18731 "format" : "pve-node",
013dc89f
DM
18732 "type" : "string",
18733 "typetext" : "<string>"
44660702
DM
18734 },
18735 "pg_bits" : {
18736 "default" : 6,
18737 "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.",
18738 "maximum" : 14,
18739 "minimum" : 6,
18740 "optional" : 1,
4bd7df8b 18741 "type" : "integer",
013dc89f 18742 "typetext" : "<integer> (6 - 14)"
44660702
DM
18743 },
18744 "size" : {
5d9c884c
DM
18745 "default" : 3,
18746 "description" : "Targeted number of replicas per object",
18747 "maximum" : 7,
44660702
DM
18748 "minimum" : 1,
18749 "optional" : 1,
4bd7df8b 18750 "type" : "integer",
5d9c884c 18751 "typetext" : "<integer> (1 - 7)"
44660702
DM
18752 }
18753 }
7aacca6f 18754 },
56122987
DM
18755 "permissions" : {
18756 "check" : [
18757 "perm",
18758 "/",
18759 [
18760 "Sys.Modify"
18761 ]
18762 ]
18763 },
7aacca6f 18764 "protected" : 1,
44660702
DM
18765 "proxyto" : "node",
18766 "returns" : {
18767 "type" : "null"
7aacca6f
DM
18768 }
18769 }
18770 },
7aacca6f 18771 "leaf" : 1,
44660702
DM
18772 "path" : "/nodes/{node}/ceph/init",
18773 "text" : "init"
7aacca6f 18774 },
2489d6df
WB
18775 {
18776 "children" : [
18777 {
18778 "info" : {
18779 "DELETE" : {
18780 "description" : "Destroy Ceph Manager.",
18781 "method" : "DELETE",
18782 "name" : "destroymgr",
18783 "parameters" : {
18784 "additionalProperties" : 0,
18785 "properties" : {
18786 "id" : {
18787 "description" : "The ID of the manager",
18788 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
18789 "type" : "string"
18790 },
18791 "node" : {
18792 "description" : "The cluster node name.",
18793 "format" : "pve-node",
18794 "type" : "string",
18795 "typetext" : "<string>"
18796 }
18797 }
18798 },
18799 "permissions" : {
18800 "check" : [
18801 "perm",
18802 "/",
18803 [
18804 "Sys.Modify"
18805 ]
18806 ]
18807 },
18808 "protected" : 1,
18809 "proxyto" : "node",
18810 "returns" : {
18811 "type" : "string"
18812 }
18813 }
18814 },
18815 "leaf" : 1,
18816 "path" : "/nodes/{node}/ceph/mgr/{id}",
18817 "text" : "{id}"
18818 }
18819 ],
18820 "info" : {
18821 "POST" : {
18822 "description" : "Create Ceph Manager",
18823 "method" : "POST",
18824 "name" : "createmgr",
18825 "parameters" : {
18826 "additionalProperties" : 0,
18827 "properties" : {
18828 "id" : {
18829 "description" : "The ID for the manager, when omitted the same as the nodename",
18830 "optional" : 1,
18831 "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
18832 "type" : "string"
18833 },
18834 "node" : {
18835 "description" : "The cluster node name.",
18836 "format" : "pve-node",
18837 "type" : "string",
18838 "typetext" : "<string>"
18839 }
18840 }
18841 },
18842 "permissions" : {
18843 "check" : [
18844 "perm",
18845 "/",
18846 [
18847 "Sys.Modify"
18848 ]
18849 ]
18850 },
18851 "protected" : 1,
18852 "proxyto" : "node",
18853 "returns" : {
18854 "type" : "string"
18855 }
18856 }
18857 },
18858 "leaf" : 0,
18859 "path" : "/nodes/{node}/ceph/mgr",
18860 "text" : "mgr"
18861 },
7aacca6f 18862 {
7aacca6f
DM
18863 "info" : {
18864 "POST" : {
44660702 18865 "description" : "Stop ceph services.",
7aacca6f
DM
18866 "method" : "POST",
18867 "name" : "stop",
18868 "parameters" : {
44660702 18869 "additionalProperties" : 0,
7aacca6f
DM
18870 "properties" : {
18871 "node" : {
7aacca6f 18872 "description" : "The cluster node name.",
44660702 18873 "format" : "pve-node",
013dc89f
DM
18874 "type" : "string",
18875 "typetext" : "<string>"
7aacca6f
DM
18876 },
18877 "service" : {
7aacca6f 18878 "description" : "Ceph service name.",
44660702 18879 "optional" : 1,
2489d6df 18880 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 18881 "type" : "string"
56122987 18882 }
44660702 18883 }
7aacca6f
DM
18884 },
18885 "permissions" : {
18886 "check" : [
18887 "perm",
18888 "/",
18889 [
18890 "Sys.Modify"
18891 ]
18892 ]
18893 },
44660702
DM
18894 "protected" : 1,
18895 "proxyto" : "node",
18896 "returns" : {
18897 "type" : "string"
18898 }
7aacca6f 18899 }
44660702
DM
18900 },
18901 "leaf" : 1,
18902 "path" : "/nodes/{node}/ceph/stop",
18903 "text" : "stop"
7aacca6f
DM
18904 },
18905 {
7aacca6f
DM
18906 "info" : {
18907 "POST" : {
7aacca6f 18908 "description" : "Start ceph services.",
44660702 18909 "method" : "POST",
7aacca6f 18910 "name" : "start",
56122987
DM
18911 "parameters" : {
18912 "additionalProperties" : 0,
18913 "properties" : {
18914 "node" : {
7aacca6f 18915 "description" : "The cluster node name.",
44660702 18916 "format" : "pve-node",
013dc89f
DM
18917 "type" : "string",
18918 "typetext" : "<string>"
7aacca6f
DM
18919 },
18920 "service" : {
18921 "description" : "Ceph service name.",
44660702 18922 "optional" : 1,
2489d6df 18923 "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
44660702 18924 "type" : "string"
7aacca6f
DM
18925 }
18926 }
18927 },
44660702
DM
18928 "permissions" : {
18929 "check" : [
18930 "perm",
18931 "/",
18932 [
18933 "Sys.Modify"
18934 ]
18935 ]
18936 },
7aacca6f 18937 "protected" : 1,
44660702
DM
18938 "proxyto" : "node",
18939 "returns" : {
18940 "type" : "string"
18941 }
7aacca6f 18942 }
44660702
DM
18943 },
18944 "leaf" : 1,
18945 "path" : "/nodes/{node}/ceph/start",
18946 "text" : "start"
7aacca6f
DM
18947 },
18948 {
7aacca6f
DM
18949 "info" : {
18950 "GET" : {
44660702
DM
18951 "description" : "Get ceph status.",
18952 "method" : "GET",
18953 "name" : "status",
7aacca6f
DM
18954 "parameters" : {
18955 "additionalProperties" : 0,
18956 "properties" : {
18957 "node" : {
7aacca6f 18958 "description" : "The cluster node name.",
44660702 18959 "format" : "pve-node",
013dc89f
DM
18960 "type" : "string",
18961 "typetext" : "<string>"
56122987
DM
18962 }
18963 }
18964 },
18965 "permissions" : {
18966 "check" : [
18967 "perm",
18968 "/",
18969 [
18970 "Sys.Audit",
18971 "Datastore.Audit"
18972 ],
18973 "any",
18974 1
18975 ]
18976 },
44660702
DM
18977 "protected" : 1,
18978 "proxyto" : "node",
56122987 18979 "returns" : {
7aacca6f
DM
18980 "type" : "object"
18981 }
18982 }
18983 },
44660702 18984 "leaf" : 1,
7aacca6f 18985 "path" : "/nodes/{node}/ceph/status",
44660702 18986 "text" : "status"
7aacca6f
DM
18987 },
18988 {
44660702
DM
18989 "children" : [
18990 {
18991 "info" : {
18992 "DELETE" : {
18993 "description" : "Destroy pool",
18994 "method" : "DELETE",
18995 "name" : "destroypool",
18996 "parameters" : {
18997 "additionalProperties" : 0,
18998 "properties" : {
4bd7df8b
DM
18999 "force" : {
19000 "default" : 0,
19001 "description" : "If true, destroys pool even if in use",
19002 "optional" : 1,
013dc89f
DM
19003 "type" : "boolean",
19004 "typetext" : "<boolean>"
4bd7df8b 19005 },
44660702
DM
19006 "name" : {
19007 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
19008 "type" : "string",
19009 "typetext" : "<string>"
44660702
DM
19010 },
19011 "node" : {
19012 "description" : "The cluster node name.",
19013 "format" : "pve-node",
013dc89f
DM
19014 "type" : "string",
19015 "typetext" : "<string>"
2489d6df
WB
19016 },
19017 "remove_storages" : {
19018 "default" : 0,
19019 "description" : "Remove all pveceph-managed storages configured for this pool",
19020 "optional" : 1,
19021 "type" : "boolean",
19022 "typetext" : "<boolean>"
44660702
DM
19023 }
19024 }
19025 },
19026 "permissions" : {
19027 "check" : [
19028 "perm",
19029 "/",
19030 [
19031 "Sys.Modify"
19032 ]
19033 ]
19034 },
19035 "protected" : 1,
19036 "proxyto" : "node",
19037 "returns" : {
2489d6df 19038 "type" : "string"
44660702
DM
19039 }
19040 }
19041 },
19042 "leaf" : 1,
19043 "path" : "/nodes/{node}/ceph/pools/{name}",
19044 "text" : "{name}"
19045 }
19046 ],
7aacca6f
DM
19047 "info" : {
19048 "GET" : {
44660702
DM
19049 "description" : "List all pools.",
19050 "method" : "GET",
19051 "name" : "lspools",
7aacca6f
DM
19052 "parameters" : {
19053 "additionalProperties" : 0,
19054 "properties" : {
19055 "node" : {
7aacca6f 19056 "description" : "The cluster node name.",
44660702 19057 "format" : "pve-node",
013dc89f
DM
19058 "type" : "string",
19059 "typetext" : "<string>"
7aacca6f
DM
19060 }
19061 }
19062 },
7aacca6f
DM
19063 "permissions" : {
19064 "check" : [
19065 "perm",
19066 "/",
19067 [
19068 "Sys.Audit",
19069 "Datastore.Audit"
19070 ],
19071 "any",
19072 1
19073 ]
19074 },
44660702
DM
19075 "protected" : 1,
19076 "proxyto" : "node",
7aacca6f 19077 "returns" : {
56122987 19078 "items" : {
56122987 19079 "properties" : {
7aacca6f
DM
19080 "pool" : {
19081 "type" : "integer"
19082 },
44660702
DM
19083 "pool_name" : {
19084 "type" : "string"
19085 },
7aacca6f
DM
19086 "size" : {
19087 "type" : "integer"
56122987 19088 }
44660702
DM
19089 },
19090 "type" : "object"
7aacca6f 19091 },
44660702
DM
19092 "links" : [
19093 {
19094 "href" : "{pool_name}",
19095 "rel" : "child"
19096 }
19097 ],
7aacca6f
DM
19098 "type" : "array"
19099 }
19100 },
19101 "POST" : {
7aacca6f 19102 "description" : "Create POOL",
7aacca6f 19103 "method" : "POST",
7aacca6f
DM
19104 "name" : "createpool",
19105 "parameters" : {
19106 "additionalProperties" : 0,
19107 "properties" : {
2489d6df
WB
19108 "add_storages" : {
19109 "description" : "Configure VM and CT storages using the new pool.",
7aacca6f 19110 "optional" : 1,
2489d6df
WB
19111 "type" : "boolean",
19112 "typetext" : "<boolean>"
19113 },
19114 "application" : {
19115 "description" : "The application of the pool, 'rbd' by default.",
19116 "enum" : [
19117 "rbd",
19118 "cephfs",
19119 "rgw"
19120 ],
19121 "optional" : 1,
19122 "type" : "string"
19123 },
19124 "crush_rule" : {
19125 "description" : "The rule to use for mapping object placement in the cluster.",
19126 "optional" : 1,
19127 "type" : "string",
19128 "typetext" : "<string>"
56122987 19129 },
44660702 19130 "min_size" : {
2489d6df 19131 "default" : 2,
44660702 19132 "description" : "Minimum number of replicas per object",
5d9c884c 19133 "maximum" : 7,
44660702
DM
19134 "minimum" : 1,
19135 "optional" : 1,
4bd7df8b 19136 "type" : "integer",
5d9c884c 19137 "typetext" : "<integer> (1 - 7)"
7aacca6f 19138 },
44660702
DM
19139 "name" : {
19140 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
19141 "type" : "string",
19142 "typetext" : "<string>"
44660702
DM
19143 },
19144 "node" : {
19145 "description" : "The cluster node name.",
19146 "format" : "pve-node",
013dc89f
DM
19147 "type" : "string",
19148 "typetext" : "<string>"
44660702
DM
19149 },
19150 "pg_num" : {
19151 "default" : 64,
19152 "description" : "Number of placement groups.",
19153 "maximum" : 32768,
19154 "minimum" : 8,
19155 "optional" : 1,
4bd7df8b 19156 "type" : "integer",
013dc89f 19157 "typetext" : "<integer> (8 - 32768)"
44660702
DM
19158 },
19159 "size" : {
2489d6df 19160 "default" : 3,
44660702 19161 "description" : "Number of replicas per object",
5d9c884c 19162 "maximum" : 7,
44660702
DM
19163 "minimum" : 1,
19164 "optional" : 1,
4bd7df8b 19165 "type" : "integer",
5d9c884c 19166 "typetext" : "<integer> (1 - 7)"
56122987
DM
19167 }
19168 }
44660702
DM
19169 },
19170 "permissions" : {
19171 "check" : [
19172 "perm",
19173 "/",
19174 [
19175 "Sys.Modify"
19176 ]
19177 ]
19178 },
19179 "protected" : 1,
19180 "proxyto" : "node",
19181 "returns" : {
2489d6df 19182 "type" : "string"
7aacca6f 19183 }
56122987 19184 }
44660702 19185 },
56122987 19186 "leaf" : 0,
44660702
DM
19187 "path" : "/nodes/{node}/ceph/pools",
19188 "text" : "pools"
56122987 19189 },
32d876b5
DM
19190 {
19191 "children" : [
19192 {
19193 "info" : {
19194 "DELETE" : {
19195 "description" : "Unset a ceph flag",
19196 "method" : "DELETE",
19197 "name" : "unset_flag",
19198 "parameters" : {
19199 "additionalProperties" : 0,
19200 "properties" : {
19201 "flag" : {
19202 "description" : "The ceph flag to set/unset",
19203 "enum" : [
19204 "full",
19205 "pause",
19206 "noup",
19207 "nodown",
19208 "noout",
19209 "noin",
19210 "nobackfill",
19211 "norebalance",
19212 "norecover",
19213 "noscrub",
19214 "nodeep-scrub",
19215 "notieragent"
19216 ],
19217 "type" : "string"
19218 },
19219 "node" : {
19220 "description" : "The cluster node name.",
19221 "format" : "pve-node",
19222 "type" : "string",
19223 "typetext" : "<string>"
19224 }
19225 }
19226 },
19227 "permissions" : {
19228 "check" : [
19229 "perm",
19230 "/",
19231 [
19232 "Sys.Modify"
19233 ]
19234 ]
19235 },
19236 "protected" : 1,
19237 "proxyto" : "node",
19238 "returns" : {
19239 "type" : "null"
19240 }
19241 },
19242 "POST" : {
19243 "description" : "Set a ceph flag",
19244 "method" : "POST",
19245 "name" : "set_flag",
19246 "parameters" : {
19247 "additionalProperties" : 0,
19248 "properties" : {
19249 "flag" : {
19250 "description" : "The ceph flag to set/unset",
19251 "enum" : [
19252 "full",
19253 "pause",
19254 "noup",
19255 "nodown",
19256 "noout",
19257 "noin",
19258 "nobackfill",
19259 "norebalance",
19260 "norecover",
19261 "noscrub",
19262 "nodeep-scrub",
19263 "notieragent"
19264 ],
19265 "type" : "string"
19266 },
19267 "node" : {
19268 "description" : "The cluster node name.",
19269 "format" : "pve-node",
19270 "type" : "string",
19271 "typetext" : "<string>"
19272 }
19273 }
19274 },
19275 "permissions" : {
19276 "check" : [
19277 "perm",
19278 "/",
19279 [
19280 "Sys.Modify"
19281 ]
19282 ]
19283 },
19284 "protected" : 1,
19285 "proxyto" : "node",
19286 "returns" : {
19287 "type" : "null"
19288 }
19289 }
19290 },
19291 "leaf" : 1,
19292 "path" : "/nodes/{node}/ceph/flags/{flag}",
19293 "text" : "{flag}"
19294 }
19295 ],
19296 "info" : {
19297 "GET" : {
19298 "description" : "get all set ceph flags",
19299 "method" : "GET",
19300 "name" : "get_flags",
19301 "parameters" : {
19302 "additionalProperties" : 0,
19303 "properties" : {
19304 "node" : {
19305 "description" : "The cluster node name.",
19306 "format" : "pve-node",
19307 "type" : "string",
19308 "typetext" : "<string>"
19309 }
19310 }
19311 },
19312 "permissions" : {
19313 "check" : [
19314 "perm",
19315 "/",
19316 [
19317 "Sys.Audit"
19318 ]
19319 ]
19320 },
19321 "protected" : 1,
19322 "proxyto" : "node",
19323 "returns" : {
19324 "type" : "string"
19325 }
19326 }
19327 },
19328 "leaf" : 0,
19329 "path" : "/nodes/{node}/ceph/flags",
19330 "text" : "flags"
19331 },
56122987 19332 {
56122987 19333 "info" : {
7aacca6f 19334 "GET" : {
44660702
DM
19335 "description" : "Get OSD crush map",
19336 "method" : "GET",
19337 "name" : "crush",
19338 "parameters" : {
19339 "additionalProperties" : 0,
19340 "properties" : {
19341 "node" : {
19342 "description" : "The cluster node name.",
19343 "format" : "pve-node",
013dc89f
DM
19344 "type" : "string",
19345 "typetext" : "<string>"
44660702
DM
19346 }
19347 }
19348 },
7aacca6f
DM
19349 "permissions" : {
19350 "check" : [
19351 "perm",
19352 "/",
19353 [
19354 "Sys.Audit",
19355 "Datastore.Audit"
19356 ],
19357 "any",
19358 1
19359 ]
19360 },
44660702 19361 "protected" : 1,
7aacca6f 19362 "proxyto" : "node",
56122987 19363 "returns" : {
7aacca6f 19364 "type" : "string"
44660702 19365 }
56122987
DM
19366 }
19367 },
44660702
DM
19368 "leaf" : 1,
19369 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 19370 "text" : "crush"
56122987
DM
19371 },
19372 {
56122987 19373 "info" : {
7aacca6f 19374 "GET" : {
44660702
DM
19375 "description" : "Read ceph log",
19376 "method" : "GET",
19377 "name" : "log",
19378 "parameters" : {
19379 "additionalProperties" : 0,
19380 "properties" : {
19381 "limit" : {
19382 "minimum" : 0,
19383 "optional" : 1,
4bd7df8b 19384 "type" : "integer",
013dc89f 19385 "typetext" : "<integer> (0 - N)"
7aacca6f 19386 },
44660702
DM
19387 "node" : {
19388 "description" : "The cluster node name.",
19389 "format" : "pve-node",
013dc89f
DM
19390 "type" : "string",
19391 "typetext" : "<string>"
44660702
DM
19392 },
19393 "start" : {
19394 "minimum" : 0,
19395 "optional" : 1,
4bd7df8b 19396 "type" : "integer",
013dc89f 19397 "typetext" : "<integer> (0 - N)"
44660702 19398 }
7aacca6f 19399 }
56122987 19400 },
56122987
DM
19401 "permissions" : {
19402 "check" : [
19403 "perm",
7aacca6f 19404 "/nodes/{node}",
56122987 19405 [
7aacca6f 19406 "Sys.Syslog"
56122987
DM
19407 ]
19408 ]
19409 },
7aacca6f 19410 "protected" : 1,
44660702
DM
19411 "proxyto" : "node",
19412 "returns" : {
19413 "items" : {
19414 "properties" : {
19415 "n" : {
19416 "description" : "Line number",
19417 "type" : "integer"
19418 },
19419 "t" : {
19420 "description" : "Line text",
19421 "type" : "string"
19422 }
56122987 19423 },
44660702 19424 "type" : "object"
56122987 19425 },
44660702 19426 "type" : "array"
7aacca6f 19427 }
56122987
DM
19428 }
19429 },
19430 "leaf" : 1,
44660702
DM
19431 "path" : "/nodes/{node}/ceph/log",
19432 "text" : "log"
2489d6df
WB
19433 },
19434 {
19435 "info" : {
19436 "GET" : {
19437 "description" : "List ceph rules.",
19438 "method" : "GET",
19439 "name" : "rules",
19440 "parameters" : {
19441 "additionalProperties" : 0,
19442 "properties" : {
19443 "node" : {
19444 "description" : "The cluster node name.",
19445 "format" : "pve-node",
19446 "type" : "string",
19447 "typetext" : "<string>"
19448 }
19449 }
19450 },
19451 "permissions" : {
19452 "check" : [
19453 "perm",
19454 "/",
19455 [
19456 "Sys.Audit",
19457 "Datastore.Audit"
19458 ],
19459 "any",
19460 1
19461 ]
19462 },
19463 "protected" : 1,
19464 "proxyto" : "node",
19465 "returns" : {
19466 "items" : {
19467 "properties" : {},
19468 "type" : "object"
19469 },
19470 "links" : [
19471 {
19472 "href" : "{name}",
19473 "rel" : "child"
19474 }
19475 ],
19476 "type" : "array"
19477 }
19478 }
19479 },
19480 "leaf" : 1,
19481 "path" : "/nodes/{node}/ceph/rules",
19482 "text" : "rules"
7aacca6f
DM
19483 }
19484 ],
44660702
DM
19485 "info" : {
19486 "GET" : {
19487 "description" : "Directory index.",
19488 "method" : "GET",
19489 "name" : "index",
19490 "parameters" : {
19491 "additionalProperties" : 0,
19492 "properties" : {
19493 "node" : {
19494 "description" : "The cluster node name.",
19495 "format" : "pve-node",
013dc89f
DM
19496 "type" : "string",
19497 "typetext" : "<string>"
44660702
DM
19498 }
19499 }
19500 },
19501 "permissions" : {
19502 "check" : [
19503 "perm",
19504 "/",
19505 [
19506 "Sys.Audit",
19507 "Datastore.Audit"
19508 ],
19509 "any",
19510 1
19511 ]
19512 },
19513 "returns" : {
19514 "items" : {
19515 "properties" : {},
19516 "type" : "object"
19517 },
19518 "links" : [
19519 {
19520 "href" : "{name}",
19521 "rel" : "child"
19522 }
19523 ],
19524 "type" : "array"
19525 }
19526 }
19527 },
7aacca6f 19528 "leaf" : 0,
44660702
DM
19529 "path" : "/nodes/{node}/ceph",
19530 "text" : "ceph"
7aacca6f
DM
19531 },
19532 {
4bd7df8b
DM
19533 "children" : [
19534 {
19535 "info" : {
19536 "GET" : {
19537 "description" : "Extract configuration from vzdump backup archive.",
19538 "method" : "GET",
19539 "name" : "extractconfig",
19540 "parameters" : {
19541 "additionalProperties" : 0,
19542 "properties" : {
19543 "node" : {
19544 "description" : "The cluster node name.",
19545 "format" : "pve-node",
013dc89f
DM
19546 "type" : "string",
19547 "typetext" : "<string>"
4bd7df8b
DM
19548 },
19549 "volume" : {
19550 "description" : "Volume identifier",
013dc89f
DM
19551 "type" : "string",
19552 "typetext" : "<string>"
4bd7df8b
DM
19553 }
19554 }
19555 },
19556 "permissions" : {
19557 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
19558 "user" : "all"
19559 },
19560 "protected" : 1,
19561 "proxyto" : "node",
19562 "returns" : {
19563 "type" : "string"
19564 }
19565 }
19566 },
19567 "leaf" : 1,
19568 "path" : "/nodes/{node}/vzdump/extractconfig",
19569 "text" : "extractconfig"
19570 }
19571 ],
7aacca6f
DM
19572 "info" : {
19573 "POST" : {
7aacca6f 19574 "description" : "Create backup.",
44660702 19575 "method" : "POST",
7aacca6f
DM
19576 "name" : "vzdump",
19577 "parameters" : {
44660702 19578 "additionalProperties" : 0,
7aacca6f 19579 "properties" : {
44660702
DM
19580 "all" : {
19581 "default" : 0,
19582 "description" : "Backup all known guest systems on this host.",
7aacca6f 19583 "optional" : 1,
013dc89f
DM
19584 "type" : "boolean",
19585 "typetext" : "<boolean>"
56122987 19586 },
44660702 19587 "bwlimit" : {
7aacca6f 19588 "default" : 0,
44660702
DM
19589 "description" : "Limit I/O bandwidth (KBytes per second).",
19590 "minimum" : 0,
7aacca6f 19591 "optional" : 1,
4bd7df8b 19592 "type" : "integer",
013dc89f 19593 "typetext" : "<integer> (0 - N)"
56122987 19594 },
44660702
DM
19595 "compress" : {
19596 "default" : "0",
19597 "description" : "Compress dump file.",
19598 "enum" : [
19599 "0",
19600 "1",
19601 "gzip",
19602 "lzo"
19603 ],
7aacca6f 19604 "optional" : 1,
44660702 19605 "type" : "string"
56122987 19606 },
44660702
DM
19607 "dumpdir" : {
19608 "description" : "Store resulting files to specified directory.",
7aacca6f 19609 "optional" : 1,
013dc89f
DM
19610 "type" : "string",
19611 "typetext" : "<string>"
7aacca6f 19612 },
44660702
DM
19613 "exclude" : {
19614 "description" : "Exclude specified guest systems (assumes --all)",
19615 "format" : "pve-vmid-list",
7aacca6f 19616 "optional" : 1,
013dc89f
DM
19617 "type" : "string",
19618 "typetext" : "<string>"
7aacca6f 19619 },
44660702
DM
19620 "exclude-path" : {
19621 "description" : "Exclude certain files/directories (shell globs).",
19622 "format" : "string-alist",
7aacca6f 19623 "optional" : 1,
013dc89f
DM
19624 "type" : "string",
19625 "typetext" : "<string>"
7aacca6f 19626 },
44660702
DM
19627 "ionice" : {
19628 "default" : 7,
19629 "description" : "Set CFQ ionice priority.",
19630 "maximum" : 8,
19631 "minimum" : 0,
19632 "optional" : 1,
4bd7df8b 19633 "type" : "integer",
013dc89f 19634 "typetext" : "<integer> (0 - 8)"
7aacca6f 19635 },
44660702
DM
19636 "lockwait" : {
19637 "default" : 180,
19638 "description" : "Maximal time to wait for the global lock (minutes).",
19639 "minimum" : 0,
7aacca6f 19640 "optional" : 1,
4bd7df8b 19641 "type" : "integer",
013dc89f 19642 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
19643 },
19644 "mailnotification" : {
44660702 19645 "default" : "always",
7aacca6f
DM
19646 "description" : "Specify when to send an email",
19647 "enum" : [
19648 "always",
19649 "failure"
19650 ],
7aacca6f 19651 "optional" : 1,
44660702 19652 "type" : "string"
7aacca6f
DM
19653 },
19654 "mailto" : {
7aacca6f 19655 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 19656 "format" : "string-list",
7aacca6f 19657 "optional" : 1,
013dc89f
DM
19658 "type" : "string",
19659 "typetext" : "<string>"
56122987 19660 },
44660702
DM
19661 "maxfiles" : {
19662 "default" : 1,
19663 "description" : "Maximal number of backup files per guest system.",
19664 "minimum" : 1,
7aacca6f 19665 "optional" : 1,
4bd7df8b 19666 "type" : "integer",
013dc89f 19667 "typetext" : "<integer> (1 - N)"
56122987 19668 },
7aacca6f 19669 "mode" : {
44660702 19670 "default" : "snapshot",
7aacca6f
DM
19671 "description" : "Backup mode.",
19672 "enum" : [
19673 "snapshot",
19674 "suspend",
19675 "stop"
19676 ],
44660702
DM
19677 "optional" : 1,
19678 "type" : "string"
7aacca6f 19679 },
44660702
DM
19680 "node" : {
19681 "description" : "Only run if executed on this node.",
19682 "format" : "pve-node",
19683 "optional" : 1,
013dc89f
DM
19684 "type" : "string",
19685 "typetext" : "<string>"
44660702
DM
19686 },
19687 "pigz" : {
19688 "default" : 0,
19689 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
19690 "optional" : 1,
013dc89f
DM
19691 "type" : "integer",
19692 "typetext" : "<integer>"
44660702
DM
19693 },
19694 "quiet" : {
19695 "default" : 0,
19696 "description" : "Be quiet.",
19697 "optional" : 1,
013dc89f
DM
19698 "type" : "boolean",
19699 "typetext" : "<boolean>"
44660702
DM
19700 },
19701 "remove" : {
7aacca6f 19702 "default" : 1,
44660702 19703 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 19704 "optional" : 1,
013dc89f
DM
19705 "type" : "boolean",
19706 "typetext" : "<boolean>"
7aacca6f 19707 },
44660702
DM
19708 "script" : {
19709 "description" : "Use specified hook script.",
19710 "optional" : 1,
013dc89f
DM
19711 "type" : "string",
19712 "typetext" : "<string>"
44660702
DM
19713 },
19714 "size" : {
19715 "default" : 1024,
19716 "description" : "Unused, will be removed in a future release.",
19717 "minimum" : 500,
19718 "optional" : 1,
4bd7df8b 19719 "type" : "integer",
013dc89f 19720 "typetext" : "<integer> (500 - N)"
44660702
DM
19721 },
19722 "stdexcludes" : {
19723 "default" : 1,
19724 "description" : "Exclude temporary files and logs.",
19725 "optional" : 1,
013dc89f
DM
19726 "type" : "boolean",
19727 "typetext" : "<boolean>"
44660702
DM
19728 },
19729 "stdout" : {
19730 "description" : "Write tar to stdout, not to a file.",
7aacca6f 19731 "optional" : 1,
013dc89f
DM
19732 "type" : "boolean",
19733 "typetext" : "<boolean>"
44660702
DM
19734 },
19735 "stop" : {
7aacca6f 19736 "default" : 0,
44660702
DM
19737 "description" : "Stop runnig backup jobs on this host.",
19738 "optional" : 1,
013dc89f
DM
19739 "type" : "boolean",
19740 "typetext" : "<boolean>"
7aacca6f 19741 },
44660702
DM
19742 "stopwait" : {
19743 "default" : 10,
19744 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
19745 "minimum" : 0,
19746 "optional" : 1,
4bd7df8b 19747 "type" : "integer",
013dc89f 19748 "typetext" : "<integer> (0 - N)"
7aacca6f 19749 },
44660702
DM
19750 "storage" : {
19751 "description" : "Store resulting file to this storage.",
19752 "format" : "pve-storage-id",
7aacca6f 19753 "optional" : 1,
013dc89f
DM
19754 "type" : "string",
19755 "typetext" : "<string>"
44660702
DM
19756 },
19757 "tmpdir" : {
19758 "description" : "Store temporary files to specified directory.",
19759 "optional" : 1,
013dc89f
DM
19760 "type" : "string",
19761 "typetext" : "<string>"
7aacca6f
DM
19762 },
19763 "vmid" : {
7aacca6f 19764 "description" : "The ID of the guest system you want to backup.",
44660702 19765 "format" : "pve-vmid-list",
7aacca6f 19766 "optional" : 1,
013dc89f
DM
19767 "type" : "string",
19768 "typetext" : "<string>"
7aacca6f 19769 }
7aacca6f
DM
19770 }
19771 },
7aacca6f 19772 "permissions" : {
de0983cb 19773 "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
44660702 19774 "user" : "all"
7aacca6f 19775 },
44660702 19776 "protected" : 1,
7aacca6f 19777 "proxyto" : "node",
7aacca6f 19778 "returns" : {
44660702 19779 "type" : "string"
7aacca6f
DM
19780 }
19781 }
19782 },
4bd7df8b 19783 "leaf" : 0,
44660702
DM
19784 "path" : "/nodes/{node}/vzdump",
19785 "text" : "vzdump"
19786 },
19787 {
7aacca6f
DM
19788 "children" : [
19789 {
7aacca6f
DM
19790 "children" : [
19791 {
7aacca6f
DM
19792 "info" : {
19793 "GET" : {
7aacca6f
DM
19794 "description" : "Read service properties",
19795 "method" : "GET",
19796 "name" : "service_state",
19797 "parameters" : {
44660702 19798 "additionalProperties" : 0,
7aacca6f
DM
19799 "properties" : {
19800 "node" : {
7aacca6f 19801 "description" : "The cluster node name.",
44660702 19802 "format" : "pve-node",
013dc89f
DM
19803 "type" : "string",
19804 "typetext" : "<string>"
7aacca6f
DM
19805 },
19806 "service" : {
44660702 19807 "description" : "Service ID",
7aacca6f
DM
19808 "enum" : [
19809 "pveproxy",
19810 "pvedaemon",
19811 "spiceproxy",
19812 "pvestatd",
19813 "pve-cluster",
19814 "corosync",
19815 "pve-firewall",
19816 "pvefw-logger",
19817 "pve-ha-crm",
19818 "pve-ha-lrm",
19819 "sshd",
19820 "syslog",
19821 "cron",
19822 "postfix",
19823 "ksmtuned",
19824 "systemd-timesyncd"
19825 ],
7aacca6f
DM
19826 "type" : "string"
19827 }
44660702 19828 }
56122987 19829 },
7aacca6f
DM
19830 "permissions" : {
19831 "check" : [
19832 "perm",
19833 "/nodes/{node}",
19834 [
44660702 19835 "Sys.Audit"
7aacca6f
DM
19836 ]
19837 ]
56122987 19838 },
44660702 19839 "protected" : 1,
7aacca6f 19840 "proxyto" : "node",
44660702
DM
19841 "returns" : {
19842 "properties" : {},
19843 "type" : "object"
19844 }
19845 }
19846 },
19847 "leaf" : 1,
19848 "path" : "/nodes/{node}/services/{service}/state",
19849 "text" : "state"
19850 },
19851 {
19852 "info" : {
19853 "POST" : {
19854 "description" : "Start service.",
7aacca6f
DM
19855 "method" : "POST",
19856 "name" : "service_start",
19857 "parameters" : {
44660702 19858 "additionalProperties" : 0,
7aacca6f 19859 "properties" : {
44660702
DM
19860 "node" : {
19861 "description" : "The cluster node name.",
19862 "format" : "pve-node",
013dc89f
DM
19863 "type" : "string",
19864 "typetext" : "<string>"
44660702 19865 },
7aacca6f 19866 "service" : {
44660702 19867 "description" : "Service ID",
7aacca6f
DM
19868 "enum" : [
19869 "pveproxy",
19870 "pvedaemon",
19871 "spiceproxy",
19872 "pvestatd",
19873 "pve-cluster",
19874 "corosync",
19875 "pve-firewall",
19876 "pvefw-logger",
19877 "pve-ha-crm",
19878 "pve-ha-lrm",
19879 "sshd",
19880 "syslog",
19881 "cron",
19882 "postfix",
19883 "ksmtuned",
19884 "systemd-timesyncd"
19885 ],
7aacca6f
DM
19886 "type" : "string"
19887 }
44660702 19888 }
56122987 19889 },
56122987
DM
19890 "permissions" : {
19891 "check" : [
19892 "perm",
19893 "/nodes/{node}",
19894 [
7aacca6f 19895 "Sys.Modify"
56122987
DM
19896 ]
19897 ]
7aacca6f 19898 },
7aacca6f 19899 "protected" : 1,
44660702
DM
19900 "proxyto" : "node",
19901 "returns" : {
19902 "type" : "string"
19903 }
19904 }
19905 },
19906 "leaf" : 1,
19907 "path" : "/nodes/{node}/services/{service}/start",
19908 "text" : "start"
19909 },
19910 {
19911 "info" : {
19912 "POST" : {
19913 "description" : "Stop service.",
19914 "method" : "POST",
7aacca6f 19915 "name" : "service_stop",
56122987 19916 "parameters" : {
7aacca6f 19917 "additionalProperties" : 0,
56122987
DM
19918 "properties" : {
19919 "node" : {
44660702 19920 "description" : "The cluster node name.",
56122987 19921 "format" : "pve-node",
013dc89f
DM
19922 "type" : "string",
19923 "typetext" : "<string>"
56122987
DM
19924 },
19925 "service" : {
44660702 19926 "description" : "Service ID",
56122987
DM
19927 "enum" : [
19928 "pveproxy",
19929 "pvedaemon",
19930 "spiceproxy",
19931 "pvestatd",
19932 "pve-cluster",
19933 "corosync",
19934 "pve-firewall",
19935 "pvefw-logger",
19936 "pve-ha-crm",
19937 "pve-ha-lrm",
19938 "sshd",
19939 "syslog",
19940 "cron",
19941 "postfix",
19942 "ksmtuned",
19943 "systemd-timesyncd"
19944 ],
56122987
DM
19945 "type" : "string"
19946 }
7aacca6f 19947 }
44660702 19948 },
56122987
DM
19949 "permissions" : {
19950 "check" : [
19951 "perm",
19952 "/nodes/{node}",
19953 [
19954 "Sys.Modify"
19955 ]
19956 ]
19957 },
44660702
DM
19958 "protected" : 1,
19959 "proxyto" : "node",
7aacca6f
DM
19960 "returns" : {
19961 "type" : "string"
44660702
DM
19962 }
19963 }
19964 },
19965 "leaf" : 1,
19966 "path" : "/nodes/{node}/services/{service}/stop",
19967 "text" : "stop"
19968 },
19969 {
19970 "info" : {
19971 "POST" : {
19972 "description" : "Restart service.",
19973 "method" : "POST",
19974 "name" : "service_restart",
56122987
DM
19975 "parameters" : {
19976 "additionalProperties" : 0,
19977 "properties" : {
7aacca6f
DM
19978 "node" : {
19979 "description" : "The cluster node name.",
44660702 19980 "format" : "pve-node",
013dc89f
DM
19981 "type" : "string",
19982 "typetext" : "<string>"
7aacca6f
DM
19983 },
19984 "service" : {
44660702 19985 "description" : "Service ID",
56122987
DM
19986 "enum" : [
19987 "pveproxy",
19988 "pvedaemon",
19989 "spiceproxy",
19990 "pvestatd",
19991 "pve-cluster",
19992 "corosync",
19993 "pve-firewall",
19994 "pvefw-logger",
19995 "pve-ha-crm",
19996 "pve-ha-lrm",
19997 "sshd",
19998 "syslog",
19999 "cron",
20000 "postfix",
20001 "ksmtuned",
20002 "systemd-timesyncd"
7aacca6f 20003 ],
7aacca6f 20004 "type" : "string"
56122987
DM
20005 }
20006 }
20007 },
44660702
DM
20008 "permissions" : {
20009 "check" : [
20010 "perm",
20011 "/nodes/{node}",
20012 [
20013 "Sys.Modify"
20014 ]
20015 ]
20016 },
20017 "protected" : 1,
20018 "proxyto" : "node",
20019 "returns" : {
20020 "type" : "string"
20021 }
56122987 20022 }
44660702
DM
20023 },
20024 "leaf" : 1,
20025 "path" : "/nodes/{node}/services/{service}/restart",
20026 "text" : "restart"
56122987
DM
20027 },
20028 {
56122987
DM
20029 "info" : {
20030 "POST" : {
44660702
DM
20031 "description" : "Reload service.",
20032 "method" : "POST",
7aacca6f 20033 "name" : "service_reload",
56122987
DM
20034 "parameters" : {
20035 "additionalProperties" : 0,
20036 "properties" : {
44660702
DM
20037 "node" : {
20038 "description" : "The cluster node name.",
20039 "format" : "pve-node",
013dc89f
DM
20040 "type" : "string",
20041 "typetext" : "<string>"
44660702 20042 },
56122987 20043 "service" : {
56122987
DM
20044 "description" : "Service ID",
20045 "enum" : [
20046 "pveproxy",
20047 "pvedaemon",
20048 "spiceproxy",
20049 "pvestatd",
20050 "pve-cluster",
20051 "corosync",
20052 "pve-firewall",
20053 "pvefw-logger",
20054 "pve-ha-crm",
20055 "pve-ha-lrm",
20056 "sshd",
20057 "syslog",
20058 "cron",
20059 "postfix",
20060 "ksmtuned",
20061 "systemd-timesyncd"
44660702
DM
20062 ],
20063 "type" : "string"
56122987
DM
20064 }
20065 }
20066 },
56122987
DM
20067 "permissions" : {
20068 "check" : [
20069 "perm",
20070 "/nodes/{node}",
20071 [
20072 "Sys.Modify"
20073 ]
20074 ]
20075 },
44660702 20076 "protected" : 1,
56122987 20077 "proxyto" : "node",
7aacca6f
DM
20078 "returns" : {
20079 "type" : "string"
56122987
DM
20080 }
20081 }
44660702
DM
20082 },
20083 "leaf" : 1,
20084 "path" : "/nodes/{node}/services/{service}/reload",
20085 "text" : "reload"
20086 }
20087 ],
20088 "info" : {
20089 "GET" : {
20090 "description" : "Directory index",
20091 "method" : "GET",
20092 "name" : "srvcmdidx",
20093 "parameters" : {
20094 "additionalProperties" : 0,
20095 "properties" : {
20096 "node" : {
20097 "description" : "The cluster node name.",
20098 "format" : "pve-node",
013dc89f
DM
20099 "type" : "string",
20100 "typetext" : "<string>"
44660702
DM
20101 },
20102 "service" : {
20103 "description" : "Service ID",
20104 "enum" : [
20105 "pveproxy",
20106 "pvedaemon",
20107 "spiceproxy",
20108 "pvestatd",
20109 "pve-cluster",
20110 "corosync",
20111 "pve-firewall",
20112 "pvefw-logger",
20113 "pve-ha-crm",
20114 "pve-ha-lrm",
20115 "sshd",
20116 "syslog",
20117 "cron",
20118 "postfix",
20119 "ksmtuned",
20120 "systemd-timesyncd"
20121 ],
20122 "type" : "string"
20123 }
20124 }
20125 },
20126 "permissions" : {
20127 "check" : [
20128 "perm",
20129 "/nodes/{node}",
20130 [
20131 "Sys.Audit"
20132 ]
20133 ]
20134 },
20135 "returns" : {
20136 "items" : {
20137 "properties" : {
20138 "subdir" : {
20139 "type" : "string"
20140 }
20141 },
20142 "type" : "object"
20143 },
20144 "links" : [
20145 {
20146 "href" : "{subdir}",
20147 "rel" : "child"
20148 }
20149 ],
20150 "type" : "array"
20151 }
20152 }
20153 },
20154 "leaf" : 0,
20155 "path" : "/nodes/{node}/services/{service}",
20156 "text" : "{service}"
20157 }
20158 ],
20159 "info" : {
20160 "GET" : {
20161 "description" : "Service list.",
20162 "method" : "GET",
20163 "name" : "index",
20164 "parameters" : {
20165 "additionalProperties" : 0,
20166 "properties" : {
20167 "node" : {
20168 "description" : "The cluster node name.",
20169 "format" : "pve-node",
013dc89f
DM
20170 "type" : "string",
20171 "typetext" : "<string>"
44660702
DM
20172 }
20173 }
20174 },
20175 "permissions" : {
20176 "check" : [
20177 "perm",
20178 "/nodes/{node}",
20179 [
20180 "Sys.Audit"
20181 ]
20182 ]
20183 },
20184 "protected" : 1,
20185 "proxyto" : "node",
20186 "returns" : {
20187 "items" : {
20188 "properties" : {},
20189 "type" : "object"
20190 },
20191 "links" : [
20192 {
20193 "href" : "{service}",
20194 "rel" : "child"
56122987 20195 }
44660702
DM
20196 ],
20197 "type" : "array"
20198 }
7aacca6f 20199 }
44660702 20200 },
7aacca6f 20201 "leaf" : 0,
44660702
DM
20202 "path" : "/nodes/{node}/services",
20203 "text" : "services"
7aacca6f
DM
20204 },
20205 {
7aacca6f
DM
20206 "info" : {
20207 "GET" : {
44660702
DM
20208 "description" : "Read subscription info.",
20209 "method" : "GET",
20210 "name" : "get",
7aacca6f 20211 "parameters" : {
44660702 20212 "additionalProperties" : 0,
7aacca6f
DM
20213 "properties" : {
20214 "node" : {
20215 "description" : "The cluster node name.",
44660702 20216 "format" : "pve-node",
013dc89f
DM
20217 "type" : "string",
20218 "typetext" : "<string>"
7aacca6f 20219 }
44660702
DM
20220 }
20221 },
20222 "permissions" : {
20223 "user" : "all"
7aacca6f 20224 },
7aacca6f
DM
20225 "proxyto" : "node",
20226 "returns" : {
20227 "type" : "object"
44660702 20228 }
7aacca6f 20229 },
44660702
DM
20230 "POST" : {
20231 "description" : "Update subscription info.",
20232 "method" : "POST",
20233 "name" : "update",
7aacca6f
DM
20234 "parameters" : {
20235 "additionalProperties" : 0,
20236 "properties" : {
44660702
DM
20237 "force" : {
20238 "default" : 0,
20239 "description" : "Always connect to server, even if we have up to date info inside local cache.",
20240 "optional" : 1,
013dc89f
DM
20241 "type" : "boolean",
20242 "typetext" : "<boolean>"
44660702 20243 },
7aacca6f 20244 "node" : {
7aacca6f 20245 "description" : "The cluster node name.",
44660702 20246 "format" : "pve-node",
013dc89f
DM
20247 "type" : "string",
20248 "typetext" : "<string>"
7aacca6f
DM
20249 }
20250 }
20251 },
35a75dd3
DM
20252 "permissions" : {
20253 "check" : [
20254 "perm",
20255 "/nodes/{node}",
20256 [
20257 "Sys.Modify"
20258 ]
20259 ]
20260 },
7aacca6f 20261 "protected" : 1,
7aacca6f 20262 "proxyto" : "node",
44660702
DM
20263 "returns" : {
20264 "type" : "null"
20265 }
20266 },
20267 "PUT" : {
20268 "description" : "Set subscription key.",
20269 "method" : "PUT",
20270 "name" : "set",
7aacca6f
DM
20271 "parameters" : {
20272 "additionalProperties" : 0,
20273 "properties" : {
44660702
DM
20274 "key" : {
20275 "description" : "Proxmox VE subscription key",
2489d6df
WB
20276 "maxLength" : 32,
20277 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
20278 "type" : "string"
7aacca6f
DM
20279 },
20280 "node" : {
7aacca6f 20281 "description" : "The cluster node name.",
44660702 20282 "format" : "pve-node",
013dc89f
DM
20283 "type" : "string",
20284 "typetext" : "<string>"
7aacca6f
DM
20285 }
20286 }
20287 },
35a75dd3
DM
20288 "permissions" : {
20289 "check" : [
20290 "perm",
20291 "/nodes/{node}",
20292 [
20293 "Sys.Modify"
20294 ]
20295 ]
20296 },
44660702
DM
20297 "protected" : 1,
20298 "proxyto" : "node",
7aacca6f
DM
20299 "returns" : {
20300 "type" : "null"
44660702 20301 }
7aacca6f
DM
20302 }
20303 },
44660702 20304 "leaf" : 1,
7aacca6f 20305 "path" : "/nodes/{node}/subscription",
44660702 20306 "text" : "subscription"
7aacca6f
DM
20307 },
20308 {
7aacca6f
DM
20309 "children" : [
20310 {
56122987 20311 "info" : {
7aacca6f 20312 "DELETE" : {
44660702
DM
20313 "description" : "Delete network device configuration",
20314 "method" : "DELETE",
20315 "name" : "delete_network",
20316 "parameters" : {
20317 "additionalProperties" : 0,
20318 "properties" : {
20319 "iface" : {
20320 "description" : "Network interface name.",
20321 "format" : "pve-iface",
20322 "maxLength" : 20,
20323 "minLength" : 2,
013dc89f
DM
20324 "type" : "string",
20325 "typetext" : "<string>"
44660702
DM
20326 },
20327 "node" : {
20328 "description" : "The cluster node name.",
20329 "format" : "pve-node",
013dc89f
DM
20330 "type" : "string",
20331 "typetext" : "<string>"
44660702
DM
20332 }
20333 }
7aacca6f
DM
20334 },
20335 "permissions" : {
20336 "check" : [
20337 "perm",
20338 "/nodes/{node}",
20339 [
20340 "Sys.Modify"
20341 ]
20342 ]
20343 },
44660702 20344 "protected" : 1,
7aacca6f 20345 "proxyto" : "node",
44660702
DM
20346 "returns" : {
20347 "type" : "null"
20348 }
20349 },
20350 "GET" : {
20351 "description" : "Read network device configuration",
20352 "method" : "GET",
20353 "name" : "network_config",
56122987 20354 "parameters" : {
44660702 20355 "additionalProperties" : 0,
56122987 20356 "properties" : {
7aacca6f 20357 "iface" : {
7aacca6f 20358 "description" : "Network interface name.",
44660702
DM
20359 "format" : "pve-iface",
20360 "maxLength" : 20,
7aacca6f 20361 "minLength" : 2,
013dc89f
DM
20362 "type" : "string",
20363 "typetext" : "<string>"
44660702
DM
20364 },
20365 "node" : {
20366 "description" : "The cluster node name.",
20367 "format" : "pve-node",
013dc89f
DM
20368 "type" : "string",
20369 "typetext" : "<string>"
56122987 20370 }
44660702 20371 }
7aacca6f
DM
20372 },
20373 "permissions" : {
20374 "check" : [
20375 "perm",
20376 "/nodes/{node}",
20377 [
44660702 20378 "Sys.Audit"
7aacca6f
DM
20379 ]
20380 ]
20381 },
20382 "proxyto" : "node",
44660702
DM
20383 "returns" : {
20384 "properties" : {
20385 "method" : {
20386 "type" : "string"
20387 },
20388 "type" : {
20389 "type" : "string"
20390 }
20391 },
20392 "type" : "object"
20393 }
20394 },
20395 "PUT" : {
7aacca6f
DM
20396 "description" : "Update network device configuration",
20397 "method" : "PUT",
20398 "name" : "update_network",
20399 "parameters" : {
20400 "additionalProperties" : 0,
20401 "properties" : {
7aacca6f 20402 "address" : {
44660702 20403 "description" : "IP address.",
7aacca6f 20404 "format" : "ipv4",
44660702 20405 "optional" : 1,
7aacca6f 20406 "requires" : "netmask",
013dc89f
DM
20407 "type" : "string",
20408 "typetext" : "<string>"
7aacca6f 20409 },
44660702
DM
20410 "address6" : {
20411 "description" : "IP address.",
20412 "format" : "ipv6",
20413 "optional" : 1,
20414 "requires" : "netmask6",
013dc89f
DM
20415 "type" : "string",
20416 "typetext" : "<string>"
7aacca6f
DM
20417 },
20418 "autostart" : {
44660702 20419 "description" : "Automatically start interface on boot.",
7aacca6f 20420 "optional" : 1,
013dc89f
DM
20421 "type" : "boolean",
20422 "typetext" : "<boolean>"
7aacca6f 20423 },
44660702
DM
20424 "bond_mode" : {
20425 "description" : "Bonding mode.",
7aacca6f 20426 "enum" : [
44660702
DM
20427 "balance-rr",
20428 "active-backup",
20429 "balance-xor",
20430 "broadcast",
20431 "802.3ad",
20432 "balance-tlb",
20433 "balance-alb",
20434 "balance-slb",
20435 "lacp-balance-slb",
20436 "lacp-balance-tcp"
20437 ],
7aacca6f 20438 "optional" : 1,
44660702 20439 "type" : "string"
7aacca6f 20440 },
44660702
DM
20441 "bond_xmit_hash_policy" : {
20442 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
20443 "enum" : [
20444 "layer2",
20445 "layer2+3",
20446 "layer3+4"
20447 ],
7aacca6f 20448 "optional" : 1,
44660702 20449 "type" : "string"
7aacca6f 20450 },
44660702
DM
20451 "bridge_ports" : {
20452 "description" : "Specify the iterfaces you want to add to your bridge.",
20453 "format" : "pve-iface-list",
7aacca6f 20454 "optional" : 1,
013dc89f
DM
20455 "type" : "string",
20456 "typetext" : "<string>"
7aacca6f 20457 },
44660702
DM
20458 "bridge_vlan_aware" : {
20459 "description" : "Enable bridge vlan support.",
7aacca6f 20460 "optional" : 1,
013dc89f
DM
20461 "type" : "boolean",
20462 "typetext" : "<boolean>"
7aacca6f
DM
20463 },
20464 "comments" : {
44660702 20465 "description" : "Comments",
7aacca6f 20466 "optional" : 1,
013dc89f
DM
20467 "type" : "string",
20468 "typetext" : "<string>"
7aacca6f 20469 },
44660702
DM
20470 "comments6" : {
20471 "description" : "Comments",
7aacca6f 20472 "optional" : 1,
013dc89f
DM
20473 "type" : "string",
20474 "typetext" : "<string>"
7aacca6f 20475 },
44660702
DM
20476 "delete" : {
20477 "description" : "A list of settings you want to delete.",
20478 "format" : "pve-configid-list",
7aacca6f 20479 "optional" : 1,
013dc89f
DM
20480 "type" : "string",
20481 "typetext" : "<string>"
7aacca6f 20482 },
44660702
DM
20483 "gateway" : {
20484 "description" : "Default gateway address.",
20485 "format" : "ipv4",
7aacca6f 20486 "optional" : 1,
013dc89f
DM
20487 "type" : "string",
20488 "typetext" : "<string>"
7aacca6f 20489 },
44660702
DM
20490 "gateway6" : {
20491 "description" : "Default ipv6 gateway address.",
20492 "format" : "ipv6",
7aacca6f 20493 "optional" : 1,
013dc89f
DM
20494 "type" : "string",
20495 "typetext" : "<string>"
7aacca6f
DM
20496 },
20497 "iface" : {
44660702 20498 "description" : "Network interface name.",
7aacca6f
DM
20499 "format" : "pve-iface",
20500 "maxLength" : 20,
20501 "minLength" : 2,
013dc89f
DM
20502 "type" : "string",
20503 "typetext" : "<string>"
7aacca6f 20504 },
44660702
DM
20505 "netmask" : {
20506 "description" : "Network mask.",
20507 "format" : "ipv4mask",
7aacca6f 20508 "optional" : 1,
44660702 20509 "requires" : "address",
013dc89f
DM
20510 "type" : "string",
20511 "typetext" : "<string>"
7aacca6f
DM
20512 },
20513 "netmask6" : {
44660702 20514 "description" : "Network mask.",
7aacca6f 20515 "maximum" : 128,
44660702 20516 "minimum" : 0,
7aacca6f
DM
20517 "optional" : 1,
20518 "requires" : "address6",
4bd7df8b 20519 "type" : "integer",
013dc89f 20520 "typetext" : "<integer> (0 - 128)"
44660702 20521 },
7aacca6f 20522 "node" : {
44660702 20523 "description" : "The cluster node name.",
7aacca6f 20524 "format" : "pve-node",
013dc89f
DM
20525 "type" : "string",
20526 "typetext" : "<string>"
7aacca6f 20527 },
44660702
DM
20528 "ovs_bonds" : {
20529 "description" : "Specify the interfaces used by the bonding device.",
20530 "format" : "pve-iface-list",
20531 "optional" : 1,
013dc89f
DM
20532 "type" : "string",
20533 "typetext" : "<string>"
44660702
DM
20534 },
20535 "ovs_bridge" : {
20536 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
20537 "format" : "pve-iface",
20538 "optional" : 1,
013dc89f
DM
20539 "type" : "string",
20540 "typetext" : "<string>"
44660702
DM
20541 },
20542 "ovs_options" : {
20543 "description" : "OVS interface options.",
20544 "maxLength" : 1024,
20545 "optional" : 1,
013dc89f
DM
20546 "type" : "string",
20547 "typetext" : "<string>"
44660702
DM
20548 },
20549 "ovs_ports" : {
20550 "description" : "Specify the iterfaces you want to add to your bridge.",
20551 "format" : "pve-iface-list",
20552 "optional" : 1,
013dc89f
DM
20553 "type" : "string",
20554 "typetext" : "<string>"
44660702
DM
20555 },
20556 "ovs_tag" : {
20557 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
20558 "maximum" : 4094,
20559 "minimum" : 1,
20560 "optional" : 1,
4bd7df8b 20561 "type" : "integer",
013dc89f 20562 "typetext" : "<integer> (1 - 4094)"
44660702
DM
20563 },
20564 "slaves" : {
20565 "description" : "Specify the interfaces used by the bonding device.",
20566 "format" : "pve-iface-list",
20567 "optional" : 1,
013dc89f
DM
20568 "type" : "string",
20569 "typetext" : "<string>"
44660702
DM
20570 },
20571 "type" : {
20572 "description" : "Network interface type",
20573 "enum" : [
20574 "bridge",
20575 "bond",
20576 "eth",
20577 "alias",
20578 "vlan",
20579 "OVSBridge",
20580 "OVSBond",
20581 "OVSPort",
20582 "OVSIntPort",
20583 "unknown"
20584 ],
20585 "type" : "string"
7aacca6f
DM
20586 }
20587 }
20588 },
7aacca6f
DM
20589 "permissions" : {
20590 "check" : [
20591 "perm",
20592 "/nodes/{node}",
20593 [
44660702 20594 "Sys.Modify"
7aacca6f
DM
20595 ]
20596 ]
20597 },
44660702
DM
20598 "protected" : 1,
20599 "proxyto" : "node",
7aacca6f 20600 "returns" : {
44660702
DM
20601 "type" : "null"
20602 }
7aacca6f
DM
20603 }
20604 },
7aacca6f 20605 "leaf" : 1,
44660702
DM
20606 "path" : "/nodes/{node}/network/{iface}",
20607 "text" : "{iface}"
7aacca6f
DM
20608 }
20609 ],
7aacca6f 20610 "info" : {
44660702
DM
20611 "DELETE" : {
20612 "description" : "Revert network configuration changes.",
20613 "method" : "DELETE",
20614 "name" : "revert_network_changes",
7aacca6f
DM
20615 "parameters" : {
20616 "additionalProperties" : 0,
20617 "properties" : {
7aacca6f 20618 "node" : {
7aacca6f 20619 "description" : "The cluster node name.",
44660702 20620 "format" : "pve-node",
013dc89f
DM
20621 "type" : "string",
20622 "typetext" : "<string>"
7aacca6f
DM
20623 }
20624 }
44660702 20625 },
7aacca6f
DM
20626 "permissions" : {
20627 "check" : [
20628 "perm",
20629 "/nodes/{node}",
20630 [
20631 "Sys.Modify"
20632 ]
20633 ]
20634 },
44660702
DM
20635 "protected" : 1,
20636 "proxyto" : "node",
7aacca6f
DM
20637 "returns" : {
20638 "type" : "null"
44660702 20639 }
7aacca6f 20640 },
44660702
DM
20641 "GET" : {
20642 "description" : "List available networks",
20643 "method" : "GET",
20644 "name" : "index",
7aacca6f 20645 "parameters" : {
44660702 20646 "additionalProperties" : 0,
7aacca6f 20647 "properties" : {
7aacca6f 20648 "node" : {
44660702
DM
20649 "description" : "The cluster node name.",
20650 "format" : "pve-node",
013dc89f
DM
20651 "type" : "string",
20652 "typetext" : "<string>"
7aacca6f
DM
20653 },
20654 "type" : {
44660702 20655 "description" : "Only list specific interface types.",
7aacca6f
DM
20656 "enum" : [
20657 "bridge",
20658 "bond",
20659 "eth",
20660 "alias",
20661 "vlan",
20662 "OVSBridge",
20663 "OVSBond",
20664 "OVSPort",
20665 "OVSIntPort",
44660702 20666 "any_bridge"
7aacca6f 20667 ],
7aacca6f 20668 "optional" : 1,
44660702
DM
20669 "type" : "string"
20670 }
20671 }
20672 },
20673 "permissions" : {
20674 "user" : "all"
20675 },
20676 "proxyto" : "node",
20677 "returns" : {
20678 "items" : {
20679 "properties" : {},
20680 "type" : "object"
20681 },
20682 "links" : [
20683 {
20684 "href" : "{iface}",
20685 "rel" : "child"
20686 }
20687 ],
20688 "type" : "array"
20689 }
20690 },
20691 "POST" : {
20692 "description" : "Create network device configuration",
20693 "method" : "POST",
20694 "name" : "create_network",
20695 "parameters" : {
20696 "additionalProperties" : 0,
20697 "properties" : {
7aacca6f 20698 "address" : {
44660702
DM
20699 "description" : "IP address.",
20700 "format" : "ipv4",
20701 "optional" : 1,
7aacca6f 20702 "requires" : "netmask",
013dc89f
DM
20703 "type" : "string",
20704 "typetext" : "<string>"
44660702
DM
20705 },
20706 "address6" : {
7aacca6f 20707 "description" : "IP address.",
44660702
DM
20708 "format" : "ipv6",
20709 "optional" : 1,
20710 "requires" : "netmask6",
013dc89f
DM
20711 "type" : "string",
20712 "typetext" : "<string>"
44660702
DM
20713 },
20714 "autostart" : {
20715 "description" : "Automatically start interface on boot.",
7aacca6f 20716 "optional" : 1,
013dc89f
DM
20717 "type" : "boolean",
20718 "typetext" : "<boolean>"
7aacca6f
DM
20719 },
20720 "bond_mode" : {
20721 "description" : "Bonding mode.",
20722 "enum" : [
20723 "balance-rr",
20724 "active-backup",
20725 "balance-xor",
20726 "broadcast",
20727 "802.3ad",
20728 "balance-tlb",
20729 "balance-alb",
20730 "balance-slb",
20731 "lacp-balance-slb",
20732 "lacp-balance-tcp"
20733 ],
20734 "optional" : 1,
20735 "type" : "string"
20736 },
44660702
DM
20737 "bond_xmit_hash_policy" : {
20738 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
20739 "enum" : [
20740 "layer2",
20741 "layer2+3",
20742 "layer3+4"
20743 ],
20744 "optional" : 1,
20745 "type" : "string"
20746 },
20747 "bridge_ports" : {
20748 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 20749 "format" : "pve-iface-list",
7aacca6f 20750 "optional" : 1,
013dc89f
DM
20751 "type" : "string",
20752 "typetext" : "<string>"
7aacca6f 20753 },
44660702
DM
20754 "bridge_vlan_aware" : {
20755 "description" : "Enable bridge vlan support.",
7aacca6f 20756 "optional" : 1,
013dc89f
DM
20757 "type" : "boolean",
20758 "typetext" : "<boolean>"
7aacca6f 20759 },
44660702
DM
20760 "comments" : {
20761 "description" : "Comments",
7aacca6f 20762 "optional" : 1,
013dc89f
DM
20763 "type" : "string",
20764 "typetext" : "<string>"
44660702
DM
20765 },
20766 "comments6" : {
20767 "description" : "Comments",
20768 "optional" : 1,
013dc89f
DM
20769 "type" : "string",
20770 "typetext" : "<string>"
44660702
DM
20771 },
20772 "gateway" : {
20773 "description" : "Default gateway address.",
20774 "format" : "ipv4",
20775 "optional" : 1,
013dc89f
DM
20776 "type" : "string",
20777 "typetext" : "<string>"
44660702
DM
20778 },
20779 "gateway6" : {
20780 "description" : "Default ipv6 gateway address.",
20781 "format" : "ipv6",
20782 "optional" : 1,
013dc89f
DM
20783 "type" : "string",
20784 "typetext" : "<string>"
56122987 20785 },
7aacca6f 20786 "iface" : {
44660702 20787 "description" : "Network interface name.",
7aacca6f
DM
20788 "format" : "pve-iface",
20789 "maxLength" : 20,
44660702 20790 "minLength" : 2,
013dc89f
DM
20791 "type" : "string",
20792 "typetext" : "<string>"
56122987 20793 },
44660702
DM
20794 "netmask" : {
20795 "description" : "Network mask.",
20796 "format" : "ipv4mask",
7aacca6f 20797 "optional" : 1,
44660702 20798 "requires" : "address",
013dc89f
DM
20799 "type" : "string",
20800 "typetext" : "<string>"
7aacca6f 20801 },
44660702
DM
20802 "netmask6" : {
20803 "description" : "Network mask.",
20804 "maximum" : 128,
20805 "minimum" : 0,
7aacca6f 20806 "optional" : 1,
44660702 20807 "requires" : "address6",
4bd7df8b 20808 "type" : "integer",
013dc89f 20809 "typetext" : "<integer> (0 - 128)"
7aacca6f 20810 },
44660702
DM
20811 "node" : {
20812 "description" : "The cluster node name.",
20813 "format" : "pve-node",
013dc89f
DM
20814 "type" : "string",
20815 "typetext" : "<string>"
44660702
DM
20816 },
20817 "ovs_bonds" : {
20818 "description" : "Specify the interfaces used by the bonding device.",
20819 "format" : "pve-iface-list",
7aacca6f 20820 "optional" : 1,
013dc89f
DM
20821 "type" : "string",
20822 "typetext" : "<string>"
7aacca6f 20823 },
44660702
DM
20824 "ovs_bridge" : {
20825 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
20826 "format" : "pve-iface",
20827 "optional" : 1,
013dc89f
DM
20828 "type" : "string",
20829 "typetext" : "<string>"
44660702
DM
20830 },
20831 "ovs_options" : {
20832 "description" : "OVS interface options.",
20833 "maxLength" : 1024,
20834 "optional" : 1,
013dc89f
DM
20835 "type" : "string",
20836 "typetext" : "<string>"
44660702
DM
20837 },
20838 "ovs_ports" : {
20839 "description" : "Specify the iterfaces you want to add to your bridge.",
20840 "format" : "pve-iface-list",
20841 "optional" : 1,
013dc89f
DM
20842 "type" : "string",
20843 "typetext" : "<string>"
44660702
DM
20844 },
20845 "ovs_tag" : {
20846 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
20847 "maximum" : 4094,
20848 "minimum" : 1,
20849 "optional" : 1,
4bd7df8b 20850 "type" : "integer",
013dc89f 20851 "typetext" : "<integer> (1 - 4094)"
44660702
DM
20852 },
20853 "slaves" : {
20854 "description" : "Specify the interfaces used by the bonding device.",
20855 "format" : "pve-iface-list",
7aacca6f 20856 "optional" : 1,
013dc89f
DM
20857 "type" : "string",
20858 "typetext" : "<string>"
44660702
DM
20859 },
20860 "type" : {
20861 "description" : "Network interface type",
7aacca6f 20862 "enum" : [
44660702
DM
20863 "bridge",
20864 "bond",
20865 "eth",
20866 "alias",
20867 "vlan",
20868 "OVSBridge",
20869 "OVSBond",
20870 "OVSPort",
20871 "OVSIntPort",
20872 "unknown"
7aacca6f 20873 ],
44660702 20874 "type" : "string"
56122987 20875 }
44660702 20876 }
56122987 20877 },
56122987
DM
20878 "permissions" : {
20879 "check" : [
20880 "perm",
20881 "/nodes/{node}",
20882 [
7aacca6f 20883 "Sys.Modify"
44660702
DM
20884 ]
20885 ]
7aacca6f 20886 },
44660702
DM
20887 "protected" : 1,
20888 "proxyto" : "node",
20889 "returns" : {
20890 "type" : "null"
20891 }
20892 }
20893 },
20894 "leaf" : 0,
20895 "path" : "/nodes/{node}/network",
20896 "text" : "network"
20897 },
20898 {
20899 "children" : [
20900 {
7aacca6f
DM
20901 "children" : [
20902 {
20903 "info" : {
20904 "GET" : {
44660702 20905 "description" : "Read task log.",
7aacca6f
DM
20906 "method" : "GET",
20907 "name" : "read_task_log",
20908 "parameters" : {
44660702 20909 "additionalProperties" : 0,
7aacca6f 20910 "properties" : {
44660702
DM
20911 "limit" : {
20912 "minimum" : 0,
7aacca6f 20913 "optional" : 1,
4bd7df8b 20914 "type" : "integer",
013dc89f 20915 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
20916 },
20917 "node" : {
20918 "description" : "The cluster node name.",
44660702 20919 "format" : "pve-node",
013dc89f
DM
20920 "type" : "string",
20921 "typetext" : "<string>"
7aacca6f 20922 },
44660702
DM
20923 "start" : {
20924 "minimum" : 0,
7aacca6f 20925 "optional" : 1,
4bd7df8b 20926 "type" : "integer",
013dc89f 20927 "typetext" : "<integer> (0 - N)"
44660702
DM
20928 },
20929 "upid" : {
013dc89f
DM
20930 "type" : "string",
20931 "typetext" : "<string>"
7aacca6f 20932 }
44660702
DM
20933 }
20934 },
20935 "permissions" : {
20936 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
20937 "user" : "all"
7aacca6f
DM
20938 },
20939 "protected" : 1,
44660702 20940 "proxyto" : "node",
7aacca6f 20941 "returns" : {
7aacca6f 20942 "items" : {
7aacca6f
DM
20943 "properties" : {
20944 "n" : {
44660702
DM
20945 "description" : "Line number",
20946 "type" : "integer"
7aacca6f
DM
20947 },
20948 "t" : {
44660702
DM
20949 "description" : "Line text",
20950 "type" : "string"
7aacca6f 20951 }
44660702
DM
20952 },
20953 "type" : "object"
20954 },
20955 "type" : "array"
20956 }
7aacca6f 20957 }
56122987 20958 },
7aacca6f 20959 "leaf" : 1,
44660702
DM
20960 "path" : "/nodes/{node}/tasks/{upid}/log",
20961 "text" : "log"
7aacca6f
DM
20962 },
20963 {
7aacca6f
DM
20964 "info" : {
20965 "GET" : {
44660702
DM
20966 "description" : "Read task status.",
20967 "method" : "GET",
7aacca6f
DM
20968 "name" : "read_task_status",
20969 "parameters" : {
20970 "additionalProperties" : 0,
20971 "properties" : {
20972 "node" : {
7aacca6f 20973 "description" : "The cluster node name.",
44660702 20974 "format" : "pve-node",
013dc89f
DM
20975 "type" : "string",
20976 "typetext" : "<string>"
7aacca6f
DM
20977 },
20978 "upid" : {
013dc89f
DM
20979 "type" : "string",
20980 "typetext" : "<string>"
7aacca6f
DM
20981 }
20982 }
20983 },
7aacca6f
DM
20984 "permissions" : {
20985 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
20986 "user" : "all"
56122987 20987 },
44660702 20988 "protected" : 1,
7aacca6f 20989 "proxyto" : "node",
7aacca6f
DM
20990 "returns" : {
20991 "properties" : {
20992 "pid" : {
20993 "type" : "integer"
20994 },
20995 "status" : {
7aacca6f
DM
20996 "enum" : [
20997 "running",
20998 "stopped"
44660702
DM
20999 ],
21000 "type" : "string"
7aacca6f
DM
21001 }
21002 },
21003 "type" : "object"
56122987 21004 }
7aacca6f 21005 }
44660702
DM
21006 },
21007 "leaf" : 1,
21008 "path" : "/nodes/{node}/tasks/{upid}/status",
21009 "text" : "status"
56122987 21010 }
7aacca6f 21011 ],
44660702
DM
21012 "info" : {
21013 "DELETE" : {
21014 "description" : "Stop a task.",
21015 "method" : "DELETE",
21016 "name" : "stop_task",
21017 "parameters" : {
21018 "additionalProperties" : 0,
21019 "properties" : {
21020 "node" : {
21021 "description" : "The cluster node name.",
21022 "format" : "pve-node",
013dc89f
DM
21023 "type" : "string",
21024 "typetext" : "<string>"
44660702
DM
21025 },
21026 "upid" : {
013dc89f
DM
21027 "type" : "string",
21028 "typetext" : "<string>"
44660702 21029 }
7aacca6f 21030 }
44660702
DM
21031 },
21032 "permissions" : {
21033 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
21034 "user" : "all"
21035 },
21036 "protected" : 1,
21037 "proxyto" : "node",
21038 "returns" : {
21039 "type" : "null"
7aacca6f 21040 }
56122987 21041 },
44660702
DM
21042 "GET" : {
21043 "description" : "",
21044 "method" : "GET",
21045 "name" : "upid_index",
21046 "parameters" : {
21047 "additionalProperties" : 0,
21048 "properties" : {
21049 "node" : {
21050 "description" : "The cluster node name.",
21051 "format" : "pve-node",
013dc89f
DM
21052 "type" : "string",
21053 "typetext" : "<string>"
44660702
DM
21054 },
21055 "upid" : {
013dc89f
DM
21056 "type" : "string",
21057 "typetext" : "<string>"
44660702
DM
21058 }
21059 }
21060 },
21061 "permissions" : {
21062 "user" : "all"
21063 },
21064 "returns" : {
21065 "items" : {
21066 "properties" : {},
21067 "type" : "object"
21068 },
21069 "links" : [
21070 {
21071 "href" : "{name}",
21072 "rel" : "child"
21073 }
21074 ],
21075 "type" : "array"
56122987 21076 }
44660702 21077 }
56122987 21078 },
44660702
DM
21079 "leaf" : 0,
21080 "path" : "/nodes/{node}/tasks/{upid}",
21081 "text" : "{upid}"
21082 }
21083 ],
21084 "info" : {
21085 "GET" : {
7aacca6f 21086 "description" : "Read task list for one node (finished tasks).",
44660702
DM
21087 "method" : "GET",
21088 "name" : "node_tasks",
56122987 21089 "parameters" : {
7aacca6f 21090 "additionalProperties" : 0,
56122987 21091 "properties" : {
44660702 21092 "errors" : {
56122987 21093 "optional" : 1,
013dc89f
DM
21094 "type" : "boolean",
21095 "typetext" : "<boolean>"
56122987 21096 },
44660702 21097 "limit" : {
56122987 21098 "minimum" : 0,
56122987 21099 "optional" : 1,
4bd7df8b 21100 "type" : "integer",
013dc89f 21101 "typetext" : "<integer> (0 - N)"
56122987 21102 },
56122987
DM
21103 "node" : {
21104 "description" : "The cluster node name.",
44660702 21105 "format" : "pve-node",
013dc89f
DM
21106 "type" : "string",
21107 "typetext" : "<string>"
56122987 21108 },
44660702 21109 "start" : {
7aacca6f 21110 "minimum" : 0,
44660702 21111 "optional" : 1,
4bd7df8b 21112 "type" : "integer",
013dc89f 21113 "typetext" : "<integer> (0 - N)"
56122987 21114 },
7aacca6f 21115 "userfilter" : {
44660702 21116 "optional" : 1,
013dc89f
DM
21117 "type" : "string",
21118 "typetext" : "<string>"
44660702
DM
21119 },
21120 "vmid" : {
21121 "description" : "Only list tasks for this VM.",
21122 "format" : "pve-vmid",
21123 "minimum" : 1,
21124 "optional" : 1,
4bd7df8b 21125 "type" : "integer",
013dc89f 21126 "typetext" : "<integer> (1 - N)"
56122987
DM
21127 }
21128 }
21129 },
7aacca6f 21130 "permissions" : {
44660702 21131 "description" : "List task associated with the current user, or all task the user has 'Sys.Audit' permissions on /nodes/<node> (the <node> the task runs on).",
7aacca6f
DM
21132 "user" : "all"
21133 },
44660702 21134 "proxyto" : "node",
56122987
DM
21135 "returns" : {
21136 "items" : {
21137 "properties" : {
44660702 21138 "upid" : {
56122987
DM
21139 "type" : "string"
21140 }
21141 },
21142 "type" : "object"
21143 },
56122987
DM
21144 "links" : [
21145 {
44660702
DM
21146 "href" : "{upid}",
21147 "rel" : "child"
56122987 21148 }
44660702
DM
21149 ],
21150 "type" : "array"
56122987
DM
21151 }
21152 }
21153 },
44660702
DM
21154 "leaf" : 0,
21155 "path" : "/nodes/{node}/tasks",
21156 "text" : "tasks"
21157 },
21158 {
56122987
DM
21159 "children" : [
21160 {
56122987
DM
21161 "info" : {
21162 "GET" : {
7aacca6f 21163 "description" : "Scan zfs pool list on local node.",
44660702
DM
21164 "method" : "GET",
21165 "name" : "zfsscan",
56122987 21166 "parameters" : {
44660702 21167 "additionalProperties" : 0,
56122987 21168 "properties" : {
56122987
DM
21169 "node" : {
21170 "description" : "The cluster node name.",
44660702 21171 "format" : "pve-node",
013dc89f
DM
21172 "type" : "string",
21173 "typetext" : "<string>"
56122987 21174 }
44660702
DM
21175 }
21176 },
7aacca6f
DM
21177 "permissions" : {
21178 "check" : [
21179 "perm",
21180 "/storage",
21181 [
21182 "Datastore.Allocate"
21183 ]
21184 ]
21185 },
44660702
DM
21186 "protected" : 1,
21187 "proxyto" : "node",
56122987 21188 "returns" : {
56122987
DM
21189 "items" : {
21190 "properties" : {
44660702 21191 "pool" : {
56122987
DM
21192 "type" : "string"
21193 }
44660702
DM
21194 },
21195 "type" : "object"
21196 },
21197 "type" : "array"
21198 }
21199 }
21200 },
21201 "leaf" : 1,
21202 "path" : "/nodes/{node}/scan/zfs",
21203 "text" : "zfs"
21204 },
21205 {
21206 "info" : {
21207 "GET" : {
21208 "description" : "Scan remote NFS server.",
21209 "method" : "GET",
7aacca6f 21210 "name" : "nfsscan",
56122987 21211 "parameters" : {
44660702 21212 "additionalProperties" : 0,
56122987
DM
21213 "properties" : {
21214 "node" : {
7aacca6f 21215 "description" : "The cluster node name.",
44660702 21216 "format" : "pve-node",
013dc89f
DM
21217 "type" : "string",
21218 "typetext" : "<string>"
7aacca6f
DM
21219 },
21220 "server" : {
21221 "format" : "pve-storage-server",
013dc89f
DM
21222 "type" : "string",
21223 "typetext" : "<string>"
56122987 21224 }
44660702 21225 }
56122987 21226 },
56122987
DM
21227 "permissions" : {
21228 "check" : [
21229 "perm",
21230 "/storage",
21231 [
21232 "Datastore.Allocate"
21233 ]
21234 ]
21235 },
44660702 21236 "protected" : 1,
56122987 21237 "proxyto" : "node",
44660702
DM
21238 "returns" : {
21239 "items" : {
21240 "properties" : {
21241 "options" : {
21242 "type" : "string"
21243 },
21244 "path" : {
21245 "type" : "string"
21246 }
21247 },
21248 "type" : "object"
21249 },
21250 "type" : "array"
21251 }
21252 }
21253 },
21254 "leaf" : 1,
21255 "path" : "/nodes/{node}/scan/nfs",
21256 "text" : "nfs"
21257 },
21258 {
21259 "info" : {
21260 "GET" : {
21261 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
21262 "method" : "GET",
21263 "name" : "glusterfsscan",
56122987 21264 "parameters" : {
44660702 21265 "additionalProperties" : 0,
56122987 21266 "properties" : {
56122987 21267 "node" : {
44660702 21268 "description" : "The cluster node name.",
56122987 21269 "format" : "pve-node",
013dc89f
DM
21270 "type" : "string",
21271 "typetext" : "<string>"
7aacca6f
DM
21272 },
21273 "server" : {
21274 "format" : "pve-storage-server",
013dc89f
DM
21275 "type" : "string",
21276 "typetext" : "<string>"
56122987 21277 }
44660702
DM
21278 }
21279 },
21280 "permissions" : {
21281 "check" : [
21282 "perm",
21283 "/storage",
21284 [
21285 "Datastore.Allocate"
21286 ]
21287 ]
7aacca6f 21288 },
44660702
DM
21289 "protected" : 1,
21290 "proxyto" : "node",
21291 "returns" : {
21292 "items" : {
21293 "properties" : {
21294 "volname" : {
21295 "type" : "string"
21296 }
21297 },
21298 "type" : "object"
21299 },
21300 "type" : "array"
21301 }
56122987
DM
21302 }
21303 },
44660702
DM
21304 "leaf" : 1,
21305 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 21306 "text" : "glusterfs"
56122987
DM
21307 },
21308 {
56122987
DM
21309 "info" : {
21310 "GET" : {
7aacca6f 21311 "description" : "Scan remote iSCSI server.",
44660702
DM
21312 "method" : "GET",
21313 "name" : "iscsiscan",
21314 "parameters" : {
21315 "additionalProperties" : 0,
21316 "properties" : {
21317 "node" : {
21318 "description" : "The cluster node name.",
21319 "format" : "pve-node",
013dc89f
DM
21320 "type" : "string",
21321 "typetext" : "<string>"
44660702
DM
21322 },
21323 "portal" : {
21324 "format" : "pve-storage-portal-dns",
013dc89f
DM
21325 "type" : "string",
21326 "typetext" : "<string>"
44660702
DM
21327 }
21328 }
21329 },
56122987
DM
21330 "permissions" : {
21331 "check" : [
21332 "perm",
21333 "/storage",
21334 [
21335 "Datastore.Allocate"
21336 ]
21337 ]
21338 },
44660702
DM
21339 "protected" : 1,
21340 "proxyto" : "node",
56122987 21341 "returns" : {
56122987
DM
21342 "items" : {
21343 "properties" : {
44660702 21344 "portal" : {
56122987
DM
21345 "type" : "string"
21346 },
44660702 21347 "target" : {
56122987
DM
21348 "type" : "string"
21349 }
21350 },
21351 "type" : "object"
56122987 21352 },
44660702
DM
21353 "type" : "array"
21354 }
56122987
DM
21355 }
21356 },
44660702 21357 "leaf" : 1,
7aacca6f 21358 "path" : "/nodes/{node}/scan/iscsi",
44660702 21359 "text" : "iscsi"
56122987
DM
21360 },
21361 {
56122987
DM
21362 "info" : {
21363 "GET" : {
44660702
DM
21364 "description" : "List local LVM volume groups.",
21365 "method" : "GET",
21366 "name" : "lvmscan",
21367 "parameters" : {
21368 "additionalProperties" : 0,
21369 "properties" : {
21370 "node" : {
21371 "description" : "The cluster node name.",
21372 "format" : "pve-node",
013dc89f
DM
21373 "type" : "string",
21374 "typetext" : "<string>"
56122987 21375 }
7aacca6f 21376 }
56122987 21377 },
56122987
DM
21378 "permissions" : {
21379 "check" : [
21380 "perm",
21381 "/storage",
21382 [
21383 "Datastore.Allocate"
21384 ]
21385 ]
21386 },
7aacca6f 21387 "protected" : 1,
44660702
DM
21388 "proxyto" : "node",
21389 "returns" : {
21390 "items" : {
21391 "properties" : {
21392 "vg" : {
21393 "type" : "string"
21394 }
21395 },
21396 "type" : "object"
21397 },
21398 "type" : "array"
7aacca6f 21399 }
56122987
DM
21400 }
21401 },
21402 "leaf" : 1,
44660702
DM
21403 "path" : "/nodes/{node}/scan/lvm",
21404 "text" : "lvm"
56122987
DM
21405 },
21406 {
56122987
DM
21407 "info" : {
21408 "GET" : {
44660702
DM
21409 "description" : "List local LVM Thin Pools.",
21410 "method" : "GET",
21411 "name" : "lvmthinscan",
56122987 21412 "parameters" : {
44660702 21413 "additionalProperties" : 0,
56122987
DM
21414 "properties" : {
21415 "node" : {
44660702 21416 "description" : "The cluster node name.",
56122987 21417 "format" : "pve-node",
013dc89f
DM
21418 "type" : "string",
21419 "typetext" : "<string>"
56122987
DM
21420 },
21421 "vg" : {
44660702 21422 "maxLength" : 100,
56122987 21423 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 21424 "type" : "string"
56122987 21425 }
44660702 21426 }
56122987 21427 },
7aacca6f
DM
21428 "permissions" : {
21429 "check" : [
21430 "perm",
21431 "/storage",
21432 [
21433 "Datastore.Allocate"
21434 ]
21435 ]
21436 },
44660702 21437 "protected" : 1,
7aacca6f 21438 "proxyto" : "node",
56122987 21439 "returns" : {
56122987
DM
21440 "items" : {
21441 "properties" : {
21442 "lv" : {
21443 "type" : "string"
21444 }
21445 },
21446 "type" : "object"
44660702
DM
21447 },
21448 "type" : "array"
7aacca6f 21449 }
56122987
DM
21450 }
21451 },
7aacca6f 21452 "leaf" : 1,
44660702
DM
21453 "path" : "/nodes/{node}/scan/lvmthin",
21454 "text" : "lvmthin"
56122987
DM
21455 },
21456 {
56122987
DM
21457 "info" : {
21458 "GET" : {
44660702
DM
21459 "description" : "List local USB devices.",
21460 "method" : "GET",
21461 "name" : "usbscan",
21462 "parameters" : {
21463 "additionalProperties" : 0,
21464 "properties" : {
21465 "node" : {
21466 "description" : "The cluster node name.",
21467 "format" : "pve-node",
013dc89f
DM
21468 "type" : "string",
21469 "typetext" : "<string>"
44660702
DM
21470 }
21471 }
21472 },
7aacca6f
DM
21473 "permissions" : {
21474 "check" : [
21475 "perm",
21476 "/",
21477 [
21478 "Sys.Modify"
21479 ]
21480 ]
21481 },
44660702 21482 "protected" : 1,
7aacca6f 21483 "proxyto" : "node",
56122987
DM
21484 "returns" : {
21485 "items" : {
21486 "properties" : {
44660702
DM
21487 "busnum" : {
21488 "type" : "integer"
56122987 21489 },
44660702
DM
21490 "class" : {
21491 "type" : "integer"
56122987 21492 },
7aacca6f 21493 "devnum" : {
56122987
DM
21494 "type" : "integer"
21495 },
44660702
DM
21496 "level" : {
21497 "type" : "integer"
21498 },
21499 "manufacturer" : {
21500 "optional" : 1,
7aacca6f
DM
21501 "type" : "string"
21502 },
44660702 21503 "port" : {
56122987
DM
21504 "type" : "integer"
21505 },
44660702
DM
21506 "prodid" : {
21507 "type" : "string"
56122987 21508 },
44660702
DM
21509 "product" : {
21510 "optional" : 1,
21511 "type" : "string"
21512 },
21513 "serial" : {
7aacca6f 21514 "optional" : 1,
56122987
DM
21515 "type" : "string"
21516 },
44660702 21517 "speed" : {
7aacca6f 21518 "type" : "string"
56122987 21519 },
44660702 21520 "usbpath" : {
56122987
DM
21521 "optional" : 1,
21522 "type" : "string"
21523 },
44660702
DM
21524 "vendid" : {
21525 "type" : "string"
56122987
DM
21526 }
21527 },
21528 "type" : "object"
7aacca6f
DM
21529 },
21530 "type" : "array"
44660702
DM
21531 }
21532 }
21533 },
21534 "leaf" : 1,
21535 "path" : "/nodes/{node}/scan/usb",
21536 "text" : "usb"
21537 }
21538 ],
21539 "info" : {
21540 "GET" : {
21541 "description" : "Index of available scan methods",
21542 "method" : "GET",
21543 "name" : "index",
21544 "parameters" : {
21545 "additionalProperties" : 0,
21546 "properties" : {
21547 "node" : {
21548 "description" : "The cluster node name.",
21549 "format" : "pve-node",
013dc89f
DM
21550 "type" : "string",
21551 "typetext" : "<string>"
44660702
DM
21552 }
21553 }
21554 },
21555 "permissions" : {
21556 "user" : "all"
21557 },
21558 "returns" : {
21559 "items" : {
21560 "properties" : {
21561 "method" : {
21562 "type" : "string"
56122987
DM
21563 }
21564 },
44660702
DM
21565 "type" : "object"
21566 },
21567 "links" : [
21568 {
21569 "href" : "{method}",
21570 "rel" : "child"
21571 }
21572 ],
21573 "type" : "array"
56122987
DM
21574 }
21575 }
44660702
DM
21576 },
21577 "leaf" : 0,
21578 "path" : "/nodes/{node}/scan",
7aacca6f 21579 "text" : "scan"
56122987
DM
21580 },
21581 {
56122987
DM
21582 "children" : [
21583 {
56122987
DM
21584 "children" : [
21585 {
7aacca6f
DM
21586 "children" : [
21587 {
21588 "info" : {
44660702
DM
21589 "DELETE" : {
21590 "description" : "Delete volume",
21591 "method" : "DELETE",
21592 "name" : "delete",
7aacca6f
DM
21593 "parameters" : {
21594 "additionalProperties" : 0,
21595 "properties" : {
7aacca6f
DM
21596 "node" : {
21597 "description" : "The cluster node name.",
44660702 21598 "format" : "pve-node",
013dc89f
DM
21599 "type" : "string",
21600 "typetext" : "<string>"
44660702
DM
21601 },
21602 "storage" : {
21603 "description" : "The storage identifier.",
21604 "format" : "pve-storage-id",
21605 "optional" : 1,
013dc89f
DM
21606 "type" : "string",
21607 "typetext" : "<string>"
7aacca6f
DM
21608 },
21609 "volume" : {
21610 "description" : "Volume identifier",
013dc89f
DM
21611 "type" : "string",
21612 "typetext" : "<string>"
7aacca6f
DM
21613 }
21614 }
21615 },
44660702
DM
21616 "permissions" : {
21617 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
21618 "user" : "all"
21619 },
21620 "protected" : 1,
21621 "proxyto" : "node",
21622 "returns" : {
21623 "type" : "null"
21624 }
7aacca6f 21625 },
44660702
DM
21626 "GET" : {
21627 "description" : "Get volume attributes",
21628 "method" : "GET",
21629 "name" : "info",
7aacca6f
DM
21630 "parameters" : {
21631 "additionalProperties" : 0,
21632 "properties" : {
7aacca6f
DM
21633 "node" : {
21634 "description" : "The cluster node name.",
44660702 21635 "format" : "pve-node",
013dc89f
DM
21636 "type" : "string",
21637 "typetext" : "<string>"
7aacca6f
DM
21638 },
21639 "storage" : {
7aacca6f 21640 "description" : "The storage identifier.",
44660702 21641 "format" : "pve-storage-id",
7aacca6f 21642 "optional" : 1,
013dc89f
DM
21643 "type" : "string",
21644 "typetext" : "<string>"
44660702
DM
21645 },
21646 "volume" : {
21647 "description" : "Volume identifier",
013dc89f
DM
21648 "type" : "string",
21649 "typetext" : "<string>"
7aacca6f
DM
21650 }
21651 }
21652 },
7aacca6f 21653 "permissions" : {
44660702 21654 "description" : "You need read access for the volume.",
7aacca6f
DM
21655 "user" : "all"
21656 },
44660702 21657 "protected" : 1,
7aacca6f 21658 "proxyto" : "node",
7aacca6f 21659 "returns" : {
44660702 21660 "type" : "object"
7aacca6f
DM
21661 }
21662 },
21663 "POST" : {
44660702
DM
21664 "description" : "Copy a volume. This is experimental code - do not use.",
21665 "method" : "POST",
21666 "name" : "copy",
7aacca6f
DM
21667 "parameters" : {
21668 "additionalProperties" : 0,
21669 "properties" : {
44660702
DM
21670 "node" : {
21671 "description" : "The cluster node name.",
21672 "format" : "pve-node",
013dc89f
DM
21673 "type" : "string",
21674 "typetext" : "<string>"
44660702
DM
21675 },
21676 "storage" : {
21677 "description" : "The storage identifier.",
21678 "format" : "pve-storage-id",
21679 "optional" : 1,
013dc89f
DM
21680 "type" : "string",
21681 "typetext" : "<string>"
44660702 21682 },
7aacca6f 21683 "target" : {
44660702 21684 "description" : "Target volume identifier",
013dc89f
DM
21685 "type" : "string",
21686 "typetext" : "<string>"
7aacca6f
DM
21687 },
21688 "target_node" : {
7aacca6f 21689 "description" : "Target node. Default is local node.",
44660702
DM
21690 "format" : "pve-node",
21691 "optional" : 1,
013dc89f
DM
21692 "type" : "string",
21693 "typetext" : "<string>"
7aacca6f
DM
21694 },
21695 "volume" : {
44660702 21696 "description" : "Source volume identifier",
013dc89f
DM
21697 "type" : "string",
21698 "typetext" : "<string>"
7aacca6f
DM
21699 }
21700 }
21701 },
7aacca6f
DM
21702 "protected" : 1,
21703 "proxyto" : "node",
21704 "returns" : {
21705 "type" : "string"
44660702 21706 }
7aacca6f
DM
21707 }
21708 },
7aacca6f 21709 "leaf" : 1,
44660702
DM
21710 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
21711 "text" : "{volume}"
7aacca6f
DM
21712 }
21713 ],
56122987
DM
21714 "info" : {
21715 "GET" : {
44660702
DM
21716 "description" : "List storage content.",
21717 "method" : "GET",
21718 "name" : "index",
21719 "parameters" : {
21720 "additionalProperties" : 0,
21721 "properties" : {
21722 "content" : {
21723 "description" : "Only list content of this type.",
21724 "format" : "pve-storage-content",
21725 "optional" : 1,
013dc89f
DM
21726 "type" : "string",
21727 "typetext" : "<string>"
44660702
DM
21728 },
21729 "node" : {
21730 "description" : "The cluster node name.",
21731 "format" : "pve-node",
013dc89f
DM
21732 "type" : "string",
21733 "typetext" : "<string>"
44660702
DM
21734 },
21735 "storage" : {
21736 "description" : "The storage identifier.",
21737 "format" : "pve-storage-id",
013dc89f
DM
21738 "type" : "string",
21739 "typetext" : "<string>"
44660702
DM
21740 },
21741 "vmid" : {
21742 "description" : "Only list images for this VM",
21743 "format" : "pve-vmid",
21744 "minimum" : 1,
21745 "optional" : 1,
4bd7df8b 21746 "type" : "integer",
013dc89f 21747 "typetext" : "<integer> (1 - N)"
44660702
DM
21748 }
21749 }
21750 },
7aacca6f
DM
21751 "permissions" : {
21752 "check" : [
21753 "perm",
21754 "/storage/{storage}",
21755 [
21756 "Datastore.Audit",
21757 "Datastore.AllocateSpace"
21758 ],
21759 "any",
21760 1
21761 ]
21762 },
44660702 21763 "protected" : 1,
7aacca6f 21764 "proxyto" : "node",
56122987 21765 "returns" : {
44660702
DM
21766 "items" : {
21767 "properties" : {
21768 "volid" : {
21769 "type" : "string"
21770 }
21771 },
21772 "type" : "object"
21773 },
21774 "links" : [
21775 {
21776 "href" : "{volid}",
21777 "rel" : "child"
21778 }
21779 ],
21780 "type" : "array"
21781 }
21782 },
21783 "POST" : {
21784 "description" : "Allocate disk images.",
21785 "method" : "POST",
21786 "name" : "create",
56122987 21787 "parameters" : {
44660702 21788 "additionalProperties" : 0,
56122987 21789 "properties" : {
44660702
DM
21790 "filename" : {
21791 "description" : "The name of the file to create.",
013dc89f
DM
21792 "type" : "string",
21793 "typetext" : "<string>"
44660702
DM
21794 },
21795 "format" : {
21796 "enum" : [
21797 "raw",
21798 "qcow2",
21799 "subvol"
21800 ],
21801 "optional" : 1,
21802 "requires" : "size",
21803 "type" : "string"
21804 },
21805 "node" : {
21806 "description" : "The cluster node name.",
21807 "format" : "pve-node",
013dc89f
DM
21808 "type" : "string",
21809 "typetext" : "<string>"
44660702
DM
21810 },
21811 "size" : {
21812 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
21813 "pattern" : "\\d+[MG]?",
21814 "type" : "string"
21815 },
56122987
DM
21816 "storage" : {
21817 "description" : "The storage identifier.",
44660702 21818 "format" : "pve-storage-id",
013dc89f
DM
21819 "type" : "string",
21820 "typetext" : "<string>"
56122987 21821 },
44660702
DM
21822 "vmid" : {
21823 "description" : "Specify owner VM",
21824 "format" : "pve-vmid",
21825 "minimum" : 1,
4bd7df8b 21826 "type" : "integer",
013dc89f 21827 "typetext" : "<integer> (1 - N)"
44660702
DM
21828 }
21829 }
21830 },
21831 "permissions" : {
21832 "check" : [
21833 "perm",
21834 "/storage/{storage}",
21835 [
21836 "Datastore.AllocateSpace"
21837 ]
21838 ]
21839 },
21840 "protected" : 1,
21841 "proxyto" : "node",
21842 "returns" : {
21843 "description" : "Volume identifier",
21844 "type" : "string"
21845 }
21846 }
21847 },
21848 "leaf" : 0,
21849 "path" : "/nodes/{node}/storage/{storage}/content",
21850 "text" : "content"
21851 },
21852 {
21853 "info" : {
21854 "GET" : {
21855 "description" : "Read storage status.",
21856 "method" : "GET",
21857 "name" : "read_status",
21858 "parameters" : {
21859 "additionalProperties" : 0,
21860 "properties" : {
56122987
DM
21861 "node" : {
21862 "description" : "The cluster node name.",
44660702 21863 "format" : "pve-node",
013dc89f
DM
21864 "type" : "string",
21865 "typetext" : "<string>"
44660702
DM
21866 },
21867 "storage" : {
21868 "description" : "The storage identifier.",
21869 "format" : "pve-storage-id",
013dc89f
DM
21870 "type" : "string",
21871 "typetext" : "<string>"
56122987 21872 }
44660702
DM
21873 }
21874 },
21875 "permissions" : {
21876 "check" : [
21877 "perm",
21878 "/storage/{storage}",
21879 [
21880 "Datastore.Audit",
21881 "Datastore.AllocateSpace"
21882 ],
21883 "any",
21884 1
21885 ]
56122987
DM
21886 },
21887 "protected" : 1,
44660702
DM
21888 "proxyto" : "node",
21889 "returns" : {
21890 "properties" : {},
21891 "type" : "object"
21892 }
56122987
DM
21893 }
21894 },
44660702
DM
21895 "leaf" : 1,
21896 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 21897 "text" : "status"
56122987
DM
21898 },
21899 {
56122987
DM
21900 "info" : {
21901 "GET" : {
44660702
DM
21902 "description" : "Read storage RRD statistics (returns PNG).",
21903 "method" : "GET",
21904 "name" : "rrd",
56122987 21905 "parameters" : {
44660702 21906 "additionalProperties" : 0,
56122987 21907 "properties" : {
44660702
DM
21908 "cf" : {
21909 "description" : "The RRD consolidation function",
21910 "enum" : [
21911 "AVERAGE",
21912 "MAX"
21913 ],
21914 "optional" : 1,
21915 "type" : "string"
21916 },
7aacca6f 21917 "ds" : {
7aacca6f 21918 "description" : "The list of datasources you want to display.",
44660702 21919 "format" : "pve-configid-list",
013dc89f
DM
21920 "type" : "string",
21921 "typetext" : "<string>"
56122987 21922 },
7aacca6f
DM
21923 "node" : {
21924 "description" : "The cluster node name.",
44660702 21925 "format" : "pve-node",
013dc89f
DM
21926 "type" : "string",
21927 "typetext" : "<string>"
56122987 21928 },
7aacca6f 21929 "storage" : {
7aacca6f 21930 "description" : "The storage identifier.",
44660702 21931 "format" : "pve-storage-id",
013dc89f
DM
21932 "type" : "string",
21933 "typetext" : "<string>"
44660702
DM
21934 },
21935 "timeframe" : {
21936 "description" : "Specify the time frame you are interested in.",
7aacca6f 21937 "enum" : [
44660702
DM
21938 "hour",
21939 "day",
21940 "week",
21941 "month",
21942 "year"
7aacca6f 21943 ],
44660702 21944 "type" : "string"
56122987 21945 }
44660702 21946 }
56122987
DM
21947 },
21948 "permissions" : {
21949 "check" : [
21950 "perm",
21951 "/storage/{storage}",
21952 [
21953 "Datastore.Audit",
21954 "Datastore.AllocateSpace"
21955 ],
21956 "any",
21957 1
21958 ]
21959 },
44660702
DM
21960 "protected" : 1,
21961 "proxyto" : "node",
7aacca6f
DM
21962 "returns" : {
21963 "properties" : {
21964 "filename" : {
21965 "type" : "string"
21966 }
21967 },
21968 "type" : "object"
21969 }
56122987
DM
21970 }
21971 },
21972 "leaf" : 1,
44660702
DM
21973 "path" : "/nodes/{node}/storage/{storage}/rrd",
21974 "text" : "rrd"
56122987
DM
21975 },
21976 {
56122987
DM
21977 "info" : {
21978 "GET" : {
44660702
DM
21979 "description" : "Read storage RRD statistics.",
21980 "method" : "GET",
21981 "name" : "rrddata",
56122987 21982 "parameters" : {
44660702 21983 "additionalProperties" : 0,
56122987 21984 "properties" : {
44660702
DM
21985 "cf" : {
21986 "description" : "The RRD consolidation function",
21987 "enum" : [
21988 "AVERAGE",
21989 "MAX"
21990 ],
21991 "optional" : 1,
21992 "type" : "string"
21993 },
7aacca6f 21994 "node" : {
7aacca6f 21995 "description" : "The cluster node name.",
44660702 21996 "format" : "pve-node",
013dc89f
DM
21997 "type" : "string",
21998 "typetext" : "<string>"
44660702
DM
21999 },
22000 "storage" : {
22001 "description" : "The storage identifier.",
22002 "format" : "pve-storage-id",
013dc89f
DM
22003 "type" : "string",
22004 "typetext" : "<string>"
7aacca6f 22005 },
56122987 22006 "timeframe" : {
7aacca6f 22007 "description" : "Specify the time frame you are interested in.",
56122987
DM
22008 "enum" : [
22009 "hour",
22010 "day",
22011 "week",
22012 "month",
22013 "year"
56122987 22014 ],
44660702 22015 "type" : "string"
56122987 22016 }
44660702 22017 }
7aacca6f 22018 },
7aacca6f
DM
22019 "permissions" : {
22020 "check" : [
22021 "perm",
22022 "/storage/{storage}",
22023 [
22024 "Datastore.Audit",
22025 "Datastore.AllocateSpace"
22026 ],
22027 "any",
22028 1
22029 ]
22030 },
44660702
DM
22031 "protected" : 1,
22032 "proxyto" : "node",
7aacca6f
DM
22033 "returns" : {
22034 "items" : {
44660702
DM
22035 "properties" : {},
22036 "type" : "object"
7aacca6f
DM
22037 },
22038 "type" : "array"
56122987
DM
22039 }
22040 }
7aacca6f 22041 },
7aacca6f 22042 "leaf" : 1,
44660702
DM
22043 "path" : "/nodes/{node}/storage/{storage}/rrddata",
22044 "text" : "rrddata"
56122987
DM
22045 },
22046 {
56122987
DM
22047 "info" : {
22048 "POST" : {
7aacca6f 22049 "description" : "Upload templates and ISO images.",
44660702
DM
22050 "method" : "POST",
22051 "name" : "upload",
56122987 22052 "parameters" : {
7aacca6f 22053 "additionalProperties" : 0,
56122987 22054 "properties" : {
56122987 22055 "content" : {
7aacca6f 22056 "description" : "Content type.",
44660702 22057 "format" : "pve-storage-content",
013dc89f
DM
22058 "type" : "string",
22059 "typetext" : "<string>"
56122987
DM
22060 },
22061 "filename" : {
44660702 22062 "description" : "The name of the file to create.",
013dc89f
DM
22063 "type" : "string",
22064 "typetext" : "<string>"
56122987
DM
22065 },
22066 "node" : {
22067 "description" : "The cluster node name.",
44660702 22068 "format" : "pve-node",
013dc89f
DM
22069 "type" : "string",
22070 "typetext" : "<string>"
44660702
DM
22071 },
22072 "storage" : {
22073 "description" : "The storage identifier.",
22074 "format" : "pve-storage-id",
013dc89f
DM
22075 "type" : "string",
22076 "typetext" : "<string>"
44660702
DM
22077 },
22078 "tmpfilename" : {
22079 "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
22080 "optional" : 1,
013dc89f
DM
22081 "type" : "string",
22082 "typetext" : "<string>"
56122987 22083 }
7aacca6f 22084 }
56122987 22085 },
56122987
DM
22086 "permissions" : {
22087 "check" : [
22088 "perm",
22089 "/storage/{storage}",
22090 [
22091 "Datastore.AllocateTemplate"
22092 ]
22093 ]
44660702
DM
22094 },
22095 "protected" : 1,
22096 "returns" : {
22097 "type" : "string"
22098 }
22099 }
22100 },
22101 "leaf" : 1,
22102 "path" : "/nodes/{node}/storage/{storage}/upload",
22103 "text" : "upload"
22104 }
22105 ],
22106 "info" : {
22107 "GET" : {
22108 "description" : "",
22109 "method" : "GET",
22110 "name" : "diridx",
22111 "parameters" : {
22112 "additionalProperties" : 0,
22113 "properties" : {
22114 "node" : {
22115 "description" : "The cluster node name.",
22116 "format" : "pve-node",
013dc89f
DM
22117 "type" : "string",
22118 "typetext" : "<string>"
44660702
DM
22119 },
22120 "storage" : {
22121 "description" : "The storage identifier.",
22122 "format" : "pve-storage-id",
013dc89f
DM
22123 "type" : "string",
22124 "typetext" : "<string>"
56122987
DM
22125 }
22126 }
44660702
DM
22127 },
22128 "permissions" : {
22129 "check" : [
22130 "perm",
22131 "/storage/{storage}",
22132 [
22133 "Datastore.Audit",
22134 "Datastore.AllocateSpace"
22135 ],
22136 "any",
22137 1
22138 ]
22139 },
22140 "returns" : {
22141 "items" : {
22142 "properties" : {
22143 "subdir" : {
22144 "type" : "string"
22145 }
22146 },
22147 "type" : "object"
22148 },
22149 "links" : [
22150 {
22151 "href" : "{subdir}",
22152 "rel" : "child"
22153 }
22154 ],
22155 "type" : "array"
56122987
DM
22156 }
22157 }
44660702
DM
22158 },
22159 "leaf" : 0,
22160 "path" : "/nodes/{node}/storage/{storage}",
22161 "text" : "{storage}"
56122987
DM
22162 }
22163 ],
56122987
DM
22164 "info" : {
22165 "GET" : {
44660702
DM
22166 "description" : "Get status for all datastores.",
22167 "method" : "GET",
22168 "name" : "index",
22169 "parameters" : {
22170 "additionalProperties" : 0,
22171 "properties" : {
22172 "content" : {
22173 "description" : "Only list stores which support this content type.",
22174 "format" : "pve-storage-content-list",
22175 "optional" : 1,
013dc89f
DM
22176 "type" : "string",
22177 "typetext" : "<string>"
44660702
DM
22178 },
22179 "enabled" : {
22180 "default" : 0,
22181 "description" : "Only list stores which are enabled (not disabled in config).",
22182 "optional" : 1,
013dc89f
DM
22183 "type" : "boolean",
22184 "typetext" : "<boolean>"
44660702 22185 },
35a75dd3
DM
22186 "format" : {
22187 "default" : 0,
22188 "description" : "Include information about formats",
22189 "optional" : 1,
22190 "type" : "boolean",
22191 "typetext" : "<boolean>"
22192 },
44660702
DM
22193 "node" : {
22194 "description" : "The cluster node name.",
22195 "format" : "pve-node",
013dc89f
DM
22196 "type" : "string",
22197 "typetext" : "<string>"
44660702
DM
22198 },
22199 "storage" : {
22200 "description" : "Only list status for specified storage",
22201 "format" : "pve-storage-id",
22202 "optional" : 1,
013dc89f
DM
22203 "type" : "string",
22204 "typetext" : "<string>"
44660702
DM
22205 },
22206 "target" : {
22207 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
22208 "format" : "pve-node",
22209 "optional" : 1,
013dc89f
DM
22210 "type" : "string",
22211 "typetext" : "<string>"
44660702
DM
22212 }
22213 }
22214 },
7aacca6f
DM
22215 "permissions" : {
22216 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
22217 "user" : "all"
22218 },
44660702 22219 "protected" : 1,
7aacca6f 22220 "proxyto" : "node",
56122987
DM
22221 "returns" : {
22222 "items" : {
56122987
DM
22223 "properties" : {
22224 "storage" : {
22225 "type" : "string"
22226 }
44660702
DM
22227 },
22228 "type" : "object"
56122987 22229 },
56122987
DM
22230 "links" : [
22231 {
7aacca6f
DM
22232 "href" : "{storage}",
22233 "rel" : "child"
56122987 22234 }
44660702
DM
22235 ],
22236 "type" : "array"
22237 }
56122987 22238 }
44660702
DM
22239 },
22240 "leaf" : 0,
22241 "path" : "/nodes/{node}/storage",
22242 "text" : "storage"
56122987 22243 },
2c0dde61
DM
22244 {
22245 "children" : [
22246 {
22247 "info" : {
22248 "GET" : {
22249 "description" : "List local disks.",
22250 "method" : "GET",
22251 "name" : "list",
22252 "parameters" : {
22253 "additionalProperties" : 0,
22254 "properties" : {
22255 "node" : {
22256 "description" : "The cluster node name.",
22257 "format" : "pve-node",
013dc89f
DM
22258 "type" : "string",
22259 "typetext" : "<string>"
2c0dde61
DM
22260 }
22261 }
22262 },
22263 "permissions" : {
22264 "check" : [
22265 "perm",
22266 "/",
22267 [
22268 "Sys.Audit",
22269 "Datastore.Audit"
22270 ],
22271 "any",
22272 1
22273 ]
22274 },
22275 "protected" : 1,
22276 "proxyto" : "node",
22277 "returns" : {
22278 "items" : {
22279 "properties" : {
22280 "devpath" : {
22281 "description" : "The device path",
22282 "type" : "string"
22283 },
22284 "gpt" : {
22285 "type" : "boolean"
22286 },
22287 "health" : {
22288 "optional" : 1,
22289 "type" : "string"
22290 },
22291 "model" : {
22292 "optional" : 1,
22293 "type" : "string"
22294 },
22295 "osdid" : {
22296 "type" : "integer"
22297 },
22298 "serial" : {
22299 "optional" : 1,
22300 "type" : "string"
22301 },
22302 "size" : {
22303 "type" : "integer"
22304 },
22305 "used" : {
22306 "optional" : 1,
22307 "type" : "string"
22308 },
22309 "vendor" : {
22310 "optional" : 1,
22311 "type" : "string"
22312 },
22313 "wwn" : {
22314 "optional" : 1,
22315 "type" : "string"
22316 }
22317 },
22318 "type" : "object"
22319 },
22320 "type" : "array"
22321 }
22322 }
22323 },
22324 "leaf" : 1,
22325 "path" : "/nodes/{node}/disks/list",
22326 "text" : "list"
22327 },
22328 {
22329 "info" : {
22330 "GET" : {
22331 "description" : "Get SMART Health of a disk.",
22332 "method" : "GET",
22333 "name" : "smart",
22334 "parameters" : {
22335 "additionalProperties" : 0,
22336 "properties" : {
22337 "disk" : {
22338 "description" : "Block device name",
22339 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
22340 "type" : "string"
22341 },
22342 "healthonly" : {
22343 "description" : "If true returns only the health status",
22344 "optional" : 1,
013dc89f
DM
22345 "type" : "boolean",
22346 "typetext" : "<boolean>"
2c0dde61
DM
22347 },
22348 "node" : {
22349 "description" : "The cluster node name.",
22350 "format" : "pve-node",
013dc89f
DM
22351 "type" : "string",
22352 "typetext" : "<string>"
2c0dde61
DM
22353 }
22354 }
22355 },
22356 "permissions" : {
22357 "check" : [
22358 "perm",
22359 "/",
22360 [
22361 "Sys.Audit",
22362 "Datastore.Audit"
22363 ],
22364 "any",
22365 1
22366 ]
22367 },
22368 "protected" : 1,
22369 "proxyto" : "node",
22370 "returns" : {
de0983cb
DM
22371 "properties" : {
22372 "attributes" : {
22373 "optional" : 1,
22374 "type" : "array"
22375 },
22376 "health" : {
22377 "type" : "string"
22378 },
22379 "text" : {
22380 "optional" : 1,
22381 "type" : "string"
22382 },
22383 "type" : {
22384 "optional" : 1,
22385 "type" : "string"
22386 }
22387 },
2c0dde61
DM
22388 "type" : "object"
22389 }
22390 }
22391 },
22392 "leaf" : 1,
22393 "path" : "/nodes/{node}/disks/smart",
22394 "text" : "smart"
22395 },
22396 {
22397 "info" : {
22398 "POST" : {
22399 "description" : "Initialize Disk with GPT",
22400 "method" : "POST",
22401 "name" : "initgpt",
22402 "parameters" : {
22403 "additionalProperties" : 0,
22404 "properties" : {
22405 "disk" : {
22406 "description" : "Block device name",
22407 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
22408 "type" : "string"
22409 },
22410 "node" : {
22411 "description" : "The cluster node name.",
22412 "format" : "pve-node",
013dc89f
DM
22413 "type" : "string",
22414 "typetext" : "<string>"
2c0dde61
DM
22415 },
22416 "uuid" : {
22417 "description" : "UUID for the GPT table",
22418 "maxLength" : 36,
22419 "optional" : 1,
22420 "pattern" : "[a-fA-F0-9\\-]+",
22421 "type" : "string"
22422 }
22423 }
22424 },
22425 "permissions" : {
22426 "check" : [
22427 "perm",
22428 "/",
22429 [
22430 "Sys.Modify"
22431 ]
22432 ]
22433 },
22434 "protected" : 1,
22435 "proxyto" : "node",
22436 "returns" : {
22437 "type" : "string"
22438 }
22439 }
22440 },
22441 "leaf" : 1,
22442 "path" : "/nodes/{node}/disks/initgpt",
22443 "text" : "initgpt"
22444 }
22445 ],
22446 "info" : {
22447 "GET" : {
22448 "description" : "Node index.",
22449 "method" : "GET",
22450 "name" : "index",
22451 "parameters" : {
22452 "additionalProperties" : 0,
22453 "properties" : {
22454 "node" : {
22455 "description" : "The cluster node name.",
22456 "format" : "pve-node",
013dc89f
DM
22457 "type" : "string",
22458 "typetext" : "<string>"
2c0dde61
DM
22459 }
22460 }
22461 },
22462 "permissions" : {
22463 "user" : "all"
22464 },
22465 "proxyto" : "node",
22466 "returns" : {
22467 "items" : {
22468 "properties" : {},
22469 "type" : "object"
22470 },
22471 "links" : [
22472 {
22473 "href" : "{name}",
22474 "rel" : "child"
22475 }
22476 ],
22477 "type" : "array"
22478 }
22479 }
22480 },
22481 "leaf" : 0,
22482 "path" : "/nodes/{node}/disks",
22483 "text" : "disks"
22484 },
56122987 22485 {
56122987
DM
22486 "children" : [
22487 {
22488 "info" : {
44660702
DM
22489 "GET" : {
22490 "description" : "List available updates.",
22491 "method" : "GET",
22492 "name" : "list_updates",
22493 "parameters" : {
22494 "additionalProperties" : 0,
22495 "properties" : {
22496 "node" : {
22497 "description" : "The cluster node name.",
22498 "format" : "pve-node",
013dc89f
DM
22499 "type" : "string",
22500 "typetext" : "<string>"
44660702
DM
22501 }
22502 }
7aacca6f
DM
22503 },
22504 "permissions" : {
22505 "check" : [
22506 "perm",
22507 "/nodes/{node}",
22508 [
22509 "Sys.Modify"
22510 ]
22511 ]
22512 },
44660702 22513 "protected" : 1,
56122987 22514 "proxyto" : "node",
44660702
DM
22515 "returns" : {
22516 "items" : {
22517 "properties" : {},
22518 "type" : "object"
22519 },
22520 "type" : "array"
22521 }
22522 },
22523 "POST" : {
22524 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
22525 "method" : "POST",
22526 "name" : "update_database",
56122987
DM
22527 "parameters" : {
22528 "additionalProperties" : 0,
22529 "properties" : {
44660702
DM
22530 "node" : {
22531 "description" : "The cluster node name.",
22532 "format" : "pve-node",
013dc89f
DM
22533 "type" : "string",
22534 "typetext" : "<string>"
44660702 22535 },
56122987 22536 "notify" : {
56122987 22537 "default" : 0,
44660702
DM
22538 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
22539 "optional" : 1,
013dc89f
DM
22540 "type" : "boolean",
22541 "typetext" : "<boolean>"
56122987
DM
22542 },
22543 "quiet" : {
56122987 22544 "default" : 0,
44660702 22545 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 22546 "optional" : 1,
013dc89f
DM
22547 "type" : "boolean",
22548 "typetext" : "<boolean>"
56122987 22549 }
7aacca6f
DM
22550 }
22551 },
22552 "permissions" : {
22553 "check" : [
22554 "perm",
22555 "/nodes/{node}",
22556 [
22557 "Sys.Modify"
22558 ]
22559 ]
22560 },
44660702
DM
22561 "protected" : 1,
22562 "proxyto" : "node",
22563 "returns" : {
22564 "type" : "string"
22565 }
56122987
DM
22566 }
22567 },
7aacca6f 22568 "leaf" : 1,
44660702
DM
22569 "path" : "/nodes/{node}/apt/update",
22570 "text" : "update"
56122987
DM
22571 },
22572 {
56122987
DM
22573 "info" : {
22574 "GET" : {
44660702 22575 "description" : "Get package changelogs.",
56122987 22576 "method" : "GET",
7aacca6f 22577 "name" : "changelog",
56122987 22578 "parameters" : {
44660702 22579 "additionalProperties" : 0,
56122987
DM
22580 "properties" : {
22581 "name" : {
22582 "description" : "Package name.",
013dc89f
DM
22583 "type" : "string",
22584 "typetext" : "<string>"
56122987 22585 },
44660702
DM
22586 "node" : {
22587 "description" : "The cluster node name.",
22588 "format" : "pve-node",
013dc89f
DM
22589 "type" : "string",
22590 "typetext" : "<string>"
44660702 22591 },
56122987 22592 "version" : {
7aacca6f 22593 "description" : "Package version.",
44660702 22594 "optional" : 1,
013dc89f
DM
22595 "type" : "string",
22596 "typetext" : "<string>"
56122987 22597 }
44660702 22598 }
56122987 22599 },
44660702
DM
22600 "permissions" : {
22601 "check" : [
22602 "perm",
22603 "/nodes/{node}",
22604 [
22605 "Sys.Modify"
22606 ]
22607 ]
22608 },
22609 "proxyto" : "node",
22610 "returns" : {
22611 "type" : "string"
22612 }
56122987
DM
22613 }
22614 },
44660702
DM
22615 "leaf" : 1,
22616 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 22617 "text" : "changelog"
56122987
DM
22618 },
22619 {
56122987
DM
22620 "info" : {
22621 "GET" : {
44660702
DM
22622 "description" : "Get package information for important Proxmox packages.",
22623 "method" : "GET",
7aacca6f
DM
22624 "name" : "versions",
22625 "parameters" : {
44660702 22626 "additionalProperties" : 0,
7aacca6f
DM
22627 "properties" : {
22628 "node" : {
44660702 22629 "description" : "The cluster node name.",
7aacca6f 22630 "format" : "pve-node",
013dc89f
DM
22631 "type" : "string",
22632 "typetext" : "<string>"
7aacca6f 22633 }
44660702 22634 }
7aacca6f 22635 },
56122987
DM
22636 "permissions" : {
22637 "check" : [
22638 "perm",
22639 "/nodes/{node}",
22640 [
22641 "Sys.Audit"
22642 ]
22643 ]
22644 },
7aacca6f 22645 "proxyto" : "node",
56122987
DM
22646 "returns" : {
22647 "items" : {
7aacca6f
DM
22648 "properties" : {},
22649 "type" : "object"
44660702
DM
22650 },
22651 "type" : "array"
56122987
DM
22652 }
22653 }
22654 },
44660702 22655 "leaf" : 1,
7aacca6f 22656 "path" : "/nodes/{node}/apt/versions",
44660702 22657 "text" : "versions"
56122987
DM
22658 }
22659 ],
56122987
DM
22660 "info" : {
22661 "GET" : {
44660702 22662 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 22663 "method" : "GET",
44660702 22664 "name" : "index",
7aacca6f
DM
22665 "parameters" : {
22666 "additionalProperties" : 0,
22667 "properties" : {
22668 "node" : {
44660702 22669 "description" : "The cluster node name.",
7aacca6f 22670 "format" : "pve-node",
013dc89f
DM
22671 "type" : "string",
22672 "typetext" : "<string>"
7aacca6f
DM
22673 }
22674 }
22675 },
7aacca6f
DM
22676 "permissions" : {
22677 "user" : "all"
22678 },
44660702
DM
22679 "returns" : {
22680 "items" : {
22681 "properties" : {
22682 "id" : {
22683 "type" : "string"
22684 }
22685 },
22686 "type" : "object"
22687 },
22688 "links" : [
22689 {
22690 "href" : "{id}",
22691 "rel" : "child"
22692 }
22693 ],
22694 "type" : "array"
22695 }
56122987 22696 }
7aacca6f 22697 },
44660702 22698 "leaf" : 0,
7aacca6f 22699 "path" : "/nodes/{node}/apt",
44660702 22700 "text" : "apt"
56122987
DM
22701 },
22702 {
56122987
DM
22703 "children" : [
22704 {
22705 "children" : [
22706 {
56122987
DM
22707 "info" : {
22708 "DELETE" : {
44660702 22709 "description" : "Delete rule.",
7aacca6f 22710 "method" : "DELETE",
44660702 22711 "name" : "delete_rule",
56122987
DM
22712 "parameters" : {
22713 "additionalProperties" : 0,
22714 "properties" : {
56122987
DM
22715 "digest" : {
22716 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 22717 "maxLength" : 40,
56122987 22718 "optional" : 1,
013dc89f
DM
22719 "type" : "string",
22720 "typetext" : "<string>"
56122987 22721 },
44660702
DM
22722 "node" : {
22723 "description" : "The cluster node name.",
22724 "format" : "pve-node",
013dc89f
DM
22725 "type" : "string",
22726 "typetext" : "<string>"
44660702 22727 },
7aacca6f 22728 "pos" : {
7aacca6f 22729 "description" : "Update rule at position <pos>.",
44660702
DM
22730 "minimum" : 0,
22731 "optional" : 1,
4bd7df8b 22732 "type" : "integer",
013dc89f 22733 "typetext" : "<integer> (0 - N)"
56122987
DM
22734 }
22735 }
22736 },
44660702
DM
22737 "permissions" : {
22738 "check" : [
22739 "perm",
22740 "/nodes/{node}",
22741 [
22742 "Sys.Modify"
22743 ]
22744 ]
22745 },
22746 "protected" : 1,
22747 "proxyto" : "node",
56122987
DM
22748 "returns" : {
22749 "type" : "null"
44660702
DM
22750 }
22751 },
22752 "GET" : {
22753 "description" : "Get single rule data.",
22754 "method" : "GET",
22755 "name" : "get_rule",
22756 "parameters" : {
22757 "additionalProperties" : 0,
22758 "properties" : {
22759 "node" : {
22760 "description" : "The cluster node name.",
22761 "format" : "pve-node",
013dc89f
DM
22762 "type" : "string",
22763 "typetext" : "<string>"
44660702
DM
22764 },
22765 "pos" : {
22766 "description" : "Update rule at position <pos>.",
22767 "minimum" : 0,
22768 "optional" : 1,
4bd7df8b 22769 "type" : "integer",
013dc89f 22770 "typetext" : "<integer> (0 - N)"
44660702
DM
22771 }
22772 }
56122987 22773 },
56122987
DM
22774 "permissions" : {
22775 "check" : [
22776 "perm",
22777 "/nodes/{node}",
22778 [
44660702 22779 "Sys.Audit"
56122987
DM
22780 ]
22781 ]
44660702
DM
22782 },
22783 "proxyto" : "node",
22784 "returns" : {
22785 "properties" : {
22786 "pos" : {
22787 "type" : "integer"
22788 }
22789 },
22790 "type" : "object"
7aacca6f 22791 }
56122987
DM
22792 },
22793 "PUT" : {
44660702
DM
22794 "description" : "Modify rule data.",
22795 "method" : "PUT",
56122987 22796 "name" : "update_rule",
56122987 22797 "parameters" : {
44660702 22798 "additionalProperties" : 0,
56122987 22799 "properties" : {
44660702
DM
22800 "action" : {
22801 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22802 "maxLength" : 20,
22803 "minLength" : 2,
56122987 22804 "optional" : 1,
44660702
DM
22805 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22806 "type" : "string"
56122987 22807 },
7aacca6f 22808 "comment" : {
e94f0d56 22809 "description" : "Descriptive comment.",
56122987 22810 "optional" : 1,
013dc89f
DM
22811 "type" : "string",
22812 "typetext" : "<string>"
56122987 22813 },
44660702
DM
22814 "delete" : {
22815 "description" : "A list of settings you want to delete.",
22816 "format" : "pve-configid-list",
56122987 22817 "optional" : 1,
013dc89f
DM
22818 "type" : "string",
22819 "typetext" : "<string>"
56122987 22820 },
44660702
DM
22821 "dest" : {
22822 "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.",
22823 "format" : "pve-fw-addr-spec",
56122987 22824 "optional" : 1,
013dc89f
DM
22825 "type" : "string",
22826 "typetext" : "<string>"
56122987 22827 },
44660702
DM
22828 "digest" : {
22829 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22830 "maxLength" : 40,
56122987 22831 "optional" : 1,
013dc89f
DM
22832 "type" : "string",
22833 "typetext" : "<string>"
56122987 22834 },
7aacca6f 22835 "dport" : {
7aacca6f 22836 "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
22837 "format" : "pve-fw-dport-spec",
22838 "optional" : 1,
013dc89f
DM
22839 "type" : "string",
22840 "typetext" : "<string>"
7aacca6f 22841 },
44660702 22842 "enable" : {
e94f0d56 22843 "description" : "Flag to enable/disable a rule.",
44660702 22844 "minimum" : 0,
56122987 22845 "optional" : 1,
4bd7df8b 22846 "type" : "integer",
013dc89f 22847 "typetext" : "<integer> (0 - N)"
56122987 22848 },
7aacca6f 22849 "iface" : {
44660702 22850 "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 22851 "format" : "pve-iface",
44660702 22852 "maxLength" : 20,
56122987 22853 "minLength" : 2,
44660702 22854 "optional" : 1,
013dc89f
DM
22855 "type" : "string",
22856 "typetext" : "<string>"
56122987 22857 },
44660702 22858 "macro" : {
e94f0d56 22859 "description" : "Use predefined standard macro.",
44660702
DM
22860 "maxLength" : 128,
22861 "optional" : 1,
013dc89f
DM
22862 "type" : "string",
22863 "typetext" : "<string>"
44660702
DM
22864 },
22865 "moveto" : {
22866 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
22867 "minimum" : 0,
7aacca6f 22868 "optional" : 1,
4bd7df8b 22869 "type" : "integer",
013dc89f 22870 "typetext" : "<integer> (0 - N)"
44660702
DM
22871 },
22872 "node" : {
22873 "description" : "The cluster node name.",
22874 "format" : "pve-node",
013dc89f
DM
22875 "type" : "string",
22876 "typetext" : "<string>"
56122987
DM
22877 },
22878 "pos" : {
44660702 22879 "description" : "Update rule at position <pos>.",
7aacca6f 22880 "minimum" : 0,
7aacca6f 22881 "optional" : 1,
4bd7df8b 22882 "type" : "integer",
013dc89f 22883 "typetext" : "<integer> (0 - N)"
7aacca6f 22884 },
44660702
DM
22885 "proto" : {
22886 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22887 "format" : "pve-fw-protocol-spec",
7aacca6f 22888 "optional" : 1,
013dc89f
DM
22889 "type" : "string",
22890 "typetext" : "<string>"
7aacca6f 22891 },
44660702
DM
22892 "source" : {
22893 "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.",
22894 "format" : "pve-fw-addr-spec",
56122987 22895 "optional" : 1,
013dc89f
DM
22896 "type" : "string",
22897 "typetext" : "<string>"
7aacca6f 22898 },
44660702
DM
22899 "sport" : {
22900 "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.",
22901 "format" : "pve-fw-sport-spec",
22902 "optional" : 1,
013dc89f
DM
22903 "type" : "string",
22904 "typetext" : "<string>"
44660702
DM
22905 },
22906 "type" : {
e94f0d56 22907 "description" : "Rule type.",
44660702
DM
22908 "enum" : [
22909 "in",
22910 "out",
22911 "group"
22912 ],
22913 "optional" : 1,
22914 "type" : "string"
56122987 22915 }
44660702 22916 }
56122987 22917 },
56122987
DM
22918 "permissions" : {
22919 "check" : [
22920 "perm",
22921 "/nodes/{node}",
22922 [
22923 "Sys.Modify"
22924 ]
22925 ]
7aacca6f 22926 },
44660702 22927 "protected" : 1,
7aacca6f 22928 "proxyto" : "node",
7aacca6f
DM
22929 "returns" : {
22930 "type" : "null"
56122987
DM
22931 }
22932 }
7aacca6f 22933 },
44660702 22934 "leaf" : 1,
7aacca6f 22935 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 22936 "text" : "{pos}"
56122987
DM
22937 }
22938 ],
56122987
DM
22939 "info" : {
22940 "GET" : {
44660702
DM
22941 "description" : "List rules.",
22942 "method" : "GET",
22943 "name" : "get_rules",
22944 "parameters" : {
22945 "additionalProperties" : 0,
22946 "properties" : {
22947 "node" : {
22948 "description" : "The cluster node name.",
22949 "format" : "pve-node",
013dc89f
DM
22950 "type" : "string",
22951 "typetext" : "<string>"
44660702
DM
22952 }
22953 }
22954 },
22955 "permissions" : {
22956 "check" : [
22957 "perm",
22958 "/nodes/{node}",
22959 [
22960 "Sys.Audit"
22961 ]
22962 ]
22963 },
22964 "proxyto" : "node",
56122987 22965 "returns" : {
56122987
DM
22966 "items" : {
22967 "properties" : {
22968 "pos" : {
22969 "type" : "integer"
22970 }
44660702
DM
22971 },
22972 "type" : "object"
56122987 22973 },
7aacca6f
DM
22974 "links" : [
22975 {
22976 "href" : "{pos}",
22977 "rel" : "child"
22978 }
22979 ],
22980 "type" : "array"
44660702 22981 }
56122987
DM
22982 },
22983 "POST" : {
44660702 22984 "description" : "Create new rule.",
7aacca6f
DM
22985 "method" : "POST",
22986 "name" : "create_rule",
56122987 22987 "parameters" : {
44660702 22988 "additionalProperties" : 0,
56122987 22989 "properties" : {
7aacca6f 22990 "action" : {
7aacca6f 22991 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 22992 "maxLength" : 20,
7aacca6f
DM
22993 "minLength" : 2,
22994 "optional" : 0,
44660702
DM
22995 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22996 "type" : "string"
56122987 22997 },
44660702 22998 "comment" : {
e94f0d56 22999 "description" : "Descriptive comment.",
56122987 23000 "optional" : 1,
013dc89f
DM
23001 "type" : "string",
23002 "typetext" : "<string>"
56122987 23003 },
44660702
DM
23004 "dest" : {
23005 "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.",
23006 "format" : "pve-fw-addr-spec",
7aacca6f 23007 "optional" : 1,
013dc89f
DM
23008 "type" : "string",
23009 "typetext" : "<string>"
56122987 23010 },
44660702
DM
23011 "digest" : {
23012 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23013 "maxLength" : 40,
23014 "optional" : 1,
013dc89f
DM
23015 "type" : "string",
23016 "typetext" : "<string>"
56122987 23017 },
44660702
DM
23018 "dport" : {
23019 "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.",
23020 "format" : "pve-fw-dport-spec",
7aacca6f 23021 "optional" : 1,
013dc89f
DM
23022 "type" : "string",
23023 "typetext" : "<string>"
56122987 23024 },
44660702 23025 "enable" : {
e94f0d56 23026 "description" : "Flag to enable/disable a rule.",
44660702
DM
23027 "minimum" : 0,
23028 "optional" : 1,
4bd7df8b 23029 "type" : "integer",
013dc89f 23030 "typetext" : "<integer> (0 - N)"
44660702 23031 },
7aacca6f 23032 "iface" : {
44660702 23033 "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 23034 "format" : "pve-iface",
56122987 23035 "maxLength" : 20,
7aacca6f 23036 "minLength" : 2,
7aacca6f 23037 "optional" : 1,
013dc89f
DM
23038 "type" : "string",
23039 "typetext" : "<string>"
56122987 23040 },
44660702 23041 "macro" : {
e94f0d56 23042 "description" : "Use predefined standard macro.",
44660702 23043 "maxLength" : 128,
7aacca6f 23044 "optional" : 1,
013dc89f
DM
23045 "type" : "string",
23046 "typetext" : "<string>"
56122987 23047 },
44660702
DM
23048 "node" : {
23049 "description" : "The cluster node name.",
23050 "format" : "pve-node",
013dc89f
DM
23051 "type" : "string",
23052 "typetext" : "<string>"
44660702
DM
23053 },
23054 "pos" : {
23055 "description" : "Update rule at position <pos>.",
23056 "minimum" : 0,
23057 "optional" : 1,
4bd7df8b 23058 "type" : "integer",
013dc89f 23059 "typetext" : "<integer> (0 - N)"
44660702
DM
23060 },
23061 "proto" : {
23062 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
23063 "format" : "pve-fw-protocol-spec",
56122987 23064 "optional" : 1,
013dc89f
DM
23065 "type" : "string",
23066 "typetext" : "<string>"
56122987 23067 },
7aacca6f 23068 "source" : {
7aacca6f 23069 "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
23070 "format" : "pve-fw-addr-spec",
23071 "optional" : 1,
013dc89f
DM
23072 "type" : "string",
23073 "typetext" : "<string>"
7aacca6f 23074 },
44660702
DM
23075 "sport" : {
23076 "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.",
23077 "format" : "pve-fw-sport-spec",
7aacca6f 23078 "optional" : 1,
013dc89f
DM
23079 "type" : "string",
23080 "typetext" : "<string>"
44660702
DM
23081 },
23082 "type" : {
e94f0d56 23083 "description" : "Rule type.",
44660702
DM
23084 "enum" : [
23085 "in",
23086 "out",
23087 "group"
23088 ],
23089 "optional" : 0,
23090 "type" : "string"
56122987 23091 }
44660702 23092 }
7aacca6f 23093 },
56122987
DM
23094 "permissions" : {
23095 "check" : [
23096 "perm",
23097 "/nodes/{node}",
23098 [
23099 "Sys.Modify"
23100 ]
23101 ]
23102 },
44660702
DM
23103 "protected" : 1,
23104 "proxyto" : "node",
23105 "returns" : {
23106 "type" : "null"
23107 }
56122987
DM
23108 }
23109 },
44660702 23110 "leaf" : 0,
7aacca6f 23111 "path" : "/nodes/{node}/firewall/rules",
44660702 23112 "text" : "rules"
56122987
DM
23113 },
23114 {
56122987 23115 "info" : {
44660702
DM
23116 "GET" : {
23117 "description" : "Get host firewall options.",
23118 "method" : "GET",
23119 "name" : "get_options",
56122987 23120 "parameters" : {
7aacca6f 23121 "additionalProperties" : 0,
56122987 23122 "properties" : {
44660702
DM
23123 "node" : {
23124 "description" : "The cluster node name.",
23125 "format" : "pve-node",
013dc89f
DM
23126 "type" : "string",
23127 "typetext" : "<string>"
44660702
DM
23128 }
23129 }
23130 },
23131 "permissions" : {
23132 "check" : [
23133 "perm",
23134 "/nodes/{node}",
23135 [
23136 "Sys.Audit"
23137 ]
23138 ]
23139 },
23140 "proxyto" : "node",
23141 "returns" : {
23142 "properties" : {
23143 "enable" : {
23144 "description" : "Enable host firewall rules.",
7aacca6f 23145 "optional" : 1,
44660702 23146 "type" : "boolean"
7aacca6f 23147 },
44660702
DM
23148 "log_level_in" : {
23149 "description" : "Log level for incoming traffic.",
56122987
DM
23150 "enum" : [
23151 "emerg",
23152 "alert",
23153 "crit",
23154 "err",
23155 "warning",
23156 "notice",
23157 "info",
23158 "debug",
23159 "nolog"
23160 ],
56122987 23161 "optional" : 1,
44660702
DM
23162 "type" : "string"
23163 },
23164 "log_level_out" : {
23165 "description" : "Log level for outgoing traffic.",
56122987
DM
23166 "enum" : [
23167 "emerg",
23168 "alert",
23169 "crit",
23170 "err",
23171 "warning",
23172 "notice",
23173 "info",
23174 "debug",
23175 "nolog"
23176 ],
44660702
DM
23177 "optional" : 1,
23178 "type" : "string"
23179 },
23180 "ndp" : {
23181 "description" : "Enable NDP.",
23182 "optional" : 1,
23183 "type" : "boolean"
23184 },
23185 "nf_conntrack_max" : {
23186 "description" : "Maximum number of tracked connections.",
23187 "minimum" : 32768,
23188 "optional" : 1,
23189 "type" : "integer"
23190 },
23191 "nf_conntrack_tcp_timeout_established" : {
23192 "description" : "Conntrack established timeout.",
23193 "minimum" : 7875,
23194 "optional" : 1,
23195 "type" : "integer"
23196 },
23197 "nosmurfs" : {
23198 "description" : "Enable SMURFS filter.",
23199 "optional" : 1,
23200 "type" : "boolean"
56122987 23201 },
7aacca6f 23202 "smurf_log_level" : {
44660702 23203 "description" : "Log level for SMURFS filter.",
56122987
DM
23204 "enum" : [
23205 "emerg",
23206 "alert",
23207 "crit",
23208 "err",
23209 "warning",
23210 "notice",
23211 "info",
23212 "debug",
23213 "nolog"
7aacca6f 23214 ],
7aacca6f
DM
23215 "optional" : 1,
23216 "type" : "string"
56122987 23217 },
44660702
DM
23218 "tcp_flags_log_level" : {
23219 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
23220 "enum" : [
23221 "emerg",
23222 "alert",
23223 "crit",
23224 "err",
23225 "warning",
23226 "notice",
23227 "info",
23228 "debug",
23229 "nolog"
23230 ],
44660702
DM
23231 "optional" : 1,
23232 "type" : "string"
7aacca6f 23233 },
44660702
DM
23234 "tcpflags" : {
23235 "description" : "Filter illegal combinations of TCP flags.",
56122987 23236 "optional" : 1,
44660702 23237 "type" : "boolean"
56122987 23238 }
44660702
DM
23239 },
23240 "type" : "object"
7aacca6f 23241 }
56122987 23242 },
44660702
DM
23243 "PUT" : {
23244 "description" : "Set Firewall options.",
23245 "method" : "PUT",
23246 "name" : "set_options",
7aacca6f 23247 "parameters" : {
44660702 23248 "additionalProperties" : 0,
7aacca6f 23249 "properties" : {
44660702
DM
23250 "delete" : {
23251 "description" : "A list of settings you want to delete.",
23252 "format" : "pve-configid-list",
7aacca6f 23253 "optional" : 1,
013dc89f
DM
23254 "type" : "string",
23255 "typetext" : "<string>"
56122987 23256 },
44660702
DM
23257 "digest" : {
23258 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23259 "maxLength" : 40,
23260 "optional" : 1,
013dc89f
DM
23261 "type" : "string",
23262 "typetext" : "<string>"
56122987 23263 },
44660702
DM
23264 "enable" : {
23265 "description" : "Enable host firewall rules.",
7aacca6f 23266 "optional" : 1,
013dc89f
DM
23267 "type" : "boolean",
23268 "typetext" : "<boolean>"
44660702
DM
23269 },
23270 "log_level_in" : {
23271 "description" : "Log level for incoming traffic.",
56122987
DM
23272 "enum" : [
23273 "emerg",
23274 "alert",
23275 "crit",
23276 "err",
23277 "warning",
23278 "notice",
23279 "info",
23280 "debug",
23281 "nolog"
44660702 23282 ],
7aacca6f 23283 "optional" : 1,
44660702 23284 "type" : "string"
7aacca6f 23285 },
44660702
DM
23286 "log_level_out" : {
23287 "description" : "Log level for outgoing traffic.",
56122987
DM
23288 "enum" : [
23289 "emerg",
23290 "alert",
23291 "crit",
23292 "err",
23293 "warning",
23294 "notice",
23295 "info",
23296 "debug",
23297 "nolog"
23298 ],
23299 "optional" : 1,
7aacca6f 23300 "type" : "string"
56122987 23301 },
44660702
DM
23302 "ndp" : {
23303 "description" : "Enable NDP.",
7aacca6f 23304 "optional" : 1,
013dc89f
DM
23305 "type" : "boolean",
23306 "typetext" : "<boolean>"
44660702
DM
23307 },
23308 "nf_conntrack_max" : {
23309 "description" : "Maximum number of tracked connections.",
23310 "minimum" : 32768,
23311 "optional" : 1,
4bd7df8b 23312 "type" : "integer",
013dc89f 23313 "typetext" : "<integer> (32768 - N)"
44660702
DM
23314 },
23315 "nf_conntrack_tcp_timeout_established" : {
23316 "description" : "Conntrack established timeout.",
23317 "minimum" : 7875,
23318 "optional" : 1,
4bd7df8b 23319 "type" : "integer",
013dc89f 23320 "typetext" : "<integer> (7875 - N)"
44660702
DM
23321 },
23322 "node" : {
23323 "description" : "The cluster node name.",
23324 "format" : "pve-node",
013dc89f
DM
23325 "type" : "string",
23326 "typetext" : "<string>"
44660702
DM
23327 },
23328 "nosmurfs" : {
23329 "description" : "Enable SMURFS filter.",
23330 "optional" : 1,
013dc89f
DM
23331 "type" : "boolean",
23332 "typetext" : "<boolean>"
44660702
DM
23333 },
23334 "smurf_log_level" : {
23335 "description" : "Log level for SMURFS filter.",
56122987
DM
23336 "enum" : [
23337 "emerg",
23338 "alert",
23339 "crit",
23340 "err",
23341 "warning",
23342 "notice",
23343 "info",
23344 "debug",
23345 "nolog"
44660702
DM
23346 ],
23347 "optional" : 1,
23348 "type" : "string"
56122987 23349 },
44660702
DM
23350 "tcp_flags_log_level" : {
23351 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
23352 "enum" : [
23353 "emerg",
23354 "alert",
23355 "crit",
23356 "err",
23357 "warning",
23358 "notice",
23359 "info",
23360 "debug",
23361 "nolog"
23362 ],
44660702
DM
23363 "optional" : 1,
23364 "type" : "string"
7aacca6f 23365 },
44660702
DM
23366 "tcpflags" : {
23367 "description" : "Filter illegal combinations of TCP flags.",
56122987 23368 "optional" : 1,
013dc89f
DM
23369 "type" : "boolean",
23370 "typetext" : "<boolean>"
56122987 23371 }
7aacca6f 23372 }
56122987 23373 },
44660702
DM
23374 "permissions" : {
23375 "check" : [
23376 "perm",
23377 "/nodes/{node}",
23378 [
23379 "Sys.Modify"
23380 ]
23381 ]
23382 },
23383 "protected" : 1,
23384 "proxyto" : "node",
23385 "returns" : {
23386 "type" : "null"
23387 }
7aacca6f
DM
23388 }
23389 },
44660702
DM
23390 "leaf" : 1,
23391 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
23392 "text" : "options"
23393 },
23394 {
7aacca6f
DM
23395 "info" : {
23396 "GET" : {
44660702
DM
23397 "description" : "Read firewall log",
23398 "method" : "GET",
7aacca6f 23399 "name" : "log",
56122987 23400 "parameters" : {
44660702 23401 "additionalProperties" : 0,
56122987 23402 "properties" : {
7aacca6f 23403 "limit" : {
44660702 23404 "minimum" : 0,
7aacca6f 23405 "optional" : 1,
4bd7df8b 23406 "type" : "integer",
013dc89f 23407 "typetext" : "<integer> (0 - N)"
7aacca6f 23408 },
56122987 23409 "node" : {
7aacca6f 23410 "description" : "The cluster node name.",
44660702 23411 "format" : "pve-node",
013dc89f
DM
23412 "type" : "string",
23413 "typetext" : "<string>"
44660702
DM
23414 },
23415 "start" : {
23416 "minimum" : 0,
23417 "optional" : 1,
4bd7df8b 23418 "type" : "integer",
013dc89f 23419 "typetext" : "<integer> (0 - N)"
56122987 23420 }
44660702 23421 }
7aacca6f 23422 },
56122987
DM
23423 "permissions" : {
23424 "check" : [
23425 "perm",
23426 "/nodes/{node}",
23427 [
23428 "Sys.Syslog"
23429 ]
23430 ]
23431 },
44660702
DM
23432 "protected" : 1,
23433 "proxyto" : "node",
56122987
DM
23434 "returns" : {
23435 "items" : {
56122987 23436 "properties" : {
56122987 23437 "n" : {
44660702
DM
23438 "description" : "Line number",
23439 "type" : "integer"
7aacca6f
DM
23440 },
23441 "t" : {
44660702
DM
23442 "description" : "Line text",
23443 "type" : "string"
56122987 23444 }
44660702
DM
23445 },
23446 "type" : "object"
56122987
DM
23447 },
23448 "type" : "array"
7aacca6f 23449 }
56122987
DM
23450 }
23451 },
44660702
DM
23452 "leaf" : 1,
23453 "path" : "/nodes/{node}/firewall/log",
7aacca6f 23454 "text" : "log"
56122987
DM
23455 }
23456 ],
23457 "info" : {
23458 "GET" : {
44660702
DM
23459 "description" : "Directory index.",
23460 "method" : "GET",
23461 "name" : "index",
56122987 23462 "parameters" : {
44660702 23463 "additionalProperties" : 0,
56122987
DM
23464 "properties" : {
23465 "node" : {
23466 "description" : "The cluster node name.",
44660702 23467 "format" : "pve-node",
013dc89f
DM
23468 "type" : "string",
23469 "typetext" : "<string>"
56122987 23470 }
44660702 23471 }
56122987 23472 },
7aacca6f
DM
23473 "permissions" : {
23474 "user" : "all"
23475 },
56122987
DM
23476 "returns" : {
23477 "items" : {
23478 "properties" : {},
23479 "type" : "object"
23480 },
56122987
DM
23481 "links" : [
23482 {
44660702
DM
23483 "href" : "{name}",
23484 "rel" : "child"
56122987 23485 }
44660702
DM
23486 ],
23487 "type" : "array"
23488 }
56122987 23489 }
7aacca6f 23490 },
44660702 23491 "leaf" : 0,
7aacca6f 23492 "path" : "/nodes/{node}/firewall",
44660702 23493 "text" : "firewall"
56122987 23494 },
5d9c884c
DM
23495 {
23496 "children" : [
23497 {
23498 "children" : [
23499 {
23500 "info" : {
23501 "GET" : {
23502 "description" : "Get replication job status.",
23503 "method" : "GET",
23504 "name" : "job_status",
23505 "parameters" : {
23506 "additionalProperties" : 0,
23507 "properties" : {
23508 "id" : {
23509 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23510 "format" : "pve-replication-job-id",
23511 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23512 "type" : "string"
23513 },
23514 "node" : {
23515 "description" : "The cluster node name.",
23516 "format" : "pve-node",
23517 "type" : "string",
23518 "typetext" : "<string>"
23519 }
23520 }
23521 },
23522 "permissions" : {
23523 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
23524 "user" : "all"
23525 },
23526 "protected" : 1,
23527 "proxyto" : "node",
23528 "returns" : {
23529 "properties" : {},
23530 "type" : "object"
23531 }
23532 }
23533 },
23534 "leaf" : 1,
23535 "path" : "/nodes/{node}/replication/{id}/status",
23536 "text" : "status"
23537 },
23538 {
23539 "info" : {
23540 "GET" : {
23541 "description" : "Read replication job log.",
23542 "method" : "GET",
23543 "name" : "read_job_log",
23544 "parameters" : {
23545 "additionalProperties" : 0,
23546 "properties" : {
23547 "id" : {
23548 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23549 "format" : "pve-replication-job-id",
23550 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23551 "type" : "string"
23552 },
23553 "limit" : {
23554 "minimum" : 0,
23555 "optional" : 1,
23556 "type" : "integer",
23557 "typetext" : "<integer> (0 - N)"
23558 },
23559 "node" : {
23560 "description" : "The cluster node name.",
23561 "format" : "pve-node",
23562 "type" : "string",
23563 "typetext" : "<string>"
23564 },
23565 "start" : {
23566 "minimum" : 0,
23567 "optional" : 1,
23568 "type" : "integer",
23569 "typetext" : "<integer> (0 - N)"
23570 }
23571 }
23572 },
23573 "permissions" : {
23574 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
23575 "user" : "all"
23576 },
23577 "protected" : 1,
23578 "proxyto" : "node",
23579 "returns" : {
23580 "items" : {
23581 "properties" : {
23582 "n" : {
23583 "description" : "Line number",
23584 "type" : "integer"
23585 },
23586 "t" : {
23587 "description" : "Line text",
23588 "type" : "string"
23589 }
23590 },
23591 "type" : "object"
23592 },
23593 "type" : "array"
23594 }
23595 }
23596 },
23597 "leaf" : 1,
23598 "path" : "/nodes/{node}/replication/{id}/log",
23599 "text" : "log"
23600 },
23601 {
23602 "info" : {
23603 "POST" : {
23604 "description" : "Schedule replication job to start as soon as possible.",
23605 "method" : "POST",
23606 "name" : "schedule_now",
23607 "parameters" : {
23608 "additionalProperties" : 0,
23609 "properties" : {
23610 "id" : {
23611 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23612 "format" : "pve-replication-job-id",
23613 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23614 "type" : "string"
23615 },
23616 "node" : {
23617 "description" : "The cluster node name.",
23618 "format" : "pve-node",
23619 "type" : "string",
23620 "typetext" : "<string>"
23621 }
23622 }
23623 },
23624 "permissions" : {
23625 "check" : [
23626 "perm",
23627 "/storage",
23628 [
23629 "Datastore.Allocate"
23630 ]
23631 ]
23632 },
23633 "protected" : 1,
23634 "proxyto" : "node",
23635 "returns" : {
23636 "type" : "string"
23637 }
23638 }
23639 },
23640 "leaf" : 1,
23641 "path" : "/nodes/{node}/replication/{id}/schedule_now",
23642 "text" : "schedule_now"
23643 }
23644 ],
23645 "info" : {
23646 "GET" : {
23647 "description" : "Directory index.",
23648 "method" : "GET",
23649 "name" : "index",
23650 "parameters" : {
23651 "additionalProperties" : 0,
23652 "properties" : {
23653 "id" : {
23654 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23655 "format" : "pve-replication-job-id",
23656 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23657 "type" : "string"
23658 },
23659 "node" : {
23660 "description" : "The cluster node name.",
23661 "format" : "pve-node",
23662 "type" : "string",
23663 "typetext" : "<string>"
23664 }
23665 }
23666 },
23667 "permissions" : {
23668 "user" : "all"
23669 },
23670 "returns" : {
23671 "items" : {
23672 "properties" : {},
23673 "type" : "object"
23674 },
23675 "links" : [
23676 {
23677 "href" : "{name}",
23678 "rel" : "child"
23679 }
23680 ],
23681 "type" : "array"
23682 }
23683 }
23684 },
23685 "leaf" : 0,
23686 "path" : "/nodes/{node}/replication/{id}",
23687 "text" : "{id}"
23688 }
23689 ],
23690 "info" : {
23691 "GET" : {
23692 "description" : "List status of all replication jobs on this node.",
23693 "method" : "GET",
23694 "name" : "status",
23695 "parameters" : {
23696 "additionalProperties" : 0,
23697 "properties" : {
23698 "guest" : {
23699 "description" : "Only list replication jobs for this guest.",
23700 "format" : "pve-vmid",
23701 "minimum" : 1,
23702 "optional" : 1,
23703 "type" : "integer",
23704 "typetext" : "<integer> (1 - N)"
23705 },
23706 "node" : {
23707 "description" : "The cluster node name.",
23708 "format" : "pve-node",
23709 "type" : "string",
23710 "typetext" : "<string>"
23711 }
23712 }
23713 },
23714 "permissions" : {
23715 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
23716 "user" : "all"
23717 },
23718 "protected" : 1,
23719 "proxyto" : "node",
23720 "returns" : {
23721 "items" : {
23722 "properties" : {
23723 "id" : {
23724 "type" : "string"
23725 }
23726 },
23727 "type" : "object"
23728 },
23729 "links" : [
23730 {
23731 "href" : "{id}",
23732 "rel" : "child"
23733 }
23734 ],
23735 "type" : "array"
23736 }
23737 }
23738 },
23739 "leaf" : 0,
23740 "path" : "/nodes/{node}/replication",
23741 "text" : "replication"
23742 },
56122987 23743 {
56122987
DM
23744 "info" : {
23745 "GET" : {
44660702
DM
23746 "description" : "API version details",
23747 "method" : "GET",
23748 "name" : "version",
56122987 23749 "parameters" : {
44660702 23750 "additionalProperties" : 0,
56122987
DM
23751 "properties" : {
23752 "node" : {
56122987 23753 "description" : "The cluster node name.",
44660702 23754 "format" : "pve-node",
013dc89f
DM
23755 "type" : "string",
23756 "typetext" : "<string>"
56122987 23757 }
44660702 23758 }
56122987 23759 },
56122987 23760 "permissions" : {
7aacca6f 23761 "user" : "all"
56122987 23762 },
56122987 23763 "proxyto" : "node",
56122987 23764 "returns" : {
56122987 23765 "properties" : {
44660702 23766 "release" : {
56122987
DM
23767 "type" : "string"
23768 },
44660702 23769 "repoid" : {
7aacca6f
DM
23770 "type" : "string"
23771 },
23772 "version" : {
23773 "type" : "string"
23774 }
44660702
DM
23775 },
23776 "type" : "object"
7aacca6f 23777 }
56122987
DM
23778 }
23779 },
56122987 23780 "leaf" : 1,
44660702
DM
23781 "path" : "/nodes/{node}/version",
23782 "text" : "version"
56122987
DM
23783 },
23784 {
56122987
DM
23785 "info" : {
23786 "GET" : {
7aacca6f 23787 "description" : "Read node status",
44660702 23788 "method" : "GET",
7aacca6f 23789 "name" : "status",
56122987 23790 "parameters" : {
44660702 23791 "additionalProperties" : 0,
56122987
DM
23792 "properties" : {
23793 "node" : {
7aacca6f 23794 "description" : "The cluster node name.",
44660702 23795 "format" : "pve-node",
013dc89f
DM
23796 "type" : "string",
23797 "typetext" : "<string>"
56122987 23798 }
44660702 23799 }
56122987 23800 },
56122987
DM
23801 "permissions" : {
23802 "check" : [
23803 "perm",
23804 "/nodes/{node}",
23805 [
23806 "Sys.Audit"
23807 ]
23808 ]
44660702
DM
23809 },
23810 "proxyto" : "node",
23811 "returns" : {
23812 "properties" : {},
23813 "type" : "object"
7aacca6f
DM
23814 }
23815 },
23816 "POST" : {
44660702
DM
23817 "description" : "Reboot or shutdown a node.",
23818 "method" : "POST",
7aacca6f 23819 "name" : "node_cmd",
56122987 23820 "parameters" : {
44660702 23821 "additionalProperties" : 0,
56122987 23822 "properties" : {
7aacca6f
DM
23823 "command" : {
23824 "description" : "Specify the command.",
56122987 23825 "enum" : [
7aacca6f
DM
23826 "reboot",
23827 "shutdown"
56122987
DM
23828 ],
23829 "type" : "string"
44660702
DM
23830 },
23831 "node" : {
23832 "description" : "The cluster node name.",
23833 "format" : "pve-node",
013dc89f
DM
23834 "type" : "string",
23835 "typetext" : "<string>"
56122987 23836 }
44660702 23837 }
7aacca6f 23838 },
7aacca6f
DM
23839 "permissions" : {
23840 "check" : [
23841 "perm",
23842 "/nodes/{node}",
23843 [
23844 "Sys.PowerMgmt"
23845 ]
23846 ]
23847 },
44660702 23848 "protected" : 1,
7aacca6f 23849 "proxyto" : "node",
7aacca6f
DM
23850 "returns" : {
23851 "type" : "null"
56122987
DM
23852 }
23853 }
23854 },
7aacca6f 23855 "leaf" : 1,
44660702
DM
23856 "path" : "/nodes/{node}/status",
23857 "text" : "status"
56122987
DM
23858 },
23859 {
56122987
DM
23860 "info" : {
23861 "GET" : {
44660702
DM
23862 "description" : "Read tap/vm network device interface counters",
23863 "method" : "GET",
23864 "name" : "netstat",
23865 "parameters" : {
23866 "additionalProperties" : 0,
23867 "properties" : {
23868 "node" : {
23869 "description" : "The cluster node name.",
23870 "format" : "pve-node",
013dc89f
DM
23871 "type" : "string",
23872 "typetext" : "<string>"
44660702 23873 }
56122987
DM
23874 }
23875 },
23876 "permissions" : {
23877 "check" : [
23878 "perm",
23879 "/nodes/{node}",
23880 [
7aacca6f 23881 "Sys.Audit"
56122987
DM
23882 ]
23883 ]
23884 },
7aacca6f 23885 "proxyto" : "node",
44660702
DM
23886 "returns" : {
23887 "items" : {
23888 "properties" : {},
23889 "type" : "object"
23890 },
23891 "type" : "array"
23892 }
7aacca6f
DM
23893 }
23894 },
44660702
DM
23895 "leaf" : 1,
23896 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
23897 "text" : "netstat"
23898 },
23899 {
23900 "info" : {
23901 "POST" : {
7aacca6f 23902 "description" : "Execute multiple commands in order.",
7aacca6f 23903 "method" : "POST",
7aacca6f 23904 "name" : "execute",
56122987
DM
23905 "parameters" : {
23906 "additionalProperties" : 0,
23907 "properties" : {
7aacca6f
DM
23908 "commands" : {
23909 "description" : "JSON encoded array of commands.",
013dc89f
DM
23910 "type" : "string",
23911 "typetext" : "<string>"
56122987
DM
23912 },
23913 "node" : {
44660702 23914 "description" : "The cluster node name.",
56122987 23915 "format" : "pve-node",
013dc89f
DM
23916 "type" : "string",
23917 "typetext" : "<string>"
56122987
DM
23918 }
23919 }
44660702
DM
23920 },
23921 "permissions" : {
23922 "check" : [
23923 "perm",
23924 "/nodes/{node}",
23925 [
23926 "Sys.Audit"
23927 ]
23928 ]
23929 },
23930 "protected" : 1,
23931 "proxyto" : "node",
23932 "returns" : {
23933 "properties" : {},
23934 "type" : "array"
56122987
DM
23935 }
23936 }
23937 },
56122987 23938 "leaf" : 1,
44660702
DM
23939 "path" : "/nodes/{node}/execute",
23940 "text" : "execute"
56122987
DM
23941 },
23942 {
23943 "info" : {
7aacca6f 23944 "GET" : {
44660702
DM
23945 "description" : "Read node RRD statistics (returns PNG)",
23946 "method" : "GET",
7aacca6f 23947 "name" : "rrd",
56122987 23948 "parameters" : {
7aacca6f 23949 "additionalProperties" : 0,
56122987 23950 "properties" : {
44660702
DM
23951 "cf" : {
23952 "description" : "The RRD consolidation function",
23953 "enum" : [
23954 "AVERAGE",
23955 "MAX"
23956 ],
23957 "optional" : 1,
23958 "type" : "string"
23959 },
7aacca6f 23960 "ds" : {
7aacca6f 23961 "description" : "The list of datasources you want to display.",
44660702 23962 "format" : "pve-configid-list",
013dc89f
DM
23963 "type" : "string",
23964 "typetext" : "<string>"
44660702
DM
23965 },
23966 "node" : {
23967 "description" : "The cluster node name.",
23968 "format" : "pve-node",
013dc89f
DM
23969 "type" : "string",
23970 "typetext" : "<string>"
7aacca6f
DM
23971 },
23972 "timeframe" : {
23973 "description" : "Specify the time frame you are interested in.",
23974 "enum" : [
23975 "hour",
23976 "day",
23977 "week",
23978 "month",
23979 "year"
23980 ],
23981 "type" : "string"
56122987 23982 }
7aacca6f 23983 }
56122987 23984 },
56122987 23985 "permissions" : {
56122987
DM
23986 "check" : [
23987 "perm",
23988 "/nodes/{node}",
23989 [
7aacca6f 23990 "Sys.Audit"
56122987
DM
23991 ]
23992 ]
23993 },
7aacca6f 23994 "protected" : 1,
56122987 23995 "returns" : {
56122987 23996 "properties" : {
7aacca6f 23997 "filename" : {
56122987
DM
23998 "type" : "string"
23999 }
44660702
DM
24000 },
24001 "type" : "object"
24002 }
56122987
DM
24003 }
24004 },
44660702 24005 "leaf" : 1,
7aacca6f 24006 "path" : "/nodes/{node}/rrd",
44660702 24007 "text" : "rrd"
56122987
DM
24008 },
24009 {
24010 "info" : {
7aacca6f 24011 "GET" : {
44660702
DM
24012 "description" : "Read node RRD statistics",
24013 "method" : "GET",
7aacca6f 24014 "name" : "rrddata",
56122987 24015 "parameters" : {
44660702 24016 "additionalProperties" : 0,
56122987 24017 "properties" : {
7aacca6f 24018 "cf" : {
7aacca6f
DM
24019 "description" : "The RRD consolidation function",
24020 "enum" : [
24021 "AVERAGE",
24022 "MAX"
44660702
DM
24023 ],
24024 "optional" : 1,
24025 "type" : "string"
56122987
DM
24026 },
24027 "node" : {
44660702 24028 "description" : "The cluster node name.",
56122987 24029 "format" : "pve-node",
013dc89f
DM
24030 "type" : "string",
24031 "typetext" : "<string>"
56122987 24032 },
7aacca6f 24033 "timeframe" : {
7aacca6f
DM
24034 "description" : "Specify the time frame you are interested in.",
24035 "enum" : [
24036 "hour",
24037 "day",
24038 "week",
24039 "month",
24040 "year"
44660702
DM
24041 ],
24042 "type" : "string"
56122987 24043 }
56122987
DM
24044 }
24045 },
56122987
DM
24046 "permissions" : {
24047 "check" : [
24048 "perm",
24049 "/nodes/{node}",
24050 [
44660702 24051 "Sys.Audit"
56122987
DM
24052 ]
24053 ]
7aacca6f 24054 },
44660702 24055 "protected" : 1,
56122987 24056 "returns" : {
7aacca6f 24057 "items" : {
44660702 24058 "properties" : {},
7aacca6f
DM
24059 "type" : "object"
24060 },
24061 "type" : "array"
44660702
DM
24062 }
24063 }
24064 },
24065 "leaf" : 1,
24066 "path" : "/nodes/{node}/rrddata",
24067 "text" : "rrddata"
24068 },
24069 {
24070 "info" : {
24071 "GET" : {
24072 "description" : "Read system log",
24073 "method" : "GET",
24074 "name" : "syslog",
56122987 24075 "parameters" : {
44660702 24076 "additionalProperties" : 0,
56122987 24077 "properties" : {
44660702
DM
24078 "limit" : {
24079 "minimum" : 0,
7aacca6f 24080 "optional" : 1,
4bd7df8b 24081 "type" : "integer",
013dc89f 24082 "typetext" : "<integer> (0 - N)"
7aacca6f 24083 },
56122987 24084 "node" : {
7aacca6f 24085 "description" : "The cluster node name.",
44660702 24086 "format" : "pve-node",
013dc89f
DM
24087 "type" : "string",
24088 "typetext" : "<string>"
56122987 24089 },
35a75dd3
DM
24090 "service" : {
24091 "description" : "Service ID",
24092 "maxLength" : 128,
24093 "optional" : 1,
24094 "type" : "string",
24095 "typetext" : "<string>"
24096 },
44660702
DM
24097 "since" : {
24098 "description" : "Display all log since this date-time string.",
24099 "optional" : 1,
24100 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
24101 "type" : "string"
24102 },
24103 "start" : {
7aacca6f
DM
24104 "minimum" : 0,
24105 "optional" : 1,
4bd7df8b 24106 "type" : "integer",
013dc89f 24107 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
24108 },
24109 "until" : {
24110 "description" : "Display all log until this date-time string.",
7aacca6f 24111 "optional" : 1,
44660702 24112 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
24113 "type" : "string"
24114 }
44660702 24115 }
56122987 24116 },
44660702
DM
24117 "permissions" : {
24118 "check" : [
24119 "perm",
24120 "/nodes/{node}",
24121 [
24122 "Sys.Syslog"
24123 ]
24124 ]
24125 },
24126 "protected" : 1,
24127 "proxyto" : "node",
24128 "returns" : {
24129 "items" : {
24130 "properties" : {
24131 "n" : {
24132 "description" : "Line number",
24133 "type" : "integer"
24134 },
24135 "t" : {
24136 "description" : "Line text",
24137 "type" : "string"
24138 }
24139 },
24140 "type" : "object"
24141 },
24142 "type" : "array"
24143 }
56122987
DM
24144 }
24145 },
44660702
DM
24146 "leaf" : 1,
24147 "path" : "/nodes/{node}/syslog",
7aacca6f 24148 "text" : "syslog"
56122987
DM
24149 },
24150 {
56122987
DM
24151 "info" : {
24152 "POST" : {
44660702
DM
24153 "description" : "Creates a VNC Shell proxy.",
24154 "method" : "POST",
24155 "name" : "vncshell",
24156 "parameters" : {
24157 "additionalProperties" : 0,
56122987 24158 "properties" : {
5d9c884c
DM
24159 "height" : {
24160 "description" : "sets the height of the console in pixels.",
24161 "maximum" : 2160,
24162 "minimum" : 16,
24163 "optional" : 1,
24164 "type" : "integer",
24165 "typetext" : "<integer> (16 - 2160)"
24166 },
44660702
DM
24167 "node" : {
24168 "description" : "The cluster node name.",
24169 "format" : "pve-node",
013dc89f
DM
24170 "type" : "string",
24171 "typetext" : "<string>"
7aacca6f 24172 },
44660702
DM
24173 "upgrade" : {
24174 "default" : 0,
24175 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
24176 "optional" : 1,
013dc89f
DM
24177 "type" : "boolean",
24178 "typetext" : "<boolean>"
7aacca6f 24179 },
44660702
DM
24180 "websocket" : {
24181 "description" : "use websocket instead of standard vnc.",
24182 "optional" : 1,
013dc89f
DM
24183 "type" : "boolean",
24184 "typetext" : "<boolean>"
5d9c884c
DM
24185 },
24186 "width" : {
24187 "description" : "sets the width of the console in pixels.",
24188 "maximum" : 4096,
24189 "minimum" : 16,
24190 "optional" : 1,
24191 "type" : "integer",
24192 "typetext" : "<integer> (16 - 4096)"
56122987 24193 }
44660702 24194 }
56122987 24195 },
56122987
DM
24196 "permissions" : {
24197 "check" : [
24198 "perm",
7aacca6f 24199 "/nodes/{node}",
56122987 24200 [
7aacca6f 24201 "Sys.Console"
56122987 24202 ]
44660702
DM
24203 ],
24204 "description" : "Restricted to users on realm 'pam'"
56122987 24205 },
44660702
DM
24206 "protected" : 1,
24207 "returns" : {
24208 "additionalProperties" : 0,
56122987 24209 "properties" : {
44660702
DM
24210 "cert" : {
24211 "type" : "string"
7aacca6f 24212 },
44660702
DM
24213 "port" : {
24214 "type" : "integer"
7aacca6f 24215 },
44660702
DM
24216 "ticket" : {
24217 "type" : "string"
24218 },
24219 "upid" : {
24220 "type" : "string"
24221 },
24222 "user" : {
24223 "type" : "string"
56122987 24224 }
44660702
DM
24225 }
24226 }
56122987
DM
24227 }
24228 },
7aacca6f 24229 "leaf" : 1,
44660702
DM
24230 "path" : "/nodes/{node}/vncshell",
24231 "text" : "vncshell"
56122987 24232 },
35a75dd3
DM
24233 {
24234 "info" : {
24235 "POST" : {
24236 "description" : "Creates a VNC Shell proxy.",
24237 "method" : "POST",
24238 "name" : "termproxy",
24239 "parameters" : {
24240 "additionalProperties" : 0,
24241 "properties" : {
24242 "node" : {
24243 "description" : "The cluster node name.",
24244 "format" : "pve-node",
24245 "type" : "string",
24246 "typetext" : "<string>"
24247 },
24248 "upgrade" : {
24249 "default" : 0,
24250 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
24251 "optional" : 1,
24252 "type" : "boolean",
24253 "typetext" : "<boolean>"
24254 }
24255 }
24256 },
24257 "permissions" : {
24258 "check" : [
24259 "perm",
24260 "/nodes/{node}",
24261 [
24262 "Sys.Console"
24263 ]
24264 ],
24265 "description" : "Restricted to users on realm 'pam'"
24266 },
24267 "protected" : 1,
24268 "returns" : {
24269 "additionalProperties" : 0,
24270 "properties" : {
24271 "port" : {
24272 "type" : "integer"
24273 },
24274 "ticket" : {
24275 "type" : "string"
24276 },
24277 "upid" : {
24278 "type" : "string"
24279 },
24280 "user" : {
24281 "type" : "string"
24282 }
24283 }
24284 }
24285 }
24286 },
24287 "leaf" : 1,
24288 "path" : "/nodes/{node}/termproxy",
24289 "text" : "termproxy"
24290 },
56122987
DM
24291 {
24292 "info" : {
24293 "GET" : {
7aacca6f 24294 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
24295 "method" : "GET",
24296 "name" : "vncwebsocket",
56122987 24297 "parameters" : {
44660702 24298 "additionalProperties" : 0,
56122987
DM
24299 "properties" : {
24300 "node" : {
24301 "description" : "The cluster node name.",
44660702 24302 "format" : "pve-node",
013dc89f
DM
24303 "type" : "string",
24304 "typetext" : "<string>"
7aacca6f
DM
24305 },
24306 "port" : {
7aacca6f
DM
24307 "description" : "Port number returned by previous vncproxy call.",
24308 "maximum" : 5999,
44660702 24309 "minimum" : 5900,
4bd7df8b 24310 "type" : "integer",
013dc89f 24311 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
24312 },
24313 "vncticket" : {
24314 "description" : "Ticket from previous call to vncproxy.",
24315 "maxLength" : 512,
013dc89f
DM
24316 "type" : "string",
24317 "typetext" : "<string>"
56122987 24318 }
44660702 24319 }
56122987 24320 },
56122987
DM
24321 "permissions" : {
24322 "check" : [
24323 "perm",
24324 "/nodes/{node}",
24325 [
7aacca6f 24326 "Sys.Console"
56122987 24327 ]
44660702
DM
24328 ],
24329 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
24330 },
24331 "returns" : {
24332 "properties" : {
24333 "port" : {
24334 "type" : "string"
24335 }
24336 },
24337 "type" : "object"
7aacca6f 24338 }
56122987
DM
24339 }
24340 },
44660702 24341 "leaf" : 1,
7aacca6f 24342 "path" : "/nodes/{node}/vncwebsocket",
44660702 24343 "text" : "vncwebsocket"
56122987
DM
24344 },
24345 {
24346 "info" : {
24347 "POST" : {
44660702 24348 "description" : "Creates a SPICE shell.",
7aacca6f 24349 "method" : "POST",
44660702 24350 "name" : "spiceshell",
56122987 24351 "parameters" : {
7aacca6f 24352 "additionalProperties" : 0,
56122987 24353 "properties" : {
7aacca6f 24354 "node" : {
44660702 24355 "description" : "The cluster node name.",
56122987 24356 "format" : "pve-node",
013dc89f
DM
24357 "type" : "string",
24358 "typetext" : "<string>"
7aacca6f 24359 },
44660702
DM
24360 "proxy" : {
24361 "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
24362 "format" : "address",
24363 "optional" : 1,
013dc89f
DM
24364 "type" : "string",
24365 "typetext" : "<string>"
7aacca6f 24366 },
44660702
DM
24367 "upgrade" : {
24368 "default" : 0,
24369 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
24370 "optional" : 1,
013dc89f
DM
24371 "type" : "boolean",
24372 "typetext" : "<boolean>"
56122987 24373 }
7aacca6f 24374 }
56122987 24375 },
56122987
DM
24376 "permissions" : {
24377 "check" : [
24378 "perm",
7aacca6f 24379 "/nodes/{node}",
56122987 24380 [
7aacca6f 24381 "Sys.Console"
56122987 24382 ]
7aacca6f
DM
24383 ],
24384 "description" : "Restricted to users on realm 'pam'"
44660702
DM
24385 },
24386 "protected" : 1,
24387 "proxyto" : "node",
24388 "returns" : {
24389 "additionalProperties" : 1,
24390 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
24391 "properties" : {
24392 "host" : {
24393 "type" : "string"
24394 },
24395 "password" : {
24396 "type" : "string"
24397 },
24398 "proxy" : {
24399 "type" : "string"
24400 },
24401 "tls-port" : {
24402 "type" : "integer"
24403 },
24404 "type" : {
24405 "type" : "string"
24406 }
24407 }
7aacca6f 24408 }
56122987
DM
24409 }
24410 },
56122987 24411 "leaf" : 1,
44660702
DM
24412 "path" : "/nodes/{node}/spiceshell",
24413 "text" : "spiceshell"
56122987
DM
24414 },
24415 {
56122987 24416 "info" : {
7aacca6f 24417 "GET" : {
44660702 24418 "description" : "Read DNS settings.",
7aacca6f 24419 "method" : "GET",
44660702
DM
24420 "name" : "dns",
24421 "parameters" : {
7aacca6f
DM
24422 "additionalProperties" : 0,
24423 "properties" : {
44660702
DM
24424 "node" : {
24425 "description" : "The cluster node name.",
24426 "format" : "pve-node",
013dc89f
DM
24427 "type" : "string",
24428 "typetext" : "<string>"
7aacca6f
DM
24429 }
24430 }
24431 },
7aacca6f
DM
24432 "permissions" : {
24433 "check" : [
24434 "perm",
24435 "/nodes/{node}",
24436 [
24437 "Sys.Audit"
24438 ]
24439 ]
24440 },
44660702
DM
24441 "proxyto" : "node",
24442 "returns" : {
56122987
DM
24443 "additionalProperties" : 0,
24444 "properties" : {
44660702
DM
24445 "dns1" : {
24446 "description" : "First name server IP address.",
24447 "optional" : 1,
24448 "type" : "string"
24449 },
24450 "dns2" : {
24451 "description" : "Second name server IP address.",
24452 "optional" : 1,
24453 "type" : "string"
24454 },
24455 "dns3" : {
24456 "description" : "Third name server IP address.",
24457 "optional" : 1,
24458 "type" : "string"
24459 },
24460 "search" : {
24461 "description" : "Search domain for host-name lookup.",
24462 "optional" : 1,
24463 "type" : "string"
7aacca6f 24464 }
44660702
DM
24465 },
24466 "type" : "object"
24467 }
7aacca6f
DM
24468 },
24469 "PUT" : {
44660702
DM
24470 "description" : "Write DNS settings.",
24471 "method" : "PUT",
7aacca6f
DM
24472 "name" : "update_dns",
24473 "parameters" : {
24474 "additionalProperties" : 0,
24475 "properties" : {
44660702
DM
24476 "dns1" : {
24477 "description" : "First name server IP address.",
24478 "format" : "ip",
24479 "optional" : 1,
013dc89f
DM
24480 "type" : "string",
24481 "typetext" : "<string>"
7aacca6f 24482 },
44660702
DM
24483 "dns2" : {
24484 "description" : "Second name server IP address.",
24485 "format" : "ip",
7aacca6f 24486 "optional" : 1,
013dc89f
DM
24487 "type" : "string",
24488 "typetext" : "<string>"
7aacca6f 24489 },
44660702
DM
24490 "dns3" : {
24491 "description" : "Third name server IP address.",
24492 "format" : "ip",
7aacca6f 24493 "optional" : 1,
013dc89f
DM
24494 "type" : "string",
24495 "typetext" : "<string>"
7aacca6f
DM
24496 },
24497 "node" : {
44660702 24498 "description" : "The cluster node name.",
56122987 24499 "format" : "pve-node",
013dc89f
DM
24500 "type" : "string",
24501 "typetext" : "<string>"
7aacca6f 24502 },
44660702
DM
24503 "search" : {
24504 "description" : "Search domain for host-name lookup.",
013dc89f
DM
24505 "type" : "string",
24506 "typetext" : "<string>"
56122987
DM
24507 }
24508 }
24509 },
24510 "permissions" : {
24511 "check" : [
24512 "perm",
7aacca6f 24513 "/nodes/{node}",
56122987 24514 [
7aacca6f 24515 "Sys.Modify"
56122987
DM
24516 ]
24517 ]
24518 },
44660702 24519 "protected" : 1,
7aacca6f 24520 "proxyto" : "node",
56122987 24521 "returns" : {
7aacca6f
DM
24522 "type" : "null"
24523 }
56122987 24524 }
44660702
DM
24525 },
24526 "leaf" : 1,
24527 "path" : "/nodes/{node}/dns",
24528 "text" : "dns"
56122987
DM
24529 },
24530 {
24531 "info" : {
7aacca6f 24532 "GET" : {
7aacca6f 24533 "description" : "Read server time and time zone settings.",
44660702
DM
24534 "method" : "GET",
24535 "name" : "time",
56122987 24536 "parameters" : {
44660702 24537 "additionalProperties" : 0,
56122987
DM
24538 "properties" : {
24539 "node" : {
44660702 24540 "description" : "The cluster node name.",
56122987 24541 "format" : "pve-node",
013dc89f
DM
24542 "type" : "string",
24543 "typetext" : "<string>"
56122987 24544 }
44660702 24545 }
56122987
DM
24546 },
24547 "permissions" : {
24548 "check" : [
24549 "perm",
7aacca6f 24550 "/nodes/{node}",
56122987 24551 [
7aacca6f 24552 "Sys.Audit"
56122987
DM
24553 ]
24554 ]
44660702
DM
24555 },
24556 "proxyto" : "node",
24557 "returns" : {
24558 "additionalProperties" : 0,
24559 "properties" : {
24560 "localtime" : {
24561 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
24562 "minimum" : 1297163644,
24563 "type" : "integer"
24564 },
24565 "time" : {
24566 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
24567 "minimum" : 1297163644,
24568 "type" : "integer"
24569 },
24570 "timezone" : {
24571 "description" : "Time zone",
24572 "type" : "string"
24573 }
24574 },
24575 "type" : "object"
7aacca6f
DM
24576 }
24577 },
24578 "PUT" : {
7aacca6f 24579 "description" : "Set time zone.",
44660702
DM
24580 "method" : "PUT",
24581 "name" : "set_timezone",
24582 "parameters" : {
24583 "additionalProperties" : 0,
24584 "properties" : {
24585 "node" : {
24586 "description" : "The cluster node name.",
24587 "format" : "pve-node",
013dc89f
DM
24588 "type" : "string",
24589 "typetext" : "<string>"
44660702
DM
24590 },
24591 "timezone" : {
24592 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
24593 "type" : "string",
24594 "typetext" : "<string>"
44660702
DM
24595 }
24596 }
24597 },
7aacca6f
DM
24598 "permissions" : {
24599 "check" : [
24600 "perm",
24601 "/nodes/{node}",
24602 [
24603 "Sys.Modify"
24604 ]
24605 ]
56122987 24606 },
7aacca6f 24607 "protected" : 1,
44660702
DM
24608 "proxyto" : "node",
24609 "returns" : {
24610 "type" : "null"
24611 }
7aacca6f
DM
24612 }
24613 },
7aacca6f 24614 "leaf" : 1,
44660702
DM
24615 "path" : "/nodes/{node}/time",
24616 "text" : "time"
7aacca6f
DM
24617 },
24618 {
24619 "info" : {
44660702
DM
24620 "GET" : {
24621 "description" : "Get list of appliances.",
24622 "method" : "GET",
24623 "name" : "aplinfo",
7aacca6f
DM
24624 "parameters" : {
24625 "additionalProperties" : 0,
24626 "properties" : {
7aacca6f 24627 "node" : {
44660702 24628 "description" : "The cluster node name.",
7aacca6f 24629 "format" : "pve-node",
013dc89f
DM
24630 "type" : "string",
24631 "typetext" : "<string>"
7aacca6f
DM
24632 }
24633 }
56122987 24634 },
7aacca6f 24635 "permissions" : {
44660702 24636 "user" : "all"
56122987 24637 },
44660702 24638 "proxyto" : "node",
7aacca6f
DM
24639 "returns" : {
24640 "items" : {
44660702
DM
24641 "properties" : {},
24642 "type" : "object"
7aacca6f
DM
24643 },
24644 "type" : "array"
44660702
DM
24645 }
24646 },
24647 "POST" : {
24648 "description" : "Download appliance templates.",
24649 "method" : "POST",
24650 "name" : "apl_download",
7aacca6f
DM
24651 "parameters" : {
24652 "additionalProperties" : 0,
24653 "properties" : {
24654 "node" : {
7aacca6f 24655 "description" : "The cluster node name.",
44660702 24656 "format" : "pve-node",
013dc89f
DM
24657 "type" : "string",
24658 "typetext" : "<string>"
44660702
DM
24659 },
24660 "storage" : {
4bd7df8b 24661 "description" : "The storage where the template will be stored",
44660702 24662 "format" : "pve-storage-id",
013dc89f
DM
24663 "type" : "string",
24664 "typetext" : "<string>"
44660702
DM
24665 },
24666 "template" : {
24667 "description" : "The template wich will downloaded",
24668 "maxLength" : 255,
013dc89f
DM
24669 "type" : "string",
24670 "typetext" : "<string>"
7aacca6f
DM
24671 }
24672 }
56122987 24673 },
7aacca6f 24674 "permissions" : {
44660702
DM
24675 "check" : [
24676 "perm",
24677 "/storage/{storage}",
24678 [
24679 "Datastore.AllocateTemplate"
24680 ]
24681 ]
24682 },
24683 "protected" : 1,
24684 "proxyto" : "node",
24685 "returns" : {
24686 "type" : "string"
7aacca6f
DM
24687 }
24688 }
24689 },
7aacca6f 24690 "leaf" : 1,
44660702
DM
24691 "path" : "/nodes/{node}/aplinfo",
24692 "text" : "aplinfo"
7aacca6f
DM
24693 },
24694 {
24695 "info" : {
24696 "GET" : {
44660702
DM
24697 "description" : "Gather various systems information about a node",
24698 "method" : "GET",
24699 "name" : "report",
7aacca6f 24700 "parameters" : {
44660702 24701 "additionalProperties" : 0,
7aacca6f
DM
24702 "properties" : {
24703 "node" : {
7aacca6f 24704 "description" : "The cluster node name.",
44660702 24705 "format" : "pve-node",
013dc89f
DM
24706 "type" : "string",
24707 "typetext" : "<string>"
7aacca6f 24708 }
44660702 24709 }
56122987 24710 },
7aacca6f
DM
24711 "permissions" : {
24712 "check" : [
24713 "perm",
24714 "/nodes/{node}",
24715 [
24716 "Sys.Audit"
24717 ]
24718 ]
56122987 24719 },
44660702 24720 "protected" : 1,
7aacca6f
DM
24721 "proxyto" : "node",
24722 "returns" : {
56122987 24723 "type" : "string"
7aacca6f
DM
24724 }
24725 }
24726 },
7aacca6f 24727 "leaf" : 1,
44660702
DM
24728 "path" : "/nodes/{node}/report",
24729 "text" : "report"
7aacca6f
DM
24730 },
24731 {
7aacca6f
DM
24732 "info" : {
24733 "POST" : {
44660702 24734 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 24735 "method" : "POST",
44660702 24736 "name" : "startall",
7aacca6f 24737 "parameters" : {
44660702 24738 "additionalProperties" : 0,
7aacca6f
DM
24739 "properties" : {
24740 "force" : {
44660702 24741 "description" : "force if onboot=0.",
7aacca6f 24742 "optional" : 1,
013dc89f
DM
24743 "type" : "boolean",
24744 "typetext" : "<boolean>"
7aacca6f
DM
24745 },
24746 "node" : {
7aacca6f 24747 "description" : "The cluster node name.",
44660702 24748 "format" : "pve-node",
013dc89f
DM
24749 "type" : "string",
24750 "typetext" : "<string>"
52e44c50
FG
24751 },
24752 "vms" : {
24753 "description" : "Only consider Guests with these IDs.",
24754 "format" : "pve-vmid-list",
24755 "optional" : 1,
24756 "type" : "string",
24757 "typetext" : "<string>"
7aacca6f 24758 }
44660702 24759 }
56122987 24760 },
7aacca6f
DM
24761 "permissions" : {
24762 "check" : [
24763 "perm",
24764 "/",
24765 [
24766 "VM.PowerMgmt"
24767 ]
24768 ]
44660702
DM
24769 },
24770 "protected" : 1,
24771 "proxyto" : "node",
24772 "returns" : {
24773 "type" : "string"
7aacca6f
DM
24774 }
24775 }
24776 },
44660702 24777 "leaf" : 1,
7aacca6f 24778 "path" : "/nodes/{node}/startall",
44660702 24779 "text" : "startall"
7aacca6f
DM
24780 },
24781 {
7aacca6f
DM
24782 "info" : {
24783 "POST" : {
24784 "description" : "Stop all VMs and Containers.",
44660702
DM
24785 "method" : "POST",
24786 "name" : "stopall",
7aacca6f 24787 "parameters" : {
44660702 24788 "additionalProperties" : 0,
7aacca6f
DM
24789 "properties" : {
24790 "node" : {
44660702 24791 "description" : "The cluster node name.",
7aacca6f 24792 "format" : "pve-node",
013dc89f
DM
24793 "type" : "string",
24794 "typetext" : "<string>"
52e44c50
FG
24795 },
24796 "vms" : {
24797 "description" : "Only consider Guests with these IDs.",
24798 "format" : "pve-vmid-list",
24799 "optional" : 1,
24800 "type" : "string",
24801 "typetext" : "<string>"
7aacca6f 24802 }
44660702 24803 }
56122987 24804 },
7aacca6f
DM
24805 "permissions" : {
24806 "check" : [
24807 "perm",
24808 "/",
24809 [
44660702 24810 "VM.PowerMgmt"
7aacca6f
DM
24811 ]
24812 ]
56122987 24813 },
44660702 24814 "protected" : 1,
7aacca6f 24815 "proxyto" : "node",
44660702
DM
24816 "returns" : {
24817 "type" : "string"
24818 }
24819 }
56122987 24820 },
44660702
DM
24821 "leaf" : 1,
24822 "path" : "/nodes/{node}/stopall",
24823 "text" : "stopall"
24824 },
24825 {
24826 "info" : {
24827 "POST" : {
24828 "description" : "Migrate all VMs and Containers.",
24829 "method" : "POST",
24830 "name" : "migrateall",
24831 "parameters" : {
24832 "additionalProperties" : 0,
24833 "properties" : {
24834 "maxworkers" : {
24835 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
24836 "minimum" : 1,
24837 "optional" : 1,
4bd7df8b 24838 "type" : "integer",
013dc89f 24839 "typetext" : "<integer> (1 - N)"
44660702
DM
24840 },
24841 "node" : {
24842 "description" : "The cluster node name.",
24843 "format" : "pve-node",
013dc89f
DM
24844 "type" : "string",
24845 "typetext" : "<string>"
44660702
DM
24846 },
24847 "target" : {
24848 "description" : "Target node.",
24849 "format" : "pve-node",
013dc89f
DM
24850 "type" : "string",
24851 "typetext" : "<string>"
52e44c50
FG
24852 },
24853 "vms" : {
24854 "description" : "Only consider Guests with these IDs.",
24855 "format" : "pve-vmid-list",
24856 "optional" : 1,
24857 "type" : "string",
24858 "typetext" : "<string>"
44660702
DM
24859 }
24860 }
24861 },
24862 "permissions" : {
24863 "check" : [
24864 "perm",
24865 "/",
24866 [
24867 "VM.Migrate"
24868 ]
24869 ]
24870 },
24871 "protected" : 1,
24872 "proxyto" : "node",
24873 "returns" : {
24874 "type" : "string"
24875 }
24876 }
56122987 24877 },
44660702
DM
24878 "leaf" : 1,
24879 "path" : "/nodes/{node}/migrateall",
24880 "text" : "migrateall"
24881 }
24882 ],
24883 "info" : {
24884 "GET" : {
24885 "description" : "Node index.",
24886 "method" : "GET",
24887 "name" : "index",
24888 "parameters" : {
24889 "additionalProperties" : 0,
24890 "properties" : {
24891 "node" : {
24892 "description" : "The cluster node name.",
24893 "format" : "pve-node",
013dc89f
DM
24894 "type" : "string",
24895 "typetext" : "<string>"
44660702
DM
24896 }
24897 }
56122987 24898 },
44660702
DM
24899 "permissions" : {
24900 "user" : "all"
56122987 24901 },
44660702
DM
24902 "returns" : {
24903 "items" : {
24904 "properties" : {},
24905 "type" : "object"
24906 },
24907 "links" : [
24908 {
24909 "href" : "{name}",
24910 "rel" : "child"
24911 }
56122987 24912 ],
44660702 24913 "type" : "array"
7aacca6f
DM
24914 }
24915 }
24916 },
44660702
DM
24917 "leaf" : 0,
24918 "path" : "/nodes/{node}",
24919 "text" : "{node}"
24920 }
24921 ],
24922 "info" : {
7aacca6f 24923 "GET" : {
44660702 24924 "description" : "Cluster node index.",
7aacca6f 24925 "method" : "GET",
44660702 24926 "name" : "index",
7aacca6f 24927 "parameters" : {
7aacca6f
DM
24928 "additionalProperties" : 0
24929 },
24930 "permissions" : {
7aacca6f
DM
24931 "user" : "all"
24932 },
44660702
DM
24933 "returns" : {
24934 "items" : {
24935 "properties" : {},
24936 "type" : "object"
24937 },
24938 "links" : [
24939 {
24940 "href" : "{node}",
24941 "rel" : "child"
24942 }
24943 ],
24944 "type" : "array"
24945 }
7aacca6f
DM
24946 }
24947 },
44660702
DM
24948 "leaf" : 0,
24949 "path" : "/nodes",
24950 "text" : "nodes"
24951 },
24952 {
7aacca6f
DM
24953 "children" : [
24954 {
7aacca6f 24955 "info" : {
44660702
DM
24956 "DELETE" : {
24957 "description" : "Delete storage configuration.",
24958 "method" : "DELETE",
24959 "name" : "delete",
7aacca6f
DM
24960 "parameters" : {
24961 "additionalProperties" : 0,
24962 "properties" : {
24963 "storage" : {
7aacca6f 24964 "description" : "The storage identifier.",
44660702 24965 "format" : "pve-storage-id",
013dc89f
DM
24966 "type" : "string",
24967 "typetext" : "<string>"
7aacca6f
DM
24968 }
24969 }
56122987 24970 },
7aacca6f
DM
24971 "permissions" : {
24972 "check" : [
24973 "perm",
24974 "/storage",
24975 [
24976 "Datastore.Allocate"
24977 ]
24978 ]
56122987 24979 },
44660702
DM
24980 "protected" : 1,
24981 "returns" : {
24982 "type" : "null"
24983 }
24984 },
24985 "GET" : {
24986 "description" : "Read storage configuration.",
24987 "method" : "GET",
24988 "name" : "read",
7aacca6f
DM
24989 "parameters" : {
24990 "additionalProperties" : 0,
24991 "properties" : {
24992 "storage" : {
44660702 24993 "description" : "The storage identifier.",
7aacca6f 24994 "format" : "pve-storage-id",
013dc89f
DM
24995 "type" : "string",
24996 "typetext" : "<string>"
7aacca6f
DM
24997 }
24998 }
24999 },
44660702
DM
25000 "permissions" : {
25001 "check" : [
25002 "perm",
25003 "/storage/{storage}",
25004 [
25005 "Datastore.Allocate"
25006 ]
25007 ]
25008 },
25009 "returns" : {}
7aacca6f
DM
25010 },
25011 "PUT" : {
44660702
DM
25012 "description" : "Update storage configuration.",
25013 "method" : "PUT",
25014 "name" : "update",
25015 "parameters" : {
25016 "additionalProperties" : 0,
25017 "properties" : {
25018 "blocksize" : {
25019 "description" : "block size",
7aacca6f 25020 "optional" : 1,
013dc89f
DM
25021 "type" : "string",
25022 "typetext" : "<string>"
7aacca6f 25023 },
44660702
DM
25024 "comstar_hg" : {
25025 "description" : "host group for comstar views",
25026 "optional" : 1,
013dc89f
DM
25027 "type" : "string",
25028 "typetext" : "<string>"
7aacca6f 25029 },
44660702
DM
25030 "comstar_tg" : {
25031 "description" : "target group for comstar views",
7aacca6f 25032 "optional" : 1,
013dc89f
DM
25033 "type" : "string",
25034 "typetext" : "<string>"
7aacca6f 25035 },
44660702
DM
25036 "content" : {
25037 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
25038 "format" : "pve-storage-content-list",
7aacca6f 25039 "optional" : 1,
013dc89f
DM
25040 "type" : "string",
25041 "typetext" : "<string>"
7aacca6f 25042 },
44660702
DM
25043 "delete" : {
25044 "description" : "A list of settings you want to delete.",
25045 "format" : "pve-configid-list",
25046 "maxLength" : 4096,
7aacca6f 25047 "optional" : 1,
013dc89f
DM
25048 "type" : "string",
25049 "typetext" : "<string>"
7aacca6f
DM
25050 },
25051 "digest" : {
44660702 25052 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 25053 "maxLength" : 40,
7aacca6f 25054 "optional" : 1,
013dc89f
DM
25055 "type" : "string",
25056 "typetext" : "<string>"
7aacca6f 25057 },
44660702
DM
25058 "disable" : {
25059 "description" : "Flag to disable the storage.",
25060 "optional" : 1,
013dc89f
DM
25061 "type" : "boolean",
25062 "typetext" : "<boolean>"
7aacca6f
DM
25063 },
25064 "format" : {
25065 "description" : "Default image format.",
44660702 25066 "format" : "pve-storage-format",
7aacca6f 25067 "optional" : 1,
013dc89f
DM
25068 "type" : "string",
25069 "typetext" : "<string>"
7aacca6f 25070 },
2c0dde61
DM
25071 "is_mountpoint" : {
25072 "default" : "no",
2489d6df 25073 "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 25074 "optional" : 1,
2489d6df
WB
25075 "type" : "string",
25076 "typetext" : "<string>"
2c0dde61 25077 },
44660702
DM
25078 "krbd" : {
25079 "description" : "Access rbd through krbd kernel module.",
7aacca6f 25080 "optional" : 1,
013dc89f
DM
25081 "type" : "boolean",
25082 "typetext" : "<boolean>"
7aacca6f 25083 },
44660702
DM
25084 "maxfiles" : {
25085 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
25086 "minimum" : 0,
25087 "optional" : 1,
4bd7df8b 25088 "type" : "integer",
013dc89f 25089 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
25090 },
25091 "mkdir" : {
25092 "default" : "yes",
25093 "description" : "Create the directory if it doesn't exist.",
25094 "optional" : 1,
013dc89f
DM
25095 "type" : "boolean",
25096 "typetext" : "<boolean>"
7aacca6f 25097 },
2489d6df
WB
25098 "monhost" : {
25099 "description" : "IP addresses of monitors (for external clusters).",
25100 "format" : "pve-storage-portal-dns-list",
25101 "optional" : 1,
25102 "type" : "string",
25103 "typetext" : "<string>"
25104 },
7aacca6f 25105 "nodes" : {
44660702 25106 "description" : "List of cluster node names.",
7aacca6f
DM
25107 "format" : "pve-node-list",
25108 "optional" : 1,
013dc89f
DM
25109 "type" : "string",
25110 "typetext" : "<string>"
7aacca6f 25111 },
44660702
DM
25112 "nowritecache" : {
25113 "description" : "disable write caching on the target",
7aacca6f 25114 "optional" : 1,
013dc89f
DM
25115 "type" : "boolean",
25116 "typetext" : "<boolean>"
7aacca6f
DM
25117 },
25118 "options" : {
7aacca6f 25119 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
25120 "format" : "pve-storage-options",
25121 "optional" : 1,
013dc89f
DM
25122 "type" : "string",
25123 "typetext" : "<string>"
44660702
DM
25124 },
25125 "pool" : {
25126 "description" : "Pool.",
25127 "optional" : 1,
013dc89f
DM
25128 "type" : "string",
25129 "typetext" : "<string>"
44660702
DM
25130 },
25131 "redundancy" : {
25132 "default" : 2,
25133 "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.",
25134 "maximum" : 16,
25135 "minimum" : 1,
25136 "optional" : 1,
4bd7df8b 25137 "type" : "integer",
013dc89f 25138 "typetext" : "<integer> (1 - 16)"
44660702
DM
25139 },
25140 "saferemove" : {
25141 "description" : "Zero-out data when removing LVs.",
25142 "optional" : 1,
013dc89f
DM
25143 "type" : "boolean",
25144 "typetext" : "<boolean>"
7aacca6f
DM
25145 },
25146 "saferemove_throughput" : {
44660702 25147 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 25148 "optional" : 1,
013dc89f
DM
25149 "type" : "string",
25150 "typetext" : "<string>"
7aacca6f 25151 },
44660702
DM
25152 "server" : {
25153 "description" : "Server IP or DNS name.",
25154 "format" : "pve-storage-server",
7aacca6f 25155 "optional" : 1,
013dc89f
DM
25156 "type" : "string",
25157 "typetext" : "<string>"
7aacca6f 25158 },
44660702
DM
25159 "server2" : {
25160 "description" : "Backup volfile server IP or DNS name.",
25161 "format" : "pve-storage-server",
7aacca6f 25162 "optional" : 1,
44660702 25163 "requires" : "server",
013dc89f
DM
25164 "type" : "string",
25165 "typetext" : "<string>"
44660702
DM
25166 },
25167 "shared" : {
25168 "description" : "Mark storage as shared.",
25169 "optional" : 1,
013dc89f
DM
25170 "type" : "boolean",
25171 "typetext" : "<boolean>"
44660702
DM
25172 },
25173 "sparse" : {
25174 "description" : "use sparse volumes",
25175 "optional" : 1,
013dc89f
DM
25176 "type" : "boolean",
25177 "typetext" : "<boolean>"
44660702
DM
25178 },
25179 "storage" : {
25180 "description" : "The storage identifier.",
25181 "format" : "pve-storage-id",
013dc89f
DM
25182 "type" : "string",
25183 "typetext" : "<string>"
44660702 25184 },
4bd7df8b
DM
25185 "tagged_only" : {
25186 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
25187 "optional" : 1,
013dc89f
DM
25188 "type" : "boolean",
25189 "typetext" : "<boolean>"
4bd7df8b 25190 },
44660702
DM
25191 "transport" : {
25192 "description" : "Gluster transport: tcp or rdma",
25193 "enum" : [
25194 "tcp",
25195 "rdma",
25196 "unix"
25197 ],
25198 "optional" : 1,
25199 "type" : "string"
7aacca6f
DM
25200 },
25201 "username" : {
25202 "description" : "RBD Id.",
44660702 25203 "optional" : 1,
013dc89f
DM
25204 "type" : "string",
25205 "typetext" : "<string>"
7aacca6f 25206 }
44660702
DM
25207 },
25208 "type" : "object"
25209 },
25210 "permissions" : {
25211 "check" : [
25212 "perm",
25213 "/storage",
25214 [
25215 "Datastore.Allocate"
25216 ]
25217 ]
25218 },
25219 "protected" : 1,
25220 "returns" : {
25221 "type" : "null"
25222 }
25223 }
25224 },
25225 "leaf" : 1,
25226 "path" : "/storage/{storage}",
25227 "text" : "{storage}"
25228 }
25229 ],
25230 "info" : {
25231 "GET" : {
25232 "description" : "Storage index.",
25233 "method" : "GET",
25234 "name" : "index",
25235 "parameters" : {
25236 "additionalProperties" : 0,
25237 "properties" : {
25238 "type" : {
25239 "description" : "Only list storage of specific type",
25240 "enum" : [
25241 "dir",
25242 "drbd",
25243 "glusterfs",
25244 "iscsi",
25245 "iscsidirect",
25246 "lvm",
25247 "lvmthin",
25248 "nfs",
25249 "rbd",
25250 "sheepdog",
25251 "zfs",
25252 "zfspool"
25253 ],
25254 "optional" : 1,
25255 "type" : "string"
25256 }
25257 }
25258 },
25259 "permissions" : {
25260 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
25261 "user" : "all"
25262 },
25263 "returns" : {
25264 "items" : {
25265 "properties" : {
25266 "storage" : {
25267 "type" : "string"
7aacca6f 25268 }
56122987 25269 },
44660702
DM
25270 "type" : "object"
25271 },
25272 "links" : [
25273 {
25274 "href" : "{storage}",
25275 "rel" : "child"
25276 }
25277 ],
25278 "type" : "array"
25279 }
25280 },
25281 "POST" : {
25282 "description" : "Create a new storage.",
25283 "method" : "POST",
25284 "name" : "create",
25285 "parameters" : {
25286 "additionalProperties" : 0,
25287 "properties" : {
25288 "authsupported" : {
25289 "description" : "Authsupported.",
25290 "optional" : 1,
013dc89f
DM
25291 "type" : "string",
25292 "typetext" : "<string>"
44660702
DM
25293 },
25294 "base" : {
25295 "description" : "Base volume. This volume is automatically activated.",
25296 "format" : "pve-volume-id",
25297 "optional" : 1,
013dc89f
DM
25298 "type" : "string",
25299 "typetext" : "<string>"
44660702
DM
25300 },
25301 "blocksize" : {
25302 "description" : "block size",
25303 "optional" : 1,
013dc89f
DM
25304 "type" : "string",
25305 "typetext" : "<string>"
44660702
DM
25306 },
25307 "comstar_hg" : {
25308 "description" : "host group for comstar views",
25309 "optional" : 1,
013dc89f
DM
25310 "type" : "string",
25311 "typetext" : "<string>"
44660702
DM
25312 },
25313 "comstar_tg" : {
25314 "description" : "target group for comstar views",
25315 "optional" : 1,
013dc89f
DM
25316 "type" : "string",
25317 "typetext" : "<string>"
44660702
DM
25318 },
25319 "content" : {
25320 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
25321 "format" : "pve-storage-content-list",
25322 "optional" : 1,
013dc89f
DM
25323 "type" : "string",
25324 "typetext" : "<string>"
44660702
DM
25325 },
25326 "disable" : {
25327 "description" : "Flag to disable the storage.",
25328 "optional" : 1,
013dc89f
DM
25329 "type" : "boolean",
25330 "typetext" : "<boolean>"
44660702
DM
25331 },
25332 "export" : {
25333 "description" : "NFS export path.",
25334 "format" : "pve-storage-path",
25335 "optional" : 1,
013dc89f
DM
25336 "type" : "string",
25337 "typetext" : "<string>"
44660702
DM
25338 },
25339 "format" : {
25340 "description" : "Default image format.",
25341 "format" : "pve-storage-format",
25342 "optional" : 1,
013dc89f
DM
25343 "type" : "string",
25344 "typetext" : "<string>"
44660702 25345 },
2c0dde61
DM
25346 "is_mountpoint" : {
25347 "default" : "no",
2489d6df 25348 "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 25349 "optional" : 1,
2489d6df
WB
25350 "type" : "string",
25351 "typetext" : "<string>"
2c0dde61 25352 },
44660702
DM
25353 "iscsiprovider" : {
25354 "description" : "iscsi provider",
25355 "optional" : 1,
013dc89f
DM
25356 "type" : "string",
25357 "typetext" : "<string>"
44660702
DM
25358 },
25359 "krbd" : {
25360 "description" : "Access rbd through krbd kernel module.",
25361 "optional" : 1,
013dc89f
DM
25362 "type" : "boolean",
25363 "typetext" : "<boolean>"
56122987 25364 },
44660702
DM
25365 "maxfiles" : {
25366 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
25367 "minimum" : 0,
25368 "optional" : 1,
4bd7df8b 25369 "type" : "integer",
013dc89f 25370 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
25371 },
25372 "mkdir" : {
25373 "default" : "yes",
25374 "description" : "Create the directory if it doesn't exist.",
25375 "optional" : 1,
013dc89f
DM
25376 "type" : "boolean",
25377 "typetext" : "<boolean>"
7aacca6f 25378 },
44660702 25379 "monhost" : {
2489d6df 25380 "description" : "IP addresses of monitors (for external clusters).",
4bd7df8b 25381 "format" : "pve-storage-portal-dns-list",
44660702 25382 "optional" : 1,
013dc89f
DM
25383 "type" : "string",
25384 "typetext" : "<string>"
7aacca6f 25385 },
44660702
DM
25386 "nodes" : {
25387 "description" : "List of cluster node names.",
25388 "format" : "pve-node-list",
25389 "optional" : 1,
013dc89f
DM
25390 "type" : "string",
25391 "typetext" : "<string>"
7aacca6f 25392 },
44660702
DM
25393 "nowritecache" : {
25394 "description" : "disable write caching on the target",
25395 "optional" : 1,
013dc89f
DM
25396 "type" : "boolean",
25397 "typetext" : "<boolean>"
44660702
DM
25398 },
25399 "options" : {
25400 "description" : "NFS mount options (see 'man nfs')",
25401 "format" : "pve-storage-options",
25402 "optional" : 1,
013dc89f
DM
25403 "type" : "string",
25404 "typetext" : "<string>"
44660702
DM
25405 },
25406 "path" : {
25407 "description" : "File system path.",
25408 "format" : "pve-storage-path",
25409 "optional" : 1,
013dc89f
DM
25410 "type" : "string",
25411 "typetext" : "<string>"
44660702
DM
25412 },
25413 "pool" : {
25414 "description" : "Pool.",
25415 "optional" : 1,
013dc89f
DM
25416 "type" : "string",
25417 "typetext" : "<string>"
44660702
DM
25418 },
25419 "portal" : {
25420 "description" : "iSCSI portal (IP or DNS name with optional port).",
25421 "format" : "pve-storage-portal-dns",
25422 "optional" : 1,
013dc89f
DM
25423 "type" : "string",
25424 "typetext" : "<string>"
44660702
DM
25425 },
25426 "redundancy" : {
25427 "default" : 2,
25428 "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.",
25429 "maximum" : 16,
25430 "minimum" : 1,
25431 "optional" : 1,
4bd7df8b 25432 "type" : "integer",
013dc89f 25433 "typetext" : "<integer> (1 - 16)"
44660702
DM
25434 },
25435 "saferemove" : {
25436 "description" : "Zero-out data when removing LVs.",
25437 "optional" : 1,
013dc89f
DM
25438 "type" : "boolean",
25439 "typetext" : "<boolean>"
44660702
DM
25440 },
25441 "saferemove_throughput" : {
25442 "description" : "Wipe throughput (cstream -t parameter value).",
25443 "optional" : 1,
013dc89f
DM
25444 "type" : "string",
25445 "typetext" : "<string>"
44660702
DM
25446 },
25447 "server" : {
25448 "description" : "Server IP or DNS name.",
25449 "format" : "pve-storage-server",
25450 "optional" : 1,
013dc89f
DM
25451 "type" : "string",
25452 "typetext" : "<string>"
44660702
DM
25453 },
25454 "server2" : {
25455 "description" : "Backup volfile server IP or DNS name.",
25456 "format" : "pve-storage-server",
25457 "optional" : 1,
25458 "requires" : "server",
013dc89f
DM
25459 "type" : "string",
25460 "typetext" : "<string>"
44660702
DM
25461 },
25462 "shared" : {
25463 "description" : "Mark storage as shared.",
25464 "optional" : 1,
013dc89f
DM
25465 "type" : "boolean",
25466 "typetext" : "<boolean>"
44660702
DM
25467 },
25468 "sparse" : {
25469 "description" : "use sparse volumes",
25470 "optional" : 1,
013dc89f
DM
25471 "type" : "boolean",
25472 "typetext" : "<boolean>"
44660702
DM
25473 },
25474 "storage" : {
25475 "description" : "The storage identifier.",
25476 "format" : "pve-storage-id",
013dc89f
DM
25477 "type" : "string",
25478 "typetext" : "<string>"
44660702 25479 },
4bd7df8b
DM
25480 "tagged_only" : {
25481 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
25482 "optional" : 1,
013dc89f
DM
25483 "type" : "boolean",
25484 "typetext" : "<boolean>"
4bd7df8b 25485 },
44660702
DM
25486 "target" : {
25487 "description" : "iSCSI target.",
25488 "optional" : 1,
013dc89f
DM
25489 "type" : "string",
25490 "typetext" : "<string>"
44660702
DM
25491 },
25492 "thinpool" : {
25493 "description" : "LVM thin pool LV name.",
25494 "format" : "pve-storage-vgname",
25495 "optional" : 1,
013dc89f
DM
25496 "type" : "string",
25497 "typetext" : "<string>"
44660702
DM
25498 },
25499 "transport" : {
25500 "description" : "Gluster transport: tcp or rdma",
25501 "enum" : [
25502 "tcp",
25503 "rdma",
25504 "unix"
7aacca6f 25505 ],
44660702
DM
25506 "optional" : 1,
25507 "type" : "string"
56122987 25508 },
44660702
DM
25509 "type" : {
25510 "description" : "Storage type.",
25511 "enum" : [
25512 "dir",
25513 "drbd",
25514 "glusterfs",
25515 "iscsi",
25516 "iscsidirect",
25517 "lvm",
25518 "lvmthin",
25519 "nfs",
25520 "rbd",
25521 "sheepdog",
25522 "zfs",
25523 "zfspool"
25524 ],
25525 "type" : "string"
56122987 25526 },
44660702
DM
25527 "username" : {
25528 "description" : "RBD Id.",
25529 "optional" : 1,
013dc89f
DM
25530 "type" : "string",
25531 "typetext" : "<string>"
7aacca6f 25532 },
44660702
DM
25533 "vgname" : {
25534 "description" : "Volume group name.",
25535 "format" : "pve-storage-vgname",
25536 "optional" : 1,
013dc89f
DM
25537 "type" : "string",
25538 "typetext" : "<string>"
44660702
DM
25539 },
25540 "volume" : {
25541 "description" : "Glusterfs Volume.",
25542 "optional" : 1,
013dc89f
DM
25543 "type" : "string",
25544 "typetext" : "<string>"
44660702
DM
25545 }
25546 },
25547 "type" : "object"
25548 },
25549 "permissions" : {
25550 "check" : [
25551 "perm",
25552 "/storage",
25553 [
25554 "Datastore.Allocate"
25555 ]
25556 ]
56122987 25557 },
44660702
DM
25558 "protected" : 1,
25559 "returns" : {
25560 "type" : "null"
25561 }
25562 }
25563 },
25564 "leaf" : 0,
25565 "path" : "/storage",
25566 "text" : "storage"
25567 },
25568 {
25569 "children" : [
25570 {
56122987
DM
25571 "children" : [
25572 {
56122987 25573 "info" : {
44660702
DM
25574 "DELETE" : {
25575 "description" : "Delete user.",
25576 "method" : "DELETE",
25577 "name" : "delete_user",
56122987 25578 "parameters" : {
7aacca6f 25579 "additionalProperties" : 0,
56122987 25580 "properties" : {
56122987 25581 "userid" : {
56122987
DM
25582 "description" : "User ID",
25583 "format" : "pve-userid",
44660702 25584 "maxLength" : 64,
013dc89f
DM
25585 "type" : "string",
25586 "typetext" : "<string>"
56122987 25587 }
7aacca6f 25588 }
56122987 25589 },
56122987
DM
25590 "permissions" : {
25591 "check" : [
44660702 25592 "and",
56122987 25593 [
44660702
DM
25594 "userid-param",
25595 "Realm.AllocateUser"
56122987 25596 ],
44660702
DM
25597 [
25598 "userid-group",
25599 [
25600 "User.Modify"
25601 ]
25602 ]
56122987 25603 ]
7aacca6f 25604 },
44660702 25605 "protected" : 1,
56122987
DM
25606 "returns" : {
25607 "type" : "null"
44660702 25608 }
7aacca6f 25609 },
44660702
DM
25610 "GET" : {
25611 "description" : "Get user configuration.",
25612 "method" : "GET",
25613 "name" : "read_user",
56122987
DM
25614 "parameters" : {
25615 "additionalProperties" : 0,
25616 "properties" : {
25617 "userid" : {
44660702 25618 "description" : "User ID",
56122987 25619 "format" : "pve-userid",
44660702 25620 "maxLength" : 64,
013dc89f
DM
25621 "type" : "string",
25622 "typetext" : "<string>"
56122987
DM
25623 }
25624 }
25625 },
56122987
DM
25626 "permissions" : {
25627 "check" : [
44660702 25628 "userid-group",
56122987 25629 [
44660702
DM
25630 "User.Modify",
25631 "Sys.Audit"
56122987
DM
25632 ]
25633 ]
25634 },
56122987 25635 "returns" : {
7aacca6f 25636 "additionalProperties" : 0,
56122987 25637 "properties" : {
44660702
DM
25638 "comment" : {
25639 "optional" : 1,
25640 "type" : "string"
56122987 25641 },
44660702
DM
25642 "email" : {
25643 "optional" : 1,
25644 "type" : "string"
7aacca6f
DM
25645 },
25646 "enable" : {
25647 "type" : "boolean"
25648 },
44660702
DM
25649 "expire" : {
25650 "optional" : 1,
25651 "type" : "integer"
25652 },
25653 "firstname" : {
56122987
DM
25654 "optional" : 1,
25655 "type" : "string"
25656 },
44660702
DM
25657 "groups" : {
25658 "type" : "array"
56122987 25659 },
44660702
DM
25660 "keys" : {
25661 "optional" : 1,
25662 "type" : "string"
7aacca6f 25663 },
44660702
DM
25664 "lastname" : {
25665 "optional" : 1,
25666 "type" : "string"
56122987 25667 }
7aacca6f 25668 }
44660702
DM
25669 }
25670 },
25671 "PUT" : {
25672 "description" : "Update user configuration.",
25673 "method" : "PUT",
25674 "name" : "update_user",
56122987 25675 "parameters" : {
44660702 25676 "additionalProperties" : 0,
56122987 25677 "properties" : {
44660702
DM
25678 "append" : {
25679 "optional" : 1,
25680 "requires" : "groups",
013dc89f
DM
25681 "type" : "boolean",
25682 "typetext" : "<boolean>"
44660702
DM
25683 },
25684 "comment" : {
25685 "optional" : 1,
013dc89f
DM
25686 "type" : "string",
25687 "typetext" : "<string>"
44660702
DM
25688 },
25689 "email" : {
25690 "format" : "email-opt",
25691 "optional" : 1,
013dc89f
DM
25692 "type" : "string",
25693 "typetext" : "<string>"
44660702
DM
25694 },
25695 "enable" : {
25696 "description" : "Enable/disable the account.",
25697 "optional" : 1,
013dc89f
DM
25698 "type" : "boolean",
25699 "typetext" : "<boolean>"
44660702
DM
25700 },
25701 "expire" : {
25702 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
25703 "minimum" : 0,
25704 "optional" : 1,
4bd7df8b 25705 "type" : "integer",
013dc89f 25706 "typetext" : "<integer> (0 - N)"
44660702
DM
25707 },
25708 "firstname" : {
25709 "optional" : 1,
013dc89f
DM
25710 "type" : "string",
25711 "typetext" : "<string>"
44660702
DM
25712 },
25713 "groups" : {
25714 "format" : "pve-groupid-list",
25715 "optional" : 1,
013dc89f
DM
25716 "type" : "string",
25717 "typetext" : "<string>"
44660702
DM
25718 },
25719 "keys" : {
25720 "description" : "Keys for two factor auth (yubico).",
25721 "optional" : 1,
013dc89f
DM
25722 "type" : "string",
25723 "typetext" : "<string>"
44660702
DM
25724 },
25725 "lastname" : {
25726 "optional" : 1,
013dc89f
DM
25727 "type" : "string",
25728 "typetext" : "<string>"
44660702 25729 },
56122987 25730 "userid" : {
56122987
DM
25731 "description" : "User ID",
25732 "format" : "pve-userid",
44660702 25733 "maxLength" : 64,
013dc89f
DM
25734 "type" : "string",
25735 "typetext" : "<string>"
56122987 25736 }
44660702 25737 }
56122987 25738 },
56122987
DM
25739 "permissions" : {
25740 "check" : [
25741 "userid-group",
25742 [
44660702
DM
25743 "User.Modify"
25744 ],
25745 "groups_param",
25746 1
56122987
DM
25747 ]
25748 },
44660702
DM
25749 "protected" : 1,
25750 "returns" : {
25751 "type" : "null"
25752 }
56122987
DM
25753 }
25754 },
44660702
DM
25755 "leaf" : 1,
25756 "path" : "/access/users/{userid}",
7aacca6f 25757 "text" : "{userid}"
56122987 25758 }
7aacca6f 25759 ],
56122987 25760 "info" : {
7aacca6f 25761 "GET" : {
44660702
DM
25762 "description" : "User index.",
25763 "method" : "GET",
7aacca6f 25764 "name" : "index",
56122987 25765 "parameters" : {
44660702
DM
25766 "additionalProperties" : 0,
25767 "properties" : {
25768 "enabled" : {
25769 "description" : "Optional filter for enable property.",
25770 "optional" : 1,
013dc89f
DM
25771 "type" : "boolean",
25772 "typetext" : "<boolean>"
44660702
DM
25773 }
25774 }
25775 },
25776 "permissions" : {
25777 "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.",
25778 "user" : "all"
56122987 25779 },
7aacca6f 25780 "returns" : {
7aacca6f
DM
25781 "items" : {
25782 "properties" : {
44660702 25783 "userid" : {
7aacca6f
DM
25784 "type" : "string"
25785 }
25786 },
25787 "type" : "object"
25788 },
44660702
DM
25789 "links" : [
25790 {
25791 "href" : "{userid}",
25792 "rel" : "child"
25793 }
25794 ],
7aacca6f
DM
25795 "type" : "array"
25796 }
25797 },
25798 "POST" : {
44660702 25799 "description" : "Create new user.",
7aacca6f 25800 "method" : "POST",
44660702 25801 "name" : "create_user",
56122987 25802 "parameters" : {
7aacca6f
DM
25803 "additionalProperties" : 0,
25804 "properties" : {
44660702
DM
25805 "comment" : {
25806 "optional" : 1,
013dc89f
DM
25807 "type" : "string",
25808 "typetext" : "<string>"
7aacca6f 25809 },
44660702
DM
25810 "email" : {
25811 "format" : "email-opt",
25812 "optional" : 1,
013dc89f
DM
25813 "type" : "string",
25814 "typetext" : "<string>"
44660702
DM
25815 },
25816 "enable" : {
25817 "default" : 1,
25818 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
25819 "optional" : 1,
013dc89f
DM
25820 "type" : "boolean",
25821 "typetext" : "<boolean>"
44660702
DM
25822 },
25823 "expire" : {
25824 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
25825 "minimum" : 0,
25826 "optional" : 1,
4bd7df8b 25827 "type" : "integer",
013dc89f 25828 "typetext" : "<integer> (0 - N)"
44660702
DM
25829 },
25830 "firstname" : {
25831 "optional" : 1,
013dc89f
DM
25832 "type" : "string",
25833 "typetext" : "<string>"
44660702
DM
25834 },
25835 "groups" : {
25836 "format" : "pve-groupid-list",
25837 "optional" : 1,
013dc89f
DM
25838 "type" : "string",
25839 "typetext" : "<string>"
44660702
DM
25840 },
25841 "keys" : {
25842 "description" : "Keys for two factor auth (yubico).",
25843 "optional" : 1,
013dc89f
DM
25844 "type" : "string",
25845 "typetext" : "<string>"
44660702
DM
25846 },
25847 "lastname" : {
7aacca6f 25848 "optional" : 1,
013dc89f
DM
25849 "type" : "string",
25850 "typetext" : "<string>"
44660702
DM
25851 },
25852 "password" : {
25853 "description" : "Initial password.",
25854 "maxLength" : 64,
25855 "minLength" : 5,
25856 "optional" : 1,
013dc89f
DM
25857 "type" : "string",
25858 "typetext" : "<string>"
44660702
DM
25859 },
25860 "userid" : {
25861 "description" : "User ID",
25862 "format" : "pve-userid",
25863 "maxLength" : 64,
013dc89f
DM
25864 "type" : "string",
25865 "typetext" : "<string>"
56122987 25866 }
7aacca6f 25867 }
56122987 25868 },
44660702
DM
25869 "permissions" : {
25870 "check" : [
25871 "and",
25872 [
25873 "userid-param",
25874 "Realm.AllocateUser"
25875 ],
25876 [
25877 "userid-group",
25878 [
25879 "User.Modify"
25880 ],
25881 "groups_param",
25882 1
25883 ]
25884 ],
25885 "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."
25886 },
25887 "protected" : 1,
25888 "returns" : {
25889 "type" : "null"
25890 }
56122987
DM
25891 }
25892 },
44660702
DM
25893 "leaf" : 0,
25894 "path" : "/access/users",
25895 "text" : "users"
25896 },
25897 {
56122987
DM
25898 "children" : [
25899 {
56122987
DM
25900 "info" : {
25901 "DELETE" : {
44660702
DM
25902 "description" : "Delete group.",
25903 "method" : "DELETE",
25904 "name" : "delete_group",
25905 "parameters" : {
25906 "additionalProperties" : 0,
25907 "properties" : {
25908 "groupid" : {
25909 "format" : "pve-groupid",
013dc89f
DM
25910 "type" : "string",
25911 "typetext" : "<string>"
44660702
DM
25912 }
25913 }
25914 },
7aacca6f
DM
25915 "permissions" : {
25916 "check" : [
25917 "perm",
25918 "/access/groups",
25919 [
25920 "Group.Allocate"
25921 ]
25922 ]
25923 },
7aacca6f 25924 "protected" : 1,
7aacca6f
DM
25925 "returns" : {
25926 "type" : "null"
44660702 25927 }
7aacca6f 25928 },
44660702
DM
25929 "GET" : {
25930 "description" : "Get group configuration.",
25931 "method" : "GET",
25932 "name" : "read_group",
25933 "parameters" : {
25934 "additionalProperties" : 0,
25935 "properties" : {
25936 "groupid" : {
25937 "format" : "pve-groupid",
013dc89f
DM
25938 "type" : "string",
25939 "typetext" : "<string>"
44660702
DM
25940 }
25941 }
56122987 25942 },
7aacca6f
DM
25943 "permissions" : {
25944 "check" : [
25945 "perm",
25946 "/access/groups",
25947 [
44660702 25948 "Sys.Audit",
7aacca6f 25949 "Group.Allocate"
44660702
DM
25950 ],
25951 "any",
25952 1
7aacca6f
DM
25953 ]
25954 },
7aacca6f 25955 "returns" : {
44660702 25956 "additionalProperties" : 0,
7aacca6f
DM
25957 "properties" : {
25958 "comment" : {
44660702
DM
25959 "optional" : 1,
25960 "type" : "string"
7aacca6f
DM
25961 },
25962 "members" : {
25963 "items" : {
25964 "type" : "string"
25965 },
25966 "type" : "array"
25967 }
25968 },
44660702
DM
25969 "type" : "object"
25970 }
25971 },
25972 "PUT" : {
25973 "description" : "Update group data.",
25974 "method" : "PUT",
25975 "name" : "update_group",
56122987 25976 "parameters" : {
44660702 25977 "additionalProperties" : 0,
56122987 25978 "properties" : {
44660702
DM
25979 "comment" : {
25980 "optional" : 1,
013dc89f
DM
25981 "type" : "string",
25982 "typetext" : "<string>"
44660702 25983 },
56122987
DM
25984 "groupid" : {
25985 "format" : "pve-groupid",
013dc89f
DM
25986 "type" : "string",
25987 "typetext" : "<string>"
56122987 25988 }
44660702 25989 }
56122987 25990 },
56122987
DM
25991 "permissions" : {
25992 "check" : [
25993 "perm",
25994 "/access/groups",
25995 [
25996 "Group.Allocate"
44660702 25997 ]
56122987
DM
25998 ]
25999 },
44660702
DM
26000 "protected" : 1,
26001 "returns" : {
26002 "type" : "null"
26003 }
7aacca6f
DM
26004 }
26005 },
7aacca6f 26006 "leaf" : 1,
44660702
DM
26007 "path" : "/access/groups/{groupid}",
26008 "text" : "{groupid}"
26009 }
26010 ],
26011 "info" : {
26012 "GET" : {
26013 "description" : "Group index.",
26014 "method" : "GET",
26015 "name" : "index",
26016 "parameters" : {
26017 "additionalProperties" : 0
26018 },
26019 "permissions" : {
26020 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
26021 "user" : "all"
26022 },
26023 "returns" : {
26024 "items" : {
26025 "properties" : {
26026 "groupid" : {
26027 "type" : "string"
26028 }
26029 },
26030 "type" : "object"
26031 },
26032 "links" : [
26033 {
26034 "href" : "{groupid}",
26035 "rel" : "child"
26036 }
26037 ],
26038 "type" : "array"
26039 }
26040 },
26041 "POST" : {
26042 "description" : "Create new group.",
26043 "method" : "POST",
26044 "name" : "create_group",
26045 "parameters" : {
26046 "additionalProperties" : 0,
26047 "properties" : {
26048 "comment" : {
26049 "optional" : 1,
013dc89f
DM
26050 "type" : "string",
26051 "typetext" : "<string>"
44660702
DM
26052 },
26053 "groupid" : {
26054 "format" : "pve-groupid",
013dc89f
DM
26055 "type" : "string",
26056 "typetext" : "<string>"
44660702
DM
26057 }
26058 }
26059 },
26060 "permissions" : {
26061 "check" : [
26062 "perm",
26063 "/access/groups",
26064 [
26065 "Group.Allocate"
26066 ]
26067 ]
26068 },
26069 "protected" : 1,
26070 "returns" : {
26071 "type" : "null"
26072 }
7aacca6f 26073 }
44660702 26074 },
7aacca6f 26075 "leaf" : 0,
44660702
DM
26076 "path" : "/access/groups",
26077 "text" : "groups"
7aacca6f
DM
26078 },
26079 {
26080 "children" : [
26081 {
7aacca6f 26082 "info" : {
7aacca6f 26083 "DELETE" : {
7aacca6f 26084 "description" : "Delete role.",
44660702 26085 "method" : "DELETE",
7aacca6f 26086 "name" : "delete_role",
56122987
DM
26087 "parameters" : {
26088 "additionalProperties" : 0,
26089 "properties" : {
7aacca6f
DM
26090 "roleid" : {
26091 "format" : "pve-roleid",
013dc89f
DM
26092 "type" : "string",
26093 "typetext" : "<string>"
56122987
DM
26094 }
26095 }
26096 },
56122987
DM
26097 "permissions" : {
26098 "check" : [
26099 "perm",
7aacca6f 26100 "/access",
56122987 26101 [
7aacca6f
DM
26102 "Sys.Modify"
26103 ]
56122987 26104 ]
44660702
DM
26105 },
26106 "protected" : 1,
26107 "returns" : {
26108 "type" : "null"
56122987
DM
26109 }
26110 },
44660702
DM
26111 "GET" : {
26112 "description" : "Get role configuration.",
26113 "method" : "GET",
26114 "name" : "read_role",
26115 "parameters" : {
26116 "additionalProperties" : 0,
26117 "properties" : {
26118 "roleid" : {
26119 "format" : "pve-roleid",
013dc89f
DM
26120 "type" : "string",
26121 "typetext" : "<string>"
44660702
DM
26122 }
26123 }
26124 },
7aacca6f 26125 "permissions" : {
44660702 26126 "user" : "all"
56122987 26127 },
44660702
DM
26128 "returns" : {}
26129 },
26130 "PUT" : {
26131 "description" : "Create new role.",
26132 "method" : "PUT",
26133 "name" : "update_role",
56122987
DM
26134 "parameters" : {
26135 "additionalProperties" : 0,
26136 "properties" : {
7aacca6f 26137 "append" : {
44660702 26138 "optional" : 1,
7aacca6f 26139 "requires" : "privs",
013dc89f
DM
26140 "type" : "boolean",
26141 "typetext" : "<boolean>"
7aacca6f
DM
26142 },
26143 "privs" : {
26144 "format" : "pve-priv-list",
013dc89f
DM
26145 "type" : "string",
26146 "typetext" : "<string>"
44660702
DM
26147 },
26148 "roleid" : {
26149 "format" : "pve-roleid",
013dc89f
DM
26150 "type" : "string",
26151 "typetext" : "<string>"
56122987
DM
26152 }
26153 }
26154 },
44660702
DM
26155 "permissions" : {
26156 "check" : [
26157 "perm",
26158 "/access",
26159 [
26160 "Sys.Modify"
26161 ]
26162 ]
26163 },
56122987 26164 "protected" : 1,
7aacca6f
DM
26165 "returns" : {
26166 "type" : "null"
56122987
DM
26167 }
26168 }
26169 },
44660702 26170 "leaf" : 1,
7aacca6f 26171 "path" : "/access/roles/{roleid}",
44660702 26172 "text" : "{roleid}"
56122987
DM
26173 }
26174 ],
56122987 26175 "info" : {
7aacca6f
DM
26176 "GET" : {
26177 "description" : "Role index.",
44660702 26178 "method" : "GET",
7aacca6f 26179 "name" : "index",
56122987 26180 "parameters" : {
56122987
DM
26181 "additionalProperties" : 0
26182 },
7aacca6f
DM
26183 "permissions" : {
26184 "user" : "all"
26185 },
56122987 26186 "returns" : {
7aacca6f 26187 "items" : {
7aacca6f
DM
26188 "properties" : {
26189 "roleid" : {
26190 "type" : "string"
26191 }
44660702
DM
26192 },
26193 "type" : "object"
26194 },
26195 "links" : [
26196 {
26197 "href" : "{roleid}",
26198 "rel" : "child"
7aacca6f 26199 }
44660702
DM
26200 ],
26201 "type" : "array"
26202 }
7aacca6f
DM
26203 },
26204 "POST" : {
26205 "description" : "Create new role.",
44660702
DM
26206 "method" : "POST",
26207 "name" : "create_role",
7aacca6f
DM
26208 "parameters" : {
26209 "additionalProperties" : 0,
26210 "properties" : {
7aacca6f
DM
26211 "privs" : {
26212 "format" : "pve-priv-list",
26213 "optional" : 1,
013dc89f
DM
26214 "type" : "string",
26215 "typetext" : "<string>"
44660702
DM
26216 },
26217 "roleid" : {
26218 "format" : "pve-roleid",
013dc89f
DM
26219 "type" : "string",
26220 "typetext" : "<string>"
7aacca6f
DM
26221 }
26222 }
26223 },
44660702
DM
26224 "permissions" : {
26225 "check" : [
26226 "perm",
26227 "/access",
26228 [
26229 "Sys.Modify"
26230 ]
26231 ]
26232 },
26233 "protected" : 1,
7aacca6f
DM
26234 "returns" : {
26235 "type" : "null"
26236 }
26237 }
26238 },
44660702 26239 "leaf" : 0,
7aacca6f 26240 "path" : "/access/roles",
44660702 26241 "text" : "roles"
7aacca6f
DM
26242 },
26243 {
26244 "info" : {
56122987 26245 "GET" : {
44660702
DM
26246 "description" : "Get Access Control List (ACLs).",
26247 "method" : "GET",
26248 "name" : "read_acl",
7aacca6f
DM
26249 "parameters" : {
26250 "additionalProperties" : 0
26251 },
44660702
DM
26252 "permissions" : {
26253 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
26254 "user" : "all"
26255 },
56122987 26256 "returns" : {
56122987 26257 "items" : {
44660702 26258 "additionalProperties" : 0,
56122987 26259 "properties" : {
7aacca6f
DM
26260 "path" : {
26261 "type" : "string"
26262 },
44660702
DM
26263 "propagate" : {
26264 "type" : "boolean"
26265 },
26266 "roleid" : {
26267 "type" : "string"
26268 },
7aacca6f
DM
26269 "type" : {
26270 "enum" : [
26271 "user",
26272 "group"
26273 ],
26274 "type" : "string"
26275 },
7aacca6f
DM
26276 "ugid" : {
26277 "type" : "string"
56122987 26278 }
7aacca6f 26279 },
44660702 26280 "type" : "object"
7aacca6f
DM
26281 },
26282 "type" : "array"
44660702 26283 }
7aacca6f
DM
26284 },
26285 "PUT" : {
44660702
DM
26286 "description" : "Update Access Control List (add or remove permissions).",
26287 "method" : "PUT",
7aacca6f
DM
26288 "name" : "update_acl",
26289 "parameters" : {
26290 "additionalProperties" : 0,
26291 "properties" : {
26292 "delete" : {
44660702 26293 "description" : "Remove permissions (instead of adding it).",
7aacca6f 26294 "optional" : 1,
013dc89f
DM
26295 "type" : "boolean",
26296 "typetext" : "<boolean>"
7aacca6f 26297 },
44660702
DM
26298 "groups" : {
26299 "description" : "List of groups.",
26300 "format" : "pve-groupid-list",
7aacca6f 26301 "optional" : 1,
013dc89f
DM
26302 "type" : "string",
26303 "typetext" : "<string>"
7aacca6f
DM
26304 },
26305 "path" : {
26306 "description" : "Access control path",
013dc89f
DM
26307 "type" : "string",
26308 "typetext" : "<string>"
7aacca6f 26309 },
7aacca6f 26310 "propagate" : {
44660702 26311 "default" : 1,
7aacca6f 26312 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 26313 "optional" : 1,
013dc89f
DM
26314 "type" : "boolean",
26315 "typetext" : "<boolean>"
7aacca6f 26316 },
44660702
DM
26317 "roles" : {
26318 "description" : "List of roles.",
26319 "format" : "pve-roleid-list",
013dc89f
DM
26320 "type" : "string",
26321 "typetext" : "<string>"
44660702
DM
26322 },
26323 "users" : {
26324 "description" : "List of users.",
26325 "format" : "pve-userid-list",
7aacca6f 26326 "optional" : 1,
013dc89f
DM
26327 "type" : "string",
26328 "typetext" : "<string>"
56122987
DM
26329 }
26330 }
26331 },
56122987 26332 "permissions" : {
7aacca6f
DM
26333 "check" : [
26334 "perm-modify",
26335 "{path}"
26336 ]
26337 },
7aacca6f
DM
26338 "protected" : 1,
26339 "returns" : {
26340 "type" : "null"
44660702 26341 }
56122987
DM
26342 }
26343 },
7aacca6f 26344 "leaf" : 1,
44660702
DM
26345 "path" : "/access/acl",
26346 "text" : "acl"
7aacca6f
DM
26347 },
26348 {
56122987
DM
26349 "children" : [
26350 {
56122987 26351 "info" : {
44660702
DM
26352 "DELETE" : {
26353 "description" : "Delete an authentication server.",
26354 "method" : "DELETE",
26355 "name" : "delete",
26356 "parameters" : {
26357 "additionalProperties" : 0,
26358 "properties" : {
26359 "realm" : {
26360 "description" : "Authentication domain ID",
26361 "format" : "pve-realm",
26362 "maxLength" : 32,
013dc89f
DM
26363 "type" : "string",
26364 "typetext" : "<string>"
56122987 26365 }
44660702 26366 }
56122987 26367 },
56122987
DM
26368 "permissions" : {
26369 "check" : [
26370 "perm",
7aacca6f 26371 "/access/realm",
56122987 26372 [
7aacca6f 26373 "Realm.Allocate"
56122987
DM
26374 ]
26375 ]
26376 },
7aacca6f 26377 "protected" : 1,
7aacca6f
DM
26378 "returns" : {
26379 "type" : "null"
44660702 26380 }
7aacca6f 26381 },
44660702
DM
26382 "GET" : {
26383 "description" : "Get auth server configuration.",
26384 "method" : "GET",
26385 "name" : "read",
56122987 26386 "parameters" : {
44660702 26387 "additionalProperties" : 0,
56122987 26388 "properties" : {
7aacca6f 26389 "realm" : {
44660702 26390 "description" : "Authentication domain ID",
7aacca6f
DM
26391 "format" : "pve-realm",
26392 "maxLength" : 32,
013dc89f
DM
26393 "type" : "string",
26394 "typetext" : "<string>"
56122987 26395 }
44660702 26396 }
7aacca6f 26397 },
7aacca6f
DM
26398 "permissions" : {
26399 "check" : [
26400 "perm",
26401 "/access/realm",
26402 [
44660702
DM
26403 "Realm.Allocate",
26404 "Sys.Audit"
26405 ],
26406 "any",
26407 1
7aacca6f 26408 ]
44660702
DM
26409 },
26410 "returns" : {}
7aacca6f 26411 },
44660702
DM
26412 "PUT" : {
26413 "description" : "Update authentication server settings.",
26414 "method" : "PUT",
26415 "name" : "update",
7aacca6f 26416 "parameters" : {
44660702 26417 "additionalProperties" : 0,
7aacca6f 26418 "properties" : {
44660702
DM
26419 "base_dn" : {
26420 "description" : "LDAP base domain name",
26421 "maxLength" : 256,
26422 "optional" : 1,
26423 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
26424 "type" : "string"
26425 },
4bd7df8b
DM
26426 "bind_dn" : {
26427 "description" : "LDAP bind domain name",
26428 "maxLength" : 256,
26429 "optional" : 1,
26430 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
26431 "type" : "string"
26432 },
2489d6df
WB
26433 "capath" : {
26434 "default" : "/etc/ssl/certs",
26435 "description" : "Path to the CA certificate store",
26436 "optional" : 1,
26437 "type" : "string",
26438 "typetext" : "<string>"
26439 },
26440 "cert" : {
26441 "description" : "Path to the client certificate",
26442 "optional" : 1,
26443 "type" : "string",
26444 "typetext" : "<string>"
26445 },
26446 "certkey" : {
26447 "description" : "Path to the client certificate key",
26448 "optional" : 1,
26449 "type" : "string",
26450 "typetext" : "<string>"
26451 },
44660702
DM
26452 "comment" : {
26453 "description" : "Description.",
26454 "maxLength" : 4096,
26455 "optional" : 1,
013dc89f
DM
26456 "type" : "string",
26457 "typetext" : "<string>"
44660702
DM
26458 },
26459 "default" : {
26460 "description" : "Use this as default realm",
26461 "optional" : 1,
013dc89f
DM
26462 "type" : "boolean",
26463 "typetext" : "<boolean>"
44660702
DM
26464 },
26465 "delete" : {
26466 "description" : "A list of settings you want to delete.",
26467 "format" : "pve-configid-list",
26468 "maxLength" : 4096,
26469 "optional" : 1,
013dc89f
DM
26470 "type" : "string",
26471 "typetext" : "<string>"
44660702
DM
26472 },
26473 "digest" : {
26474 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
26475 "maxLength" : 40,
26476 "optional" : 1,
013dc89f
DM
26477 "type" : "string",
26478 "typetext" : "<string>"
44660702
DM
26479 },
26480 "domain" : {
26481 "description" : "AD domain name",
26482 "maxLength" : 256,
26483 "optional" : 1,
26484 "pattern" : "\\S+",
26485 "type" : "string"
26486 },
26487 "port" : {
26488 "description" : "Server port.",
26489 "maximum" : 65535,
26490 "minimum" : 1,
26491 "optional" : 1,
4bd7df8b 26492 "type" : "integer",
013dc89f 26493 "typetext" : "<integer> (1 - 65535)"
44660702 26494 },
7aacca6f 26495 "realm" : {
7aacca6f
DM
26496 "description" : "Authentication domain ID",
26497 "format" : "pve-realm",
44660702 26498 "maxLength" : 32,
013dc89f
DM
26499 "type" : "string",
26500 "typetext" : "<string>"
44660702
DM
26501 },
26502 "secure" : {
26503 "description" : "Use secure LDAPS protocol.",
26504 "optional" : 1,
013dc89f
DM
26505 "type" : "boolean",
26506 "typetext" : "<boolean>"
44660702
DM
26507 },
26508 "server1" : {
26509 "description" : "Server IP address (or DNS name)",
26510 "format" : "address",
26511 "maxLength" : 256,
26512 "optional" : 1,
013dc89f
DM
26513 "type" : "string",
26514 "typetext" : "<string>"
44660702
DM
26515 },
26516 "server2" : {
26517 "description" : "Fallback Server IP address (or DNS name)",
26518 "format" : "address",
26519 "maxLength" : 256,
26520 "optional" : 1,
013dc89f
DM
26521 "type" : "string",
26522 "typetext" : "<string>"
44660702
DM
26523 },
26524 "tfa" : {
26525 "description" : "Use Two-factor authentication.",
26526 "format" : "pve-tfa-config",
26527 "maxLength" : 128,
26528 "optional" : 1,
013dc89f
DM
26529 "type" : "string",
26530 "typetext" : "<string>"
44660702
DM
26531 },
26532 "user_attr" : {
26533 "description" : "LDAP user attribute name",
26534 "maxLength" : 256,
26535 "optional" : 1,
26536 "pattern" : "\\S{2,}",
26537 "type" : "string"
2489d6df
WB
26538 },
26539 "verify" : {
26540 "default" : 0,
26541 "description" : "Verify the server's SSL certificate",
26542 "optional" : 1,
26543 "type" : "boolean",
26544 "typetext" : "<boolean>"
7aacca6f 26545 }
56122987 26546 },
44660702 26547 "type" : "object"
56122987 26548 },
7aacca6f
DM
26549 "permissions" : {
26550 "check" : [
26551 "perm",
26552 "/access/realm",
26553 [
44660702
DM
26554 "Realm.Allocate"
26555 ]
7aacca6f
DM
26556 ]
26557 },
44660702
DM
26558 "protected" : 1,
26559 "returns" : {
26560 "type" : "null"
26561 }
56122987 26562 }
44660702
DM
26563 },
26564 "leaf" : 1,
26565 "path" : "/access/domains/{realm}",
26566 "text" : "{realm}"
56122987 26567 }
7aacca6f 26568 ],
56122987
DM
26569 "info" : {
26570 "GET" : {
44660702
DM
26571 "description" : "Authentication domain index.",
26572 "method" : "GET",
26573 "name" : "index",
26574 "parameters" : {
26575 "additionalProperties" : 0
26576 },
26577 "permissions" : {
26578 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
26579 "user" : "world"
26580 },
56122987 26581 "returns" : {
56122987
DM
26582 "items" : {
26583 "properties" : {
7aacca6f 26584 "comment" : {
52e44c50 26585 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
26586 "optional" : 1,
26587 "type" : "string"
26588 },
56122987
DM
26589 "realm" : {
26590 "type" : "string"
26591 },
26592 "tfa" : {
7aacca6f 26593 "description" : "Two-factor authentication provider.",
56122987
DM
26594 "enum" : [
26595 "yubico",
26596 "oath"
26597 ],
44660702
DM
26598 "optional" : 1,
26599 "type" : "string"
56122987
DM
26600 }
26601 },
26602 "type" : "object"
44660702
DM
26603 },
26604 "links" : [
26605 {
26606 "href" : "{realm}",
26607 "rel" : "child"
26608 }
26609 ],
26610 "type" : "array"
26611 }
56122987
DM
26612 },
26613 "POST" : {
7aacca6f 26614 "description" : "Add an authentication server.",
44660702 26615 "method" : "POST",
7aacca6f 26616 "name" : "create",
56122987 26617 "parameters" : {
44660702 26618 "additionalProperties" : 0,
56122987 26619 "properties" : {
44660702
DM
26620 "base_dn" : {
26621 "description" : "LDAP base domain name",
56122987 26622 "maxLength" : 256,
44660702
DM
26623 "optional" : 1,
26624 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 26625 "type" : "string"
56122987 26626 },
4bd7df8b
DM
26627 "bind_dn" : {
26628 "description" : "LDAP bind domain name",
26629 "maxLength" : 256,
26630 "optional" : 1,
26631 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
26632 "type" : "string"
26633 },
2489d6df
WB
26634 "capath" : {
26635 "default" : "/etc/ssl/certs",
26636 "description" : "Path to the CA certificate store",
26637 "optional" : 1,
26638 "type" : "string",
26639 "typetext" : "<string>"
26640 },
26641 "cert" : {
26642 "description" : "Path to the client certificate",
26643 "optional" : 1,
26644 "type" : "string",
26645 "typetext" : "<string>"
26646 },
26647 "certkey" : {
26648 "description" : "Path to the client certificate key",
26649 "optional" : 1,
26650 "type" : "string",
26651 "typetext" : "<string>"
26652 },
44660702
DM
26653 "comment" : {
26654 "description" : "Description.",
26655 "maxLength" : 4096,
56122987 26656 "optional" : 1,
013dc89f
DM
26657 "type" : "string",
26658 "typetext" : "<string>"
56122987 26659 },
44660702
DM
26660 "default" : {
26661 "description" : "Use this as default realm",
7aacca6f 26662 "optional" : 1,
013dc89f
DM
26663 "type" : "boolean",
26664 "typetext" : "<boolean>"
56122987 26665 },
44660702
DM
26666 "domain" : {
26667 "description" : "AD domain name",
26668 "maxLength" : 256,
7aacca6f 26669 "optional" : 1,
44660702
DM
26670 "pattern" : "\\S+",
26671 "type" : "string"
56122987 26672 },
7aacca6f 26673 "port" : {
44660702 26674 "description" : "Server port.",
7aacca6f 26675 "maximum" : 65535,
44660702 26676 "minimum" : 1,
7aacca6f 26677 "optional" : 1,
4bd7df8b 26678 "type" : "integer",
013dc89f 26679 "typetext" : "<integer> (1 - 65535)"
56122987 26680 },
44660702
DM
26681 "realm" : {
26682 "description" : "Authentication domain ID",
26683 "format" : "pve-realm",
26684 "maxLength" : 32,
013dc89f
DM
26685 "type" : "string",
26686 "typetext" : "<string>"
44660702
DM
26687 },
26688 "secure" : {
26689 "description" : "Use secure LDAPS protocol.",
7aacca6f 26690 "optional" : 1,
013dc89f
DM
26691 "type" : "boolean",
26692 "typetext" : "<boolean>"
56122987 26693 },
44660702
DM
26694 "server1" : {
26695 "description" : "Server IP address (or DNS name)",
26696 "format" : "address",
26697 "maxLength" : 256,
26698 "optional" : 1,
013dc89f
DM
26699 "type" : "string",
26700 "typetext" : "<string>"
56122987 26701 },
44660702
DM
26702 "server2" : {
26703 "description" : "Fallback Server IP address (or DNS name)",
26704 "format" : "address",
7aacca6f 26705 "maxLength" : 256,
7aacca6f 26706 "optional" : 1,
013dc89f
DM
26707 "type" : "string",
26708 "typetext" : "<string>"
7aacca6f 26709 },
44660702
DM
26710 "tfa" : {
26711 "description" : "Use Two-factor authentication.",
26712 "format" : "pve-tfa-config",
26713 "maxLength" : 128,
26714 "optional" : 1,
013dc89f
DM
26715 "type" : "string",
26716 "typetext" : "<string>"
44660702
DM
26717 },
26718 "type" : {
26719 "description" : "Realm type.",
26720 "enum" : [
26721 "ad",
26722 "ldap",
26723 "pam",
26724 "pve"
26725 ],
26726 "type" : "string"
26727 },
26728 "user_attr" : {
26729 "description" : "LDAP user attribute name",
7aacca6f 26730 "maxLength" : 256,
7aacca6f 26731 "optional" : 1,
44660702
DM
26732 "pattern" : "\\S{2,}",
26733 "type" : "string"
2489d6df
WB
26734 },
26735 "verify" : {
26736 "default" : 0,
26737 "description" : "Verify the server's SSL certificate",
26738 "optional" : 1,
26739 "type" : "boolean",
26740 "typetext" : "<boolean>"
7aacca6f
DM
26741 }
26742 },
7aacca6f 26743 "type" : "object"
56122987 26744 },
7aacca6f
DM
26745 "permissions" : {
26746 "check" : [
26747 "perm",
26748 "/access/realm",
26749 [
26750 "Realm.Allocate"
26751 ]
26752 ]
44660702
DM
26753 },
26754 "protected" : 1,
26755 "returns" : {
26756 "type" : "null"
7aacca6f 26757 }
56122987 26758 }
7aacca6f 26759 },
44660702 26760 "leaf" : 0,
56122987 26761 "path" : "/access/domains",
44660702 26762 "text" : "domains"
56122987
DM
26763 },
26764 {
56122987 26765 "info" : {
44660702 26766 "GET" : {
2489d6df 26767 "description" : "Dummy. Useful for formatters which want to provide a login page.",
44660702
DM
26768 "method" : "GET",
26769 "name" : "get_ticket",
26770 "parameters" : {
26771 "additionalProperties" : 0
26772 },
26773 "permissions" : {
26774 "user" : "world"
26775 },
26776 "returns" : {
26777 "type" : "null"
26778 }
26779 },
56122987 26780 "POST" : {
44660702 26781 "description" : "Create or verify authentication ticket.",
56122987 26782 "method" : "POST",
44660702
DM
26783 "name" : "create_ticket",
26784 "parameters" : {
26785 "additionalProperties" : 0,
56122987 26786 "properties" : {
44660702
DM
26787 "otp" : {
26788 "description" : "One-time password for Two-factor authentication.",
7aacca6f 26789 "optional" : 1,
013dc89f
DM
26790 "type" : "string",
26791 "typetext" : "<string>"
56122987 26792 },
7aacca6f
DM
26793 "password" : {
26794 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
26795 "type" : "string",
26796 "typetext" : "<string>"
7aacca6f 26797 },
44660702
DM
26798 "path" : {
26799 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 26800 "maxLength" : 64,
56122987 26801 "optional" : 1,
56122987 26802 "requires" : "privs",
013dc89f
DM
26803 "type" : "string",
26804 "typetext" : "<string>"
44660702
DM
26805 },
26806 "privs" : {
7aacca6f 26807 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
26808 "format" : "pve-priv-list",
26809 "maxLength" : 64,
56122987 26810 "optional" : 1,
44660702 26811 "requires" : "path",
013dc89f
DM
26812 "type" : "string",
26813 "typetext" : "<string>"
56122987
DM
26814 },
26815 "realm" : {
56122987 26816 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 26817 "format" : "pve-realm",
7aacca6f 26818 "maxLength" : 32,
44660702 26819 "optional" : 1,
013dc89f
DM
26820 "type" : "string",
26821 "typetext" : "<string>"
56122987
DM
26822 },
26823 "username" : {
26824 "description" : "User name",
44660702 26825 "maxLength" : 64,
013dc89f
DM
26826 "type" : "string",
26827 "typetext" : "<string>"
56122987 26828 }
44660702 26829 }
7aacca6f 26830 },
56122987 26831 "permissions" : {
44660702 26832 "description" : "You need to pass valid credientials.",
56122987
DM
26833 "user" : "world"
26834 },
44660702 26835 "protected" : 1,
7aacca6f 26836 "returns" : {
56122987 26837 "properties" : {
44660702
DM
26838 "CSRFPreventionToken" : {
26839 "optional" : 1,
26840 "type" : "string"
56122987 26841 },
44660702
DM
26842 "ticket" : {
26843 "optional" : 1,
26844 "type" : "string"
26845 },
26846 "username" : {
56122987
DM
26847 "type" : "string"
26848 }
26849 },
44660702 26850 "type" : "object"
7aacca6f 26851 }
7aacca6f
DM
26852 }
26853 },
44660702
DM
26854 "leaf" : 1,
26855 "path" : "/access/ticket",
26856 "text" : "ticket"
7aacca6f 26857 },
56122987 26858 {
56122987 26859 "info" : {
7aacca6f 26860 "PUT" : {
44660702 26861 "description" : "Change user password.",
7aacca6f 26862 "method" : "PUT",
44660702 26863 "name" : "change_passsword",
56122987
DM
26864 "parameters" : {
26865 "additionalProperties" : 0,
26866 "properties" : {
44660702
DM
26867 "password" : {
26868 "description" : "The new password.",
26869 "maxLength" : 64,
26870 "minLength" : 5,
013dc89f
DM
26871 "type" : "string",
26872 "typetext" : "<string>"
7aacca6f 26873 },
44660702
DM
26874 "userid" : {
26875 "description" : "User ID",
26876 "format" : "pve-userid",
26877 "maxLength" : 64,
013dc89f
DM
26878 "type" : "string",
26879 "typetext" : "<string>"
56122987 26880 }
7aacca6f 26881 }
56122987
DM
26882 },
26883 "permissions" : {
26884 "check" : [
44660702 26885 "or",
56122987 26886 [
44660702
DM
26887 "userid-param",
26888 "self"
26889 ],
26890 [
26891 "and",
26892 [
26893 "userid-param",
26894 "Realm.AllocateUser"
26895 ],
26896 [
26897 "userid-group",
26898 [
26899 "User.Modify"
26900 ]
26901 ]
56122987 26902 ]
7aacca6f 26903 ],
44660702 26904 "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 26905 },
44660702 26906 "protected" : 1,
7aacca6f
DM
26907 "returns" : {
26908 "type" : "null"
44660702
DM
26909 }
26910 }
26911 },
26912 "leaf" : 1,
26913 "path" : "/access/password",
26914 "text" : "password"
26915 }
26916 ],
26917 "info" : {
26918 "GET" : {
26919 "description" : "Directory index.",
26920 "method" : "GET",
26921 "name" : "index",
26922 "parameters" : {
26923 "additionalProperties" : 0
26924 },
26925 "permissions" : {
26926 "user" : "all"
26927 },
26928 "returns" : {
26929 "items" : {
26930 "properties" : {
26931 "subdir" : {
26932 "type" : "string"
26933 }
7aacca6f 26934 },
44660702
DM
26935 "type" : "object"
26936 },
26937 "links" : [
26938 {
26939 "href" : "{subdir}",
26940 "rel" : "child"
26941 }
26942 ],
26943 "type" : "array"
26944 }
26945 }
26946 },
26947 "leaf" : 0,
26948 "path" : "/access",
26949 "text" : "access"
26950 },
26951 {
26952 "children" : [
26953 {
26954 "info" : {
26955 "DELETE" : {
7aacca6f 26956 "description" : "Delete pool.",
44660702
DM
26957 "method" : "DELETE",
26958 "name" : "delete_pool",
7aacca6f
DM
26959 "parameters" : {
26960 "additionalProperties" : 0,
26961 "properties" : {
26962 "poolid" : {
26963 "format" : "pve-poolid",
013dc89f
DM
26964 "type" : "string",
26965 "typetext" : "<string>"
7aacca6f
DM
26966 }
26967 }
26968 },
56122987
DM
26969 "permissions" : {
26970 "check" : [
26971 "perm",
26972 "/pool/{poolid}",
26973 [
26974 "Pool.Allocate"
26975 ]
44660702
DM
26976 ],
26977 "description" : "You can only delete empty pools (no members)."
26978 },
26979 "protected" : 1,
26980 "returns" : {
26981 "type" : "null"
7aacca6f
DM
26982 }
26983 },
26984 "GET" : {
26985 "description" : "Get pool configuration.",
44660702 26986 "method" : "GET",
7aacca6f 26987 "name" : "read_pool",
56122987 26988 "parameters" : {
44660702 26989 "additionalProperties" : 0,
56122987
DM
26990 "properties" : {
26991 "poolid" : {
44660702 26992 "format" : "pve-poolid",
013dc89f
DM
26993 "type" : "string",
26994 "typetext" : "<string>"
56122987 26995 }
44660702 26996 }
56122987 26997 },
56122987 26998 "permissions" : {
56122987
DM
26999 "check" : [
27000 "perm",
27001 "/pool/{poolid}",
27002 [
27003 "Pool.Allocate"
27004 ]
27005 ]
27006 },
7aacca6f 27007 "returns" : {
44660702 27008 "additionalProperties" : 0,
56122987 27009 "properties" : {
44660702
DM
27010 "comment" : {
27011 "optional" : 1,
27012 "type" : "string"
27013 },
7aacca6f 27014 "members" : {
7aacca6f
DM
27015 "items" : {
27016 "additionalProperties" : 1,
7aacca6f 27017 "properties" : {
7aacca6f
DM
27018 "id" : {
27019 "type" : "string"
27020 },
27021 "node" : {
27022 "type" : "string"
27023 },
44660702
DM
27024 "storage" : {
27025 "optional" : 1,
27026 "type" : "string"
27027 },
7aacca6f 27028 "type" : {
7aacca6f
DM
27029 "enum" : [
27030 "qemu",
27031 "lxc",
27032 "openvz",
27033 "storage"
44660702
DM
27034 ],
27035 "type" : "string"
27036 },
27037 "vmid" : {
27038 "optional" : 1,
27039 "type" : "integer"
7aacca6f 27040 }
44660702
DM
27041 },
27042 "type" : "object"
27043 },
27044 "type" : "array"
27045 }
27046 },
27047 "type" : "object"
27048 }
27049 },
27050 "PUT" : {
27051 "description" : "Update pool data.",
27052 "method" : "PUT",
27053 "name" : "update_pool",
27054 "parameters" : {
27055 "additionalProperties" : 0,
27056 "properties" : {
56122987
DM
27057 "comment" : {
27058 "optional" : 1,
013dc89f
DM
27059 "type" : "string",
27060 "typetext" : "<string>"
44660702
DM
27061 },
27062 "delete" : {
27063 "description" : "Remove vms/storage (instead of adding it).",
27064 "optional" : 1,
013dc89f
DM
27065 "type" : "boolean",
27066 "typetext" : "<boolean>"
44660702
DM
27067 },
27068 "poolid" : {
27069 "format" : "pve-poolid",
013dc89f
DM
27070 "type" : "string",
27071 "typetext" : "<string>"
44660702
DM
27072 },
27073 "storage" : {
27074 "description" : "List of storage IDs.",
27075 "format" : "pve-storage-id-list",
27076 "optional" : 1,
013dc89f
DM
27077 "type" : "string",
27078 "typetext" : "<string>"
44660702
DM
27079 },
27080 "vms" : {
27081 "description" : "List of virtual machines.",
27082 "format" : "pve-vmid-list",
27083 "optional" : 1,
013dc89f
DM
27084 "type" : "string",
27085 "typetext" : "<string>"
56122987 27086 }
44660702
DM
27087 }
27088 },
27089 "permissions" : {
27090 "check" : [
27091 "perm",
27092 "/pool/{poolid}",
27093 [
27094 "Pool.Allocate"
27095 ]
27096 ],
27097 "description" : "You also need the right to modify permissions on any object you add/delete."
27098 },
27099 "protected" : 1,
27100 "returns" : {
27101 "type" : "null"
56122987
DM
27102 }
27103 }
27104 },
44660702
DM
27105 "leaf" : 1,
27106 "path" : "/pools/{poolid}",
7aacca6f 27107 "text" : "{poolid}"
56122987 27108 }
7aacca6f 27109 ],
56122987
DM
27110 "info" : {
27111 "GET" : {
44660702
DM
27112 "description" : "Pool index.",
27113 "method" : "GET",
27114 "name" : "index",
27115 "parameters" : {
27116 "additionalProperties" : 0
27117 },
27118 "permissions" : {
27119 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
27120 "user" : "all"
27121 },
56122987 27122 "returns" : {
44660702
DM
27123 "items" : {
27124 "properties" : {
27125 "poolid" : {
27126 "type" : "string"
27127 }
56122987 27128 },
44660702
DM
27129 "type" : "object"
27130 },
27131 "links" : [
27132 {
27133 "href" : "{poolid}",
27134 "rel" : "child"
27135 }
27136 ],
27137 "type" : "array"
27138 }
27139 },
27140 "POST" : {
27141 "description" : "Create new pool.",
27142 "method" : "POST",
27143 "name" : "create_pool",
27144 "parameters" : {
27145 "additionalProperties" : 0,
27146 "properties" : {
27147 "comment" : {
27148 "optional" : 1,
013dc89f
DM
27149 "type" : "string",
27150 "typetext" : "<string>"
7aacca6f 27151 },
44660702
DM
27152 "poolid" : {
27153 "format" : "pve-poolid",
013dc89f
DM
27154 "type" : "string",
27155 "typetext" : "<string>"
56122987
DM
27156 }
27157 }
27158 },
56122987 27159 "permissions" : {
44660702
DM
27160 "check" : [
27161 "perm",
27162 "/pool/{poolid}",
27163 [
27164 "Pool.Allocate"
27165 ]
27166 ]
56122987 27167 },
44660702
DM
27168 "protected" : 1,
27169 "returns" : {
27170 "type" : "null"
27171 }
27172 }
27173 },
27174 "leaf" : 0,
27175 "path" : "/pools",
27176 "text" : "pools"
27177 },
27178 {
27179 "info" : {
27180 "GET" : {
27181 "description" : "API version details. The result also includes the global datacenter confguration.",
27182 "method" : "GET",
27183 "name" : "version",
7aacca6f
DM
27184 "parameters" : {
27185 "additionalProperties" : 0
27186 },
44660702
DM
27187 "permissions" : {
27188 "user" : "all"
27189 },
27190 "returns" : {
27191 "properties" : {
27192 "release" : {
27193 "type" : "string"
27194 },
27195 "repoid" : {
27196 "type" : "string"
27197 },
27198 "version" : {
27199 "type" : "string"
27200 }
27201 },
27202 "type" : "object"
27203 }
56122987
DM
27204 }
27205 },
44660702
DM
27206 "leaf" : 1,
27207 "path" : "/version",
56122987
DM
27208 "text" : "version"
27209 }
27210]
27211;
27212