]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update auto generated docs
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987
DM
3 "children" : [
4 {
56122987
DM
5 "children" : [
6 {
56122987
DM
7 "children" : [
8 {
44660702
DM
9 "children" : [
10 {
11 "info" : {
12 "DELETE" : {
13 "description" : "Delete rule.",
14 "method" : "DELETE",
15 "name" : "delete_rule",
16 "parameters" : {
17 "additionalProperties" : 0,
18 "properties" : {
19 "digest" : {
20 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21 "maxLength" : 40,
22 "optional" : 1,
23 "type" : "string"
24 },
25 "group" : {
26 "description" : "Security Group name.",
4bd7df8b 27 "maxLength" : 18,
44660702
DM
28 "minLength" : 2,
29 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30 "type" : "string"
31 },
32 "pos" : {
33 "description" : "Update rule at position <pos>.",
34 "minimum" : 0,
35 "optional" : 1,
4bd7df8b 36 "type" : "integer",
2c0dde61 37 "typetext" : "integer (0 - N)"
44660702
DM
38 }
39 }
40 },
41 "permissions" : {
42 "check" : [
43 "perm",
44 "/",
45 [
46 "Sys.Modify"
47 ]
48 ]
49 },
50 "protected" : 1,
51 "proxyto" : null,
52 "returns" : {
53 "type" : "null"
7aacca6f
DM
54 }
55 },
44660702
DM
56 "GET" : {
57 "description" : "Get single rule data.",
58 "method" : "GET",
59 "name" : "get_rule",
60 "parameters" : {
61 "additionalProperties" : 0,
62 "properties" : {
63 "group" : {
64 "description" : "Security Group name.",
4bd7df8b 65 "maxLength" : 18,
44660702
DM
66 "minLength" : 2,
67 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
68 "type" : "string"
69 },
70 "pos" : {
71 "description" : "Update rule at position <pos>.",
72 "minimum" : 0,
73 "optional" : 1,
4bd7df8b 74 "type" : "integer",
2c0dde61 75 "typetext" : "integer (0 - N)"
44660702 76 }
7aacca6f 77 }
56122987 78 },
44660702
DM
79 "permissions" : {
80 "check" : [
81 "perm",
82 "/",
83 [
84 "Sys.Audit"
85 ]
86 ]
87 },
88 "proxyto" : null,
89 "returns" : {
90 "properties" : {
91 "pos" : {
92 "type" : "integer"
93 }
94 },
95 "type" : "object"
56122987 96 }
44660702 97 },
7aacca6f 98 "PUT" : {
44660702
DM
99 "description" : "Modify rule data.",
100 "method" : "PUT",
101 "name" : "update_rule",
7aacca6f
DM
102 "parameters" : {
103 "additionalProperties" : 0,
104 "properties" : {
44660702
DM
105 "action" : {
106 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 107 "maxLength" : 20,
44660702 108 "minLength" : 2,
7aacca6f 109 "optional" : 1,
44660702 110 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
111 "type" : "string"
112 },
44660702 113 "comment" : {
e94f0d56 114 "description" : "Descriptive comment.",
7aacca6f 115 "optional" : 1,
44660702 116 "type" : "string"
7aacca6f 117 },
44660702
DM
118 "delete" : {
119 "description" : "A list of settings you want to delete.",
120 "format" : "pve-configid-list",
7aacca6f 121 "optional" : 1,
44660702 122 "type" : "string"
7aacca6f 123 },
44660702
DM
124 "dest" : {
125 "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.",
126 "format" : "pve-fw-addr-spec",
7aacca6f 127 "optional" : 1,
44660702 128 "type" : "string"
7aacca6f
DM
129 },
130 "digest" : {
131 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 132 "maxLength" : 40,
7aacca6f 133 "optional" : 1,
44660702 134 "type" : "string"
7aacca6f 135 },
44660702
DM
136 "dport" : {
137 "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.",
138 "format" : "pve-fw-dport-spec",
7aacca6f 139 "optional" : 1,
44660702 140 "type" : "string"
7aacca6f 141 },
44660702 142 "enable" : {
e94f0d56 143 "description" : "Flag to enable/disable a rule.",
44660702 144 "minimum" : 0,
7aacca6f 145 "optional" : 1,
4bd7df8b 146 "type" : "integer",
2c0dde61 147 "typetext" : "integer (0 - N)"
7aacca6f 148 },
44660702
DM
149 "group" : {
150 "description" : "Security Group name.",
4bd7df8b 151 "maxLength" : 18,
44660702
DM
152 "minLength" : 2,
153 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
154 "type" : "string"
155 },
156 "iface" : {
157 "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.",
158 "format" : "pve-iface",
159 "maxLength" : 20,
160 "minLength" : 2,
7aacca6f 161 "optional" : 1,
44660702 162 "type" : "string"
7aacca6f 163 },
44660702 164 "macro" : {
e94f0d56 165 "description" : "Use predefined standard macro.",
44660702
DM
166 "maxLength" : 128,
167 "optional" : 1,
168 "type" : "string"
7aacca6f
DM
169 },
170 "moveto" : {
171 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 172 "minimum" : 0,
7aacca6f 173 "optional" : 1,
4bd7df8b 174 "type" : "integer",
2c0dde61 175 "typetext" : "integer (0 - N)"
7aacca6f 176 },
44660702
DM
177 "pos" : {
178 "description" : "Update rule at position <pos>.",
179 "minimum" : 0,
180 "optional" : 1,
4bd7df8b 181 "type" : "integer",
2c0dde61 182 "typetext" : "integer (0 - N)"
7aacca6f 183 },
44660702
DM
184 "proto" : {
185 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
186 "format" : "pve-fw-protocol-spec",
7aacca6f 187 "optional" : 1,
44660702
DM
188 "type" : "string"
189 },
190 "source" : {
191 "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.",
192 "format" : "pve-fw-addr-spec",
193 "optional" : 1,
194 "type" : "string"
195 },
196 "sport" : {
197 "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.",
198 "format" : "pve-fw-sport-spec",
199 "optional" : 1,
200 "type" : "string"
7aacca6f
DM
201 },
202 "type" : {
e94f0d56 203 "description" : "Rule type.",
7aacca6f
DM
204 "enum" : [
205 "in",
206 "out",
207 "group"
208 ],
209 "optional" : 1,
210 "type" : "string"
211 }
212 }
213 },
7aacca6f
DM
214 "permissions" : {
215 "check" : [
216 "perm",
217 "/",
218 [
219 "Sys.Modify"
220 ]
221 ]
222 },
44660702 223 "protected" : 1,
7aacca6f
DM
224 "proxyto" : null,
225 "returns" : {
226 "type" : "null"
227 }
7aacca6f
DM
228 }
229 },
44660702 230 "leaf" : 1,
7aacca6f 231 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 232 "text" : "{pos}"
7aacca6f
DM
233 }
234 ],
44660702
DM
235 "info" : {
236 "DELETE" : {
237 "description" : "Delete security group.",
238 "method" : "DELETE",
239 "name" : "delete_security_group",
240 "parameters" : {
241 "additionalProperties" : 0,
242 "properties" : {
243 "group" : {
244 "description" : "Security Group name.",
4bd7df8b 245 "maxLength" : 18,
44660702
DM
246 "minLength" : 2,
247 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
248 "type" : "string"
249 }
56122987 250 }
7aacca6f 251 },
44660702
DM
252 "permissions" : {
253 "check" : [
254 "perm",
255 "/",
256 [
257 "Sys.Modify"
258 ]
7aacca6f 259 ]
56122987 260 },
44660702
DM
261 "protected" : 1,
262 "returns" : {
263 "type" : "null"
56122987 264 }
7aacca6f 265 },
7aacca6f 266 "GET" : {
44660702 267 "description" : "List rules.",
7aacca6f 268 "method" : "GET",
44660702
DM
269 "name" : "get_rules",
270 "parameters" : {
271 "additionalProperties" : 0,
7aacca6f 272 "properties" : {
44660702
DM
273 "group" : {
274 "description" : "Security Group name.",
4bd7df8b 275 "maxLength" : 18,
44660702
DM
276 "minLength" : 2,
277 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
278 "type" : "string"
7aacca6f 279 }
44660702 280 }
7aacca6f
DM
281 },
282 "permissions" : {
283 "check" : [
284 "perm",
285 "/",
286 [
287 "Sys.Audit"
288 ]
289 ]
290 },
44660702
DM
291 "proxyto" : null,
292 "returns" : {
293 "items" : {
294 "properties" : {
295 "pos" : {
296 "type" : "integer"
297 }
298 },
299 "type" : "object"
300 },
301 "links" : [
302 {
303 "href" : "{pos}",
304 "rel" : "child"
305 }
306 ],
307 "type" : "array"
308 }
309 },
310 "POST" : {
311 "description" : "Create new rule.",
312 "method" : "POST",
313 "name" : "create_rule",
7aacca6f
DM
314 "parameters" : {
315 "additionalProperties" : 0,
316 "properties" : {
44660702
DM
317 "action" : {
318 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
319 "maxLength" : 20,
56122987 320 "minLength" : 2,
44660702
DM
321 "optional" : 0,
322 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 323 "type" : "string"
56122987 324 },
44660702 325 "comment" : {
e94f0d56 326 "description" : "Descriptive comment.",
56122987 327 "optional" : 1,
7aacca6f 328 "type" : "string"
56122987 329 },
44660702
DM
330 "dest" : {
331 "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
332 "format" : "pve-fw-addr-spec",
333 "optional" : 1,
44660702 334 "type" : "string"
56122987 335 },
44660702
DM
336 "digest" : {
337 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
338 "maxLength" : 40,
7aacca6f 339 "optional" : 1,
44660702 340 "type" : "string"
56122987 341 },
44660702
DM
342 "dport" : {
343 "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.",
344 "format" : "pve-fw-dport-spec",
56122987 345 "optional" : 1,
44660702 346 "type" : "string"
56122987 347 },
7aacca6f 348 "enable" : {
e94f0d56 349 "description" : "Flag to enable/disable a rule.",
44660702 350 "minimum" : 0,
7aacca6f 351 "optional" : 1,
4bd7df8b 352 "type" : "integer",
2c0dde61 353 "typetext" : "integer (0 - N)"
56122987 354 },
44660702
DM
355 "group" : {
356 "description" : "Security Group name.",
4bd7df8b 357 "maxLength" : 18,
44660702 358 "minLength" : 2,
7aacca6f 359 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
360 "type" : "string"
361 },
362 "iface" : {
363 "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.",
364 "format" : "pve-iface",
365 "maxLength" : 20,
7aacca6f 366 "minLength" : 2,
44660702
DM
367 "optional" : 1,
368 "type" : "string"
56122987 369 },
7aacca6f 370 "macro" : {
e94f0d56 371 "description" : "Use predefined standard macro.",
44660702 372 "maxLength" : 128,
7aacca6f 373 "optional" : 1,
44660702 374 "type" : "string"
7aacca6f
DM
375 },
376 "pos" : {
377 "description" : "Update rule at position <pos>.",
44660702 378 "minimum" : 0,
56122987 379 "optional" : 1,
4bd7df8b 380 "type" : "integer",
2c0dde61 381 "typetext" : "integer (0 - N)"
7aacca6f
DM
382 },
383 "proto" : {
384 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 385 "format" : "pve-fw-protocol-spec",
7aacca6f 386 "optional" : 1,
44660702
DM
387 "type" : "string"
388 },
389 "source" : {
390 "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.",
391 "format" : "pve-fw-addr-spec",
392 "optional" : 1,
393 "type" : "string"
394 },
395 "sport" : {
396 "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.",
397 "format" : "pve-fw-sport-spec",
398 "optional" : 1,
399 "type" : "string"
400 },
401 "type" : {
e94f0d56 402 "description" : "Rule type.",
44660702
DM
403 "enum" : [
404 "in",
405 "out",
406 "group"
407 ],
408 "optional" : 0,
409 "type" : "string"
56122987 410 }
44660702 411 }
56122987 412 },
56122987
DM
413 "permissions" : {
414 "check" : [
415 "perm",
416 "/",
417 [
418 "Sys.Modify"
419 ]
420 ]
421 },
44660702
DM
422 "protected" : 1,
423 "proxyto" : null,
56122987
DM
424 "returns" : {
425 "type" : "null"
7aacca6f 426 }
44660702
DM
427 }
428 },
429 "leaf" : 0,
430 "path" : "/cluster/firewall/groups/{group}",
431 "text" : "{group}"
432 }
433 ],
434 "info" : {
435 "GET" : {
436 "description" : "List security groups.",
437 "method" : "GET",
438 "name" : "list_security_groups",
439 "parameters" : {
440 "additionalProperties" : 0
441 },
442 "permissions" : {
443 "user" : "all"
444 },
445 "returns" : {
446 "items" : {
447 "properties" : {
448 "comment" : {
449 "optional" : 1,
450 "type" : "string"
451 },
452 "digest" : {
453 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
454 "maxLength" : 40,
455 "optional" : 0,
456 "type" : "string"
457 },
458 "group" : {
459 "description" : "Security Group name.",
4bd7df8b 460 "maxLength" : 18,
44660702
DM
461 "minLength" : 2,
462 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
463 "type" : "string"
464 }
465 },
466 "type" : "object"
56122987 467 },
44660702
DM
468 "links" : [
469 {
470 "href" : "{group}",
471 "rel" : "child"
472 }
473 ],
474 "type" : "array"
475 }
476 },
477 "POST" : {
478 "description" : "Create new security group.",
479 "method" : "POST",
480 "name" : "create_security_group",
481 "parameters" : {
482 "additionalProperties" : 0,
483 "properties" : {
484 "comment" : {
485 "optional" : 1,
486 "type" : "string"
487 },
488 "digest" : {
489 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
490 "maxLength" : 40,
491 "optional" : 1,
492 "type" : "string"
493 },
494 "group" : {
495 "description" : "Security Group name.",
4bd7df8b 496 "maxLength" : 18,
44660702
DM
497 "minLength" : 2,
498 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
499 "type" : "string"
500 },
501 "rename" : {
502 "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 503 "maxLength" : 18,
44660702
DM
504 "minLength" : 2,
505 "optional" : 1,
506 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
507 "type" : "string"
508 }
509 }
510 },
511 "permissions" : {
512 "check" : [
513 "perm",
514 "/",
515 [
516 "Sys.Modify"
517 ]
518 ]
519 },
520 "protected" : 1,
521 "returns" : {
522 "type" : "null"
523 }
524 }
525 },
526 "leaf" : 0,
527 "path" : "/cluster/firewall/groups",
528 "text" : "groups"
529 },
530 {
531 "children" : [
532 {
533 "info" : {
7aacca6f 534 "DELETE" : {
44660702
DM
535 "description" : "Delete rule.",
536 "method" : "DELETE",
537 "name" : "delete_rule",
538 "parameters" : {
539 "additionalProperties" : 0,
540 "properties" : {
541 "digest" : {
542 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
543 "maxLength" : 40,
544 "optional" : 1,
545 "type" : "string"
546 },
547 "pos" : {
548 "description" : "Update rule at position <pos>.",
549 "minimum" : 0,
550 "optional" : 1,
4bd7df8b 551 "type" : "integer",
2c0dde61 552 "typetext" : "integer (0 - N)"
44660702
DM
553 }
554 }
555 },
56122987
DM
556 "permissions" : {
557 "check" : [
558 "perm",
559 "/",
560 [
7aacca6f 561 "Sys.Modify"
56122987
DM
562 ]
563 ]
564 },
44660702 565 "protected" : 1,
56122987
DM
566 "proxyto" : null,
567 "returns" : {
7aacca6f 568 "type" : "null"
44660702
DM
569 }
570 },
571 "GET" : {
572 "description" : "Get single rule data.",
573 "method" : "GET",
574 "name" : "get_rule",
56122987
DM
575 "parameters" : {
576 "additionalProperties" : 0,
577 "properties" : {
578 "pos" : {
7aacca6f 579 "description" : "Update rule at position <pos>.",
44660702 580 "minimum" : 0,
56122987 581 "optional" : 1,
4bd7df8b 582 "type" : "integer",
2c0dde61 583 "typetext" : "integer (0 - N)"
7aacca6f
DM
584 }
585 }
586 },
7aacca6f
DM
587 "permissions" : {
588 "check" : [
589 "perm",
590 "/",
591 [
592 "Sys.Audit"
593 ]
594 ]
56122987 595 },
44660702
DM
596 "proxyto" : null,
597 "returns" : {
7aacca6f 598 "properties" : {
44660702
DM
599 "pos" : {
600 "type" : "integer"
7aacca6f 601 }
44660702
DM
602 },
603 "type" : "object"
604 }
56122987 605 },
44660702
DM
606 "PUT" : {
607 "description" : "Modify rule data.",
608 "method" : "PUT",
609 "name" : "update_rule",
7aacca6f
DM
610 "parameters" : {
611 "additionalProperties" : 0,
612 "properties" : {
44660702
DM
613 "action" : {
614 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
615 "maxLength" : 20,
616 "minLength" : 2,
617 "optional" : 1,
618 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
619 "type" : "string"
7aacca6f 620 },
44660702 621 "comment" : {
e94f0d56 622 "description" : "Descriptive comment.",
44660702
DM
623 "optional" : 1,
624 "type" : "string"
7aacca6f 625 },
44660702
DM
626 "delete" : {
627 "description" : "A list of settings you want to delete.",
628 "format" : "pve-configid-list",
629 "optional" : 1,
630 "type" : "string"
631 },
632 "dest" : {
633 "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.",
634 "format" : "pve-fw-addr-spec",
635 "optional" : 1,
636 "type" : "string"
637 },
638 "digest" : {
639 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
640 "maxLength" : 40,
641 "optional" : 1,
642 "type" : "string"
643 },
644 "dport" : {
645 "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.",
646 "format" : "pve-fw-dport-spec",
647 "optional" : 1,
648 "type" : "string"
649 },
650 "enable" : {
e94f0d56 651 "description" : "Flag to enable/disable a rule.",
44660702
DM
652 "minimum" : 0,
653 "optional" : 1,
4bd7df8b 654 "type" : "integer",
2c0dde61 655 "typetext" : "integer (0 - N)"
44660702
DM
656 },
657 "iface" : {
658 "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.",
659 "format" : "pve-iface",
660 "maxLength" : 20,
7aacca6f 661 "minLength" : 2,
44660702
DM
662 "optional" : 1,
663 "type" : "string"
7aacca6f 664 },
44660702 665 "macro" : {
e94f0d56 666 "description" : "Use predefined standard macro.",
44660702
DM
667 "maxLength" : 128,
668 "optional" : 1,
669 "type" : "string"
670 },
671 "moveto" : {
672 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
673 "minimum" : 0,
674 "optional" : 1,
4bd7df8b 675 "type" : "integer",
2c0dde61 676 "typetext" : "integer (0 - N)"
44660702
DM
677 },
678 "pos" : {
679 "description" : "Update rule at position <pos>.",
680 "minimum" : 0,
681 "optional" : 1,
4bd7df8b 682 "type" : "integer",
2c0dde61 683 "typetext" : "integer (0 - N)"
44660702
DM
684 },
685 "proto" : {
686 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
687 "format" : "pve-fw-protocol-spec",
688 "optional" : 1,
689 "type" : "string"
690 },
691 "source" : {
692 "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.",
693 "format" : "pve-fw-addr-spec",
694 "optional" : 1,
695 "type" : "string"
696 },
697 "sport" : {
698 "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.",
699 "format" : "pve-fw-sport-spec",
700 "optional" : 1,
701 "type" : "string"
702 },
703 "type" : {
e94f0d56 704 "description" : "Rule type.",
44660702
DM
705 "enum" : [
706 "in",
707 "out",
708 "group"
709 ],
710 "optional" : 1,
711 "type" : "string"
7aacca6f 712 }
56122987
DM
713 }
714 },
7aacca6f
DM
715 "permissions" : {
716 "check" : [
717 "perm",
718 "/",
719 [
720 "Sys.Modify"
721 ]
722 ]
723 },
44660702
DM
724 "protected" : 1,
725 "proxyto" : null,
726 "returns" : {
727 "type" : "null"
728 }
7aacca6f 729 }
56122987 730 },
44660702
DM
731 "leaf" : 1,
732 "path" : "/cluster/firewall/rules/{pos}",
733 "text" : "{pos}"
7aacca6f
DM
734 }
735 ],
7aacca6f 736 "info" : {
44660702
DM
737 "GET" : {
738 "description" : "List rules.",
739 "method" : "GET",
740 "name" : "get_rules",
7aacca6f 741 "parameters" : {
44660702 742 "additionalProperties" : 0
7aacca6f
DM
743 },
744 "permissions" : {
745 "check" : [
746 "perm",
747 "/",
748 [
44660702 749 "Sys.Audit"
7aacca6f
DM
750 ]
751 ]
752 },
44660702 753 "proxyto" : null,
7aacca6f 754 "returns" : {
7aacca6f
DM
755 "items" : {
756 "properties" : {
44660702
DM
757 "pos" : {
758 "type" : "integer"
7aacca6f
DM
759 }
760 },
761 "type" : "object"
56122987 762 },
7aacca6f
DM
763 "links" : [
764 {
44660702 765 "href" : "{pos}",
7aacca6f
DM
766 "rel" : "child"
767 }
44660702
DM
768 ],
769 "type" : "array"
7aacca6f 770 }
44660702 771 },
7aacca6f 772 "POST" : {
44660702 773 "description" : "Create new rule.",
7aacca6f 774 "method" : "POST",
44660702 775 "name" : "create_rule",
7aacca6f
DM
776 "parameters" : {
777 "additionalProperties" : 0,
778 "properties" : {
44660702
DM
779 "action" : {
780 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
781 "maxLength" : 20,
7aacca6f 782 "minLength" : 2,
44660702
DM
783 "optional" : 0,
784 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
785 "type" : "string"
7aacca6f
DM
786 },
787 "comment" : {
e94f0d56 788 "description" : "Descriptive comment.",
7aacca6f
DM
789 "optional" : 1,
790 "type" : "string"
44660702
DM
791 },
792 "dest" : {
793 "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.",
794 "format" : "pve-fw-addr-spec",
795 "optional" : 1,
796 "type" : "string"
797 },
798 "digest" : {
799 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
800 "maxLength" : 40,
801 "optional" : 1,
802 "type" : "string"
803 },
804 "dport" : {
805 "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.",
806 "format" : "pve-fw-dport-spec",
807 "optional" : 1,
808 "type" : "string"
809 },
810 "enable" : {
e94f0d56 811 "description" : "Flag to enable/disable a rule.",
44660702
DM
812 "minimum" : 0,
813 "optional" : 1,
4bd7df8b 814 "type" : "integer",
2c0dde61 815 "typetext" : "integer (0 - N)"
44660702
DM
816 },
817 "iface" : {
818 "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.",
819 "format" : "pve-iface",
820 "maxLength" : 20,
821 "minLength" : 2,
822 "optional" : 1,
823 "type" : "string"
824 },
825 "macro" : {
e94f0d56 826 "description" : "Use predefined standard macro.",
44660702
DM
827 "maxLength" : 128,
828 "optional" : 1,
829 "type" : "string"
830 },
831 "pos" : {
832 "description" : "Update rule at position <pos>.",
833 "minimum" : 0,
834 "optional" : 1,
4bd7df8b 835 "type" : "integer",
2c0dde61 836 "typetext" : "integer (0 - N)"
44660702
DM
837 },
838 "proto" : {
839 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
840 "format" : "pve-fw-protocol-spec",
841 "optional" : 1,
842 "type" : "string"
843 },
844 "source" : {
845 "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.",
846 "format" : "pve-fw-addr-spec",
847 "optional" : 1,
848 "type" : "string"
849 },
850 "sport" : {
851 "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.",
852 "format" : "pve-fw-sport-spec",
853 "optional" : 1,
854 "type" : "string"
855 },
856 "type" : {
e94f0d56 857 "description" : "Rule type.",
44660702
DM
858 "enum" : [
859 "in",
860 "out",
861 "group"
862 ],
863 "optional" : 0,
864 "type" : "string"
7aacca6f
DM
865 }
866 }
867 },
868 "permissions" : {
869 "check" : [
870 "perm",
871 "/",
872 [
873 "Sys.Modify"
874 ]
875 ]
876 },
44660702
DM
877 "protected" : 1,
878 "proxyto" : null,
7aacca6f 879 "returns" : {
44660702
DM
880 "type" : "null"
881 }
882 }
883 },
884 "leaf" : 0,
885 "path" : "/cluster/firewall/rules",
886 "text" : "rules"
887 },
888 {
889 "children" : [
890 {
891 "children" : [
892 {
893 "info" : {
894 "DELETE" : {
895 "description" : "Remove IP or Network from IPSet.",
896 "method" : "DELETE",
897 "name" : "remove_ip",
898 "parameters" : {
899 "additionalProperties" : 0,
900 "properties" : {
901 "cidr" : {
902 "description" : "Network/IP specification in CIDR format.",
903 "format" : "IPorCIDRorAlias",
904 "type" : "string"
905 },
906 "digest" : {
907 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
908 "maxLength" : 40,
909 "optional" : 1,
910 "type" : "string"
911 },
912 "name" : {
913 "description" : "IP set name.",
914 "maxLength" : 64,
915 "minLength" : 2,
916 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
917 "type" : "string"
918 }
919 }
920 },
921 "permissions" : {
922 "check" : [
923 "perm",
924 "/",
925 [
926 "Sys.Modify"
927 ]
928 ]
929 },
930 "protected" : 1,
931 "returns" : {
932 "type" : "null"
933 }
7aacca6f 934 },
44660702
DM
935 "GET" : {
936 "description" : "Read IP or Network settings from IPSet.",
937 "method" : "GET",
938 "name" : "read_ip",
939 "parameters" : {
940 "additionalProperties" : 0,
941 "properties" : {
942 "cidr" : {
943 "description" : "Network/IP specification in CIDR format.",
944 "format" : "IPorCIDRorAlias",
945 "type" : "string"
946 },
947 "name" : {
948 "description" : "IP set name.",
949 "maxLength" : 64,
950 "minLength" : 2,
951 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
952 "type" : "string"
953 }
954 }
955 },
956 "permissions" : {
957 "check" : [
958 "perm",
959 "/",
960 [
961 "Sys.Audit"
962 ]
963 ]
964 },
965 "protected" : 1,
966 "returns" : {
967 "type" : "object"
968 }
7aacca6f 969 },
44660702
DM
970 "PUT" : {
971 "description" : "Update IP or Network settings",
972 "method" : "PUT",
973 "name" : "update_ip",
974 "parameters" : {
975 "additionalProperties" : 0,
976 "properties" : {
977 "cidr" : {
978 "description" : "Network/IP specification in CIDR format.",
979 "format" : "IPorCIDRorAlias",
980 "type" : "string"
981 },
982 "comment" : {
983 "optional" : 1,
984 "type" : "string"
985 },
986 "digest" : {
987 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
988 "maxLength" : 40,
989 "optional" : 1,
990 "type" : "string"
991 },
992 "name" : {
993 "description" : "IP set name.",
994 "maxLength" : 64,
995 "minLength" : 2,
996 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
997 "type" : "string"
998 },
999 "nomatch" : {
1000 "optional" : 1,
1001 "type" : "boolean"
1002 }
1003 }
1004 },
1005 "permissions" : {
1006 "check" : [
1007 "perm",
1008 "/",
1009 [
1010 "Sys.Modify"
1011 ]
1012 ]
1013 },
1014 "protected" : 1,
1015 "returns" : {
1016 "type" : "null"
1017 }
7aacca6f
DM
1018 }
1019 },
44660702
DM
1020 "leaf" : 1,
1021 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1022 "text" : "{cidr}"
7aacca6f 1023 }
44660702 1024 ],
7aacca6f
DM
1025 "info" : {
1026 "DELETE" : {
44660702
DM
1027 "description" : "Delete IPSet",
1028 "method" : "DELETE",
1029 "name" : "delete_ipset",
56122987 1030 "parameters" : {
44660702 1031 "additionalProperties" : 0,
56122987
DM
1032 "properties" : {
1033 "name" : {
44660702 1034 "description" : "IP set name.",
56122987 1035 "maxLength" : 64,
44660702 1036 "minLength" : 2,
56122987 1037 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1038 "type" : "string"
56122987 1039 }
44660702 1040 }
7aacca6f 1041 },
56122987
DM
1042 "permissions" : {
1043 "check" : [
1044 "perm",
1045 "/",
1046 [
1047 "Sys.Modify"
1048 ]
1049 ]
1050 },
7aacca6f
DM
1051 "protected" : 1,
1052 "returns" : {
1053 "type" : "null"
44660702 1054 }
7aacca6f 1055 },
44660702
DM
1056 "GET" : {
1057 "description" : "List IPSet content",
1058 "method" : "GET",
1059 "name" : "get_ipset",
56122987
DM
1060 "parameters" : {
1061 "additionalProperties" : 0,
1062 "properties" : {
7aacca6f 1063 "name" : {
44660702 1064 "description" : "IP set name.",
7aacca6f 1065 "maxLength" : 64,
7aacca6f 1066 "minLength" : 2,
44660702 1067 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1068 "type" : "string"
56122987 1069 }
7aacca6f 1070 }
56122987 1071 },
56122987
DM
1072 "permissions" : {
1073 "check" : [
1074 "perm",
1075 "/",
1076 [
44660702 1077 "Sys.Audit"
56122987
DM
1078 ]
1079 ]
44660702
DM
1080 },
1081 "returns" : {
1082 "items" : {
1083 "properties" : {
1084 "cidr" : {
1085 "type" : "string"
1086 },
1087 "comment" : {
1088 "optional" : 1,
1089 "type" : "string"
1090 },
1091 "digest" : {
1092 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1093 "maxLength" : 40,
1094 "optional" : 0,
1095 "type" : "string"
1096 },
1097 "nomatch" : {
1098 "optional" : 1,
1099 "type" : "boolean"
1100 }
1101 },
1102 "type" : "object"
1103 },
1104 "links" : [
1105 {
1106 "href" : "{cidr}",
1107 "rel" : "child"
1108 }
1109 ],
1110 "type" : "array"
7aacca6f
DM
1111 }
1112 },
44660702
DM
1113 "POST" : {
1114 "description" : "Add IP or Network to IPSet.",
1115 "method" : "POST",
1116 "name" : "create_ip",
56122987
DM
1117 "parameters" : {
1118 "additionalProperties" : 0,
1119 "properties" : {
44660702
DM
1120 "cidr" : {
1121 "description" : "Network/IP specification in CIDR format.",
1122 "format" : "IPorCIDRorAlias",
1123 "type" : "string"
1124 },
1125 "comment" : {
1126 "optional" : 1,
1127 "type" : "string"
1128 },
1129 "name" : {
1130 "description" : "IP set name.",
1131 "maxLength" : 64,
1132 "minLength" : 2,
1133 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1134 "type" : "string"
1135 },
1136 "nomatch" : {
1137 "optional" : 1,
1138 "type" : "boolean"
56122987
DM
1139 }
1140 }
1141 },
56122987
DM
1142 "permissions" : {
1143 "check" : [
1144 "perm",
1145 "/",
1146 [
44660702 1147 "Sys.Modify"
56122987
DM
1148 ]
1149 ]
1150 },
44660702 1151 "protected" : 1,
56122987 1152 "returns" : {
44660702
DM
1153 "type" : "null"
1154 }
56122987
DM
1155 }
1156 },
44660702
DM
1157 "leaf" : 0,
1158 "path" : "/cluster/firewall/ipset/{name}",
1159 "text" : "{name}"
56122987
DM
1160 }
1161 ],
56122987 1162 "info" : {
44660702
DM
1163 "GET" : {
1164 "description" : "List IPSets",
1165 "method" : "GET",
1166 "name" : "ipset_index",
56122987 1167 "parameters" : {
7aacca6f 1168 "additionalProperties" : 0
56122987 1169 },
56122987
DM
1170 "permissions" : {
1171 "check" : [
1172 "perm",
1173 "/",
1174 [
7aacca6f 1175 "Sys.Audit"
56122987
DM
1176 ]
1177 ]
1178 },
56122987
DM
1179 "returns" : {
1180 "items" : {
1181 "properties" : {
44660702
DM
1182 "comment" : {
1183 "optional" : 1,
1184 "type" : "string"
56122987 1185 },
44660702
DM
1186 "digest" : {
1187 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1188 "maxLength" : 40,
1189 "optional" : 0,
1190 "type" : "string"
1191 },
1192 "name" : {
1193 "description" : "IP set name.",
1194 "maxLength" : 64,
1195 "minLength" : 2,
1196 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1197 "type" : "string"
56122987
DM
1198 }
1199 },
1200 "type" : "object"
44660702
DM
1201 },
1202 "links" : [
1203 {
1204 "href" : "{name}",
1205 "rel" : "child"
1206 }
1207 ],
1208 "type" : "array"
56122987 1209 }
44660702
DM
1210 },
1211 "POST" : {
1212 "description" : "Create new IPSet",
1213 "method" : "POST",
1214 "name" : "create_ipset",
7aacca6f
DM
1215 "parameters" : {
1216 "additionalProperties" : 0,
1217 "properties" : {
44660702
DM
1218 "comment" : {
1219 "optional" : 1,
1220 "type" : "string"
1221 },
1222 "digest" : {
1223 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1224 "maxLength" : 40,
1225 "optional" : 1,
1226 "type" : "string"
1227 },
1228 "name" : {
1229 "description" : "IP set name.",
1230 "maxLength" : 64,
1231 "minLength" : 2,
1232 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1233 "type" : "string"
1234 },
1235 "rename" : {
1236 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1237 "maxLength" : 64,
1238 "minLength" : 2,
1239 "optional" : 1,
1240 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1241 "type" : "string"
7aacca6f
DM
1242 }
1243 }
1244 },
56122987
DM
1245 "permissions" : {
1246 "check" : [
1247 "perm",
1248 "/",
1249 [
44660702 1250 "Sys.Modify"
56122987
DM
1251 ]
1252 ]
1253 },
44660702 1254 "protected" : 1,
56122987 1255 "returns" : {
44660702
DM
1256 "type" : "null"
1257 }
56122987 1258 }
7aacca6f 1259 },
44660702
DM
1260 "leaf" : 0,
1261 "path" : "/cluster/firewall/ipset",
1262 "text" : "ipset"
1263 },
56122987 1264 {
44660702
DM
1265 "children" : [
1266 {
1267 "info" : {
1268 "DELETE" : {
1269 "description" : "Remove IP or Network alias.",
1270 "method" : "DELETE",
1271 "name" : "remove_alias",
1272 "parameters" : {
1273 "additionalProperties" : 0,
1274 "properties" : {
1275 "digest" : {
1276 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1277 "maxLength" : 40,
1278 "optional" : 1,
1279 "type" : "string"
1280 },
1281 "name" : {
1282 "description" : "Alias name.",
1283 "maxLength" : 64,
1284 "minLength" : 2,
1285 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1286 "type" : "string"
1287 }
1288 }
1289 },
1290 "permissions" : {
1291 "check" : [
1292 "perm",
1293 "/",
1294 [
1295 "Sys.Modify"
1296 ]
1297 ]
1298 },
1299 "protected" : 1,
1300 "returns" : {
1301 "type" : "null"
1302 }
1303 },
1304 "GET" : {
1305 "description" : "Read alias.",
1306 "method" : "GET",
1307 "name" : "read_alias",
1308 "parameters" : {
1309 "additionalProperties" : 0,
1310 "properties" : {
1311 "name" : {
1312 "description" : "Alias name.",
1313 "maxLength" : 64,
1314 "minLength" : 2,
1315 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1316 "type" : "string"
1317 }
1318 }
1319 },
1320 "permissions" : {
1321 "check" : [
1322 "perm",
1323 "/",
1324 [
1325 "Sys.Audit"
1326 ]
1327 ]
1328 },
1329 "returns" : {
1330 "type" : "object"
1331 }
1332 },
1333 "PUT" : {
1334 "description" : "Update IP or Network alias.",
1335 "method" : "PUT",
1336 "name" : "update_alias",
1337 "parameters" : {
1338 "additionalProperties" : 0,
1339 "properties" : {
1340 "cidr" : {
1341 "description" : "Network/IP specification in CIDR format.",
1342 "format" : "IPorCIDR",
1343 "type" : "string"
1344 },
1345 "comment" : {
1346 "optional" : 1,
1347 "type" : "string"
1348 },
1349 "digest" : {
1350 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1351 "maxLength" : 40,
1352 "optional" : 1,
1353 "type" : "string"
1354 },
1355 "name" : {
1356 "description" : "Alias name.",
1357 "maxLength" : 64,
1358 "minLength" : 2,
1359 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1360 "type" : "string"
1361 },
1362 "rename" : {
1363 "description" : "Rename an existing alias.",
1364 "maxLength" : 64,
1365 "minLength" : 2,
1366 "optional" : 1,
1367 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1368 "type" : "string"
1369 }
1370 }
1371 },
1372 "permissions" : {
1373 "check" : [
1374 "perm",
1375 "/",
1376 [
1377 "Sys.Modify"
1378 ]
1379 ]
1380 },
1381 "protected" : 1,
1382 "returns" : {
1383 "type" : "null"
1384 }
1385 }
1386 },
1387 "leaf" : 1,
1388 "path" : "/cluster/firewall/aliases/{name}",
1389 "text" : "{name}"
1390 }
1391 ],
1392 "info" : {
1393 "GET" : {
1394 "description" : "List aliases",
1395 "method" : "GET",
1396 "name" : "get_aliases",
1397 "parameters" : {
1398 "additionalProperties" : 0
1399 },
1400 "permissions" : {
1401 "check" : [
1402 "perm",
1403 "/",
1404 [
1405 "Sys.Audit"
1406 ]
1407 ]
1408 },
1409 "returns" : {
1410 "items" : {
1411 "properties" : {
1412 "cidr" : {
1413 "type" : "string"
1414 },
1415 "comment" : {
1416 "optional" : 1,
1417 "type" : "string"
1418 },
1419 "digest" : {
1420 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1421 "maxLength" : 40,
1422 "optional" : 0,
1423 "type" : "string"
1424 },
1425 "name" : {
1426 "type" : "string"
1427 }
1428 },
1429 "type" : "object"
1430 },
1431 "links" : [
1432 {
1433 "href" : "{name}",
1434 "rel" : "child"
1435 }
1436 ],
1437 "type" : "array"
1438 }
1439 },
1440 "POST" : {
1441 "description" : "Create IP or Network Alias.",
1442 "method" : "POST",
1443 "name" : "create_alias",
56122987
DM
1444 "parameters" : {
1445 "additionalProperties" : 0,
1446 "properties" : {
44660702
DM
1447 "cidr" : {
1448 "description" : "Network/IP specification in CIDR format.",
1449 "format" : "IPorCIDR",
1450 "type" : "string"
1451 },
1452 "comment" : {
1453 "optional" : 1,
1454 "type" : "string"
1455 },
1456 "name" : {
1457 "description" : "Alias name.",
1458 "maxLength" : 64,
1459 "minLength" : 2,
1460 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1461 "type" : "string"
56122987
DM
1462 }
1463 }
1464 },
56122987
DM
1465 "permissions" : {
1466 "check" : [
1467 "perm",
1468 "/",
1469 [
1470 "Sys.Modify"
1471 ]
1472 ]
1473 },
44660702 1474 "protected" : 1,
56122987
DM
1475 "returns" : {
1476 "type" : "null"
1477 }
44660702
DM
1478 }
1479 },
1480 "leaf" : 0,
1481 "path" : "/cluster/firewall/aliases",
1482 "text" : "aliases"
1483 },
1484 {
1485 "info" : {
1486 "GET" : {
1487 "description" : "Get Firewall options.",
1488 "method" : "GET",
1489 "name" : "get_options",
1490 "parameters" : {
1491 "additionalProperties" : 0
7aacca6f 1492 },
56122987
DM
1493 "permissions" : {
1494 "check" : [
1495 "perm",
1496 "/",
1497 [
44660702 1498 "Sys.Audit"
56122987
DM
1499 ]
1500 ]
1501 },
44660702 1502 "returns" : {
56122987 1503 "properties" : {
44660702
DM
1504 "enable" : {
1505 "description" : "Enable or disable the firewall cluster wide.",
1506 "minimum" : 0,
56122987 1507 "optional" : 1,
7aacca6f 1508 "type" : "integer"
56122987 1509 },
44660702
DM
1510 "policy_in" : {
1511 "description" : "Input policy.",
1512 "enum" : [
1513 "ACCEPT",
1514 "REJECT",
1515 "DROP"
1516 ],
56122987 1517 "optional" : 1,
44660702 1518 "type" : "string"
7aacca6f 1519 },
44660702
DM
1520 "policy_out" : {
1521 "description" : "Output policy.",
1522 "enum" : [
1523 "ACCEPT",
1524 "REJECT",
1525 "DROP"
1526 ],
7aacca6f 1527 "optional" : 1,
44660702
DM
1528 "type" : "string"
1529 }
1530 },
1531 "type" : "object"
1532 }
1533 },
1534 "PUT" : {
1535 "description" : "Set Firewall options.",
1536 "method" : "PUT",
1537 "name" : "set_options",
1538 "parameters" : {
1539 "additionalProperties" : 0,
1540 "properties" : {
1541 "delete" : {
1542 "description" : "A list of settings you want to delete.",
1543 "format" : "pve-configid-list",
56122987 1544 "optional" : 1,
44660702 1545 "type" : "string"
56122987 1546 },
44660702
DM
1547 "digest" : {
1548 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1549 "maxLength" : 40,
56122987 1550 "optional" : 1,
44660702 1551 "type" : "string"
56122987 1552 },
44660702
DM
1553 "enable" : {
1554 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 1555 "minimum" : 0,
56122987 1556 "optional" : 1,
4bd7df8b 1557 "type" : "integer",
2c0dde61 1558 "typetext" : "integer (0 - N)"
56122987 1559 },
44660702
DM
1560 "policy_in" : {
1561 "description" : "Input policy.",
56122987 1562 "enum" : [
44660702
DM
1563 "ACCEPT",
1564 "REJECT",
1565 "DROP"
56122987 1566 ],
56122987 1567 "optional" : 1,
44660702 1568 "type" : "string"
56122987 1569 },
44660702
DM
1570 "policy_out" : {
1571 "description" : "Output policy.",
56122987 1572 "enum" : [
44660702
DM
1573 "ACCEPT",
1574 "REJECT",
1575 "DROP"
56122987 1576 ],
7aacca6f 1577 "optional" : 1,
44660702 1578 "type" : "string"
56122987 1579 }
44660702
DM
1580 }
1581 },
1582 "permissions" : {
1583 "check" : [
1584 "perm",
1585 "/",
1586 [
1587 "Sys.Modify"
1588 ]
1589 ]
7aacca6f
DM
1590 },
1591 "protected" : 1,
44660702
DM
1592 "returns" : {
1593 "type" : "null"
1594 }
1595 }
1596 },
1597 "leaf" : 1,
1598 "path" : "/cluster/firewall/options",
1599 "text" : "options"
1600 },
1601 {
1602 "info" : {
7aacca6f 1603 "GET" : {
44660702 1604 "description" : "List available macros",
7aacca6f 1605 "method" : "GET",
44660702
DM
1606 "name" : "get_macros",
1607 "parameters" : {
1608 "additionalProperties" : 0
7aacca6f 1609 },
44660702
DM
1610 "permissions" : {
1611 "user" : "all"
1612 },
1613 "returns" : {
1614 "items" : {
1615 "properties" : {
1616 "descr" : {
1617 "description" : "More verbose description (if available).",
1618 "type" : "string"
1619 },
1620 "macro" : {
1621 "description" : "Macro name.",
1622 "type" : "string"
1623 }
1624 },
1625 "type" : "object"
1626 },
1627 "type" : "array"
1628 }
1629 }
1630 },
1631 "leaf" : 1,
1632 "path" : "/cluster/firewall/macros",
1633 "text" : "macros"
1634 },
1635 {
1636 "info" : {
1637 "GET" : {
1638 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
1639 "method" : "GET",
1640 "name" : "refs",
7aacca6f 1641 "parameters" : {
44660702 1642 "additionalProperties" : 0,
7aacca6f 1643 "properties" : {
44660702
DM
1644 "type" : {
1645 "description" : "Only list references of specified type.",
1646 "enum" : [
1647 "alias",
1648 "ipset"
1649 ],
1650 "optional" : 1,
1651 "type" : "string"
7aacca6f 1652 }
44660702 1653 }
7aacca6f
DM
1654 },
1655 "permissions" : {
1656 "check" : [
1657 "perm",
1658 "/",
1659 [
1660 "Sys.Audit"
1661 ]
1662 ]
1663 },
44660702
DM
1664 "returns" : {
1665 "items" : {
1666 "properties" : {
1667 "comment" : {
1668 "optional" : 1,
1669 "type" : "string"
1670 },
1671 "name" : {
1672 "type" : "string"
1673 },
1674 "ref" : {
1675 "type" : "string"
1676 },
1677 "type" : {
1678 "enum" : [
1679 "alias",
1680 "ipset"
1681 ],
1682 "type" : "string"
1683 }
1684 },
1685 "type" : "object"
1686 },
1687 "type" : "array"
1688 }
56122987
DM
1689 }
1690 },
7aacca6f 1691 "leaf" : 1,
44660702
DM
1692 "path" : "/cluster/firewall/refs",
1693 "text" : "refs"
56122987
DM
1694 }
1695 ],
56122987 1696 "info" : {
44660702
DM
1697 "GET" : {
1698 "description" : "Directory index.",
1699 "method" : "GET",
1700 "name" : "index",
56122987 1701 "parameters" : {
56122987
DM
1702 "additionalProperties" : 0
1703 },
44660702
DM
1704 "permissions" : {
1705 "user" : "all"
1706 },
56122987 1707 "returns" : {
44660702
DM
1708 "items" : {
1709 "properties" : {},
1710 "type" : "object"
1711 },
7aacca6f
DM
1712 "links" : [
1713 {
44660702
DM
1714 "href" : "{name}",
1715 "rel" : "child"
7aacca6f
DM
1716 }
1717 ],
7aacca6f 1718 "type" : "array"
7aacca6f 1719 }
56122987
DM
1720 }
1721 },
44660702
DM
1722 "leaf" : 0,
1723 "path" : "/cluster/firewall",
1724 "text" : "firewall"
7aacca6f
DM
1725 },
1726 {
56122987
DM
1727 "children" : [
1728 {
56122987 1729 "info" : {
44660702
DM
1730 "DELETE" : {
1731 "description" : "Delete vzdump backup job definition.",
1732 "method" : "DELETE",
1733 "name" : "delete_job",
1734 "parameters" : {
1735 "additionalProperties" : 0,
1736 "properties" : {
1737 "id" : {
1738 "description" : "The job ID.",
1739 "maxLength" : 50,
1740 "type" : "string"
1741 }
1742 }
1743 },
1744 "permissions" : {
1745 "check" : [
1746 "perm",
1747 "/",
1748 [
1749 "Sys.Modify"
1750 ]
1751 ]
1752 },
1753 "protected" : 1,
56122987
DM
1754 "returns" : {
1755 "type" : "null"
44660702
DM
1756 }
1757 },
1758 "GET" : {
1759 "description" : "Read vzdump backup job definition.",
1760 "method" : "GET",
1761 "name" : "read_job",
1762 "parameters" : {
1763 "additionalProperties" : 0,
1764 "properties" : {
1765 "id" : {
1766 "description" : "The job ID.",
1767 "maxLength" : 50,
1768 "type" : "string"
1769 }
1770 }
56122987 1771 },
7aacca6f
DM
1772 "permissions" : {
1773 "check" : [
1774 "perm",
1775 "/",
1776 [
44660702 1777 "Sys.Audit"
7aacca6f
DM
1778 ]
1779 ]
1780 },
44660702
DM
1781 "returns" : {
1782 "type" : "object"
1783 }
1784 },
1785 "PUT" : {
1786 "description" : "Update vzdump backup job definition.",
1787 "method" : "PUT",
1788 "name" : "update_job",
56122987 1789 "parameters" : {
44660702 1790 "additionalProperties" : 0,
56122987 1791 "properties" : {
44660702
DM
1792 "all" : {
1793 "default" : 0,
1794 "description" : "Backup all known guest systems on this host.",
7aacca6f 1795 "optional" : 1,
44660702 1796 "type" : "boolean"
7aacca6f 1797 },
44660702
DM
1798 "bwlimit" : {
1799 "default" : 0,
1800 "description" : "Limit I/O bandwidth (KBytes per second).",
1801 "minimum" : 0,
1802 "optional" : 1,
4bd7df8b 1803 "type" : "integer",
2c0dde61 1804 "typetext" : "integer (0 - N)"
44660702
DM
1805 },
1806 "compress" : {
1807 "default" : "0",
1808 "description" : "Compress dump file.",
7aacca6f 1809 "enum" : [
44660702
DM
1810 "0",
1811 "1",
1812 "gzip",
1813 "lzo"
7aacca6f 1814 ],
44660702
DM
1815 "optional" : 1,
1816 "type" : "string"
7aacca6f 1817 },
44660702
DM
1818 "delete" : {
1819 "description" : "A list of settings you want to delete.",
1820 "format" : "pve-configid-list",
7aacca6f 1821 "optional" : 1,
44660702 1822 "type" : "string"
56122987 1823 },
44660702
DM
1824 "dow" : {
1825 "description" : "Day of week selection.",
1826 "format" : "pve-day-of-week-list",
7aacca6f 1827 "optional" : 1,
44660702 1828 "type" : "string"
56122987 1829 },
44660702
DM
1830 "dumpdir" : {
1831 "description" : "Store resulting files to specified directory.",
56122987 1832 "optional" : 1,
44660702 1833 "type" : "string"
56122987 1834 },
44660702
DM
1835 "enabled" : {
1836 "default" : "1",
1837 "description" : "Enable or disable the job.",
1838 "optional" : 1,
1839 "type" : "boolean"
1840 },
1841 "exclude" : {
1842 "description" : "Exclude specified guest systems (assumes --all)",
1843 "format" : "pve-vmid-list",
1844 "optional" : 1,
1845 "type" : "string"
1846 },
1847 "exclude-path" : {
1848 "description" : "Exclude certain files/directories (shell globs).",
1849 "format" : "string-alist",
1850 "optional" : 1,
1851 "type" : "string"
1852 },
1853 "id" : {
1854 "description" : "The job ID.",
1855 "maxLength" : 50,
1856 "type" : "string"
1857 },
1858 "ionice" : {
1859 "default" : 7,
1860 "description" : "Set CFQ ionice priority.",
1861 "maximum" : 8,
1862 "minimum" : 0,
1863 "optional" : 1,
4bd7df8b 1864 "type" : "integer",
2c0dde61 1865 "typetext" : "integer (0 - 8)"
44660702
DM
1866 },
1867 "lockwait" : {
1868 "default" : 180,
1869 "description" : "Maximal time to wait for the global lock (minutes).",
1870 "minimum" : 0,
1871 "optional" : 1,
4bd7df8b 1872 "type" : "integer",
2c0dde61 1873 "typetext" : "integer (0 - N)"
44660702
DM
1874 },
1875 "mailnotification" : {
1876 "default" : "always",
1877 "description" : "Specify when to send an email",
56122987 1878 "enum" : [
44660702
DM
1879 "always",
1880 "failure"
56122987 1881 ],
44660702
DM
1882 "optional" : 1,
1883 "type" : "string"
1884 },
1885 "mailto" : {
1886 "description" : "Comma-separated list of email addresses that should receive email notifications.",
1887 "format" : "string-list",
1888 "optional" : 1,
1889 "type" : "string"
1890 },
1891 "maxfiles" : {
1892 "default" : 1,
1893 "description" : "Maximal number of backup files per guest system.",
1894 "minimum" : 1,
1895 "optional" : 1,
4bd7df8b 1896 "type" : "integer",
2c0dde61 1897 "typetext" : "integer (1 - N)"
44660702
DM
1898 },
1899 "mode" : {
1900 "default" : "snapshot",
1901 "description" : "Backup mode.",
1902 "enum" : [
1903 "snapshot",
1904 "suspend",
1905 "stop"
1906 ],
1907 "optional" : 1,
1908 "type" : "string"
1909 },
1910 "node" : {
1911 "description" : "Only run if executed on this node.",
1912 "format" : "pve-node",
1913 "optional" : 1,
1914 "type" : "string"
1915 },
1916 "pigz" : {
1917 "default" : 0,
1918 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
1919 "optional" : 1,
1920 "type" : "integer"
1921 },
1922 "quiet" : {
1923 "default" : 0,
1924 "description" : "Be quiet.",
1925 "optional" : 1,
1926 "type" : "boolean"
1927 },
1928 "remove" : {
1929 "default" : 1,
1930 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
1931 "optional" : 1,
1932 "type" : "boolean"
1933 },
1934 "script" : {
1935 "description" : "Use specified hook script.",
1936 "optional" : 1,
1937 "type" : "string"
1938 },
1939 "size" : {
1940 "default" : 1024,
1941 "description" : "Unused, will be removed in a future release.",
1942 "minimum" : 500,
1943 "optional" : 1,
4bd7df8b 1944 "type" : "integer",
2c0dde61 1945 "typetext" : "integer (500 - N)"
44660702
DM
1946 },
1947 "starttime" : {
1948 "description" : "Job Start time.",
1949 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 1950 "type" : "string",
44660702 1951 "typetext" : "HH:MM"
7aacca6f 1952 },
44660702
DM
1953 "stdexcludes" : {
1954 "default" : 1,
1955 "description" : "Exclude temporary files and logs.",
1956 "optional" : 1,
1957 "type" : "boolean"
1958 },
1959 "stop" : {
1960 "default" : 0,
1961 "description" : "Stop runnig backup jobs on this host.",
1962 "optional" : 1,
1963 "type" : "boolean"
1964 },
1965 "stopwait" : {
1966 "default" : 10,
1967 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
1968 "minimum" : 0,
1969 "optional" : 1,
4bd7df8b 1970 "type" : "integer",
2c0dde61 1971 "typetext" : "integer (0 - N)"
44660702
DM
1972 },
1973 "storage" : {
1974 "description" : "Store resulting file to this storage.",
1975 "format" : "pve-storage-id",
1976 "optional" : 1,
7aacca6f 1977 "type" : "string"
56122987 1978 },
44660702
DM
1979 "tmpdir" : {
1980 "description" : "Store temporary files to specified directory.",
1981 "optional" : 1,
1982 "type" : "string"
1983 },
1984 "vmid" : {
1985 "description" : "The ID of the guest system you want to backup.",
1986 "format" : "pve-vmid-list",
1987 "optional" : 1,
1988 "type" : "string"
56122987 1989 }
44660702 1990 }
56122987
DM
1991 },
1992 "permissions" : {
1993 "check" : [
1994 "perm",
1995 "/",
1996 [
44660702 1997 "Sys.Modify"
56122987
DM
1998 ]
1999 ]
2000 },
44660702
DM
2001 "protected" : 1,
2002 "returns" : {
2003 "type" : "null"
7aacca6f 2004 }
56122987
DM
2005 }
2006 },
44660702
DM
2007 "leaf" : 1,
2008 "path" : "/cluster/backup/{id}",
2009 "text" : "{id}"
2010 }
2011 ],
2012 "info" : {
2013 "GET" : {
2014 "description" : "List vzdump backup schedule.",
2015 "method" : "GET",
2016 "name" : "index",
2017 "parameters" : {
2018 "additionalProperties" : 0
2019 },
2020 "permissions" : {
2021 "check" : [
2022 "perm",
2023 "/",
2024 [
2025 "Sys.Audit"
2026 ]
2027 ]
2028 },
2029 "returns" : {
2030 "items" : {
2031 "properties" : {
2032 "id" : {
2033 "type" : "string"
2034 }
2035 },
2036 "type" : "object"
2037 },
2038 "links" : [
2039 {
2040 "href" : "{id}",
2041 "rel" : "child"
2042 }
2043 ],
2044 "type" : "array"
2045 }
2046 },
2047 "POST" : {
2048 "description" : "Create new vzdump backup job.",
2049 "method" : "POST",
2050 "name" : "create_job",
2051 "parameters" : {
2052 "additionalProperties" : 0,
2053 "properties" : {
2054 "all" : {
2055 "default" : 0,
2056 "description" : "Backup all known guest systems on this host.",
2057 "optional" : 1,
2058 "type" : "boolean"
2059 },
2060 "bwlimit" : {
2061 "default" : 0,
2062 "description" : "Limit I/O bandwidth (KBytes per second).",
2063 "minimum" : 0,
2064 "optional" : 1,
4bd7df8b 2065 "type" : "integer",
2c0dde61 2066 "typetext" : "integer (0 - N)"
44660702
DM
2067 },
2068 "compress" : {
2069 "default" : "0",
2070 "description" : "Compress dump file.",
2071 "enum" : [
2072 "0",
2073 "1",
2074 "gzip",
2075 "lzo"
2076 ],
2077 "optional" : 1,
2078 "type" : "string"
2079 },
2080 "dow" : {
2081 "default" : "mon,tue,wed,thu,fri,sat,sun",
2082 "description" : "Day of week selection.",
2083 "format" : "pve-day-of-week-list",
2084 "optional" : 1,
2085 "type" : "string"
2086 },
2087 "dumpdir" : {
2088 "description" : "Store resulting files to specified directory.",
2089 "optional" : 1,
2090 "type" : "string"
2091 },
2092 "enabled" : {
2093 "default" : "1",
2094 "description" : "Enable or disable the job.",
2095 "optional" : 1,
2096 "type" : "boolean"
2097 },
2098 "exclude" : {
2099 "description" : "Exclude specified guest systems (assumes --all)",
2100 "format" : "pve-vmid-list",
2101 "optional" : 1,
2102 "type" : "string"
2103 },
2104 "exclude-path" : {
2105 "description" : "Exclude certain files/directories (shell globs).",
2106 "format" : "string-alist",
2107 "optional" : 1,
2108 "type" : "string"
2109 },
2110 "ionice" : {
2111 "default" : 7,
2112 "description" : "Set CFQ ionice priority.",
2113 "maximum" : 8,
2114 "minimum" : 0,
2115 "optional" : 1,
4bd7df8b 2116 "type" : "integer",
2c0dde61 2117 "typetext" : "integer (0 - 8)"
44660702
DM
2118 },
2119 "lockwait" : {
2120 "default" : 180,
2121 "description" : "Maximal time to wait for the global lock (minutes).",
2122 "minimum" : 0,
2123 "optional" : 1,
4bd7df8b 2124 "type" : "integer",
2c0dde61 2125 "typetext" : "integer (0 - N)"
44660702
DM
2126 },
2127 "mailnotification" : {
2128 "default" : "always",
2129 "description" : "Specify when to send an email",
2130 "enum" : [
2131 "always",
2132 "failure"
2133 ],
2134 "optional" : 1,
2135 "type" : "string"
2136 },
2137 "mailto" : {
2138 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2139 "format" : "string-list",
2140 "optional" : 1,
2141 "type" : "string"
2142 },
2143 "maxfiles" : {
2144 "default" : 1,
2145 "description" : "Maximal number of backup files per guest system.",
2146 "minimum" : 1,
2147 "optional" : 1,
4bd7df8b 2148 "type" : "integer",
2c0dde61 2149 "typetext" : "integer (1 - N)"
44660702
DM
2150 },
2151 "mode" : {
2152 "default" : "snapshot",
2153 "description" : "Backup mode.",
2154 "enum" : [
2155 "snapshot",
2156 "suspend",
2157 "stop"
2158 ],
2159 "optional" : 1,
2160 "type" : "string"
2161 },
2162 "node" : {
2163 "description" : "Only run if executed on this node.",
2164 "format" : "pve-node",
2165 "optional" : 1,
2166 "type" : "string"
2167 },
2168 "pigz" : {
2169 "default" : 0,
2170 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2171 "optional" : 1,
2172 "type" : "integer"
2173 },
2174 "quiet" : {
2175 "default" : 0,
2176 "description" : "Be quiet.",
2177 "optional" : 1,
2178 "type" : "boolean"
2179 },
2180 "remove" : {
2181 "default" : 1,
2182 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2183 "optional" : 1,
2184 "type" : "boolean"
2185 },
2186 "script" : {
2187 "description" : "Use specified hook script.",
2188 "optional" : 1,
2189 "type" : "string"
2190 },
2191 "size" : {
2192 "default" : 1024,
2193 "description" : "Unused, will be removed in a future release.",
2194 "minimum" : 500,
2195 "optional" : 1,
4bd7df8b 2196 "type" : "integer",
2c0dde61 2197 "typetext" : "integer (500 - N)"
44660702
DM
2198 },
2199 "starttime" : {
2200 "description" : "Job Start time.",
2201 "pattern" : "\\d{1,2}:\\d{1,2}",
2202 "type" : "string",
2203 "typetext" : "HH:MM"
2204 },
2205 "stdexcludes" : {
2206 "default" : 1,
2207 "description" : "Exclude temporary files and logs.",
2208 "optional" : 1,
2209 "type" : "boolean"
2210 },
2211 "stop" : {
2212 "default" : 0,
2213 "description" : "Stop runnig backup jobs on this host.",
2214 "optional" : 1,
2215 "type" : "boolean"
2216 },
2217 "stopwait" : {
2218 "default" : 10,
2219 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2220 "minimum" : 0,
2221 "optional" : 1,
4bd7df8b 2222 "type" : "integer",
2c0dde61 2223 "typetext" : "integer (0 - N)"
44660702
DM
2224 },
2225 "storage" : {
2226 "description" : "Store resulting file to this storage.",
2227 "format" : "pve-storage-id",
2228 "optional" : 1,
2229 "type" : "string"
2230 },
2231 "tmpdir" : {
2232 "description" : "Store temporary files to specified directory.",
2233 "optional" : 1,
2234 "type" : "string"
2235 },
2236 "vmid" : {
2237 "description" : "The ID of the guest system you want to backup.",
2238 "format" : "pve-vmid-list",
2239 "optional" : 1,
2240 "type" : "string"
2241 }
2242 }
2243 },
2244 "permissions" : {
2245 "check" : [
2246 "perm",
2247 "/",
2248 [
2249 "Sys.Modify"
2250 ]
de0983cb
DM
2251 ],
2252 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
2253 },
2254 "protected" : 1,
2255 "returns" : {
2256 "type" : "null"
2257 }
2258 }
2259 },
2260 "leaf" : 0,
2261 "path" : "/cluster/backup",
2262 "text" : "backup"
2263 },
2264 {
2265 "children" : [
2266 {
2267 "children" : [
2268 {
2269 "children" : [
56122987 2270 {
56122987
DM
2271 "info" : {
2272 "POST" : {
44660702
DM
2273 "description" : "Request resource migration (online) to another node.",
2274 "method" : "POST",
2275 "name" : "migrate",
56122987 2276 "parameters" : {
7aacca6f 2277 "additionalProperties" : 0,
56122987
DM
2278 "properties" : {
2279 "node" : {
7aacca6f 2280 "description" : "The cluster node name.",
44660702 2281 "format" : "pve-node",
7aacca6f 2282 "type" : "string"
56122987
DM
2283 },
2284 "sid" : {
44660702 2285 "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 2286 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2287 "type" : "string",
44660702 2288 "typetext" : "<type>:<name>"
56122987 2289 }
7aacca6f 2290 }
56122987 2291 },
56122987
DM
2292 "permissions" : {
2293 "check" : [
2294 "perm",
2295 "/",
2296 [
2297 "Sys.Console"
2298 ]
2299 ]
2300 },
7aacca6f 2301 "protected" : 1,
7aacca6f
DM
2302 "returns" : {
2303 "type" : "null"
44660702 2304 }
56122987 2305 }
44660702
DM
2306 },
2307 "leaf" : 1,
2308 "path" : "/cluster/ha/resources/{sid}/migrate",
2309 "text" : "migrate"
2310 },
2311 {
2312 "info" : {
2313 "POST" : {
2314 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2315 "method" : "POST",
2316 "name" : "relocate",
2317 "parameters" : {
2318 "additionalProperties" : 0,
2319 "properties" : {
2320 "node" : {
2321 "description" : "The cluster node name.",
2322 "format" : "pve-node",
2323 "type" : "string"
2324 },
2325 "sid" : {
2326 "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).",
2327 "format" : "pve-ha-resource-or-vm-id",
2328 "type" : "string",
2329 "typetext" : "<type>:<name>"
2330 }
2331 }
2332 },
2333 "permissions" : {
2334 "check" : [
2335 "perm",
2336 "/",
2337 [
2338 "Sys.Console"
2339 ]
2340 ]
2341 },
2342 "protected" : 1,
2343 "returns" : {
2344 "type" : "null"
2345 }
2346 }
2347 },
2348 "leaf" : 1,
2349 "path" : "/cluster/ha/resources/{sid}/relocate",
2350 "text" : "relocate"
2351 }
2352 ],
2353 "info" : {
2354 "DELETE" : {
2355 "description" : "Delete resource configuration.",
2356 "method" : "DELETE",
2357 "name" : "delete",
7aacca6f 2358 "parameters" : {
44660702 2359 "additionalProperties" : 0,
7aacca6f
DM
2360 "properties" : {
2361 "sid" : {
2362 "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 2363 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2364 "type" : "string",
44660702
DM
2365 "typetext" : "<type>:<name>"
2366 }
2367 }
2368 },
2369 "permissions" : {
2370 "check" : [
2371 "perm",
2372 "/",
2373 [
2374 "Sys.Console"
2375 ]
2376 ]
2377 },
2378 "protected" : 1,
2379 "returns" : {
2380 "type" : "null"
2381 }
2382 },
2383 "GET" : {
2384 "description" : "Read resource configuration.",
2385 "method" : "GET",
2386 "name" : "read",
2387 "parameters" : {
2388 "additionalProperties" : 0,
2389 "properties" : {
2390 "sid" : {
2391 "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 2392 "format" : "pve-ha-resource-or-vm-id",
44660702 2393 "type" : "string",
7aacca6f
DM
2394 "typetext" : "<type>:<name>"
2395 }
44660702 2396 }
7aacca6f
DM
2397 },
2398 "permissions" : {
2399 "check" : [
2400 "perm",
2401 "/",
2402 [
2403 "Sys.Audit"
2404 ]
2405 ]
2406 },
44660702 2407 "returns" : {}
7aacca6f 2408 },
56122987 2409 "PUT" : {
44660702 2410 "description" : "Update resource configuration.",
7aacca6f 2411 "method" : "PUT",
44660702 2412 "name" : "update",
56122987
DM
2413 "parameters" : {
2414 "additionalProperties" : 0,
2415 "properties" : {
44660702
DM
2416 "comment" : {
2417 "description" : "Description.",
2418 "maxLength" : 4096,
56122987 2419 "optional" : 1,
44660702 2420 "type" : "string"
56122987 2421 },
7aacca6f
DM
2422 "delete" : {
2423 "description" : "A list of settings you want to delete.",
7aacca6f 2424 "format" : "pve-configid-list",
44660702
DM
2425 "maxLength" : 4096,
2426 "optional" : 1,
2427 "type" : "string"
56122987 2428 },
44660702
DM
2429 "digest" : {
2430 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2431 "maxLength" : 40,
2432 "optional" : 1,
2433 "type" : "string"
56122987 2434 },
44660702
DM
2435 "group" : {
2436 "description" : "The HA group identifier.",
2437 "format" : "pve-configid",
7aacca6f 2438 "optional" : 1,
44660702 2439 "type" : "string"
56122987
DM
2440 },
2441 "max_relocate" : {
7aacca6f 2442 "default" : 1,
56122987 2443 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
2444 "minimum" : 0,
2445 "optional" : 1,
4bd7df8b 2446 "type" : "integer",
2c0dde61 2447 "typetext" : "integer (0 - N)"
7aacca6f 2448 },
44660702
DM
2449 "max_restart" : {
2450 "default" : 1,
2451 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2452 "minimum" : 0,
7aacca6f 2453 "optional" : 1,
4bd7df8b 2454 "type" : "integer",
2c0dde61 2455 "typetext" : "integer (0 - N)"
44660702
DM
2456 },
2457 "sid" : {
2458 "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).",
2459 "format" : "pve-ha-resource-or-vm-id",
2460 "type" : "string",
2461 "typetext" : "<type>:<name>"
7aacca6f
DM
2462 },
2463 "state" : {
44660702
DM
2464 "default" : "enabled",
2465 "description" : "Resource state.",
7aacca6f
DM
2466 "enum" : [
2467 "enabled",
2468 "disabled"
2469 ],
7aacca6f 2470 "optional" : 1,
44660702 2471 "type" : "string"
56122987 2472 }
44660702
DM
2473 },
2474 "type" : "object"
56122987 2475 },
56122987
DM
2476 "permissions" : {
2477 "check" : [
2478 "perm",
2479 "/",
2480 [
2481 "Sys.Console"
2482 ]
2483 ]
2484 },
7aacca6f 2485 "protected" : 1,
56122987
DM
2486 "returns" : {
2487 "type" : "null"
2488 }
2489 }
2490 },
44660702 2491 "leaf" : 0,
7aacca6f 2492 "path" : "/cluster/ha/resources/{sid}",
44660702 2493 "text" : "{sid}"
56122987
DM
2494 }
2495 ],
7aacca6f
DM
2496 "info" : {
2497 "GET" : {
44660702
DM
2498 "description" : "List HA resources.",
2499 "method" : "GET",
2500 "name" : "index",
7aacca6f 2501 "parameters" : {
44660702
DM
2502 "additionalProperties" : 0,
2503 "properties" : {
2504 "type" : {
2505 "description" : "Only list resources of specific type",
2506 "enum" : [
2507 "ct",
2508 "vm"
2509 ],
2510 "optional" : 1,
2511 "type" : "string"
2512 }
2513 }
7aacca6f 2514 },
7aacca6f
DM
2515 "permissions" : {
2516 "check" : [
2517 "perm",
2518 "/",
2519 [
2520 "Sys.Audit"
2521 ]
2522 ]
2523 },
7aacca6f 2524 "returns" : {
7aacca6f 2525 "items" : {
7aacca6f 2526 "properties" : {
44660702 2527 "sid" : {
7aacca6f
DM
2528 "type" : "string"
2529 }
44660702
DM
2530 },
2531 "type" : "object"
7aacca6f
DM
2532 },
2533 "links" : [
2534 {
44660702 2535 "href" : "{sid}",
7aacca6f
DM
2536 "rel" : "child"
2537 }
44660702
DM
2538 ],
2539 "type" : "array"
7aacca6f
DM
2540 }
2541 },
2542 "POST" : {
44660702 2543 "description" : "Create a new HA resource.",
7aacca6f 2544 "method" : "POST",
44660702 2545 "name" : "create",
7aacca6f 2546 "parameters" : {
44660702 2547 "additionalProperties" : 0,
7aacca6f
DM
2548 "properties" : {
2549 "comment" : {
7aacca6f 2550 "description" : "Description.",
44660702 2551 "maxLength" : 4096,
7aacca6f
DM
2552 "optional" : 1,
2553 "type" : "string"
2554 },
44660702
DM
2555 "group" : {
2556 "description" : "The HA group identifier.",
2557 "format" : "pve-configid",
7aacca6f 2558 "optional" : 1,
44660702 2559 "type" : "string"
7aacca6f 2560 },
44660702
DM
2561 "max_relocate" : {
2562 "default" : 1,
2563 "description" : "Maximal number of service relocate tries when a service failes to start.",
2564 "minimum" : 0,
7aacca6f 2565 "optional" : 1,
4bd7df8b 2566 "type" : "integer",
2c0dde61 2567 "typetext" : "integer (0 - N)"
7aacca6f 2568 },
44660702
DM
2569 "max_restart" : {
2570 "default" : 1,
2571 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2572 "minimum" : 0,
2573 "optional" : 1,
4bd7df8b 2574 "type" : "integer",
2c0dde61 2575 "typetext" : "integer (0 - N)"
44660702
DM
2576 },
2577 "sid" : {
2578 "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).",
2579 "format" : "pve-ha-resource-or-vm-id",
2580 "type" : "string",
2581 "typetext" : "<type>:<name>"
2582 },
2583 "state" : {
2584 "default" : "enabled",
2585 "description" : "Resource state.",
7aacca6f 2586 "enum" : [
44660702
DM
2587 "enabled",
2588 "disabled"
7aacca6f 2589 ],
7aacca6f
DM
2590 "optional" : 1,
2591 "type" : "string"
2592 },
44660702
DM
2593 "type" : {
2594 "description" : "Resource type.",
2595 "enum" : [
2596 "ct",
2597 "vm"
2598 ],
2599 "optional" : 1,
2600 "type" : "string"
2601 }
7aacca6f 2602 },
44660702 2603 "type" : "object"
7aacca6f
DM
2604 },
2605 "permissions" : {
2606 "check" : [
2607 "perm",
2608 "/",
2609 [
2610 "Sys.Console"
2611 ]
2612 ]
2613 },
44660702
DM
2614 "protected" : 1,
2615 "returns" : {
2616 "type" : "null"
2617 }
7aacca6f
DM
2618 }
2619 },
44660702
DM
2620 "leaf" : 0,
2621 "path" : "/cluster/ha/resources",
2622 "text" : "resources"
2623 },
2624 {
56122987
DM
2625 "children" : [
2626 {
56122987 2627 "info" : {
44660702
DM
2628 "DELETE" : {
2629 "description" : "Delete ha group configuration.",
2630 "method" : "DELETE",
2631 "name" : "delete",
56122987 2632 "parameters" : {
7aacca6f 2633 "additionalProperties" : 0,
56122987 2634 "properties" : {
7aacca6f
DM
2635 "group" : {
2636 "description" : "The HA group identifier.",
44660702
DM
2637 "format" : "pve-configid",
2638 "type" : "string"
56122987 2639 }
7aacca6f 2640 }
56122987 2641 },
56122987
DM
2642 "permissions" : {
2643 "check" : [
2644 "perm",
2645 "/",
2646 [
7aacca6f 2647 "Sys.Console"
56122987
DM
2648 ]
2649 ]
2650 },
44660702 2651 "protected" : 1,
7aacca6f
DM
2652 "returns" : {
2653 "type" : "null"
56122987
DM
2654 }
2655 },
44660702
DM
2656 "GET" : {
2657 "description" : "Read ha group configuration.",
2658 "method" : "GET",
2659 "name" : "read",
56122987 2660 "parameters" : {
44660702 2661 "additionalProperties" : 0,
56122987
DM
2662 "properties" : {
2663 "group" : {
2664 "description" : "The HA group identifier.",
44660702
DM
2665 "format" : "pve-configid",
2666 "type" : "string"
56122987 2667 }
44660702 2668 }
56122987 2669 },
56122987
DM
2670 "permissions" : {
2671 "check" : [
2672 "perm",
2673 "/",
2674 [
44660702 2675 "Sys.Audit"
56122987
DM
2676 ]
2677 ]
2678 },
44660702 2679 "returns" : {}
7aacca6f 2680 },
44660702
DM
2681 "PUT" : {
2682 "description" : "Update ha group configuration.",
2683 "method" : "PUT",
2684 "name" : "update",
7aacca6f 2685 "parameters" : {
44660702 2686 "additionalProperties" : 0,
7aacca6f 2687 "properties" : {
44660702
DM
2688 "comment" : {
2689 "description" : "Description.",
2690 "maxLength" : 4096,
2691 "optional" : 1,
2692 "type" : "string"
2693 },
2694 "delete" : {
2695 "description" : "A list of settings you want to delete.",
2696 "format" : "pve-configid-list",
2697 "maxLength" : 4096,
2698 "optional" : 1,
2699 "type" : "string"
2700 },
2701 "digest" : {
2702 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2703 "maxLength" : 40,
2704 "optional" : 1,
2705 "type" : "string"
2706 },
7aacca6f
DM
2707 "group" : {
2708 "description" : "The HA group identifier.",
44660702
DM
2709 "format" : "pve-configid",
2710 "type" : "string"
2711 },
2712 "nodes" : {
2713 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2714 "format" : "pve-ha-group-node-list",
2715 "optional" : 1,
7aacca6f 2716 "type" : "string",
44660702
DM
2717 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2718 },
2719 "nofailback" : {
2720 "default" : 0,
2721 "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.",
2722 "optional" : 1,
2723 "type" : "boolean"
2724 },
2725 "restricted" : {
2726 "default" : 0,
2727 "description" : "Services on unrestricted groups may run on any cluster members 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 one member.",
2728 "optional" : 1,
2729 "type" : "boolean"
7aacca6f
DM
2730 }
2731 },
44660702 2732 "type" : "object"
7aacca6f 2733 },
7aacca6f
DM
2734 "permissions" : {
2735 "check" : [
2736 "perm",
2737 "/",
2738 [
44660702 2739 "Sys.Console"
7aacca6f
DM
2740 ]
2741 ]
2742 },
44660702
DM
2743 "protected" : 1,
2744 "returns" : {
2745 "type" : "null"
2746 }
56122987
DM
2747 }
2748 },
2749 "leaf" : 1,
44660702
DM
2750 "path" : "/cluster/ha/groups/{group}",
2751 "text" : "{group}"
56122987 2752 }
44660702
DM
2753 ],
2754 "info" : {
2755 "GET" : {
2756 "description" : "Get HA groups.",
2757 "method" : "GET",
2758 "name" : "index",
2759 "parameters" : {
2760 "additionalProperties" : 0
2761 },
2762 "permissions" : {
2763 "check" : [
2764 "perm",
2765 "/",
2766 [
2767 "Sys.Audit"
2768 ]
2769 ]
2770 },
2771 "returns" : {
2772 "items" : {
2773 "properties" : {
2774 "group" : {
2775 "type" : "string"
2776 }
2777 },
2778 "type" : "object"
2779 },
2780 "links" : [
2781 {
2782 "href" : "{group}",
2783 "rel" : "child"
2784 }
2785 ],
2786 "type" : "array"
2787 }
2788 },
2789 "POST" : {
2790 "description" : "Create a new HA group.",
2791 "method" : "POST",
2792 "name" : "create",
2793 "parameters" : {
2794 "additionalProperties" : 0,
2795 "properties" : {
2796 "comment" : {
2797 "description" : "Description.",
2798 "maxLength" : 4096,
2799 "optional" : 1,
2800 "type" : "string"
2801 },
2802 "group" : {
2803 "description" : "The HA group identifier.",
2804 "format" : "pve-configid",
2805 "type" : "string"
2806 },
2807 "nodes" : {
2808 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2809 "format" : "pve-ha-group-node-list",
2810 "optional" : 0,
2811 "type" : "string",
2812 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2813 },
2814 "nofailback" : {
2815 "default" : 0,
2816 "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.",
2817 "optional" : 1,
2818 "type" : "boolean"
2819 },
2820 "restricted" : {
2821 "default" : 0,
2822 "description" : "Services on unrestricted groups may run on any cluster members 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 one member.",
2823 "optional" : 1,
2824 "type" : "boolean"
2825 },
2826 "type" : {
2827 "description" : "Group type.",
2828 "enum" : [
2829 "group"
2830 ],
2831 "optional" : 1,
2832 "type" : "string"
2833 }
2834 },
2835 "type" : "object"
2836 },
2837 "permissions" : {
2838 "check" : [
2839 "perm",
2840 "/",
2841 [
2842 "Sys.Console"
2843 ]
2844 ]
2845 },
2846 "protected" : 1,
2847 "returns" : {
2848 "type" : "null"
2849 }
2850 }
2851 },
2852 "leaf" : 0,
2853 "path" : "/cluster/ha/groups",
2854 "text" : "groups"
7aacca6f
DM
2855 },
2856 {
7aacca6f
DM
2857 "children" : [
2858 {
2859 "info" : {
2860 "GET" : {
56122987 2861 "description" : "Get HA manger status.",
44660702 2862 "method" : "GET",
7aacca6f 2863 "name" : "status",
44660702
DM
2864 "parameters" : {
2865 "additionalProperties" : 0
2866 },
56122987
DM
2867 "permissions" : {
2868 "check" : [
2869 "perm",
2870 "/",
2871 [
2872 "Sys.Audit"
2873 ]
2874 ]
7aacca6f 2875 },
44660702
DM
2876 "returns" : {
2877 "type" : "array"
56122987
DM
2878 }
2879 }
7aacca6f 2880 },
7aacca6f 2881 "leaf" : 1,
44660702
DM
2882 "path" : "/cluster/ha/status/current",
2883 "text" : "current"
56122987
DM
2884 },
2885 {
2886 "info" : {
2887 "GET" : {
7aacca6f 2888 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
2889 "method" : "GET",
2890 "name" : "manager_status",
7aacca6f
DM
2891 "parameters" : {
2892 "additionalProperties" : 0
2893 },
56122987
DM
2894 "permissions" : {
2895 "check" : [
2896 "perm",
2897 "/",
2898 [
2899 "Sys.Audit"
2900 ]
2901 ]
44660702
DM
2902 },
2903 "returns" : {
2904 "type" : "object"
7aacca6f 2905 }
56122987
DM
2906 }
2907 },
56122987 2908 "leaf" : 1,
44660702
DM
2909 "path" : "/cluster/ha/status/manager_status",
2910 "text" : "manager_status"
56122987
DM
2911 }
2912 ],
56122987
DM
2913 "info" : {
2914 "GET" : {
44660702 2915 "description" : "Directory index.",
7aacca6f 2916 "method" : "GET",
44660702
DM
2917 "name" : "index",
2918 "parameters" : {
2919 "additionalProperties" : 0
2920 },
2921 "permissions" : {
2922 "user" : "all"
2923 },
56122987 2924 "returns" : {
56122987
DM
2925 "items" : {
2926 "properties" : {},
2927 "type" : "object"
2928 },
2929 "links" : [
2930 {
44660702
DM
2931 "href" : "{name}",
2932 "rel" : "child"
56122987 2933 }
7aacca6f
DM
2934 ],
2935 "type" : "array"
44660702 2936 }
56122987 2937 }
7aacca6f 2938 },
44660702 2939 "leaf" : 0,
7aacca6f 2940 "path" : "/cluster/ha/status",
44660702 2941 "text" : "status"
56122987
DM
2942 }
2943 ],
56122987
DM
2944 "info" : {
2945 "GET" : {
7aacca6f 2946 "description" : "Directory index.",
44660702
DM
2947 "method" : "GET",
2948 "name" : "index",
2949 "parameters" : {
2950 "additionalProperties" : 0
2951 },
7aacca6f
DM
2952 "permissions" : {
2953 "check" : [
2954 "perm",
2955 "/",
2956 [
2957 "Sys.Audit"
2958 ]
2959 ]
2960 },
56122987 2961 "returns" : {
56122987 2962 "items" : {
7aacca6f
DM
2963 "properties" : {
2964 "id" : {
2965 "type" : "string"
2966 }
44660702
DM
2967 },
2968 "type" : "object"
7aacca6f
DM
2969 },
2970 "links" : [
2971 {
2972 "href" : "{id}",
2973 "rel" : "child"
2974 }
44660702
DM
2975 ],
2976 "type" : "array"
7aacca6f
DM
2977 }
2978 }
44660702
DM
2979 },
2980 "leaf" : 0,
2981 "path" : "/cluster/ha",
2982 "text" : "ha"
7aacca6f
DM
2983 },
2984 {
7aacca6f
DM
2985 "info" : {
2986 "GET" : {
2987 "description" : "Read cluster log",
44660702
DM
2988 "method" : "GET",
2989 "name" : "log",
56122987 2990 "parameters" : {
7aacca6f 2991 "additionalProperties" : 0,
56122987
DM
2992 "properties" : {
2993 "max" : {
7aacca6f 2994 "description" : "Maximum number of entries.",
44660702
DM
2995 "minimum" : 1,
2996 "optional" : 1,
4bd7df8b 2997 "type" : "integer",
2c0dde61 2998 "typetext" : "integer (1 - N)"
56122987 2999 }
7aacca6f 3000 }
56122987 3001 },
44660702
DM
3002 "permissions" : {
3003 "user" : "all"
3004 },
7aacca6f 3005 "returns" : {
7aacca6f 3006 "items" : {
44660702
DM
3007 "properties" : {},
3008 "type" : "object"
3009 },
3010 "type" : "array"
7aacca6f 3011 }
56122987 3012 }
44660702
DM
3013 },
3014 "leaf" : 1,
3015 "path" : "/cluster/log",
3016 "text" : "log"
56122987
DM
3017 },
3018 {
56122987
DM
3019 "info" : {
3020 "GET" : {
44660702 3021 "description" : "Resources index (cluster wide).",
7aacca6f 3022 "method" : "GET",
7aacca6f 3023 "name" : "resources",
56122987
DM
3024 "parameters" : {
3025 "additionalProperties" : 0,
3026 "properties" : {
3027 "type" : {
3028 "enum" : [
3029 "vm",
3030 "storage",
3031 "node"
44660702
DM
3032 ],
3033 "optional" : 1,
3034 "type" : "string"
56122987
DM
3035 }
3036 }
3037 },
44660702
DM
3038 "permissions" : {
3039 "user" : "all"
3040 },
3041 "returns" : {
3042 "items" : {
3043 "properties" : {},
3044 "type" : "object"
3045 },
3046 "type" : "array"
3047 }
56122987
DM
3048 }
3049 },
7aacca6f 3050 "leaf" : 1,
44660702
DM
3051 "path" : "/cluster/resources",
3052 "text" : "resources"
56122987
DM
3053 },
3054 {
56122987
DM
3055 "info" : {
3056 "GET" : {
7aacca6f 3057 "description" : "List recent tasks (cluster wide).",
44660702 3058 "method" : "GET",
7aacca6f 3059 "name" : "tasks",
56122987
DM
3060 "parameters" : {
3061 "additionalProperties" : 0
3062 },
44660702
DM
3063 "permissions" : {
3064 "user" : "all"
3065 },
56122987
DM
3066 "returns" : {
3067 "items" : {
3068 "properties" : {
3069 "upid" : {
3070 "type" : "string"
3071 }
44660702
DM
3072 },
3073 "type" : "object"
3074 },
3075 "type" : "array"
7aacca6f 3076 }
56122987
DM
3077 }
3078 },
7aacca6f 3079 "leaf" : 1,
44660702
DM
3080 "path" : "/cluster/tasks",
3081 "text" : "tasks"
56122987
DM
3082 },
3083 {
56122987 3084 "info" : {
7aacca6f 3085 "GET" : {
44660702
DM
3086 "description" : "Get datacenter options.",
3087 "method" : "GET",
3088 "name" : "get_options",
56122987 3089 "parameters" : {
7aacca6f
DM
3090 "additionalProperties" : 0
3091 },
3092 "permissions" : {
3093 "check" : [
3094 "perm",
3095 "/",
3096 [
3097 "Sys.Audit"
3098 ]
3099 ]
3100 },
7aacca6f 3101 "returns" : {
44660702
DM
3102 "properties" : {},
3103 "type" : "object"
7aacca6f
DM
3104 }
3105 },
3106 "PUT" : {
44660702
DM
3107 "description" : "Set datacenter options.",
3108 "method" : "PUT",
7aacca6f
DM
3109 "name" : "set_options",
3110 "parameters" : {
3111 "additionalProperties" : 0,
3112 "properties" : {
56122987 3113 "console" : {
56122987 3114 "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
56122987
DM
3115 "enum" : [
3116 "applet",
3117 "vv",
3118 "html5"
44660702
DM
3119 ],
3120 "optional" : 1,
3121 "type" : "string"
56122987 3122 },
7aacca6f 3123 "delete" : {
7aacca6f 3124 "description" : "A list of settings you want to delete.",
44660702 3125 "format" : "pve-configid-list",
7aacca6f
DM
3126 "optional" : 1,
3127 "type" : "string"
3128 },
44660702
DM
3129 "email_from" : {
3130 "description" : "Specify email address to send notification from (default is root@$hostname)",
3131 "format" : "email-opt",
7aacca6f 3132 "optional" : 1,
44660702
DM
3133 "type" : "string"
3134 },
3135 "fencing" : {
3136 "default" : "watchdog",
3137 "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 3138 "enum" : [
44660702
DM
3139 "watchdog",
3140 "hardware",
3141 "both"
7aacca6f 3142 ],
44660702
DM
3143 "optional" : 1,
3144 "type" : "string"
3145 },
3146 "http_proxy" : {
3147 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3148 "optional" : 1,
3149 "pattern" : "http://.*",
3150 "type" : "string"
7aacca6f 3151 },
56122987 3152 "keyboard" : {
44660702 3153 "description" : "Default keybord layout for vnc server.",
56122987 3154 "enum" : [
44660702
DM
3155 "de",
3156 "de-ch",
7aacca6f 3157 "da",
56122987 3158 "en-gb",
44660702
DM
3159 "en-us",
3160 "es",
3161 "fi",
3162 "fr",
3163 "fr-be",
3164 "fr-ca",
3165 "fr-ch",
3166 "hu",
7aacca6f 3167 "is",
44660702
DM
3168 "it",
3169 "ja",
3170 "lt",
56122987 3171 "mk",
7aacca6f 3172 "nl",
56122987 3173 "no",
44660702 3174 "pl",
7aacca6f 3175 "pt",
44660702
DM
3176 "pt-br",
3177 "sv",
3178 "sl",
3179 "tr"
56122987 3180 ],
56122987
DM
3181 "optional" : 1,
3182 "type" : "string"
3183 },
44660702
DM
3184 "language" : {
3185 "description" : "Default GUI language.",
3186 "enum" : [
3187 "en",
3188 "de"
3189 ],
56122987 3190 "optional" : 1,
44660702 3191 "type" : "string"
56122987 3192 },
4bd7df8b
DM
3193 "mac_prefix" : {
3194 "description" : "Prefix for autogenerated MAC addresses.",
3195 "optional" : 1,
3196 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3197 "type" : "string"
3198 },
44660702
DM
3199 "max_workers" : {
3200 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3201 "minimum" : 1,
56122987 3202 "optional" : 1,
4bd7df8b 3203 "type" : "integer",
2c0dde61 3204 "typetext" : "integer (1 - N)"
56122987 3205 },
de0983cb
DM
3206 "migration" : {
3207 "description" : "For cluster wide migration settings.",
3208 "format" : {
3209 "network" : {
3210 "description" : "CIDR of the (sub) network that is used for migration.",
3211 "format" : "CIDR",
3212 "format_description" : "CIDR",
3213 "optional" : 1,
3214 "type" : "string"
3215 },
3216 "type" : {
3217 "default" : "secure",
3218 "default_key" : 1,
3219 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3220 "enum" : [
3221 "secure",
3222 "insecure"
3223 ],
3224 "type" : "string"
3225 }
3226 },
3227 "optional" : 1,
3228 "type" : "string",
3229 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3230 },
7aacca6f 3231 "migration_unsecure" : {
de0983cb 3232 "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 3233 "optional" : 1,
44660702 3234 "type" : "boolean"
56122987
DM
3235 }
3236 }
3237 },
44660702
DM
3238 "permissions" : {
3239 "check" : [
3240 "perm",
3241 "/",
3242 [
3243 "Sys.Modify"
3244 ]
3245 ]
3246 },
56122987 3247 "protected" : 1,
7aacca6f
DM
3248 "returns" : {
3249 "type" : "null"
44660702 3250 }
7aacca6f
DM
3251 }
3252 },
44660702
DM
3253 "leaf" : 1,
3254 "path" : "/cluster/options",
7aacca6f
DM
3255 "text" : "options"
3256 },
3257 {
7aacca6f 3258 "info" : {
56122987 3259 "GET" : {
44660702
DM
3260 "description" : "Get cluster status informations.",
3261 "method" : "GET",
3262 "name" : "get_status",
56122987
DM
3263 "parameters" : {
3264 "additionalProperties" : 0
3265 },
56122987
DM
3266 "permissions" : {
3267 "check" : [
3268 "perm",
3269 "/",
3270 [
3271 "Sys.Audit"
3272 ]
3273 ]
3274 },
7aacca6f 3275 "protected" : 1,
56122987 3276 "returns" : {
56122987 3277 "items" : {
56122987
DM
3278 "properties" : {
3279 "type" : {
3280 "type" : "string"
3281 }
44660702
DM
3282 },
3283 "type" : "object"
7aacca6f
DM
3284 },
3285 "type" : "array"
56122987
DM
3286 }
3287 }
3288 },
44660702 3289 "leaf" : 1,
7aacca6f 3290 "path" : "/cluster/status",
44660702 3291 "text" : "status"
56122987
DM
3292 },
3293 {
56122987
DM
3294 "info" : {
3295 "GET" : {
56122987 3296 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3297 "method" : "GET",
3298 "name" : "nextid",
56122987 3299 "parameters" : {
44660702 3300 "additionalProperties" : 0,
56122987
DM
3301 "properties" : {
3302 "vmid" : {
44660702 3303 "description" : "The (unique) ID of the VM.",
56122987 3304 "format" : "pve-vmid",
7aacca6f 3305 "minimum" : 1,
7aacca6f 3306 "optional" : 1,
4bd7df8b 3307 "type" : "integer",
2c0dde61 3308 "typetext" : "integer (1 - N)"
56122987 3309 }
44660702 3310 }
56122987 3311 },
7aacca6f
DM
3312 "permissions" : {
3313 "user" : "all"
44660702
DM
3314 },
3315 "returns" : {
3316 "description" : "The next free VMID.",
3317 "type" : "integer"
7aacca6f 3318 }
56122987
DM
3319 }
3320 },
7aacca6f 3321 "leaf" : 1,
44660702
DM
3322 "path" : "/cluster/nextid",
3323 "text" : "nextid"
56122987
DM
3324 }
3325 ],
44660702
DM
3326 "info" : {
3327 "GET" : {
3328 "description" : "Cluster index.",
3329 "method" : "GET",
3330 "name" : "index",
3331 "parameters" : {
3332 "additionalProperties" : 0
3333 },
3334 "permissions" : {
3335 "user" : "all"
3336 },
3337 "returns" : {
3338 "items" : {
3339 "properties" : {},
3340 "type" : "object"
3341 },
3342 "links" : [
3343 {
3344 "href" : "{name}",
3345 "rel" : "child"
3346 }
3347 ],
3348 "type" : "array"
3349 }
3350 }
3351 },
3352 "leaf" : 0,
3353 "path" : "/cluster",
7aacca6f 3354 "text" : "cluster"
56122987
DM
3355 },
3356 {
56122987
DM
3357 "children" : [
3358 {
7aacca6f
DM
3359 "children" : [
3360 {
3361 "children" : [
3362 {
56122987
DM
3363 "children" : [
3364 {
56122987
DM
3365 "children" : [
3366 {
3367 "children" : [
3368 {
56122987
DM
3369 "info" : {
3370 "DELETE" : {
44660702 3371 "description" : "Delete rule.",
7aacca6f 3372 "method" : "DELETE",
44660702 3373 "name" : "delete_rule",
56122987 3374 "parameters" : {
44660702 3375 "additionalProperties" : 0,
56122987 3376 "properties" : {
44660702
DM
3377 "digest" : {
3378 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3379 "maxLength" : 40,
3380 "optional" : 1,
3381 "type" : "string"
3382 },
56122987 3383 "node" : {
7aacca6f 3384 "description" : "The cluster node name.",
44660702
DM
3385 "format" : "pve-node",
3386 "type" : "string"
7aacca6f 3387 },
56122987 3388 "pos" : {
7aacca6f 3389 "description" : "Update rule at position <pos>.",
44660702 3390 "minimum" : 0,
56122987 3391 "optional" : 1,
4bd7df8b 3392 "type" : "integer",
2c0dde61 3393 "typetext" : "integer (0 - N)"
44660702
DM
3394 },
3395 "vmid" : {
3396 "description" : "The (unique) ID of the VM.",
3397 "format" : "pve-vmid",
3398 "minimum" : 1,
4bd7df8b 3399 "type" : "integer",
2c0dde61 3400 "typetext" : "integer (1 - N)"
56122987 3401 }
44660702 3402 }
7aacca6f 3403 },
56122987
DM
3404 "permissions" : {
3405 "check" : [
3406 "perm",
3407 "/vms/{vmid}",
3408 [
3409 "VM.Config.Network"
3410 ]
3411 ]
3412 },
44660702
DM
3413 "protected" : 1,
3414 "proxyto" : null,
56122987
DM
3415 "returns" : {
3416 "type" : "null"
44660702
DM
3417 }
3418 },
3419 "GET" : {
3420 "description" : "Get single rule data.",
3421 "method" : "GET",
3422 "name" : "get_rule",
3423 "parameters" : {
3424 "additionalProperties" : 0,
3425 "properties" : {
3426 "node" : {
3427 "description" : "The cluster node name.",
3428 "format" : "pve-node",
3429 "type" : "string"
3430 },
3431 "pos" : {
3432 "description" : "Update rule at position <pos>.",
3433 "minimum" : 0,
3434 "optional" : 1,
4bd7df8b 3435 "type" : "integer",
2c0dde61 3436 "typetext" : "integer (0 - N)"
44660702
DM
3437 },
3438 "vmid" : {
3439 "description" : "The (unique) ID of the VM.",
3440 "format" : "pve-vmid",
3441 "minimum" : 1,
4bd7df8b 3442 "type" : "integer",
2c0dde61 3443 "typetext" : "integer (1 - N)"
44660702
DM
3444 }
3445 }
56122987 3446 },
56122987
DM
3447 "permissions" : {
3448 "check" : [
3449 "perm",
3450 "/vms/{vmid}",
3451 [
44660702 3452 "VM.Audit"
56122987
DM
3453 ]
3454 ]
3455 },
56122987 3456 "proxyto" : null,
44660702
DM
3457 "returns" : {
3458 "properties" : {
3459 "pos" : {
3460 "type" : "integer"
3461 }
3462 },
3463 "type" : "object"
3464 }
3465 },
3466 "PUT" : {
7aacca6f
DM
3467 "description" : "Modify rule data.",
3468 "method" : "PUT",
44660702 3469 "name" : "update_rule",
56122987 3470 "parameters" : {
44660702 3471 "additionalProperties" : 0,
56122987 3472 "properties" : {
44660702
DM
3473 "action" : {
3474 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3475 "maxLength" : 20,
3476 "minLength" : 2,
56122987 3477 "optional" : 1,
44660702 3478 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3479 "type" : "string"
3480 },
7aacca6f 3481 "comment" : {
e94f0d56 3482 "description" : "Descriptive comment.",
7aacca6f
DM
3483 "optional" : 1,
3484 "type" : "string"
3485 },
3486 "delete" : {
7aacca6f 3487 "description" : "A list of settings you want to delete.",
44660702
DM
3488 "format" : "pve-configid-list",
3489 "optional" : 1,
3490 "type" : "string"
7aacca6f
DM
3491 },
3492 "dest" : {
44660702 3493 "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 3494 "format" : "pve-fw-addr-spec",
56122987 3495 "optional" : 1,
44660702 3496 "type" : "string"
56122987 3497 },
7aacca6f 3498 "digest" : {
44660702 3499 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 3500 "maxLength" : 40,
56122987 3501 "optional" : 1,
44660702
DM
3502 "type" : "string"
3503 },
3504 "dport" : {
3505 "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.",
3506 "format" : "pve-fw-dport-spec",
3507 "optional" : 1,
3508 "type" : "string"
56122987 3509 },
7aacca6f 3510 "enable" : {
e94f0d56 3511 "description" : "Flag to enable/disable a rule.",
44660702 3512 "minimum" : 0,
56122987 3513 "optional" : 1,
4bd7df8b 3514 "type" : "integer",
2c0dde61 3515 "typetext" : "integer (0 - N)"
7aacca6f 3516 },
44660702
DM
3517 "iface" : {
3518 "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.",
3519 "format" : "pve-iface",
3520 "maxLength" : 20,
7aacca6f 3521 "minLength" : 2,
56122987 3522 "optional" : 1,
44660702 3523 "type" : "string"
56122987 3524 },
44660702 3525 "macro" : {
e94f0d56 3526 "description" : "Use predefined standard macro.",
44660702 3527 "maxLength" : 128,
56122987 3528 "optional" : 1,
44660702 3529 "type" : "string"
56122987 3530 },
44660702
DM
3531 "moveto" : {
3532 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
3533 "minimum" : 0,
56122987 3534 "optional" : 1,
4bd7df8b 3535 "type" : "integer",
2c0dde61 3536 "typetext" : "integer (0 - N)"
56122987 3537 },
44660702
DM
3538 "node" : {
3539 "description" : "The cluster node name.",
3540 "format" : "pve-node",
3541 "type" : "string"
3542 },
3543 "pos" : {
3544 "description" : "Update rule at position <pos>.",
3545 "minimum" : 0,
3546 "optional" : 1,
4bd7df8b 3547 "type" : "integer",
2c0dde61 3548 "typetext" : "integer (0 - N)"
56122987 3549 },
44660702
DM
3550 "proto" : {
3551 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3552 "format" : "pve-fw-protocol-spec",
3553 "optional" : 1,
3554 "type" : "string"
7aacca6f 3555 },
44660702
DM
3556 "source" : {
3557 "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.",
3558 "format" : "pve-fw-addr-spec",
56122987 3559 "optional" : 1,
7aacca6f 3560 "type" : "string"
56122987
DM
3561 },
3562 "sport" : {
3563 "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
3564 "format" : "pve-fw-sport-spec",
3565 "optional" : 1,
3566 "type" : "string"
3567 },
3568 "type" : {
e94f0d56 3569 "description" : "Rule type.",
44660702
DM
3570 "enum" : [
3571 "in",
3572 "out",
3573 "group"
3574 ],
56122987 3575 "optional" : 1,
56122987 3576 "type" : "string"
44660702
DM
3577 },
3578 "vmid" : {
3579 "description" : "The (unique) ID of the VM.",
3580 "format" : "pve-vmid",
3581 "minimum" : 1,
4bd7df8b 3582 "type" : "integer",
2c0dde61 3583 "typetext" : "integer (1 - N)"
56122987 3584 }
44660702 3585 }
56122987 3586 },
56122987
DM
3587 "permissions" : {
3588 "check" : [
3589 "perm",
3590 "/vms/{vmid}",
3591 [
44660702 3592 "VM.Config.Network"
56122987
DM
3593 ]
3594 ]
7aacca6f 3595 },
44660702 3596 "protected" : 1,
7aacca6f 3597 "proxyto" : null,
7aacca6f 3598 "returns" : {
44660702
DM
3599 "type" : "null"
3600 }
56122987 3601 }
7aacca6f 3602 },
44660702 3603 "leaf" : 1,
7aacca6f 3604 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 3605 "text" : "{pos}"
56122987
DM
3606 }
3607 ],
56122987 3608 "info" : {
44660702
DM
3609 "GET" : {
3610 "description" : "List rules.",
3611 "method" : "GET",
3612 "name" : "get_rules",
3613 "parameters" : {
3614 "additionalProperties" : 0,
3615 "properties" : {
3616 "node" : {
3617 "description" : "The cluster node name.",
3618 "format" : "pve-node",
3619 "type" : "string"
3620 },
3621 "vmid" : {
3622 "description" : "The (unique) ID of the VM.",
3623 "format" : "pve-vmid",
3624 "minimum" : 1,
4bd7df8b 3625 "type" : "integer",
2c0dde61 3626 "typetext" : "integer (1 - N)"
44660702
DM
3627 }
3628 }
56122987 3629 },
56122987
DM
3630 "permissions" : {
3631 "check" : [
3632 "perm",
3633 "/vms/{vmid}",
3634 [
44660702 3635 "VM.Audit"
56122987
DM
3636 ]
3637 ]
7aacca6f 3638 },
44660702
DM
3639 "proxyto" : null,
3640 "returns" : {
3641 "items" : {
3642 "properties" : {
3643 "pos" : {
3644 "type" : "integer"
3645 }
3646 },
3647 "type" : "object"
3648 },
3649 "links" : [
3650 {
3651 "href" : "{pos}",
3652 "rel" : "child"
3653 }
3654 ],
3655 "type" : "array"
3656 }
3657 },
3658 "POST" : {
3659 "description" : "Create new rule.",
7aacca6f 3660 "method" : "POST",
44660702 3661 "name" : "create_rule",
56122987 3662 "parameters" : {
44660702 3663 "additionalProperties" : 0,
56122987 3664 "properties" : {
44660702
DM
3665 "action" : {
3666 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3667 "maxLength" : 20,
3668 "minLength" : 2,
3669 "optional" : 0,
3670 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3671 "type" : "string"
56122987 3672 },
44660702 3673 "comment" : {
e94f0d56 3674 "description" : "Descriptive comment.",
56122987 3675 "optional" : 1,
56122987
DM
3676 "type" : "string"
3677 },
44660702
DM
3678 "dest" : {
3679 "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.",
3680 "format" : "pve-fw-addr-spec",
3681 "optional" : 1,
3682 "type" : "string"
56122987 3683 },
44660702
DM
3684 "digest" : {
3685 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3686 "maxLength" : 40,
56122987 3687 "optional" : 1,
44660702 3688 "type" : "string"
56122987 3689 },
7aacca6f
DM
3690 "dport" : {
3691 "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 3692 "format" : "pve-fw-dport-spec",
7aacca6f 3693 "optional" : 1,
44660702 3694 "type" : "string"
56122987
DM
3695 },
3696 "enable" : {
e94f0d56 3697 "description" : "Flag to enable/disable a rule.",
56122987 3698 "minimum" : 0,
44660702 3699 "optional" : 1,
4bd7df8b 3700 "type" : "integer",
2c0dde61 3701 "typetext" : "integer (0 - N)"
56122987 3702 },
44660702
DM
3703 "iface" : {
3704 "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.",
3705 "format" : "pve-iface",
3706 "maxLength" : 20,
7aacca6f 3707 "minLength" : 2,
44660702
DM
3708 "optional" : 1,
3709 "type" : "string"
56122987 3710 },
44660702 3711 "macro" : {
e94f0d56 3712 "description" : "Use predefined standard macro.",
44660702 3713 "maxLength" : 128,
56122987 3714 "optional" : 1,
44660702 3715 "type" : "string"
7aacca6f 3716 },
44660702
DM
3717 "node" : {
3718 "description" : "The cluster node name.",
3719 "format" : "pve-node",
3720 "type" : "string"
3721 },
3722 "pos" : {
3723 "description" : "Update rule at position <pos>.",
3724 "minimum" : 0,
3725 "optional" : 1,
4bd7df8b 3726 "type" : "integer",
2c0dde61 3727 "typetext" : "integer (0 - N)"
44660702
DM
3728 },
3729 "proto" : {
3730 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3731 "format" : "pve-fw-protocol-spec",
7aacca6f 3732 "optional" : 1,
56122987 3733 "type" : "string"
7aacca6f
DM
3734 },
3735 "source" : {
3736 "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 3737 "format" : "pve-fw-addr-spec",
7aacca6f 3738 "optional" : 1,
44660702 3739 "type" : "string"
7aacca6f 3740 },
44660702
DM
3741 "sport" : {
3742 "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.",
3743 "format" : "pve-fw-sport-spec",
7aacca6f 3744 "optional" : 1,
44660702 3745 "type" : "string"
7aacca6f 3746 },
44660702 3747 "type" : {
e94f0d56 3748 "description" : "Rule type.",
44660702
DM
3749 "enum" : [
3750 "in",
3751 "out",
3752 "group"
3753 ],
3754 "optional" : 0,
3755 "type" : "string"
7aacca6f 3756 },
7aacca6f 3757 "vmid" : {
44660702 3758 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
3759 "format" : "pve-vmid",
3760 "minimum" : 1,
4bd7df8b 3761 "type" : "integer",
2c0dde61 3762 "typetext" : "integer (1 - N)"
7aacca6f
DM
3763 }
3764 }
3765 },
56122987
DM
3766 "permissions" : {
3767 "check" : [
3768 "perm",
3769 "/vms/{vmid}",
3770 [
44660702 3771 "VM.Config.Network"
56122987
DM
3772 ]
3773 ]
3774 },
44660702
DM
3775 "protected" : 1,
3776 "proxyto" : null,
56122987 3777 "returns" : {
44660702
DM
3778 "type" : "null"
3779 }
56122987
DM
3780 }
3781 },
44660702 3782 "leaf" : 0,
7aacca6f 3783 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 3784 "text" : "rules"
56122987
DM
3785 },
3786 {
3787 "children" : [
3788 {
56122987 3789 "info" : {
44660702
DM
3790 "DELETE" : {
3791 "description" : "Remove IP or Network alias.",
3792 "method" : "DELETE",
3793 "name" : "remove_alias",
56122987 3794 "parameters" : {
44660702 3795 "additionalProperties" : 0,
56122987 3796 "properties" : {
44660702
DM
3797 "digest" : {
3798 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3799 "maxLength" : 40,
3800 "optional" : 1,
3801 "type" : "string"
56122987
DM
3802 },
3803 "name" : {
56122987 3804 "description" : "Alias name.",
44660702 3805 "maxLength" : 64,
7aacca6f 3806 "minLength" : 2,
44660702 3807 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
3808 "type" : "string"
3809 },
7aacca6f 3810 "node" : {
44660702 3811 "description" : "The cluster node name.",
7aacca6f 3812 "format" : "pve-node",
44660702
DM
3813 "type" : "string"
3814 },
3815 "vmid" : {
3816 "description" : "The (unique) ID of the VM.",
3817 "format" : "pve-vmid",
3818 "minimum" : 1,
4bd7df8b 3819 "type" : "integer",
2c0dde61 3820 "typetext" : "integer (1 - N)"
56122987 3821 }
44660702 3822 }
56122987 3823 },
7aacca6f
DM
3824 "permissions" : {
3825 "check" : [
3826 "perm",
3827 "/vms/{vmid}",
3828 [
3829 "VM.Config.Network"
3830 ]
3831 ]
56122987 3832 },
44660702
DM
3833 "protected" : 1,
3834 "returns" : {
3835 "type" : "null"
3836 }
3837 },
3838 "GET" : {
3839 "description" : "Read alias.",
3840 "method" : "GET",
3841 "name" : "read_alias",
56122987 3842 "parameters" : {
44660702 3843 "additionalProperties" : 0,
56122987 3844 "properties" : {
56122987 3845 "name" : {
7aacca6f 3846 "description" : "Alias name.",
44660702 3847 "maxLength" : 64,
56122987 3848 "minLength" : 2,
44660702 3849 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 3850 "type" : "string"
7aacca6f
DM
3851 },
3852 "node" : {
3853 "description" : "The cluster node name.",
44660702
DM
3854 "format" : "pve-node",
3855 "type" : "string"
3856 },
3857 "vmid" : {
3858 "description" : "The (unique) ID of the VM.",
3859 "format" : "pve-vmid",
3860 "minimum" : 1,
4bd7df8b 3861 "type" : "integer",
2c0dde61 3862 "typetext" : "integer (1 - N)"
56122987 3863 }
44660702 3864 }
56122987 3865 },
44660702
DM
3866 "permissions" : {
3867 "check" : [
3868 "perm",
3869 "/vms/{vmid}",
3870 [
3871 "VM.Audit"
3872 ]
3873 ]
56122987 3874 },
44660702
DM
3875 "returns" : {
3876 "type" : "object"
3877 }
7aacca6f 3878 },
44660702
DM
3879 "PUT" : {
3880 "description" : "Update IP or Network alias.",
3881 "method" : "PUT",
3882 "name" : "update_alias",
56122987
DM
3883 "parameters" : {
3884 "additionalProperties" : 0,
3885 "properties" : {
44660702
DM
3886 "cidr" : {
3887 "description" : "Network/IP specification in CIDR format.",
3888 "format" : "IPorCIDR",
3889 "type" : "string"
3890 },
3891 "comment" : {
3892 "optional" : 1,
3893 "type" : "string"
56122987
DM
3894 },
3895 "digest" : {
44660702 3896 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
3897 "maxLength" : 40,
3898 "optional" : 1,
44660702 3899 "type" : "string"
56122987 3900 },
7aacca6f 3901 "name" : {
44660702 3902 "description" : "Alias name.",
56122987
DM
3903 "maxLength" : 64,
3904 "minLength" : 2,
3905 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 3906 "type" : "string"
7aacca6f
DM
3907 },
3908 "node" : {
7aacca6f 3909 "description" : "The cluster node name.",
44660702
DM
3910 "format" : "pve-node",
3911 "type" : "string"
3912 },
3913 "rename" : {
3914 "description" : "Rename an existing alias.",
3915 "maxLength" : 64,
3916 "minLength" : 2,
3917 "optional" : 1,
3918 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3919 "type" : "string"
3920 },
3921 "vmid" : {
3922 "description" : "The (unique) ID of the VM.",
3923 "format" : "pve-vmid",
3924 "minimum" : 1,
4bd7df8b 3925 "type" : "integer",
2c0dde61 3926 "typetext" : "integer (1 - N)"
56122987
DM
3927 }
3928 }
3929 },
7aacca6f
DM
3930 "permissions" : {
3931 "check" : [
3932 "perm",
3933 "/vms/{vmid}",
3934 [
3935 "VM.Config.Network"
3936 ]
3937 ]
3938 },
3939 "protected" : 1,
7aacca6f
DM
3940 "returns" : {
3941 "type" : "null"
44660702 3942 }
56122987
DM
3943 }
3944 },
44660702 3945 "leaf" : 1,
7aacca6f 3946 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 3947 "text" : "{name}"
56122987
DM
3948 }
3949 ],
3950 "info" : {
44660702
DM
3951 "GET" : {
3952 "description" : "List aliases",
3953 "method" : "GET",
3954 "name" : "get_aliases",
56122987 3955 "parameters" : {
44660702 3956 "additionalProperties" : 0,
56122987 3957 "properties" : {
7aacca6f 3958 "node" : {
7aacca6f 3959 "description" : "The cluster node name.",
44660702 3960 "format" : "pve-node",
7aacca6f 3961 "type" : "string"
56122987 3962 },
44660702
DM
3963 "vmid" : {
3964 "description" : "The (unique) ID of the VM.",
3965 "format" : "pve-vmid",
3966 "minimum" : 1,
4bd7df8b 3967 "type" : "integer",
2c0dde61 3968 "typetext" : "integer (1 - N)"
56122987 3969 }
44660702 3970 }
56122987 3971 },
56122987
DM
3972 "permissions" : {
3973 "check" : [
3974 "perm",
3975 "/vms/{vmid}",
3976 [
44660702 3977 "VM.Audit"
56122987
DM
3978 ]
3979 ]
3980 },
56122987
DM
3981 "returns" : {
3982 "items" : {
3983 "properties" : {
44660702 3984 "cidr" : {
56122987
DM
3985 "type" : "string"
3986 },
44660702
DM
3987 "comment" : {
3988 "optional" : 1,
7aacca6f 3989 "type" : "string"
56122987
DM
3990 },
3991 "digest" : {
56122987 3992 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 3993 "maxLength" : 40,
56122987
DM
3994 "optional" : 0,
3995 "type" : "string"
3996 },
44660702 3997 "name" : {
56122987
DM
3998 "type" : "string"
3999 }
44660702
DM
4000 },
4001 "type" : "object"
56122987 4002 },
56122987
DM
4003 "links" : [
4004 {
4005 "href" : "{name}",
4006 "rel" : "child"
4007 }
44660702
DM
4008 ],
4009 "type" : "array"
4010 }
4011 },
4012 "POST" : {
4013 "description" : "Create IP or Network Alias.",
4014 "method" : "POST",
4015 "name" : "create_alias",
56122987 4016 "parameters" : {
7aacca6f 4017 "additionalProperties" : 0,
56122987 4018 "properties" : {
44660702
DM
4019 "cidr" : {
4020 "description" : "Network/IP specification in CIDR format.",
4021 "format" : "IPorCIDR",
4022 "type" : "string"
4023 },
4024 "comment" : {
4025 "optional" : 1,
4026 "type" : "string"
4027 },
4028 "name" : {
4029 "description" : "Alias name.",
4030 "maxLength" : 64,
4031 "minLength" : 2,
4032 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4033 "type" : "string"
56122987
DM
4034 },
4035 "node" : {
7aacca6f 4036 "description" : "The cluster node name.",
44660702 4037 "format" : "pve-node",
56122987 4038 "type" : "string"
44660702
DM
4039 },
4040 "vmid" : {
4041 "description" : "The (unique) ID of the VM.",
4042 "format" : "pve-vmid",
4043 "minimum" : 1,
4bd7df8b 4044 "type" : "integer",
2c0dde61 4045 "typetext" : "integer (1 - N)"
56122987 4046 }
7aacca6f 4047 }
56122987 4048 },
44660702
DM
4049 "permissions" : {
4050 "check" : [
4051 "perm",
4052 "/vms/{vmid}",
4053 [
4054 "VM.Config.Network"
4055 ]
4056 ]
4057 },
4058 "protected" : 1,
4059 "returns" : {
4060 "type" : "null"
4061 }
56122987 4062 }
44660702
DM
4063 },
4064 "leaf" : 0,
4065 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4066 "text" : "aliases"
56122987
DM
4067 },
4068 {
56122987
DM
4069 "children" : [
4070 {
7aacca6f
DM
4071 "children" : [
4072 {
4073 "info" : {
4074 "DELETE" : {
44660702 4075 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4076 "method" : "DELETE",
44660702 4077 "name" : "remove_ip",
7aacca6f 4078 "parameters" : {
44660702 4079 "additionalProperties" : 0,
7aacca6f 4080 "properties" : {
44660702
DM
4081 "cidr" : {
4082 "description" : "Network/IP specification in CIDR format.",
4083 "format" : "IPorCIDRorAlias",
4084 "type" : "string"
4085 },
4086 "digest" : {
4087 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4088 "maxLength" : 40,
4089 "optional" : 1,
4090 "type" : "string"
4091 },
7aacca6f 4092 "name" : {
7aacca6f 4093 "description" : "IP set name.",
44660702
DM
4094 "maxLength" : 64,
4095 "minLength" : 2,
7aacca6f 4096 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4097 "type" : "string"
7aacca6f
DM
4098 },
4099 "node" : {
4100 "description" : "The cluster node name.",
44660702
DM
4101 "format" : "pve-node",
4102 "type" : "string"
7aacca6f
DM
4103 },
4104 "vmid" : {
44660702 4105 "description" : "The (unique) ID of the VM.",
7aacca6f 4106 "format" : "pve-vmid",
44660702 4107 "minimum" : 1,
4bd7df8b 4108 "type" : "integer",
2c0dde61 4109 "typetext" : "integer (1 - N)"
7aacca6f 4110 }
44660702 4111 }
7aacca6f 4112 },
7aacca6f
DM
4113 "permissions" : {
4114 "check" : [
4115 "perm",
4116 "/vms/{vmid}",
4117 [
4118 "VM.Config.Network"
4119 ]
4120 ]
4121 },
4122 "protected" : 1,
44660702
DM
4123 "returns" : {
4124 "type" : "null"
4125 }
56122987 4126 },
44660702
DM
4127 "GET" : {
4128 "description" : "Read IP or Network settings from IPSet.",
4129 "method" : "GET",
4130 "name" : "read_ip",
7aacca6f 4131 "parameters" : {
44660702 4132 "additionalProperties" : 0,
7aacca6f 4133 "properties" : {
7aacca6f 4134 "cidr" : {
44660702 4135 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4136 "format" : "IPorCIDRorAlias",
44660702 4137 "type" : "string"
7aacca6f
DM
4138 },
4139 "name" : {
7aacca6f 4140 "description" : "IP set name.",
44660702 4141 "maxLength" : 64,
7aacca6f 4142 "minLength" : 2,
44660702
DM
4143 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4144 "type" : "string"
7aacca6f 4145 },
44660702
DM
4146 "node" : {
4147 "description" : "The cluster node name.",
4148 "format" : "pve-node",
7aacca6f
DM
4149 "type" : "string"
4150 },
44660702
DM
4151 "vmid" : {
4152 "description" : "The (unique) ID of the VM.",
4153 "format" : "pve-vmid",
4154 "minimum" : 1,
4bd7df8b 4155 "type" : "integer",
2c0dde61 4156 "typetext" : "integer (1 - N)"
7aacca6f 4157 }
44660702 4158 }
7aacca6f 4159 },
44660702
DM
4160 "permissions" : {
4161 "check" : [
4162 "perm",
4163 "/vms/{vmid}",
4164 [
4165 "VM.Audit"
4166 ]
4167 ]
4168 },
4169 "protected" : 1,
7aacca6f 4170 "returns" : {
44660702 4171 "type" : "object"
7aacca6f 4172 }
56122987 4173 },
44660702
DM
4174 "PUT" : {
4175 "description" : "Update IP or Network settings",
4176 "method" : "PUT",
4177 "name" : "update_ip",
7aacca6f
DM
4178 "parameters" : {
4179 "additionalProperties" : 0,
4180 "properties" : {
44660702
DM
4181 "cidr" : {
4182 "description" : "Network/IP specification in CIDR format.",
4183 "format" : "IPorCIDRorAlias",
4184 "type" : "string"
4185 },
4186 "comment" : {
4187 "optional" : 1,
4188 "type" : "string"
4189 },
4190 "digest" : {
4191 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4192 "maxLength" : 40,
4193 "optional" : 1,
4194 "type" : "string"
4195 },
7aacca6f 4196 "name" : {
7aacca6f 4197 "description" : "IP set name.",
44660702 4198 "maxLength" : 64,
7aacca6f 4199 "minLength" : 2,
44660702
DM
4200 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4201 "type" : "string"
7aacca6f
DM
4202 },
4203 "node" : {
7aacca6f 4204 "description" : "The cluster node name.",
44660702 4205 "format" : "pve-node",
7aacca6f
DM
4206 "type" : "string"
4207 },
44660702
DM
4208 "nomatch" : {
4209 "optional" : 1,
4210 "type" : "boolean"
7aacca6f
DM
4211 },
4212 "vmid" : {
4213 "description" : "The (unique) ID of the VM.",
44660702 4214 "format" : "pve-vmid",
7aacca6f 4215 "minimum" : 1,
4bd7df8b 4216 "type" : "integer",
2c0dde61 4217 "typetext" : "integer (1 - N)"
7aacca6f
DM
4218 }
4219 }
4220 },
4221 "permissions" : {
4222 "check" : [
4223 "perm",
4224 "/vms/{vmid}",
4225 [
44660702 4226 "VM.Config.Network"
7aacca6f
DM
4227 ]
4228 ]
4229 },
7aacca6f 4230 "protected" : 1,
7aacca6f 4231 "returns" : {
44660702 4232 "type" : "null"
7aacca6f 4233 }
56122987 4234 }
7aacca6f 4235 },
7aacca6f 4236 "leaf" : 1,
44660702
DM
4237 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4238 "text" : "{cidr}"
7aacca6f 4239 }
44660702
DM
4240 ],
4241 "info" : {
4242 "DELETE" : {
4243 "description" : "Delete IPSet",
4244 "method" : "DELETE",
4245 "name" : "delete_ipset",
4246 "parameters" : {
4247 "additionalProperties" : 0,
4248 "properties" : {
4249 "name" : {
4250 "description" : "IP set name.",
4251 "maxLength" : 64,
4252 "minLength" : 2,
4253 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4254 "type" : "string"
4255 },
4256 "node" : {
4257 "description" : "The cluster node name.",
4258 "format" : "pve-node",
4259 "type" : "string"
4260 },
4261 "vmid" : {
4262 "description" : "The (unique) ID of the VM.",
4263 "format" : "pve-vmid",
4264 "minimum" : 1,
4bd7df8b 4265 "type" : "integer",
2c0dde61 4266 "typetext" : "integer (1 - N)"
44660702
DM
4267 }
4268 }
7aacca6f 4269 },
44660702
DM
4270 "permissions" : {
4271 "check" : [
4272 "perm",
4273 "/vms/{vmid}",
4274 [
4275 "VM.Config.Network"
4276 ]
4277 ]
7aacca6f 4278 },
44660702
DM
4279 "protected" : 1,
4280 "returns" : {
4281 "type" : "null"
4282 }
4283 },
4284 "GET" : {
4285 "description" : "List IPSet content",
4286 "method" : "GET",
4287 "name" : "get_ipset",
4288 "parameters" : {
4289 "additionalProperties" : 0,
4290 "properties" : {
4291 "name" : {
4292 "description" : "IP set name.",
4293 "maxLength" : 64,
4294 "minLength" : 2,
4295 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4296 "type" : "string"
4297 },
4298 "node" : {
4299 "description" : "The cluster node name.",
4300 "format" : "pve-node",
4301 "type" : "string"
4302 },
4303 "vmid" : {
4304 "description" : "The (unique) ID of the VM.",
4305 "format" : "pve-vmid",
4306 "minimum" : 1,
4bd7df8b 4307 "type" : "integer",
2c0dde61 4308 "typetext" : "integer (1 - N)"
44660702
DM
4309 }
4310 }
7aacca6f 4311 },
44660702
DM
4312 "permissions" : {
4313 "check" : [
4314 "perm",
4315 "/vms/{vmid}",
4316 [
4317 "VM.Audit"
4318 ]
4319 ]
7aacca6f 4320 },
44660702
DM
4321 "returns" : {
4322 "items" : {
4323 "properties" : {
4324 "cidr" : {
4325 "type" : "string"
4326 },
4327 "comment" : {
4328 "optional" : 1,
4329 "type" : "string"
4330 },
4331 "digest" : {
4332 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4333 "maxLength" : 40,
4334 "optional" : 0,
4335 "type" : "string"
4336 },
4337 "nomatch" : {
4338 "optional" : 1,
4339 "type" : "boolean"
4340 }
4341 },
4342 "type" : "object"
4343 },
4344 "links" : [
4345 {
4346 "href" : "{cidr}",
4347 "rel" : "child"
4348 }
4349 ],
4350 "type" : "array"
56122987
DM
4351 }
4352 },
44660702
DM
4353 "POST" : {
4354 "description" : "Add IP or Network to IPSet.",
4355 "method" : "POST",
4356 "name" : "create_ip",
4357 "parameters" : {
4358 "additionalProperties" : 0,
4359 "properties" : {
4360 "cidr" : {
4361 "description" : "Network/IP specification in CIDR format.",
4362 "format" : "IPorCIDRorAlias",
4363 "type" : "string"
4364 },
4365 "comment" : {
4366 "optional" : 1,
4367 "type" : "string"
4368 },
4369 "name" : {
4370 "description" : "IP set name.",
4371 "maxLength" : 64,
4372 "minLength" : 2,
4373 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4374 "type" : "string"
4375 },
4376 "node" : {
4377 "description" : "The cluster node name.",
4378 "format" : "pve-node",
4379 "type" : "string"
4380 },
4381 "nomatch" : {
4382 "optional" : 1,
4383 "type" : "boolean"
4384 },
4385 "vmid" : {
4386 "description" : "The (unique) ID of the VM.",
4387 "format" : "pve-vmid",
4388 "minimum" : 1,
4bd7df8b 4389 "type" : "integer",
2c0dde61 4390 "typetext" : "integer (1 - N)"
44660702
DM
4391 }
4392 }
4393 },
4394 "permissions" : {
4395 "check" : [
4396 "perm",
4397 "/vms/{vmid}",
4398 [
4399 "VM.Config.Network"
4400 ]
4401 ]
4402 },
4403 "protected" : 1,
4404 "returns" : {
4405 "type" : "null"
4406 }
4407 }
4408 },
4409 "leaf" : 0,
4410 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4411 "text" : "{name}"
4412 }
4413 ],
4414 "info" : {
4415 "GET" : {
4416 "description" : "List IPSets",
4417 "method" : "GET",
4418 "name" : "ipset_index",
4419 "parameters" : {
4420 "additionalProperties" : 0,
4421 "properties" : {
4422 "node" : {
4423 "description" : "The cluster node name.",
4424 "format" : "pve-node",
4425 "type" : "string"
4426 },
4427 "vmid" : {
4428 "description" : "The (unique) ID of the VM.",
4429 "format" : "pve-vmid",
4430 "minimum" : 1,
4bd7df8b 4431 "type" : "integer",
2c0dde61 4432 "typetext" : "integer (1 - N)"
44660702
DM
4433 }
4434 }
56122987
DM
4435 },
4436 "permissions" : {
4437 "check" : [
4438 "perm",
4439 "/vms/{vmid}",
4440 [
44660702 4441 "VM.Audit"
56122987
DM
4442 ]
4443 ]
4444 },
7aacca6f 4445 "returns" : {
7aacca6f
DM
4446 "items" : {
4447 "properties" : {
7aacca6f
DM
4448 "comment" : {
4449 "optional" : 1,
4450 "type" : "string"
4451 },
4452 "digest" : {
7aacca6f 4453 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
4454 "maxLength" : 40,
4455 "optional" : 0,
4456 "type" : "string"
4457 },
4458 "name" : {
4459 "description" : "IP set name.",
4460 "maxLength" : 64,
4461 "minLength" : 2,
4462 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4463 "type" : "string"
7aacca6f
DM
4464 }
4465 },
4466 "type" : "object"
4467 },
4468 "links" : [
4469 {
44660702
DM
4470 "href" : "{name}",
4471 "rel" : "child"
7aacca6f 4472 }
44660702
DM
4473 ],
4474 "type" : "array"
4475 }
4476 },
4477 "POST" : {
4478 "description" : "Create new IPSet",
4479 "method" : "POST",
4480 "name" : "create_ipset",
56122987
DM
4481 "parameters" : {
4482 "additionalProperties" : 0,
4483 "properties" : {
44660702
DM
4484 "comment" : {
4485 "optional" : 1,
4486 "type" : "string"
56122987 4487 },
44660702
DM
4488 "digest" : {
4489 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4490 "maxLength" : 40,
4491 "optional" : 1,
4492 "type" : "string"
4493 },
4494 "name" : {
4495 "description" : "IP set name.",
4496 "maxLength" : 64,
4497 "minLength" : 2,
4498 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4499 "type" : "string"
4500 },
4501 "node" : {
4502 "description" : "The cluster node name.",
4503 "format" : "pve-node",
4504 "type" : "string"
4505 },
4506 "rename" : {
4507 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
4508 "maxLength" : 64,
4509 "minLength" : 2,
4510 "optional" : 1,
4511 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4512 "type" : "string"
4513 },
4514 "vmid" : {
4515 "description" : "The (unique) ID of the VM.",
4516 "format" : "pve-vmid",
4517 "minimum" : 1,
4bd7df8b 4518 "type" : "integer",
2c0dde61 4519 "typetext" : "integer (1 - N)"
44660702
DM
4520 }
4521 }
4522 },
7aacca6f
DM
4523 "permissions" : {
4524 "check" : [
4525 "perm",
4526 "/vms/{vmid}",
4527 [
4528 "VM.Config.Network"
4529 ]
4530 ]
4531 },
44660702 4532 "protected" : 1,
56122987 4533 "returns" : {
7aacca6f 4534 "type" : "null"
44660702
DM
4535 }
4536 }
4537 },
4538 "leaf" : 0,
4539 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
4540 "text" : "ipset"
4541 },
4542 {
4543 "info" : {
4544 "GET" : {
4545 "description" : "Get VM firewall options.",
4546 "method" : "GET",
4547 "name" : "get_options",
7aacca6f
DM
4548 "parameters" : {
4549 "additionalProperties" : 0,
56122987 4550 "properties" : {
7aacca6f
DM
4551 "node" : {
4552 "description" : "The cluster node name.",
44660702
DM
4553 "format" : "pve-node",
4554 "type" : "string"
7aacca6f 4555 },
44660702
DM
4556 "vmid" : {
4557 "description" : "The (unique) ID of the VM.",
4558 "format" : "pve-vmid",
4559 "minimum" : 1,
4bd7df8b 4560 "type" : "integer",
2c0dde61 4561 "typetext" : "integer (1 - N)"
44660702
DM
4562 }
4563 }
4564 },
4565 "permissions" : {
4566 "check" : [
4567 "perm",
4568 "/vms/{vmid}",
4569 [
4570 "VM.Audit"
4571 ]
4572 ]
4573 },
4574 "proxyto" : "node",
4575 "returns" : {
4576 "properties" : {
4577 "dhcp" : {
4578 "description" : "Enable DHCP.",
56122987 4579 "optional" : 1,
44660702 4580 "type" : "boolean"
56122987 4581 },
44660702
DM
4582 "enable" : {
4583 "description" : "Enable/disable firewall rules.",
7aacca6f 4584 "optional" : 1,
44660702 4585 "type" : "boolean"
56122987 4586 },
44660702
DM
4587 "ipfilter" : {
4588 "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 4589 "optional" : 1,
44660702 4590 "type" : "boolean"
7aacca6f 4591 },
56122987 4592 "log_level_in" : {
7aacca6f 4593 "description" : "Log level for incoming traffic.",
56122987
DM
4594 "enum" : [
4595 "emerg",
4596 "alert",
4597 "crit",
4598 "err",
4599 "warning",
4600 "notice",
4601 "info",
4602 "debug",
4603 "nolog"
4604 ],
56122987
DM
4605 "optional" : 1,
4606 "type" : "string"
4607 },
44660702
DM
4608 "log_level_out" : {
4609 "description" : "Log level for outgoing traffic.",
4610 "enum" : [
4611 "emerg",
4612 "alert",
4613 "crit",
4614 "err",
4615 "warning",
4616 "notice",
4617 "info",
4618 "debug",
4619 "nolog"
4620 ],
4621 "optional" : 1,
4622 "type" : "string"
4623 },
4624 "macfilter" : {
4625 "description" : "Enable/disable MAC address filter.",
56122987 4626 "optional" : 1,
7aacca6f 4627 "type" : "boolean"
56122987
DM
4628 },
4629 "ndp" : {
44660702 4630 "description" : "Enable NDP.",
56122987 4631 "optional" : 1,
44660702 4632 "type" : "boolean"
56122987
DM
4633 },
4634 "policy_in" : {
56122987
DM
4635 "description" : "Input policy.",
4636 "enum" : [
4637 "ACCEPT",
4638 "REJECT",
4639 "DROP"
44660702
DM
4640 ],
4641 "optional" : 1,
4642 "type" : "string"
56122987 4643 },
44660702
DM
4644 "policy_out" : {
4645 "description" : "Output policy.",
4646 "enum" : [
4647 "ACCEPT",
4648 "REJECT",
4649 "DROP"
4650 ],
4651 "optional" : 1,
4652 "type" : "string"
4653 },
4654 "radv" : {
4655 "description" : "Allow sending Router Advertisement.",
4656 "optional" : 1,
4657 "type" : "boolean"
4658 }
4659 },
4660 "type" : "object"
4661 }
4662 },
4663 "PUT" : {
4664 "description" : "Set Firewall options.",
4665 "method" : "PUT",
4666 "name" : "set_options",
4667 "parameters" : {
4668 "additionalProperties" : 0,
4669 "properties" : {
4670 "delete" : {
4671 "description" : "A list of settings you want to delete.",
4672 "format" : "pve-configid-list",
4673 "optional" : 1,
4674 "type" : "string"
4675 },
4676 "dhcp" : {
4677 "description" : "Enable DHCP.",
7aacca6f 4678 "optional" : 1,
44660702 4679 "type" : "boolean"
7aacca6f
DM
4680 },
4681 "digest" : {
4682 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4683 "maxLength" : 40,
7aacca6f 4684 "optional" : 1,
44660702 4685 "type" : "string"
7aacca6f
DM
4686 },
4687 "enable" : {
4688 "description" : "Enable/disable firewall rules.",
56122987 4689 "optional" : 1,
7aacca6f
DM
4690 "type" : "boolean"
4691 },
44660702
DM
4692 "ipfilter" : {
4693 "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.",
4694 "optional" : 1,
4695 "type" : "boolean"
4696 },
4697 "log_level_in" : {
4698 "description" : "Log level for incoming traffic.",
56122987
DM
4699 "enum" : [
4700 "emerg",
4701 "alert",
4702 "crit",
4703 "err",
4704 "warning",
4705 "notice",
4706 "info",
4707 "debug",
4708 "nolog"
7aacca6f 4709 ],
7aacca6f 4710 "optional" : 1,
44660702 4711 "type" : "string"
7aacca6f 4712 },
44660702
DM
4713 "log_level_out" : {
4714 "description" : "Log level for outgoing traffic.",
56122987
DM
4715 "enum" : [
4716 "emerg",
4717 "alert",
4718 "crit",
4719 "err",
4720 "warning",
4721 "notice",
4722 "info",
4723 "debug",
4724 "nolog"
4725 ],
56122987 4726 "optional" : 1,
44660702 4727 "type" : "string"
56122987
DM
4728 },
4729 "macfilter" : {
56122987 4730 "description" : "Enable/disable MAC address filter.",
7aacca6f
DM
4731 "optional" : 1,
4732 "type" : "boolean"
56122987 4733 },
44660702
DM
4734 "ndp" : {
4735 "description" : "Enable NDP.",
4736 "optional" : 1,
4737 "type" : "boolean"
4738 },
4739 "node" : {
4740 "description" : "The cluster node name.",
4741 "format" : "pve-node",
4742 "type" : "string"
4743 },
56122987 4744 "policy_in" : {
44660702 4745 "description" : "Input policy.",
56122987
DM
4746 "enum" : [
4747 "ACCEPT",
4748 "REJECT",
4749 "DROP"
7aacca6f 4750 ],
56122987 4751 "optional" : 1,
7aacca6f 4752 "type" : "string"
56122987 4753 },
44660702
DM
4754 "policy_out" : {
4755 "description" : "Output policy.",
4756 "enum" : [
4757 "ACCEPT",
4758 "REJECT",
4759 "DROP"
4760 ],
56122987 4761 "optional" : 1,
44660702 4762 "type" : "string"
56122987 4763 },
44660702
DM
4764 "radv" : {
4765 "description" : "Allow sending Router Advertisement.",
56122987 4766 "optional" : 1,
44660702 4767 "type" : "boolean"
7aacca6f
DM
4768 },
4769 "vmid" : {
4770 "description" : "The (unique) ID of the VM.",
44660702 4771 "format" : "pve-vmid",
7aacca6f 4772 "minimum" : 1,
4bd7df8b 4773 "type" : "integer",
2c0dde61 4774 "typetext" : "integer (1 - N)"
56122987
DM
4775 }
4776 }
4777 },
56122987
DM
4778 "permissions" : {
4779 "check" : [
4780 "perm",
4781 "/vms/{vmid}",
4782 [
44660702 4783 "VM.Config.Network"
56122987
DM
4784 ]
4785 ]
7aacca6f 4786 },
44660702 4787 "protected" : 1,
7aacca6f 4788 "proxyto" : "node",
44660702
DM
4789 "returns" : {
4790 "type" : "null"
4791 }
56122987
DM
4792 }
4793 },
44660702 4794 "leaf" : 1,
7aacca6f 4795 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 4796 "text" : "options"
56122987
DM
4797 },
4798 {
56122987
DM
4799 "info" : {
4800 "GET" : {
44660702
DM
4801 "description" : "Read firewall log",
4802 "method" : "GET",
4803 "name" : "log",
4804 "parameters" : {
4805 "additionalProperties" : 0,
4806 "properties" : {
4807 "limit" : {
4808 "minimum" : 0,
4809 "optional" : 1,
4bd7df8b 4810 "type" : "integer",
2c0dde61 4811 "typetext" : "integer (0 - N)"
56122987 4812 },
44660702
DM
4813 "node" : {
4814 "description" : "The cluster node name.",
4815 "format" : "pve-node",
4816 "type" : "string"
4817 },
4818 "start" : {
4819 "minimum" : 0,
4820 "optional" : 1,
4bd7df8b 4821 "type" : "integer",
2c0dde61 4822 "typetext" : "integer (0 - N)"
44660702
DM
4823 },
4824 "vmid" : {
4825 "description" : "The (unique) ID of the VM.",
4826 "format" : "pve-vmid",
4827 "minimum" : 1,
4bd7df8b 4828 "type" : "integer",
2c0dde61 4829 "typetext" : "integer (1 - N)"
44660702
DM
4830 }
4831 }
7aacca6f 4832 },
7aacca6f
DM
4833 "permissions" : {
4834 "check" : [
4835 "perm",
4836 "/vms/{vmid}",
4837 [
4838 "VM.Console"
4839 ]
4840 ]
56122987 4841 },
7aacca6f 4842 "protected" : 1,
44660702
DM
4843 "proxyto" : "node",
4844 "returns" : {
4845 "items" : {
4846 "properties" : {
4847 "n" : {
4848 "description" : "Line number",
4849 "type" : "integer"
4850 },
4851 "t" : {
4852 "description" : "Line text",
4853 "type" : "string"
4854 }
56122987 4855 },
44660702 4856 "type" : "object"
7aacca6f 4857 },
44660702 4858 "type" : "array"
7aacca6f
DM
4859 }
4860 }
4861 },
44660702 4862 "leaf" : 1,
7aacca6f 4863 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 4864 "text" : "log"
7aacca6f
DM
4865 },
4866 {
7aacca6f
DM
4867 "info" : {
4868 "GET" : {
4869 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
4870 "method" : "GET",
4871 "name" : "refs",
56122987 4872 "parameters" : {
44660702 4873 "additionalProperties" : 0,
56122987
DM
4874 "properties" : {
4875 "node" : {
7aacca6f 4876 "description" : "The cluster node name.",
44660702 4877 "format" : "pve-node",
7aacca6f 4878 "type" : "string"
56122987
DM
4879 },
4880 "type" : {
56122987
DM
4881 "description" : "Only list references of specified type.",
4882 "enum" : [
4883 "alias",
4884 "ipset"
7aacca6f 4885 ],
44660702
DM
4886 "optional" : 1,
4887 "type" : "string"
4888 },
4889 "vmid" : {
4890 "description" : "The (unique) ID of the VM.",
4891 "format" : "pve-vmid",
4892 "minimum" : 1,
4bd7df8b 4893 "type" : "integer",
2c0dde61 4894 "typetext" : "integer (1 - N)"
56122987 4895 }
44660702
DM
4896 }
4897 },
4898 "permissions" : {
4899 "check" : [
4900 "perm",
4901 "/vms/{vmid}",
4902 [
4903 "VM.Audit"
4904 ]
4905 ]
56122987
DM
4906 },
4907 "returns" : {
56122987
DM
4908 "items" : {
4909 "properties" : {
44660702
DM
4910 "comment" : {
4911 "optional" : 1,
56122987
DM
4912 "type" : "string"
4913 },
4914 "name" : {
4915 "type" : "string"
4916 },
44660702
DM
4917 "type" : {
4918 "enum" : [
4919 "alias",
4920 "ipset"
4921 ],
7aacca6f 4922 "type" : "string"
56122987
DM
4923 }
4924 },
4925 "type" : "object"
7aacca6f
DM
4926 },
4927 "type" : "array"
4928 }
56122987 4929 }
44660702
DM
4930 },
4931 "leaf" : 1,
4932 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
4933 "text" : "refs"
56122987
DM
4934 }
4935 ],
56122987
DM
4936 "info" : {
4937 "GET" : {
44660702 4938 "description" : "Directory index.",
56122987 4939 "method" : "GET",
44660702 4940 "name" : "index",
56122987 4941 "parameters" : {
44660702 4942 "additionalProperties" : 0,
56122987
DM
4943 "properties" : {
4944 "node" : {
4945 "description" : "The cluster node name.",
44660702
DM
4946 "format" : "pve-node",
4947 "type" : "string"
56122987
DM
4948 },
4949 "vmid" : {
44660702 4950 "description" : "The (unique) ID of the VM.",
56122987
DM
4951 "format" : "pve-vmid",
4952 "minimum" : 1,
4bd7df8b 4953 "type" : "integer",
2c0dde61 4954 "typetext" : "integer (1 - N)"
56122987 4955 }
44660702 4956 }
56122987 4957 },
56122987
DM
4958 "permissions" : {
4959 "user" : "all"
7aacca6f 4960 },
44660702
DM
4961 "returns" : {
4962 "items" : {
4963 "properties" : {},
4964 "type" : "object"
4965 },
4966 "links" : [
4967 {
4968 "href" : "{name}",
4969 "rel" : "child"
4970 }
4971 ],
4972 "type" : "array"
4973 }
56122987 4974 }
44660702
DM
4975 },
4976 "leaf" : 0,
4977 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
4978 "text" : "firewall"
56122987
DM
4979 },
4980 {
56122987
DM
4981 "info" : {
4982 "GET" : {
44660702
DM
4983 "description" : "Read VM RRD statistics (returns PNG)",
4984 "method" : "GET",
7aacca6f 4985 "name" : "rrd",
56122987
DM
4986 "parameters" : {
4987 "additionalProperties" : 0,
4988 "properties" : {
7aacca6f 4989 "cf" : {
44660702 4990 "description" : "The RRD consolidation function",
7aacca6f
DM
4991 "enum" : [
4992 "AVERAGE",
4993 "MAX"
4994 ],
7aacca6f
DM
4995 "optional" : 1,
4996 "type" : "string"
4997 },
44660702
DM
4998 "ds" : {
4999 "description" : "The list of datasources you want to display.",
5000 "format" : "pve-configid-list",
5001 "type" : "string"
56122987
DM
5002 },
5003 "node" : {
44660702 5004 "description" : "The cluster node name.",
56122987 5005 "format" : "pve-node",
44660702 5006 "type" : "string"
56122987
DM
5007 },
5008 "timeframe" : {
44660702 5009 "description" : "Specify the time frame you are interested in.",
56122987
DM
5010 "enum" : [
5011 "hour",
5012 "day",
5013 "week",
5014 "month",
5015 "year"
5016 ],
56122987
DM
5017 "type" : "string"
5018 },
44660702
DM
5019 "vmid" : {
5020 "description" : "The (unique) ID of the VM.",
5021 "format" : "pve-vmid",
5022 "minimum" : 1,
4bd7df8b 5023 "type" : "integer",
2c0dde61 5024 "typetext" : "integer (1 - N)"
56122987
DM
5025 }
5026 }
5027 },
56122987
DM
5028 "permissions" : {
5029 "check" : [
5030 "perm",
5031 "/vms/{vmid}",
5032 [
5033 "VM.Audit"
5034 ]
5035 ]
5036 },
7aacca6f
DM
5037 "protected" : 1,
5038 "returns" : {
5039 "properties" : {
5040 "filename" : {
5041 "type" : "string"
5042 }
5043 },
5044 "type" : "object"
44660702 5045 }
56122987 5046 }
44660702
DM
5047 },
5048 "leaf" : 1,
5049 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5050 "text" : "rrd"
56122987
DM
5051 },
5052 {
7aacca6f 5053 "info" : {
56122987 5054 "GET" : {
7aacca6f 5055 "description" : "Read VM RRD statistics",
44660702 5056 "method" : "GET",
56122987 5057 "name" : "rrddata",
56122987 5058 "parameters" : {
44660702 5059 "additionalProperties" : 0,
56122987 5060 "properties" : {
44660702
DM
5061 "cf" : {
5062 "description" : "The RRD consolidation function",
5063 "enum" : [
5064 "AVERAGE",
5065 "MAX"
5066 ],
5067 "optional" : 1,
5068 "type" : "string"
5069 },
56122987 5070 "node" : {
44660702 5071 "description" : "The cluster node name.",
56122987 5072 "format" : "pve-node",
44660702 5073 "type" : "string"
56122987
DM
5074 },
5075 "timeframe" : {
44660702 5076 "description" : "Specify the time frame you are interested in.",
56122987
DM
5077 "enum" : [
5078 "hour",
5079 "day",
5080 "week",
5081 "month",
5082 "year"
7aacca6f 5083 ],
44660702 5084 "type" : "string"
7aacca6f
DM
5085 },
5086 "vmid" : {
7aacca6f
DM
5087 "description" : "The (unique) ID of the VM.",
5088 "format" : "pve-vmid",
44660702 5089 "minimum" : 1,
4bd7df8b 5090 "type" : "integer",
2c0dde61 5091 "typetext" : "integer (1 - N)"
56122987 5092 }
44660702 5093 }
56122987 5094 },
56122987
DM
5095 "permissions" : {
5096 "check" : [
5097 "perm",
5098 "/vms/{vmid}",
5099 [
5100 "VM.Audit"
5101 ]
5102 ]
5103 },
44660702 5104 "protected" : 1,
7aacca6f 5105 "returns" : {
7aacca6f 5106 "items" : {
44660702
DM
5107 "properties" : {},
5108 "type" : "object"
5109 },
5110 "type" : "array"
7aacca6f 5111 }
56122987
DM
5112 }
5113 },
44660702
DM
5114 "leaf" : 1,
5115 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5116 "text" : "rrddata"
5117 },
5118 {
56122987 5119 "info" : {
44660702
DM
5120 "GET" : {
5121 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5122 "method" : "GET",
5123 "name" : "vm_config",
5124 "parameters" : {
5125 "additionalProperties" : 0,
5126 "properties" : {
5127 "current" : {
5128 "default" : 0,
5129 "description" : "Get current values (instead of pending values).",
5130 "optional" : 1,
5131 "type" : "boolean"
5132 },
5133 "node" : {
5134 "description" : "The cluster node name.",
5135 "format" : "pve-node",
5136 "type" : "string"
5137 },
5138 "vmid" : {
5139 "description" : "The (unique) ID of the VM.",
5140 "format" : "pve-vmid",
5141 "minimum" : 1,
4bd7df8b 5142 "type" : "integer",
2c0dde61 5143 "typetext" : "integer (1 - N)"
44660702
DM
5144 }
5145 }
7aacca6f 5146 },
56122987
DM
5147 "permissions" : {
5148 "check" : [
5149 "perm",
5150 "/vms/{vmid}",
5151 [
44660702
DM
5152 "VM.Audit"
5153 ]
56122987
DM
5154 ]
5155 },
56122987 5156 "proxyto" : "node",
44660702
DM
5157 "returns" : {
5158 "properties" : {
5159 "digest" : {
5160 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5161 "type" : "string"
5162 }
5163 },
5164 "type" : "object"
5165 }
5166 },
5167 "POST" : {
7aacca6f
DM
5168 "description" : "Set virtual machine options (asynchrounous API).",
5169 "method" : "POST",
44660702 5170 "name" : "update_vm_async",
56122987 5171 "parameters" : {
44660702 5172 "additionalProperties" : 0,
56122987 5173 "properties" : {
44660702
DM
5174 "acpi" : {
5175 "default" : 1,
5176 "description" : "Enable/disable ACPI.",
5177 "optional" : 1,
5178 "type" : "boolean"
5179 },
5180 "agent" : {
7aacca6f 5181 "default" : 0,
44660702 5182 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5183 "optional" : 1,
44660702 5184 "type" : "boolean"
7aacca6f 5185 },
44660702 5186 "args" : {
c2993fe5 5187 "description" : "Arbitrary arguments passed to kvm.",
44660702 5188 "optional" : 1,
c2993fe5
DM
5189 "type" : "string",
5190 "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 5191 },
44660702
DM
5192 "autostart" : {
5193 "default" : 0,
5194 "description" : "Automatic restart after crash (currently ignored).",
56122987 5195 "optional" : 1,
44660702 5196 "type" : "boolean"
56122987 5197 },
44660702
DM
5198 "background_delay" : {
5199 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5200 "maximum" : 30,
5201 "minimum" : 1,
7aacca6f 5202 "optional" : 1,
4bd7df8b 5203 "type" : "integer",
2c0dde61 5204 "typetext" : "integer (1 - 30)"
56122987 5205 },
44660702
DM
5206 "balloon" : {
5207 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5208 "minimum" : 0,
7aacca6f 5209 "optional" : 1,
4bd7df8b 5210 "type" : "integer",
2c0dde61 5211 "typetext" : "integer (0 - N)"
7aacca6f 5212 },
44660702
DM
5213 "bios" : {
5214 "default" : "seabios",
5215 "description" : "Select BIOS implementation.",
5216 "enum" : [
5217 "seabios",
5218 "ovmf"
5219 ],
56122987 5220 "optional" : 1,
44660702 5221 "type" : "string"
7aacca6f 5222 },
44660702
DM
5223 "boot" : {
5224 "default" : "cdn",
5225 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5226 "optional" : 1,
5227 "pattern" : "[acdn]{1,4}",
5228 "type" : "string"
5229 },
5230 "bootdisk" : {
5231 "description" : "Enable booting from specified disk.",
5232 "format" : "pve-qm-bootdisk",
5233 "optional" : 1,
5234 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5235 "type" : "string"
5236 },
5237 "cdrom" : {
5238 "description" : "This is an alias for option -ide2",
de0983cb 5239 "format" : "pve-qm-ide",
44660702 5240 "optional" : 1,
7aacca6f 5241 "type" : "string",
44660702
DM
5242 "typetext" : "volume"
5243 },
5244 "cores" : {
5245 "default" : 1,
5246 "description" : "The number of cores per socket.",
5247 "minimum" : 1,
7aacca6f 5248 "optional" : 1,
4bd7df8b 5249 "type" : "integer",
2c0dde61 5250 "typetext" : "integer (1 - N)"
7aacca6f 5251 },
44660702
DM
5252 "cpu" : {
5253 "description" : "Emulated CPU type.",
56122987 5254 "format" : {
44660702
DM
5255 "cputype" : {
5256 "default" : "kvm64",
7aacca6f 5257 "default_key" : 1,
44660702 5258 "description" : "Emulated CPU type.",
56122987 5259 "enum" : [
44660702
DM
5260 "486",
5261 "athlon",
f004f5b9
DM
5262 "Broadwell",
5263 "Broadwell-noTSX",
5264 "Conroe",
44660702 5265 "core2duo",
f004f5b9
DM
5266 "coreduo",
5267 "Haswell",
5268 "Haswell-noTSX",
5269 "host",
5270 "IvyBridge",
44660702
DM
5271 "kvm32",
5272 "kvm64",
44660702 5273 "Nehalem",
44660702
DM
5274 "Opteron_G1",
5275 "Opteron_G2",
5276 "Opteron_G3",
5277 "Opteron_G4",
5278 "Opteron_G5",
f004f5b9
DM
5279 "Penryn",
5280 "pentium",
5281 "pentium2",
5282 "pentium3",
5283 "phenom",
5284 "qemu32",
5285 "qemu64",
5286 "SandyBridge",
5287 "Westmere"
56122987 5288 ],
44660702 5289 "format_description" : "cputype",
56122987
DM
5290 "type" : "string"
5291 },
44660702
DM
5292 "hidden" : {
5293 "default" : 0,
5294 "description" : "Do not identify as a KVM virtual machine.",
56122987 5295 "optional" : 1,
44660702
DM
5296 "type" : "boolean"
5297 }
5298 },
5299 "optional" : 1,
4bd7df8b
DM
5300 "type" : "string",
5301 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
44660702
DM
5302 },
5303 "cpulimit" : {
5304 "default" : 0,
c2993fe5 5305 "description" : "Limit of CPU usage.",
44660702
DM
5306 "maximum" : 128,
5307 "minimum" : 0,
5308 "optional" : 1,
c2993fe5 5309 "type" : "number",
2c0dde61 5310 "typetext" : "number (0 - 128)",
c2993fe5 5311 "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
5312 },
5313 "cpuunits" : {
de0983cb 5314 "default" : 1024,
c2993fe5 5315 "description" : "CPU weight for a VM.",
44660702
DM
5316 "maximum" : 500000,
5317 "minimum" : 0,
5318 "optional" : 1,
c2993fe5 5319 "type" : "integer",
2c0dde61 5320 "typetext" : "integer (0 - 500000)",
c2993fe5 5321 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
44660702
DM
5322 },
5323 "delete" : {
5324 "description" : "A list of settings you want to delete.",
5325 "format" : "pve-configid-list",
5326 "optional" : 1,
5327 "type" : "string"
5328 },
5329 "description" : {
5330 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5331 "optional" : 1,
5332 "type" : "string"
5333 },
5334 "digest" : {
5335 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5336 "maxLength" : 40,
5337 "optional" : 1,
5338 "type" : "string"
5339 },
5340 "force" : {
5341 "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.",
5342 "optional" : 1,
5343 "requires" : "delete",
5344 "type" : "boolean"
5345 },
5346 "freeze" : {
5347 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5348 "optional" : 1,
5349 "type" : "boolean"
5350 },
5351 "hostpci[n]" : {
c2993fe5 5352 "description" : "Map host PCI devices into guest.",
44660702
DM
5353 "format" : "pve-qm-hostpci",
5354 "optional" : 1,
57b78691 5355 "type" : "string",
4bd7df8b 5356 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 5357 "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
5358 },
5359 "hotplug" : {
5360 "default" : "network,disk,usb",
5361 "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'.",
5362 "format" : "pve-hotplug-features",
5363 "optional" : 1,
5364 "type" : "string"
5365 },
4bd7df8b
DM
5366 "hugepages" : {
5367 "description" : "Enable/disable hugepages memory.",
5368 "enum" : [
5369 "any",
5370 "2",
5371 "1024"
5372 ],
5373 "optional" : 1,
5374 "type" : "string"
5375 },
44660702
DM
5376 "ide[n]" : {
5377 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5378 "format" : {
5379 "aio" : {
5380 "description" : "AIO type to use.",
5381 "enum" : [
5382 "native",
5383 "threads"
56122987 5384 ],
56122987 5385 "optional" : 1,
44660702 5386 "type" : "string"
56122987 5387 },
44660702
DM
5388 "backup" : {
5389 "description" : "Whether the drive should be included when making backups.",
56122987 5390 "optional" : 1,
44660702 5391 "type" : "boolean"
56122987 5392 },
7aacca6f 5393 "bps" : {
de0983cb 5394 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
5395 "format_description" : "bps",
5396 "optional" : 1,
5397 "type" : "integer"
5398 },
de0983cb
DM
5399 "bps_max_length" : {
5400 "description" : "Maximum length of I/O bursts in seconds.",
5401 "format_description" : "seconds",
5402 "minimum" : 1,
5403 "optional" : 1,
5404 "type" : "integer"
5405 },
44660702 5406 "bps_rd" : {
de0983cb 5407 "description" : "Maximum read speed in bytes per second.",
44660702 5408 "format_description" : "bps",
56122987 5409 "optional" : 1,
44660702 5410 "type" : "integer"
56122987 5411 },
de0983cb
DM
5412 "bps_rd_length" : {
5413 "description" : "Maximum length of read I/O bursts in seconds.",
5414 "format_description" : "seconds",
5415 "minimum" : 1,
5416 "optional" : 1,
5417 "type" : "integer"
5418 },
44660702 5419 "bps_wr" : {
de0983cb 5420 "description" : "Maximum write speed in bytes per second.",
44660702
DM
5421 "format_description" : "bps",
5422 "optional" : 1,
5423 "type" : "integer"
5424 },
de0983cb
DM
5425 "bps_wr_length" : {
5426 "description" : "Maximum length of write I/O bursts in seconds.",
5427 "format_description" : "seconds",
5428 "minimum" : 1,
5429 "optional" : 1,
5430 "type" : "integer"
5431 },
44660702
DM
5432 "cache" : {
5433 "description" : "The drive's cache mode",
5434 "enum" : [
5435 "none",
5436 "writethrough",
5437 "writeback",
5438 "unsafe",
5439 "directsync"
5440 ],
44660702
DM
5441 "optional" : 1,
5442 "type" : "string"
5443 },
5444 "cyls" : {
5445 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
5446 "optional" : 1,
5447 "type" : "integer"
5448 },
5449 "detect_zeroes" : {
5450 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5451 "optional" : 1,
5452 "type" : "boolean"
5453 },
5454 "discard" : {
5455 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5456 "enum" : [
5457 "ignore",
5458 "on"
5459 ],
56122987 5460 "optional" : 1,
44660702
DM
5461 "type" : "string"
5462 },
5463 "file" : {
5464 "default_key" : 1,
5465 "description" : "The drive's backing volume.",
5466 "format" : "pve-volume-id-or-qm-path",
5467 "format_description" : "volume",
5468 "type" : "string"
56122987 5469 },
7aacca6f 5470 "format" : {
7aacca6f 5471 "description" : "The drive's backing file's data format.",
56122987 5472 "enum" : [
7aacca6f
DM
5473 "raw",
5474 "cow",
5475 "qcow",
5476 "qed",
5477 "qcow2",
5478 "vmdk",
5479 "cloop"
56122987
DM
5480 ],
5481 "optional" : 1,
56122987
DM
5482 "type" : "string"
5483 },
44660702
DM
5484 "heads" : {
5485 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
5486 "optional" : 1,
5487 "type" : "integer"
7aacca6f 5488 },
44660702 5489 "iops" : {
de0983cb 5490 "description" : "Maximum r/w I/O in operations per second.",
44660702 5491 "format_description" : "iops",
56122987 5492 "optional" : 1,
44660702 5493 "type" : "integer"
56122987 5494 },
44660702 5495 "iops_max" : {
de0983cb 5496 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 5497 "format_description" : "iops",
56122987 5498 "optional" : 1,
44660702 5499 "type" : "integer"
56122987 5500 },
de0983cb
DM
5501 "iops_max_length" : {
5502 "description" : "Maximum length of I/O bursts in seconds.",
5503 "format_description" : "seconds",
5504 "minimum" : 1,
5505 "optional" : 1,
5506 "type" : "integer"
5507 },
44660702 5508 "iops_rd" : {
de0983cb 5509 "description" : "Maximum read I/O in operations per second.",
44660702
DM
5510 "format_description" : "iops",
5511 "optional" : 1,
5512 "type" : "integer"
5513 },
de0983cb
DM
5514 "iops_rd_length" : {
5515 "description" : "Maximum length of read I/O bursts in seconds.",
5516 "format_description" : "seconds",
5517 "minimum" : 1,
5518 "optional" : 1,
5519 "type" : "integer"
5520 },
44660702 5521 "iops_rd_max" : {
de0983cb 5522 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 5523 "format_description" : "iops",
44660702
DM
5524 "optional" : 1,
5525 "type" : "integer"
5526 },
5527 "iops_wr" : {
de0983cb 5528 "description" : "Maximum write I/O in operations per second.",
44660702 5529 "format_description" : "iops",
56122987 5530 "optional" : 1,
7aacca6f 5531 "type" : "integer"
56122987 5532 },
de0983cb
DM
5533 "iops_wr_length" : {
5534 "description" : "Maximum length of write I/O bursts in seconds.",
5535 "format_description" : "seconds",
5536 "minimum" : 1,
5537 "optional" : 1,
5538 "type" : "integer"
5539 },
44660702 5540 "iops_wr_max" : {
de0983cb 5541 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 5542 "format_description" : "iops",
7aacca6f 5543 "optional" : 1,
44660702 5544 "type" : "integer"
56122987 5545 },
44660702 5546 "mbps" : {
de0983cb 5547 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
5548 "format_description" : "mbps",
5549 "optional" : 1,
5550 "type" : "number"
5551 },
5552 "mbps_max" : {
de0983cb 5553 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
5554 "format_description" : "mbps",
5555 "optional" : 1,
5556 "type" : "number"
5557 },
5558 "mbps_rd" : {
de0983cb 5559 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
5560 "format_description" : "mbps",
5561 "optional" : 1,
5562 "type" : "number"
5563 },
5564 "mbps_rd_max" : {
de0983cb 5565 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
5566 "format_description" : "mbps",
5567 "optional" : 1,
5568 "type" : "number"
5569 },
5570 "mbps_wr" : {
de0983cb 5571 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
5572 "format_description" : "mbps",
5573 "optional" : 1,
5574 "type" : "number"
5575 },
5576 "mbps_wr_max" : {
de0983cb 5577 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 5578 "format_description" : "mbps",
56122987 5579 "optional" : 1,
44660702 5580 "type" : "number"
56122987 5581 },
7aacca6f 5582 "media" : {
7aacca6f 5583 "default" : "disk",
7aacca6f
DM
5584 "description" : "The drive's media type.",
5585 "enum" : [
5586 "cdrom",
5587 "disk"
44660702 5588 ],
44660702
DM
5589 "optional" : 1,
5590 "type" : "string"
56122987 5591 },
44660702
DM
5592 "model" : {
5593 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
5594 "format" : "urlencoded",
5595 "format_description" : "model",
5596 "maxLength" : 120,
56122987 5597 "optional" : 1,
44660702 5598 "type" : "string"
56122987 5599 },
44660702
DM
5600 "rerror" : {
5601 "description" : "Read error action.",
5602 "enum" : [
5603 "ignore",
5604 "report",
5605 "stop"
5606 ],
56122987 5607 "optional" : 1,
44660702
DM
5608 "type" : "string"
5609 },
5610 "secs" : {
5611 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
5612 "optional" : 1,
5613 "type" : "integer"
5614 },
5615 "serial" : {
5616 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
5617 "format" : "urlencoded",
5618 "format_description" : "serial",
5619 "maxLength" : 60,
5620 "optional" : 1,
5621 "type" : "string"
5622 },
5623 "size" : {
5624 "description" : "Disk size. This is purely informational and has no effect.",
5625 "format" : "disk-size",
f004f5b9 5626 "format_description" : "DiskSize",
44660702
DM
5627 "optional" : 1,
5628 "type" : "string"
5629 },
5630 "snapshot" : {
5631 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
5632 "optional" : 1,
5633 "type" : "boolean"
5634 },
5635 "trans" : {
5636 "description" : "Force disk geometry bios translation mode.",
5637 "enum" : [
5638 "none",
5639 "lba",
5640 "auto"
5641 ],
44660702
DM
5642 "optional" : 1,
5643 "type" : "string"
5644 },
5645 "volume" : {
5646 "alias" : "file"
5647 },
5648 "werror" : {
5649 "description" : "Write error action.",
5650 "enum" : [
5651 "enospc",
5652 "ignore",
5653 "report",
5654 "stop"
5655 ],
44660702
DM
5656 "optional" : 1,
5657 "type" : "string"
56122987
DM
5658 }
5659 },
44660702 5660 "optional" : 1,
4bd7df8b 5661 "type" : "string",
de0983cb 5662 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
56122987 5663 },
44660702
DM
5664 "keyboard" : {
5665 "default" : "en-us",
c2993fe5 5666 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
5667 "enum" : [
5668 "de",
5669 "de-ch",
5670 "da",
5671 "en-gb",
5672 "en-us",
5673 "es",
5674 "fi",
5675 "fr",
5676 "fr-be",
5677 "fr-ca",
5678 "fr-ch",
5679 "hu",
5680 "is",
5681 "it",
5682 "ja",
5683 "lt",
5684 "mk",
5685 "nl",
5686 "no",
5687 "pl",
5688 "pt",
5689 "pt-br",
5690 "sv",
5691 "sl",
5692 "tr"
5693 ],
56122987 5694 "optional" : 1,
44660702
DM
5695 "type" : "string"
5696 },
5697 "kvm" : {
7aacca6f 5698 "default" : 1,
44660702
DM
5699 "description" : "Enable/disable KVM hardware virtualization.",
5700 "optional" : 1,
5701 "type" : "boolean"
56122987 5702 },
44660702
DM
5703 "localtime" : {
5704 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 5705 "optional" : 1,
44660702 5706 "type" : "boolean"
56122987 5707 },
44660702
DM
5708 "lock" : {
5709 "description" : "Lock/unlock the VM.",
5710 "enum" : [
5711 "migrate",
5712 "backup",
5713 "snapshot",
5714 "rollback"
5715 ],
7aacca6f 5716 "optional" : 1,
44660702
DM
5717 "type" : "string"
5718 },
5719 "machine" : {
5720 "description" : "Specific the Qemu machine type.",
5721 "maxLength" : 40,
5722 "optional" : 1,
5723 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
5724 "type" : "string"
5725 },
5726 "memory" : {
5727 "default" : 512,
5728 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
5729 "minimum" : 16,
5730 "optional" : 1,
4bd7df8b 5731 "type" : "integer",
2c0dde61 5732 "typetext" : "integer (16 - N)"
44660702
DM
5733 },
5734 "migrate_downtime" : {
5735 "default" : 0.1,
5736 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
5737 "minimum" : 0,
5738 "optional" : 1,
4bd7df8b 5739 "type" : "number",
2c0dde61 5740 "typetext" : "number (0 - N)"
44660702
DM
5741 },
5742 "migrate_speed" : {
5743 "default" : 0,
5744 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
5745 "minimum" : 0,
5746 "optional" : 1,
4bd7df8b 5747 "type" : "integer",
2c0dde61 5748 "typetext" : "integer (0 - N)"
44660702
DM
5749 },
5750 "name" : {
5751 "description" : "Set a name for the VM. Only used on the configuration web interface.",
5752 "format" : "dns-name",
5753 "optional" : 1,
5754 "type" : "string"
5755 },
5756 "net[n]" : {
c2993fe5 5757 "description" : "Specify network devices.",
f004f5b9
DM
5758 "format" : {
5759 "bridge" : {
c2993fe5 5760 "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
5761 "format_description" : "bridge",
5762 "optional" : 1,
5763 "type" : "string"
5764 },
5765 "e1000" : {
5766 "alias" : "macaddr",
5767 "keyAlias" : "model"
5768 },
5769 "e1000-82540em" : {
5770 "alias" : "macaddr",
5771 "keyAlias" : "model"
5772 },
5773 "e1000-82544gc" : {
5774 "alias" : "macaddr",
5775 "keyAlias" : "model"
5776 },
5777 "e1000-82545em" : {
5778 "alias" : "macaddr",
5779 "keyAlias" : "model"
5780 },
5781 "firewall" : {
5782 "description" : "Whether this interface should be protected by the firewall.",
5783 "optional" : 1,
5784 "type" : "boolean"
5785 },
5786 "i82551" : {
5787 "alias" : "macaddr",
5788 "keyAlias" : "model"
5789 },
5790 "i82557b" : {
5791 "alias" : "macaddr",
5792 "keyAlias" : "model"
5793 },
5794 "i82559er" : {
5795 "alias" : "macaddr",
5796 "keyAlias" : "model"
5797 },
5798 "link_down" : {
c2993fe5 5799 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
5800 "optional" : 1,
5801 "type" : "boolean"
5802 },
5803 "macaddr" : {
c2993fe5 5804 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 5805 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
5806 "optional" : 1,
5807 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
5808 "type" : "string"
5809 },
5810 "model" : {
5811 "default_key" : 1,
c2993fe5 5812 "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
5813 "enum" : [
5814 "rtl8139",
5815 "ne2k_pci",
5816 "e1000",
5817 "pcnet",
5818 "virtio",
5819 "ne2k_isa",
5820 "i82551",
5821 "i82557b",
5822 "i82559er",
5823 "vmxnet3",
5824 "e1000-82540em",
5825 "e1000-82544gc",
5826 "e1000-82545em"
5827 ],
5828 "format_description" : "model",
5829 "type" : "string"
5830 },
5831 "ne2k_isa" : {
5832 "alias" : "macaddr",
5833 "keyAlias" : "model"
5834 },
5835 "ne2k_pci" : {
5836 "alias" : "macaddr",
5837 "keyAlias" : "model"
5838 },
5839 "pcnet" : {
5840 "alias" : "macaddr",
5841 "keyAlias" : "model"
5842 },
5843 "queues" : {
5844 "description" : "Number of packet queues to be used on the device.",
5845 "maximum" : 16,
5846 "minimum" : 0,
5847 "optional" : 1,
5848 "type" : "integer"
5849 },
5850 "rate" : {
c2993fe5 5851 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
5852 "minimum" : 0,
5853 "optional" : 1,
5854 "type" : "number"
5855 },
5856 "rtl8139" : {
5857 "alias" : "macaddr",
5858 "keyAlias" : "model"
5859 },
5860 "tag" : {
5861 "description" : "VLAN tag to apply to packets on this interface.",
5862 "maximum" : 4094,
c2993fe5 5863 "minimum" : 1,
f004f5b9
DM
5864 "optional" : 1,
5865 "type" : "integer"
5866 },
5867 "trunks" : {
5868 "description" : "VLAN trunks to pass through this interface.",
5869 "format_description" : "vlanid[;vlanid...]",
5870 "optional" : 1,
5871 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
5872 "type" : "string"
5873 },
5874 "virtio" : {
5875 "alias" : "macaddr",
5876 "keyAlias" : "model"
5877 },
5878 "vmxnet3" : {
5879 "alias" : "macaddr",
5880 "keyAlias" : "model"
5881 }
5882 },
44660702 5883 "optional" : 1,
4bd7df8b
DM
5884 "type" : "string",
5885 "typetext" : "[model=]<model> [,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
5886 },
5887 "node" : {
5888 "description" : "The cluster node name.",
5889 "format" : "pve-node",
5890 "type" : "string"
5891 },
5892 "numa" : {
5893 "default" : 0,
5894 "description" : "Enable/disable NUMA.",
5895 "optional" : 1,
5896 "type" : "boolean"
5897 },
5898 "numa[n]" : {
c2993fe5 5899 "description" : "NUMA topology.",
56122987 5900 "format" : {
7aacca6f 5901 "cpus" : {
c2993fe5 5902 "description" : "CPUs accessing this NUMA node.",
44660702
DM
5903 "format_description" : "id[-id];...",
5904 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
5905 "type" : "string"
7aacca6f
DM
5906 },
5907 "hostnodes" : {
c2993fe5 5908 "description" : "Host NUMA nodes to use.",
44660702 5909 "format_description" : "id[-id];...",
7aacca6f 5910 "optional" : 1,
7aacca6f 5911 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 5912 "type" : "string"
7aacca6f 5913 },
44660702 5914 "memory" : {
c2993fe5 5915 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 5916 "optional" : 1,
44660702
DM
5917 "type" : "number"
5918 },
5919 "policy" : {
c2993fe5 5920 "description" : "NUMA allocation policy.",
7aacca6f
DM
5921 "enum" : [
5922 "preferred",
5923 "bind",
5924 "interleave"
5925 ],
44660702
DM
5926 "optional" : 1,
5927 "type" : "string"
56122987 5928 }
44660702 5929 },
56122987 5930 "optional" : 1,
4bd7df8b
DM
5931 "type" : "string",
5932 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 5933 },
44660702 5934 "onboot" : {
7aacca6f 5935 "default" : 0,
44660702
DM
5936 "description" : "Specifies whether a VM will be started during system bootup.",
5937 "optional" : 1,
5938 "type" : "boolean"
7aacca6f
DM
5939 },
5940 "ostype" : {
c2993fe5 5941 "description" : "Specify guest operating system.",
7aacca6f
DM
5942 "enum" : [
5943 "other",
5944 "wxp",
5945 "w2k",
5946 "w2k3",
5947 "w2k8",
5948 "wvista",
5949 "win7",
5950 "win8",
5951 "l24",
5952 "l26",
5953 "solaris"
5954 ],
7aacca6f 5955 "optional" : 1,
c2993fe5
DM
5956 "type" : "string",
5957 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 5958 },
44660702 5959 "parallel[n]" : {
c2993fe5 5960 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 5961 "optional" : 1,
44660702 5962 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
5963 "type" : "string",
5964 "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
5965 },
5966 "protection" : {
5967 "default" : 0,
c2993fe5 5968 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 5969 "optional" : 1,
44660702 5970 "type" : "boolean"
7aacca6f 5971 },
44660702
DM
5972 "reboot" : {
5973 "default" : 1,
5974 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 5975 "optional" : 1,
44660702 5976 "type" : "boolean"
7aacca6f 5977 },
44660702
DM
5978 "revert" : {
5979 "description" : "Revert a pending change.",
5980 "format" : "pve-configid-list",
7aacca6f 5981 "optional" : 1,
44660702
DM
5982 "type" : "string"
5983 },
5984 "sata[n]" : {
5985 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 5986 "format" : {
44660702
DM
5987 "aio" : {
5988 "description" : "AIO type to use.",
7aacca6f 5989 "enum" : [
44660702
DM
5990 "native",
5991 "threads"
7aacca6f 5992 ],
44660702
DM
5993 "optional" : 1,
5994 "type" : "string"
7aacca6f 5995 },
44660702
DM
5996 "backup" : {
5997 "description" : "Whether the drive should be included when making backups.",
56122987 5998 "optional" : 1,
7aacca6f 5999 "type" : "boolean"
44660702
DM
6000 },
6001 "bps" : {
de0983cb 6002 "description" : "Maximum r/w speed in bytes per second.",
44660702 6003 "format_description" : "bps",
7aacca6f 6004 "optional" : 1,
44660702 6005 "type" : "integer"
56122987 6006 },
de0983cb
DM
6007 "bps_max_length" : {
6008 "description" : "Maximum length of I/O bursts in seconds.",
6009 "format_description" : "seconds",
6010 "minimum" : 1,
6011 "optional" : 1,
6012 "type" : "integer"
6013 },
44660702 6014 "bps_rd" : {
de0983cb 6015 "description" : "Maximum read speed in bytes per second.",
44660702 6016 "format_description" : "bps",
56122987 6017 "optional" : 1,
44660702 6018 "type" : "integer"
56122987 6019 },
de0983cb
DM
6020 "bps_rd_length" : {
6021 "description" : "Maximum length of read I/O bursts in seconds.",
6022 "format_description" : "seconds",
6023 "minimum" : 1,
6024 "optional" : 1,
6025 "type" : "integer"
6026 },
44660702 6027 "bps_wr" : {
de0983cb 6028 "description" : "Maximum write speed in bytes per second.",
44660702 6029 "format_description" : "bps",
56122987 6030 "optional" : 1,
44660702 6031 "type" : "integer"
56122987 6032 },
de0983cb
DM
6033 "bps_wr_length" : {
6034 "description" : "Maximum length of write I/O bursts in seconds.",
6035 "format_description" : "seconds",
6036 "minimum" : 1,
6037 "optional" : 1,
6038 "type" : "integer"
6039 },
56122987 6040 "cache" : {
44660702 6041 "description" : "The drive's cache mode",
56122987
DM
6042 "enum" : [
6043 "none",
6044 "writethrough",
6045 "writeback",
6046 "unsafe",
6047 "directsync"
6048 ],
56122987 6049 "optional" : 1,
44660702 6050 "type" : "string"
56122987 6051 },
44660702
DM
6052 "cyls" : {
6053 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6054 "optional" : 1,
44660702 6055 "type" : "integer"
7aacca6f
DM
6056 },
6057 "detect_zeroes" : {
6058 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6059 "optional" : 1,
44660702 6060 "type" : "boolean"
56122987 6061 },
44660702
DM
6062 "discard" : {
6063 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6064 "enum" : [
6065 "ignore",
6066 "on"
6067 ],
56122987 6068 "optional" : 1,
44660702 6069 "type" : "string"
7aacca6f 6070 },
44660702
DM
6071 "file" : {
6072 "default_key" : 1,
6073 "description" : "The drive's backing volume.",
6074 "format" : "pve-volume-id-or-qm-path",
6075 "format_description" : "volume",
6076 "type" : "string"
56122987 6077 },
7aacca6f 6078 "format" : {
44660702 6079 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6080 "enum" : [
6081 "raw",
6082 "cow",
6083 "qcow",
6084 "qed",
6085 "qcow2",
6086 "vmdk",
6087 "cloop"
6088 ],
7aacca6f 6089 "optional" : 1,
44660702 6090 "type" : "string"
56122987 6091 },
7aacca6f 6092 "heads" : {
7aacca6f 6093 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6094 "optional" : 1,
7aacca6f 6095 "type" : "integer"
56122987 6096 },
44660702 6097 "iops" : {
de0983cb 6098 "description" : "Maximum r/w I/O in operations per second.",
44660702 6099 "format_description" : "iops",
56122987 6100 "optional" : 1,
44660702 6101 "type" : "integer"
56122987 6102 },
44660702 6103 "iops_max" : {
de0983cb 6104 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6105 "format_description" : "iops",
56122987 6106 "optional" : 1,
44660702 6107 "type" : "integer"
56122987 6108 },
de0983cb
DM
6109 "iops_max_length" : {
6110 "description" : "Maximum length of I/O bursts in seconds.",
6111 "format_description" : "seconds",
6112 "minimum" : 1,
6113 "optional" : 1,
6114 "type" : "integer"
6115 },
44660702 6116 "iops_rd" : {
de0983cb 6117 "description" : "Maximum read I/O in operations per second.",
44660702 6118 "format_description" : "iops",
7aacca6f 6119 "optional" : 1,
44660702 6120 "type" : "integer"
56122987 6121 },
de0983cb
DM
6122 "iops_rd_length" : {
6123 "description" : "Maximum length of read I/O bursts in seconds.",
6124 "format_description" : "seconds",
6125 "minimum" : 1,
6126 "optional" : 1,
6127 "type" : "integer"
6128 },
44660702 6129 "iops_rd_max" : {
de0983cb 6130 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6131 "format_description" : "iops",
56122987 6132 "optional" : 1,
44660702 6133 "type" : "integer"
7aacca6f 6134 },
44660702 6135 "iops_wr" : {
de0983cb 6136 "description" : "Maximum write I/O in operations per second.",
44660702 6137 "format_description" : "iops",
56122987 6138 "optional" : 1,
44660702 6139 "type" : "integer"
56122987 6140 },
de0983cb
DM
6141 "iops_wr_length" : {
6142 "description" : "Maximum length of write I/O bursts in seconds.",
6143 "format_description" : "seconds",
6144 "minimum" : 1,
6145 "optional" : 1,
6146 "type" : "integer"
6147 },
56122987 6148 "iops_wr_max" : {
de0983cb 6149 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6150 "format_description" : "iops",
56122987 6151 "optional" : 1,
44660702 6152 "type" : "integer"
56122987 6153 },
44660702 6154 "mbps" : {
de0983cb 6155 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6156 "format_description" : "mbps",
56122987 6157 "optional" : 1,
44660702 6158 "type" : "number"
56122987 6159 },
44660702 6160 "mbps_max" : {
de0983cb 6161 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6162 "format_description" : "mbps",
6163 "optional" : 1,
6164 "type" : "number"
56122987 6165 },
44660702 6166 "mbps_rd" : {
de0983cb 6167 "description" : "Maximum read speed in megabytes per second.",
44660702 6168 "format_description" : "mbps",
56122987 6169 "optional" : 1,
44660702 6170 "type" : "number"
56122987 6171 },
44660702 6172 "mbps_rd_max" : {
de0983cb 6173 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6174 "format_description" : "mbps",
56122987 6175 "optional" : 1,
44660702 6176 "type" : "number"
56122987 6177 },
44660702 6178 "mbps_wr" : {
de0983cb 6179 "description" : "Maximum write speed in megabytes per second.",
56122987 6180 "format_description" : "mbps",
44660702
DM
6181 "optional" : 1,
6182 "type" : "number"
56122987 6183 },
44660702 6184 "mbps_wr_max" : {
de0983cb 6185 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6186 "format_description" : "mbps",
6187 "optional" : 1,
6188 "type" : "number"
7aacca6f 6189 },
44660702
DM
6190 "media" : {
6191 "default" : "disk",
6192 "description" : "The drive's media type.",
6193 "enum" : [
6194 "cdrom",
6195 "disk"
6196 ],
56122987 6197 "optional" : 1,
44660702
DM
6198 "type" : "string"
6199 },
6200 "rerror" : {
6201 "description" : "Read error action.",
7aacca6f 6202 "enum" : [
44660702
DM
6203 "ignore",
6204 "report",
6205 "stop"
6206 ],
7aacca6f 6207 "optional" : 1,
44660702 6208 "type" : "string"
56122987 6209 },
44660702
DM
6210 "secs" : {
6211 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6212 "optional" : 1,
44660702 6213 "type" : "integer"
56122987 6214 },
44660702
DM
6215 "serial" : {
6216 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6217 "format" : "urlencoded",
6218 "format_description" : "serial",
6219 "maxLength" : 60,
56122987 6220 "optional" : 1,
44660702 6221 "type" : "string"
56122987 6222 },
44660702
DM
6223 "size" : {
6224 "description" : "Disk size. This is purely informational and has no effect.",
6225 "format" : "disk-size",
f004f5b9 6226 "format_description" : "DiskSize",
44660702
DM
6227 "optional" : 1,
6228 "type" : "string"
6229 },
6230 "snapshot" : {
6231 "description" : "Whether the drive should be included when making snapshots.",
56122987 6232 "optional" : 1,
44660702
DM
6233 "type" : "boolean"
6234 },
6235 "trans" : {
6236 "description" : "Force disk geometry bios translation mode.",
56122987 6237 "enum" : [
7aacca6f
DM
6238 "none",
6239 "lba",
6240 "auto"
56122987 6241 ],
44660702
DM
6242 "optional" : 1,
6243 "type" : "string"
56122987 6244 },
7aacca6f
DM
6245 "volume" : {
6246 "alias" : "file"
56122987 6247 },
44660702
DM
6248 "werror" : {
6249 "description" : "Write error action.",
6250 "enum" : [
6251 "enospc",
6252 "ignore",
6253 "report",
6254 "stop"
6255 ],
7aacca6f 6256 "optional" : 1,
44660702
DM
6257 "type" : "string"
6258 }
6259 },
6260 "optional" : 1,
4bd7df8b 6261 "type" : "string",
de0983cb 6262 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
44660702
DM
6263 },
6264 "scsi[n]" : {
6265 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6266 "format" : {
56122987 6267 "aio" : {
56122987
DM
6268 "description" : "AIO type to use.",
6269 "enum" : [
6270 "native",
6271 "threads"
6272 ],
7aacca6f 6273 "optional" : 1,
44660702 6274 "type" : "string"
56122987 6275 },
44660702
DM
6276 "backup" : {
6277 "description" : "Whether the drive should be included when making backups.",
56122987 6278 "optional" : 1,
44660702 6279 "type" : "boolean"
56122987 6280 },
44660702 6281 "bps" : {
de0983cb 6282 "description" : "Maximum r/w speed in bytes per second.",
44660702 6283 "format_description" : "bps",
56122987 6284 "optional" : 1,
44660702 6285 "type" : "integer"
56122987 6286 },
de0983cb
DM
6287 "bps_max_length" : {
6288 "description" : "Maximum length of I/O bursts in seconds.",
6289 "format_description" : "seconds",
6290 "minimum" : 1,
6291 "optional" : 1,
6292 "type" : "integer"
6293 },
44660702 6294 "bps_rd" : {
de0983cb 6295 "description" : "Maximum read speed in bytes per second.",
44660702 6296 "format_description" : "bps",
56122987 6297 "optional" : 1,
44660702 6298 "type" : "integer"
56122987 6299 },
de0983cb
DM
6300 "bps_rd_length" : {
6301 "description" : "Maximum length of read I/O bursts in seconds.",
6302 "format_description" : "seconds",
6303 "minimum" : 1,
6304 "optional" : 1,
6305 "type" : "integer"
6306 },
7aacca6f 6307 "bps_wr" : {
de0983cb 6308 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6309 "format_description" : "bps",
56122987 6310 "optional" : 1,
44660702 6311 "type" : "integer"
56122987 6312 },
de0983cb
DM
6313 "bps_wr_length" : {
6314 "description" : "Maximum length of write I/O bursts in seconds.",
6315 "format_description" : "seconds",
6316 "minimum" : 1,
6317 "optional" : 1,
6318 "type" : "integer"
6319 },
44660702
DM
6320 "cache" : {
6321 "description" : "The drive's cache mode",
7aacca6f 6322 "enum" : [
44660702
DM
6323 "none",
6324 "writethrough",
6325 "writeback",
6326 "unsafe",
6327 "directsync"
7aacca6f 6328 ],
56122987 6329 "optional" : 1,
44660702 6330 "type" : "string"
56122987 6331 },
44660702
DM
6332 "cyls" : {
6333 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6334 "optional" : 1,
44660702 6335 "type" : "integer"
56122987 6336 },
44660702
DM
6337 "detect_zeroes" : {
6338 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6339 "optional" : 1,
44660702 6340 "type" : "boolean"
56122987 6341 },
44660702
DM
6342 "discard" : {
6343 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6344 "enum" : [
6345 "ignore",
6346 "on"
6347 ],
7aacca6f 6348 "optional" : 1,
44660702 6349 "type" : "string"
56122987 6350 },
44660702
DM
6351 "file" : {
6352 "default_key" : 1,
6353 "description" : "The drive's backing volume.",
6354 "format" : "pve-volume-id-or-qm-path",
6355 "format_description" : "volume",
6356 "type" : "string"
56122987 6357 },
7aacca6f 6358 "format" : {
44660702 6359 "description" : "The drive's backing file's data format.",
56122987 6360 "enum" : [
7aacca6f
DM
6361 "raw",
6362 "cow",
6363 "qcow",
6364 "qed",
6365 "qcow2",
6366 "vmdk",
6367 "cloop"
6368 ],
44660702
DM
6369 "optional" : 1,
6370 "type" : "string"
56122987 6371 },
44660702
DM
6372 "heads" : {
6373 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6374 "optional" : 1,
7aacca6f 6375 "type" : "integer"
56122987 6376 },
44660702 6377 "iops" : {
de0983cb 6378 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 6379 "format_description" : "iops",
44660702
DM
6380 "optional" : 1,
6381 "type" : "integer"
7aacca6f 6382 },
44660702 6383 "iops_max" : {
de0983cb 6384 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6385 "format_description" : "iops",
56122987 6386 "optional" : 1,
44660702 6387 "type" : "integer"
7aacca6f 6388 },
de0983cb
DM
6389 "iops_max_length" : {
6390 "description" : "Maximum length of I/O bursts in seconds.",
6391 "format_description" : "seconds",
6392 "minimum" : 1,
6393 "optional" : 1,
6394 "type" : "integer"
6395 },
44660702 6396 "iops_rd" : {
de0983cb 6397 "description" : "Maximum read I/O in operations per second.",
44660702 6398 "format_description" : "iops",
7aacca6f 6399 "optional" : 1,
44660702 6400 "type" : "integer"
56122987 6401 },
de0983cb
DM
6402 "iops_rd_length" : {
6403 "description" : "Maximum length of read I/O bursts in seconds.",
6404 "format_description" : "seconds",
6405 "minimum" : 1,
6406 "optional" : 1,
6407 "type" : "integer"
6408 },
44660702 6409 "iops_rd_max" : {
de0983cb 6410 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
6411 "format_description" : "iops",
6412 "optional" : 1,
6413 "type" : "integer"
6414 },
6415 "iops_wr" : {
de0983cb 6416 "description" : "Maximum write I/O in operations per second.",
44660702 6417 "format_description" : "iops",
56122987 6418 "optional" : 1,
44660702
DM
6419 "type" : "integer"
6420 },
de0983cb
DM
6421 "iops_wr_length" : {
6422 "description" : "Maximum length of write I/O bursts in seconds.",
6423 "format_description" : "seconds",
6424 "minimum" : 1,
6425 "optional" : 1,
6426 "type" : "integer"
6427 },
44660702 6428 "iops_wr_max" : {
de0983cb 6429 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
6430 "format_description" : "iops",
6431 "optional" : 1,
6432 "type" : "integer"
56122987 6433 },
7aacca6f 6434 "iothread" : {
7aacca6f 6435 "description" : "Whether to use iothreads for this drive",
56122987 6436 "optional" : 1,
56122987
DM
6437 "type" : "boolean"
6438 },
44660702 6439 "mbps" : {
de0983cb 6440 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6441 "format_description" : "mbps",
6442 "optional" : 1,
6443 "type" : "number"
6444 },
6445 "mbps_max" : {
de0983cb 6446 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6447 "format_description" : "mbps",
6448 "optional" : 1,
6449 "type" : "number"
6450 },
6451 "mbps_rd" : {
de0983cb 6452 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6453 "format_description" : "mbps",
6454 "optional" : 1,
6455 "type" : "number"
6456 },
6457 "mbps_rd_max" : {
de0983cb 6458 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6459 "format_description" : "mbps",
6460 "optional" : 1,
6461 "type" : "number"
6462 },
6463 "mbps_wr" : {
de0983cb 6464 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6465 "format_description" : "mbps",
6466 "optional" : 1,
6467 "type" : "number"
6468 },
6469 "mbps_wr_max" : {
de0983cb 6470 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6471 "format_description" : "mbps",
6472 "optional" : 1,
6473 "type" : "number"
6474 },
7aacca6f 6475 "media" : {
44660702
DM
6476 "default" : "disk",
6477 "description" : "The drive's media type.",
7aacca6f
DM
6478 "enum" : [
6479 "cdrom",
6480 "disk"
6481 ],
56122987 6482 "optional" : 1,
44660702
DM
6483 "type" : "string"
6484 },
6485 "queues" : {
6486 "description" : "Number of queues.",
44660702
DM
6487 "minimum" : 2,
6488 "optional" : 1,
6489 "type" : "integer"
6490 },
6491 "secs" : {
6492 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6493 "optional" : 1,
6494 "type" : "integer"
6495 },
6496 "serial" : {
6497 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6498 "format" : "urlencoded",
6499 "format_description" : "serial",
6500 "maxLength" : 60,
6501 "optional" : 1,
6502 "type" : "string"
6503 },
6504 "size" : {
6505 "description" : "Disk size. This is purely informational and has no effect.",
6506 "format" : "disk-size",
f004f5b9 6507 "format_description" : "DiskSize",
44660702
DM
6508 "optional" : 1,
6509 "type" : "string"
56122987 6510 },
7aacca6f
DM
6511 "snapshot" : {
6512 "description" : "Whether the drive should be included when making snapshots.",
6513 "optional" : 1,
44660702 6514 "type" : "boolean"
7aacca6f 6515 },
44660702
DM
6516 "trans" : {
6517 "description" : "Force disk geometry bios translation mode.",
6518 "enum" : [
6519 "none",
6520 "lba",
6521 "auto"
6522 ],
44660702
DM
6523 "optional" : 1,
6524 "type" : "string"
6525 },
6526 "volume" : {
6527 "alias" : "file"
6528 },
6529 "werror" : {
6530 "description" : "Write error action.",
6531 "enum" : [
6532 "enospc",
6533 "ignore",
6534 "report",
6535 "stop"
6536 ],
56122987 6537 "optional" : 1,
44660702 6538 "type" : "string"
56122987 6539 }
44660702 6540 },
7aacca6f 6541 "optional" : 1,
4bd7df8b 6542 "type" : "string",
de0983cb 6543 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
44660702
DM
6544 },
6545 "scsihw" : {
6546 "default" : "lsi",
c2993fe5 6547 "description" : "SCSI controller model",
7aacca6f 6548 "enum" : [
44660702
DM
6549 "lsi",
6550 "lsi53c810",
6551 "virtio-scsi-pci",
6552 "virtio-scsi-single",
6553 "megasas",
6554 "pvscsi"
7aacca6f 6555 ],
44660702
DM
6556 "optional" : 1,
6557 "type" : "string"
56122987 6558 },
44660702 6559 "serial[n]" : {
c2993fe5 6560 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 6561 "optional" : 1,
44660702 6562 "pattern" : "(/dev/.+|socket)",
c2993fe5 6563 "type" : "string",
57b78691 6564 "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 6565 },
44660702
DM
6566 "shares" : {
6567 "default" : 1000,
6568 "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",
6569 "maximum" : 50000,
6570 "minimum" : 0,
56122987 6571 "optional" : 1,
4bd7df8b 6572 "type" : "integer",
2c0dde61 6573 "typetext" : "integer (0 - 50000)"
56122987 6574 },
44660702
DM
6575 "skiplock" : {
6576 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 6577 "optional" : 1,
44660702 6578 "type" : "boolean"
56122987 6579 },
44660702
DM
6580 "smbios1" : {
6581 "description" : "Specify SMBIOS type 1 fields.",
6582 "format" : "pve-qm-smbios1",
6583 "maxLength" : 256,
56122987 6584 "optional" : 1,
4bd7df8b
DM
6585 "type" : "string",
6586 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 6587 },
44660702
DM
6588 "smp" : {
6589 "default" : 1,
6590 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 6591 "minimum" : 1,
7aacca6f 6592 "optional" : 1,
4bd7df8b 6593 "type" : "integer",
2c0dde61 6594 "typetext" : "integer (1 - N)"
7aacca6f 6595 },
44660702
DM
6596 "sockets" : {
6597 "default" : 1,
6598 "description" : "The number of CPU sockets.",
6599 "minimum" : 1,
7aacca6f 6600 "optional" : 1,
4bd7df8b 6601 "type" : "integer",
2c0dde61 6602 "typetext" : "integer (1 - N)"
56122987 6603 },
44660702
DM
6604 "startdate" : {
6605 "default" : "now",
6606 "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 6607 "optional" : 1,
44660702 6608 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 6609 "type" : "string",
44660702 6610 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 6611 },
7aacca6f 6612 "startup" : {
7aacca6f 6613 "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 6614 "format" : "pve-startup-order",
56122987 6615 "optional" : 1,
44660702
DM
6616 "type" : "string",
6617 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 6618 },
44660702 6619 "tablet" : {
7aacca6f 6620 "default" : 1,
c2993fe5 6621 "description" : "Enable/disable the USB tablet device.",
7aacca6f 6622 "optional" : 1,
c2993fe5
DM
6623 "type" : "boolean",
6624 "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 6625 },
44660702
DM
6626 "tdf" : {
6627 "default" : 0,
6628 "description" : "Enable/disable time drift fix.",
7aacca6f 6629 "optional" : 1,
44660702 6630 "type" : "boolean"
7aacca6f 6631 },
44660702
DM
6632 "template" : {
6633 "default" : 0,
6634 "description" : "Enable/disable Template.",
7aacca6f 6635 "optional" : 1,
44660702 6636 "type" : "boolean"
7aacca6f 6637 },
44660702 6638 "unused[n]" : {
c2993fe5 6639 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 6640 "format" : "pve-volume-id",
7aacca6f 6641 "optional" : 1,
44660702 6642 "type" : "string"
7aacca6f 6643 },
44660702 6644 "usb[n]" : {
c2993fe5 6645 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
6646 "format" : {
6647 "host" : {
6648 "default_key" : 1,
c2993fe5 6649 "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
6650 "format" : "pve-qm-usb-device",
6651 "format_description" : "HOSTUSBDEVICE|spice",
6652 "type" : "string"
6653 },
6654 "usb3" : {
c2993fe5
DM
6655 "default" : 0,
6656 "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
6657 "optional" : 1,
6658 "type" : "boolean"
6659 }
6660 },
7aacca6f 6661 "optional" : 1,
4bd7df8b
DM
6662 "type" : "string",
6663 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 6664 },
44660702
DM
6665 "vcpus" : {
6666 "default" : 0,
6667 "description" : "Number of hotplugged vcpus.",
6668 "minimum" : 1,
56122987 6669 "optional" : 1,
4bd7df8b 6670 "type" : "integer",
2c0dde61 6671 "typetext" : "integer (1 - N)"
56122987 6672 },
44660702 6673 "vga" : {
c2993fe5 6674 "description" : "Select the VGA type.",
44660702
DM
6675 "enum" : [
6676 "std",
6677 "cirrus",
6678 "vmware",
6679 "qxl",
6680 "serial0",
6681 "serial1",
6682 "serial2",
6683 "serial3",
6684 "qxl2",
6685 "qxl3",
6686 "qxl4"
6687 ],
56122987 6688 "optional" : 1,
c2993fe5
DM
6689 "type" : "string",
6690 "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 6691 },
44660702
DM
6692 "virtio[n]" : {
6693 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 6694 "format" : {
44660702
DM
6695 "aio" : {
6696 "description" : "AIO type to use.",
56122987 6697 "enum" : [
44660702
DM
6698 "native",
6699 "threads"
56122987 6700 ],
56122987
DM
6701 "optional" : 1,
6702 "type" : "string"
6703 },
44660702
DM
6704 "backup" : {
6705 "description" : "Whether the drive should be included when making backups.",
44660702
DM
6706 "optional" : 1,
6707 "type" : "boolean"
7aacca6f 6708 },
44660702 6709 "bps" : {
de0983cb 6710 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
6711 "format_description" : "bps",
6712 "optional" : 1,
6713 "type" : "integer"
56122987 6714 },
de0983cb
DM
6715 "bps_max_length" : {
6716 "description" : "Maximum length of I/O bursts in seconds.",
6717 "format_description" : "seconds",
6718 "minimum" : 1,
6719 "optional" : 1,
6720 "type" : "integer"
6721 },
44660702 6722 "bps_rd" : {
de0983cb 6723 "description" : "Maximum read speed in bytes per second.",
44660702 6724 "format_description" : "bps",
56122987 6725 "optional" : 1,
44660702 6726 "type" : "integer"
56122987 6727 },
de0983cb
DM
6728 "bps_rd_length" : {
6729 "description" : "Maximum length of read I/O bursts in seconds.",
6730 "format_description" : "seconds",
6731 "minimum" : 1,
6732 "optional" : 1,
6733 "type" : "integer"
6734 },
44660702 6735 "bps_wr" : {
de0983cb 6736 "description" : "Maximum write speed in bytes per second.",
44660702 6737 "format_description" : "bps",
56122987 6738 "optional" : 1,
44660702
DM
6739 "type" : "integer"
6740 },
de0983cb
DM
6741 "bps_wr_length" : {
6742 "description" : "Maximum length of write I/O bursts in seconds.",
6743 "format_description" : "seconds",
6744 "minimum" : 1,
6745 "optional" : 1,
6746 "type" : "integer"
6747 },
44660702
DM
6748 "cache" : {
6749 "description" : "The drive's cache mode",
56122987 6750 "enum" : [
44660702
DM
6751 "none",
6752 "writethrough",
6753 "writeback",
6754 "unsafe",
6755 "directsync"
56122987 6756 ],
56122987 6757 "optional" : 1,
44660702 6758 "type" : "string"
56122987 6759 },
44660702
DM
6760 "cyls" : {
6761 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 6762 "optional" : 1,
44660702 6763 "type" : "integer"
7aacca6f 6764 },
44660702
DM
6765 "detect_zeroes" : {
6766 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6767 "optional" : 1,
6768 "type" : "boolean"
7aacca6f 6769 },
44660702
DM
6770 "discard" : {
6771 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6772 "enum" : [
6773 "ignore",
6774 "on"
6775 ],
56122987 6776 "optional" : 1,
44660702 6777 "type" : "string"
56122987
DM
6778 },
6779 "file" : {
7aacca6f 6780 "default_key" : 1,
44660702 6781 "description" : "The drive's backing volume.",
7aacca6f 6782 "format" : "pve-volume-id-or-qm-path",
44660702
DM
6783 "format_description" : "volume",
6784 "type" : "string"
7aacca6f
DM
6785 },
6786 "format" : {
7aacca6f
DM
6787 "description" : "The drive's backing file's data format.",
6788 "enum" : [
6789 "raw",
6790 "cow",
6791 "qcow",
6792 "qed",
6793 "qcow2",
6794 "vmdk",
6795 "cloop"
56122987
DM
6796 ],
6797 "optional" : 1,
56122987
DM
6798 "type" : "string"
6799 },
44660702
DM
6800 "heads" : {
6801 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6802 "optional" : 1,
44660702 6803 "type" : "integer"
56122987 6804 },
44660702 6805 "iops" : {
de0983cb 6806 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 6807 "format_description" : "iops",
56122987 6808 "optional" : 1,
44660702 6809 "type" : "integer"
56122987 6810 },
44660702 6811 "iops_max" : {
de0983cb 6812 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6813 "format_description" : "iops",
56122987 6814 "optional" : 1,
56122987
DM
6815 "type" : "integer"
6816 },
de0983cb
DM
6817 "iops_max_length" : {
6818 "description" : "Maximum length of I/O bursts in seconds.",
6819 "format_description" : "seconds",
6820 "minimum" : 1,
6821 "optional" : 1,
6822 "type" : "integer"
6823 },
44660702 6824 "iops_rd" : {
de0983cb 6825 "description" : "Maximum read I/O in operations per second.",
44660702 6826 "format_description" : "iops",
56122987 6827 "optional" : 1,
44660702 6828 "type" : "integer"
56122987 6829 },
de0983cb
DM
6830 "iops_rd_length" : {
6831 "description" : "Maximum length of read I/O bursts in seconds.",
6832 "format_description" : "seconds",
6833 "minimum" : 1,
6834 "optional" : 1,
6835 "type" : "integer"
6836 },
44660702 6837 "iops_rd_max" : {
de0983cb 6838 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6839 "format_description" : "iops",
7aacca6f 6840 "optional" : 1,
44660702 6841 "type" : "integer"
56122987 6842 },
44660702 6843 "iops_wr" : {
de0983cb 6844 "description" : "Maximum write I/O in operations per second.",
44660702 6845 "format_description" : "iops",
7aacca6f 6846 "optional" : 1,
44660702 6847 "type" : "integer"
56122987 6848 },
de0983cb
DM
6849 "iops_wr_length" : {
6850 "description" : "Maximum length of write I/O bursts in seconds.",
6851 "format_description" : "seconds",
6852 "minimum" : 1,
6853 "optional" : 1,
6854 "type" : "integer"
6855 },
44660702 6856 "iops_wr_max" : {
de0983cb 6857 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6858 "format_description" : "iops",
56122987
DM
6859 "optional" : 1,
6860 "type" : "integer"
6861 },
44660702
DM
6862 "iothread" : {
6863 "description" : "Whether to use iothreads for this drive",
44660702
DM
6864 "optional" : 1,
6865 "type" : "boolean"
6866 },
6867 "mbps" : {
de0983cb 6868 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 6869 "format_description" : "mbps",
44660702
DM
6870 "optional" : 1,
6871 "type" : "number"
6872 },
6873 "mbps_max" : {
de0983cb 6874 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6875 "format_description" : "mbps",
6876 "optional" : 1,
6877 "type" : "number"
7aacca6f 6878 },
44660702 6879 "mbps_rd" : {
de0983cb 6880 "description" : "Maximum read speed in megabytes per second.",
44660702 6881 "format_description" : "mbps",
56122987 6882 "optional" : 1,
44660702 6883 "type" : "number"
56122987 6884 },
44660702 6885 "mbps_rd_max" : {
de0983cb 6886 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6887 "format_description" : "mbps",
7aacca6f 6888 "optional" : 1,
44660702 6889 "type" : "number"
56122987 6890 },
44660702 6891 "mbps_wr" : {
de0983cb 6892 "description" : "Maximum write speed in megabytes per second.",
44660702 6893 "format_description" : "mbps",
56122987 6894 "optional" : 1,
44660702 6895 "type" : "number"
56122987 6896 },
44660702 6897 "mbps_wr_max" : {
de0983cb 6898 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 6899 "format_description" : "mbps",
56122987 6900 "optional" : 1,
44660702 6901 "type" : "number"
56122987
DM
6902 },
6903 "media" : {
7aacca6f 6904 "default" : "disk",
44660702 6905 "description" : "The drive's media type.",
56122987
DM
6906 "enum" : [
6907 "cdrom",
6908 "disk"
6909 ],
44660702
DM
6910 "optional" : 1,
6911 "type" : "string"
56122987 6912 },
7aacca6f 6913 "rerror" : {
44660702 6914 "description" : "Read error action.",
56122987 6915 "enum" : [
7aacca6f
DM
6916 "ignore",
6917 "report",
6918 "stop"
56122987 6919 ],
56122987 6920 "optional" : 1,
44660702 6921 "type" : "string"
56122987 6922 },
44660702
DM
6923 "secs" : {
6924 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6925 "optional" : 1,
6926 "type" : "integer"
6927 },
6928 "serial" : {
6929 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6930 "format" : "urlencoded",
6931 "format_description" : "serial",
6932 "maxLength" : 60,
56122987 6933 "optional" : 1,
7aacca6f 6934 "type" : "string"
56122987 6935 },
44660702
DM
6936 "size" : {
6937 "description" : "Disk size. This is purely informational and has no effect.",
6938 "format" : "disk-size",
f004f5b9 6939 "format_description" : "DiskSize",
56122987 6940 "optional" : 1,
44660702 6941 "type" : "string"
56122987 6942 },
44660702
DM
6943 "snapshot" : {
6944 "description" : "Whether the drive should be included when making snapshots.",
56122987 6945 "optional" : 1,
44660702 6946 "type" : "boolean"
56122987 6947 },
44660702
DM
6948 "trans" : {
6949 "description" : "Force disk geometry bios translation mode.",
6950 "enum" : [
6951 "none",
6952 "lba",
6953 "auto"
6954 ],
44660702
DM
6955 "optional" : 1,
6956 "type" : "string"
6957 },
6958 "volume" : {
6959 "alias" : "file"
6960 },
6961 "werror" : {
6962 "description" : "Write error action.",
6963 "enum" : [
6964 "enospc",
6965 "ignore",
6966 "report",
6967 "stop"
6968 ],
56122987 6969 "optional" : 1,
44660702 6970 "type" : "string"
56122987 6971 }
44660702 6972 },
56122987 6973 "optional" : 1,
4bd7df8b 6974 "type" : "string",
de0983cb 6975 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
56122987 6976 },
7aacca6f
DM
6977 "vmid" : {
6978 "description" : "The (unique) ID of the VM.",
7aacca6f 6979 "format" : "pve-vmid",
44660702 6980 "minimum" : 1,
4bd7df8b 6981 "type" : "integer",
2c0dde61 6982 "typetext" : "integer (1 - N)"
56122987 6983 },
44660702 6984 "watchdog" : {
c2993fe5 6985 "description" : "Create a virtual hardware watchdog device.",
44660702 6986 "format" : "pve-qm-watchdog",
56122987 6987 "optional" : 1,
c2993fe5 6988 "type" : "string",
4bd7df8b 6989 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
c2993fe5 6990 "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 6991 }
44660702 6992 }
56122987 6993 },
7aacca6f
DM
6994 "permissions" : {
6995 "check" : [
6996 "perm",
6997 "/vms/{vmid}",
6998 [
44660702
DM
6999 "VM.Config.Disk",
7000 "VM.Config.CDROM",
7001 "VM.Config.CPU",
7002 "VM.Config.Memory",
7003 "VM.Config.Network",
7004 "VM.Config.HWType",
7005 "VM.Config.Options"
7006 ],
7007 "any",
7008 1
7aacca6f 7009 ]
56122987 7010 },
44660702 7011 "protected" : 1,
7aacca6f 7012 "proxyto" : "node",
44660702
DM
7013 "returns" : {
7014 "optional" : 1,
7015 "type" : "string"
7016 }
56122987 7017 },
7aacca6f 7018 "PUT" : {
44660702
DM
7019 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7020 "method" : "PUT",
7021 "name" : "update_vm",
56122987 7022 "parameters" : {
7aacca6f 7023 "additionalProperties" : 0,
56122987 7024 "properties" : {
44660702
DM
7025 "acpi" : {
7026 "default" : 1,
7027 "description" : "Enable/disable ACPI.",
7aacca6f 7028 "optional" : 1,
44660702 7029 "type" : "boolean"
7aacca6f 7030 },
44660702
DM
7031 "agent" : {
7032 "default" : 0,
7033 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7034 "optional" : 1,
44660702 7035 "type" : "boolean"
56122987 7036 },
44660702 7037 "args" : {
c2993fe5 7038 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7039 "optional" : 1,
c2993fe5
DM
7040 "type" : "string",
7041 "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 7042 },
44660702
DM
7043 "autostart" : {
7044 "default" : 0,
7045 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f
DM
7046 "optional" : 1,
7047 "type" : "boolean"
7048 },
44660702
DM
7049 "balloon" : {
7050 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7051 "minimum" : 0,
7052 "optional" : 1,
4bd7df8b 7053 "type" : "integer",
2c0dde61 7054 "typetext" : "integer (0 - N)"
44660702
DM
7055 },
7056 "bios" : {
7057 "default" : "seabios",
7058 "description" : "Select BIOS implementation.",
7aacca6f 7059 "enum" : [
44660702
DM
7060 "seabios",
7061 "ovmf"
7aacca6f 7062 ],
56122987 7063 "optional" : 1,
7aacca6f
DM
7064 "type" : "string"
7065 },
44660702
DM
7066 "boot" : {
7067 "default" : "cdn",
7068 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7069 "optional" : 1,
44660702
DM
7070 "pattern" : "[acdn]{1,4}",
7071 "type" : "string"
56122987 7072 },
44660702
DM
7073 "bootdisk" : {
7074 "description" : "Enable booting from specified disk.",
7075 "format" : "pve-qm-bootdisk",
7076 "optional" : 1,
7077 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7078 "type" : "string"
7079 },
7080 "cdrom" : {
7081 "description" : "This is an alias for option -ide2",
de0983cb 7082 "format" : "pve-qm-ide",
56122987 7083 "optional" : 1,
7aacca6f 7084 "type" : "string",
44660702
DM
7085 "typetext" : "volume"
7086 },
7087 "cores" : {
7088 "default" : 1,
7089 "description" : "The number of cores per socket.",
7090 "minimum" : 1,
7091 "optional" : 1,
4bd7df8b 7092 "type" : "integer",
2c0dde61 7093 "typetext" : "integer (1 - N)"
44660702
DM
7094 },
7095 "cpu" : {
7096 "description" : "Emulated CPU type.",
7097 "format" : {
7098 "cputype" : {
7099 "default" : "kvm64",
7100 "default_key" : 1,
7101 "description" : "Emulated CPU type.",
7102 "enum" : [
7103 "486",
7104 "athlon",
f004f5b9
DM
7105 "Broadwell",
7106 "Broadwell-noTSX",
7107 "Conroe",
44660702 7108 "core2duo",
f004f5b9
DM
7109 "coreduo",
7110 "Haswell",
7111 "Haswell-noTSX",
7112 "host",
7113 "IvyBridge",
44660702
DM
7114 "kvm32",
7115 "kvm64",
44660702 7116 "Nehalem",
44660702
DM
7117 "Opteron_G1",
7118 "Opteron_G2",
7119 "Opteron_G3",
7120 "Opteron_G4",
7121 "Opteron_G5",
f004f5b9
DM
7122 "Penryn",
7123 "pentium",
7124 "pentium2",
7125 "pentium3",
7126 "phenom",
7127 "qemu32",
7128 "qemu64",
7129 "SandyBridge",
7130 "Westmere"
44660702
DM
7131 ],
7132 "format_description" : "cputype",
7133 "type" : "string"
7134 },
7135 "hidden" : {
7136 "default" : 0,
7137 "description" : "Do not identify as a KVM virtual machine.",
7138 "optional" : 1,
7139 "type" : "boolean"
7140 }
7141 },
7142 "optional" : 1,
4bd7df8b
DM
7143 "type" : "string",
7144 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
44660702
DM
7145 },
7146 "cpulimit" : {
7147 "default" : 0,
c2993fe5 7148 "description" : "Limit of CPU usage.",
44660702
DM
7149 "maximum" : 128,
7150 "minimum" : 0,
7151 "optional" : 1,
c2993fe5 7152 "type" : "number",
2c0dde61 7153 "typetext" : "number (0 - 128)",
c2993fe5 7154 "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
7155 },
7156 "cpuunits" : {
de0983cb 7157 "default" : 1024,
c2993fe5 7158 "description" : "CPU weight for a VM.",
44660702
DM
7159 "maximum" : 500000,
7160 "minimum" : 0,
7161 "optional" : 1,
c2993fe5 7162 "type" : "integer",
2c0dde61 7163 "typetext" : "integer (0 - 500000)",
c2993fe5 7164 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
44660702
DM
7165 },
7166 "delete" : {
7167 "description" : "A list of settings you want to delete.",
7168 "format" : "pve-configid-list",
7169 "optional" : 1,
7170 "type" : "string"
7171 },
7172 "description" : {
7173 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7174 "optional" : 1,
7175 "type" : "string"
7176 },
7177 "digest" : {
7178 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7179 "maxLength" : 40,
7180 "optional" : 1,
7181 "type" : "string"
7182 },
7183 "force" : {
7184 "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.",
7185 "optional" : 1,
7186 "requires" : "delete",
7187 "type" : "boolean"
7188 },
7189 "freeze" : {
7190 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7191 "optional" : 1,
7192 "type" : "boolean"
7193 },
7194 "hostpci[n]" : {
c2993fe5 7195 "description" : "Map host PCI devices into guest.",
44660702
DM
7196 "format" : "pve-qm-hostpci",
7197 "optional" : 1,
57b78691 7198 "type" : "string",
4bd7df8b 7199 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 7200 "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 7201 },
7aacca6f 7202 "hotplug" : {
7aacca6f 7203 "default" : "network,disk,usb",
44660702
DM
7204 "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'.",
7205 "format" : "pve-hotplug-features",
56122987 7206 "optional" : 1,
56122987
DM
7207 "type" : "string"
7208 },
4bd7df8b
DM
7209 "hugepages" : {
7210 "description" : "Enable/disable hugepages memory.",
7211 "enum" : [
7212 "any",
7213 "2",
7214 "1024"
7215 ],
7216 "optional" : 1,
7217 "type" : "string"
7218 },
56122987 7219 "ide[n]" : {
7aacca6f 7220 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7221 "format" : {
44660702
DM
7222 "aio" : {
7223 "description" : "AIO type to use.",
7224 "enum" : [
7225 "native",
7226 "threads"
7227 ],
56122987 7228 "optional" : 1,
44660702 7229 "type" : "string"
56122987 7230 },
44660702
DM
7231 "backup" : {
7232 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7233 "optional" : 1,
7234 "type" : "boolean"
7235 },
7236 "bps" : {
de0983cb 7237 "description" : "Maximum r/w speed in bytes per second.",
44660702 7238 "format_description" : "bps",
56122987 7239 "optional" : 1,
44660702 7240 "type" : "integer"
56122987 7241 },
de0983cb
DM
7242 "bps_max_length" : {
7243 "description" : "Maximum length of I/O bursts in seconds.",
7244 "format_description" : "seconds",
7245 "minimum" : 1,
7246 "optional" : 1,
7247 "type" : "integer"
7248 },
44660702 7249 "bps_rd" : {
de0983cb 7250 "description" : "Maximum read speed in bytes per second.",
44660702 7251 "format_description" : "bps",
56122987 7252 "optional" : 1,
44660702 7253 "type" : "integer"
56122987 7254 },
de0983cb
DM
7255 "bps_rd_length" : {
7256 "description" : "Maximum length of read I/O bursts in seconds.",
7257 "format_description" : "seconds",
7258 "minimum" : 1,
7259 "optional" : 1,
7260 "type" : "integer"
7261 },
7aacca6f 7262 "bps_wr" : {
de0983cb 7263 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7264 "format_description" : "bps",
7265 "optional" : 1,
7266 "type" : "integer"
7aacca6f 7267 },
de0983cb
DM
7268 "bps_wr_length" : {
7269 "description" : "Maximum length of write I/O bursts in seconds.",
7270 "format_description" : "seconds",
7271 "minimum" : 1,
7272 "optional" : 1,
7273 "type" : "integer"
7274 },
44660702
DM
7275 "cache" : {
7276 "description" : "The drive's cache mode",
7277 "enum" : [
7278 "none",
7279 "writethrough",
7280 "writeback",
7281 "unsafe",
7282 "directsync"
7283 ],
56122987 7284 "optional" : 1,
44660702
DM
7285 "type" : "string"
7286 },
7287 "cyls" : {
7288 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7289 "optional" : 1,
7290 "type" : "integer"
7291 },
7292 "detect_zeroes" : {
7293 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7294 "optional" : 1,
7295 "type" : "boolean"
56122987 7296 },
7aacca6f 7297 "discard" : {
7aacca6f 7298 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 7299 "enum" : [
7aacca6f
DM
7300 "ignore",
7301 "on"
56122987
DM
7302 ],
7303 "optional" : 1,
44660702 7304 "type" : "string"
7aacca6f 7305 },
44660702
DM
7306 "file" : {
7307 "default_key" : 1,
7308 "description" : "The drive's backing volume.",
7309 "format" : "pve-volume-id-or-qm-path",
7310 "format_description" : "volume",
7311 "type" : "string"
7aacca6f
DM
7312 },
7313 "format" : {
44660702 7314 "description" : "The drive's backing file's data format.",
7aacca6f
DM
7315 "enum" : [
7316 "raw",
7317 "cow",
7318 "qcow",
7319 "qed",
7320 "qcow2",
7321 "vmdk",
7322 "cloop"
7323 ],
7aacca6f 7324 "optional" : 1,
44660702 7325 "type" : "string"
56122987 7326 },
7aacca6f 7327 "heads" : {
44660702 7328 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7329 "optional" : 1,
44660702 7330 "type" : "integer"
7aacca6f 7331 },
44660702 7332 "iops" : {
de0983cb 7333 "description" : "Maximum r/w I/O in operations per second.",
44660702 7334 "format_description" : "iops",
7aacca6f 7335 "optional" : 1,
44660702 7336 "type" : "integer"
56122987 7337 },
44660702 7338 "iops_max" : {
de0983cb 7339 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7340 "format_description" : "iops",
56122987 7341 "optional" : 1,
44660702 7342 "type" : "integer"
56122987 7343 },
de0983cb
DM
7344 "iops_max_length" : {
7345 "description" : "Maximum length of I/O bursts in seconds.",
7346 "format_description" : "seconds",
7347 "minimum" : 1,
7348 "optional" : 1,
7349 "type" : "integer"
7350 },
44660702 7351 "iops_rd" : {
de0983cb 7352 "description" : "Maximum read I/O in operations per second.",
44660702 7353 "format_description" : "iops",
56122987 7354 "optional" : 1,
44660702 7355 "type" : "integer"
7aacca6f 7356 },
de0983cb
DM
7357 "iops_rd_length" : {
7358 "description" : "Maximum length of read I/O bursts in seconds.",
7359 "format_description" : "seconds",
7360 "minimum" : 1,
7361 "optional" : 1,
7362 "type" : "integer"
7363 },
44660702 7364 "iops_rd_max" : {
de0983cb 7365 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7366 "format_description" : "iops",
7aacca6f 7367 "optional" : 1,
44660702 7368 "type" : "integer"
7aacca6f 7369 },
44660702 7370 "iops_wr" : {
de0983cb 7371 "description" : "Maximum write I/O in operations per second.",
44660702 7372 "format_description" : "iops",
7aacca6f 7373 "optional" : 1,
44660702 7374 "type" : "integer"
56122987 7375 },
de0983cb
DM
7376 "iops_wr_length" : {
7377 "description" : "Maximum length of write I/O bursts in seconds.",
7378 "format_description" : "seconds",
7379 "minimum" : 1,
7380 "optional" : 1,
7381 "type" : "integer"
7382 },
44660702 7383 "iops_wr_max" : {
de0983cb 7384 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7385 "format_description" : "iops",
7aacca6f 7386 "optional" : 1,
44660702 7387 "type" : "integer"
7aacca6f
DM
7388 },
7389 "mbps" : {
de0983cb 7390 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7391 "format_description" : "mbps",
7aacca6f 7392 "optional" : 1,
44660702 7393 "type" : "number"
7aacca6f 7394 },
44660702 7395 "mbps_max" : {
de0983cb 7396 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 7397 "format_description" : "mbps",
7aacca6f 7398 "optional" : 1,
44660702 7399 "type" : "number"
7aacca6f 7400 },
44660702 7401 "mbps_rd" : {
de0983cb 7402 "description" : "Maximum read speed in megabytes per second.",
44660702 7403 "format_description" : "mbps",
7aacca6f 7404 "optional" : 1,
44660702 7405 "type" : "number"
7aacca6f 7406 },
44660702 7407 "mbps_rd_max" : {
de0983cb 7408 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7409 "format_description" : "mbps",
7410 "optional" : 1,
7411 "type" : "number"
7aacca6f 7412 },
44660702 7413 "mbps_wr" : {
de0983cb 7414 "description" : "Maximum write speed in megabytes per second.",
44660702 7415 "format_description" : "mbps",
7aacca6f 7416 "optional" : 1,
44660702
DM
7417 "type" : "number"
7418 },
7419 "mbps_wr_max" : {
de0983cb 7420 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7421 "format_description" : "mbps",
7422 "optional" : 1,
7423 "type" : "number"
7424 },
7425 "media" : {
7426 "default" : "disk",
7427 "description" : "The drive's media type.",
56122987 7428 "enum" : [
44660702
DM
7429 "cdrom",
7430 "disk"
56122987 7431 ],
44660702
DM
7432 "optional" : 1,
7433 "type" : "string"
56122987 7434 },
7aacca6f 7435 "model" : {
44660702 7436 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 7437 "format" : "urlencoded",
7aacca6f 7438 "format_description" : "model",
44660702 7439 "maxLength" : 120,
56122987 7440 "optional" : 1,
44660702 7441 "type" : "string"
56122987 7442 },
44660702
DM
7443 "rerror" : {
7444 "description" : "Read error action.",
7445 "enum" : [
7446 "ignore",
7447 "report",
7448 "stop"
7449 ],
56122987 7450 "optional" : 1,
44660702 7451 "type" : "string"
56122987 7452 },
44660702
DM
7453 "secs" : {
7454 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7455 "optional" : 1,
7456 "type" : "integer"
56122987 7457 },
44660702
DM
7458 "serial" : {
7459 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7460 "format" : "urlencoded",
7461 "format_description" : "serial",
7462 "maxLength" : 60,
56122987 7463 "optional" : 1,
44660702 7464 "type" : "string"
56122987 7465 },
44660702
DM
7466 "size" : {
7467 "description" : "Disk size. This is purely informational and has no effect.",
7468 "format" : "disk-size",
f004f5b9 7469 "format_description" : "DiskSize",
56122987 7470 "optional" : 1,
44660702 7471 "type" : "string"
56122987 7472 },
44660702
DM
7473 "snapshot" : {
7474 "description" : "Whether the drive should be included when making snapshots.",
56122987 7475 "optional" : 1,
44660702 7476 "type" : "boolean"
56122987 7477 },
44660702
DM
7478 "trans" : {
7479 "description" : "Force disk geometry bios translation mode.",
7480 "enum" : [
7481 "none",
7482 "lba",
7483 "auto"
7484 ],
56122987 7485 "optional" : 1,
44660702
DM
7486 "type" : "string"
7487 },
7488 "volume" : {
7489 "alias" : "file"
56122987 7490 },
7aacca6f 7491 "werror" : {
44660702 7492 "description" : "Write error action.",
7aacca6f
DM
7493 "enum" : [
7494 "enospc",
7495 "ignore",
7496 "report",
7497 "stop"
7498 ],
56122987 7499 "optional" : 1,
44660702 7500 "type" : "string"
7aacca6f 7501 }
44660702
DM
7502 },
7503 "optional" : 1,
4bd7df8b 7504 "type" : "string",
de0983cb 7505 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
7aacca6f 7506 },
44660702
DM
7507 "keyboard" : {
7508 "default" : "en-us",
c2993fe5 7509 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
7510 "enum" : [
7511 "de",
7512 "de-ch",
7513 "da",
7514 "en-gb",
7515 "en-us",
7516 "es",
7517 "fi",
7518 "fr",
7519 "fr-be",
7520 "fr-ca",
7521 "fr-ch",
7522 "hu",
7523 "is",
7524 "it",
7525 "ja",
7526 "lt",
7527 "mk",
7528 "nl",
7529 "no",
7530 "pl",
7531 "pt",
7532 "pt-br",
7533 "sv",
7534 "sl",
7535 "tr"
7536 ],
7aacca6f 7537 "optional" : 1,
44660702 7538 "type" : "string"
7aacca6f 7539 },
44660702 7540 "kvm" : {
7aacca6f 7541 "default" : 1,
44660702 7542 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 7543 "optional" : 1,
44660702 7544 "type" : "boolean"
7aacca6f 7545 },
44660702
DM
7546 "localtime" : {
7547 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 7548 "optional" : 1,
44660702 7549 "type" : "boolean"
7aacca6f 7550 },
44660702
DM
7551 "lock" : {
7552 "description" : "Lock/unlock the VM.",
7553 "enum" : [
7554 "migrate",
7555 "backup",
7556 "snapshot",
7557 "rollback"
7558 ],
7aacca6f 7559 "optional" : 1,
44660702 7560 "type" : "string"
7aacca6f 7561 },
44660702
DM
7562 "machine" : {
7563 "description" : "Specific the Qemu machine type.",
7564 "maxLength" : 40,
7aacca6f 7565 "optional" : 1,
44660702
DM
7566 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7567 "type" : "string"
7aacca6f 7568 },
44660702
DM
7569 "memory" : {
7570 "default" : 512,
7571 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7572 "minimum" : 16,
7aacca6f 7573 "optional" : 1,
4bd7df8b 7574 "type" : "integer",
2c0dde61 7575 "typetext" : "integer (16 - N)"
7aacca6f 7576 },
44660702
DM
7577 "migrate_downtime" : {
7578 "default" : 0.1,
7579 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7580 "minimum" : 0,
7aacca6f 7581 "optional" : 1,
4bd7df8b 7582 "type" : "number",
2c0dde61 7583 "typetext" : "number (0 - N)"
7aacca6f 7584 },
44660702 7585 "migrate_speed" : {
7aacca6f 7586 "default" : 0,
44660702
DM
7587 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7588 "minimum" : 0,
7589 "optional" : 1,
4bd7df8b 7590 "type" : "integer",
2c0dde61 7591 "typetext" : "integer (0 - N)"
7aacca6f 7592 },
44660702
DM
7593 "name" : {
7594 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7595 "format" : "dns-name",
7aacca6f 7596 "optional" : 1,
44660702 7597 "type" : "string"
7aacca6f 7598 },
44660702 7599 "net[n]" : {
c2993fe5 7600 "description" : "Specify network devices.",
f004f5b9
DM
7601 "format" : {
7602 "bridge" : {
c2993fe5 7603 "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
7604 "format_description" : "bridge",
7605 "optional" : 1,
7606 "type" : "string"
7607 },
7608 "e1000" : {
7609 "alias" : "macaddr",
7610 "keyAlias" : "model"
7611 },
7612 "e1000-82540em" : {
7613 "alias" : "macaddr",
7614 "keyAlias" : "model"
7615 },
7616 "e1000-82544gc" : {
7617 "alias" : "macaddr",
7618 "keyAlias" : "model"
7619 },
7620 "e1000-82545em" : {
7621 "alias" : "macaddr",
7622 "keyAlias" : "model"
7623 },
7624 "firewall" : {
7625 "description" : "Whether this interface should be protected by the firewall.",
7626 "optional" : 1,
7627 "type" : "boolean"
7628 },
7629 "i82551" : {
7630 "alias" : "macaddr",
7631 "keyAlias" : "model"
7632 },
7633 "i82557b" : {
7634 "alias" : "macaddr",
7635 "keyAlias" : "model"
7636 },
7637 "i82559er" : {
7638 "alias" : "macaddr",
7639 "keyAlias" : "model"
7640 },
7641 "link_down" : {
c2993fe5 7642 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
7643 "optional" : 1,
7644 "type" : "boolean"
7645 },
7646 "macaddr" : {
c2993fe5 7647 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 7648 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
7649 "optional" : 1,
7650 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7651 "type" : "string"
7652 },
7653 "model" : {
7654 "default_key" : 1,
c2993fe5 7655 "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
7656 "enum" : [
7657 "rtl8139",
7658 "ne2k_pci",
7659 "e1000",
7660 "pcnet",
7661 "virtio",
7662 "ne2k_isa",
7663 "i82551",
7664 "i82557b",
7665 "i82559er",
7666 "vmxnet3",
7667 "e1000-82540em",
7668 "e1000-82544gc",
7669 "e1000-82545em"
7670 ],
7671 "format_description" : "model",
7672 "type" : "string"
7673 },
7674 "ne2k_isa" : {
7675 "alias" : "macaddr",
7676 "keyAlias" : "model"
7677 },
7678 "ne2k_pci" : {
7679 "alias" : "macaddr",
7680 "keyAlias" : "model"
7681 },
7682 "pcnet" : {
7683 "alias" : "macaddr",
7684 "keyAlias" : "model"
7685 },
7686 "queues" : {
7687 "description" : "Number of packet queues to be used on the device.",
7688 "maximum" : 16,
7689 "minimum" : 0,
7690 "optional" : 1,
7691 "type" : "integer"
7692 },
7693 "rate" : {
c2993fe5 7694 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
7695 "minimum" : 0,
7696 "optional" : 1,
7697 "type" : "number"
7698 },
7699 "rtl8139" : {
7700 "alias" : "macaddr",
7701 "keyAlias" : "model"
7702 },
7703 "tag" : {
7704 "description" : "VLAN tag to apply to packets on this interface.",
7705 "maximum" : 4094,
c2993fe5 7706 "minimum" : 1,
f004f5b9
DM
7707 "optional" : 1,
7708 "type" : "integer"
7709 },
7710 "trunks" : {
7711 "description" : "VLAN trunks to pass through this interface.",
7712 "format_description" : "vlanid[;vlanid...]",
7713 "optional" : 1,
7714 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7715 "type" : "string"
7716 },
7717 "virtio" : {
7718 "alias" : "macaddr",
7719 "keyAlias" : "model"
7720 },
7721 "vmxnet3" : {
7722 "alias" : "macaddr",
7723 "keyAlias" : "model"
7724 }
7725 },
7aacca6f 7726 "optional" : 1,
4bd7df8b
DM
7727 "type" : "string",
7728 "typetext" : "[model=]<model> [,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 7729 },
44660702
DM
7730 "node" : {
7731 "description" : "The cluster node name.",
7732 "format" : "pve-node",
7733 "type" : "string"
7734 },
7735 "numa" : {
7736 "default" : 0,
7737 "description" : "Enable/disable NUMA.",
7aacca6f
DM
7738 "optional" : 1,
7739 "type" : "boolean"
7740 },
44660702 7741 "numa[n]" : {
c2993fe5 7742 "description" : "NUMA topology.",
44660702
DM
7743 "format" : {
7744 "cpus" : {
c2993fe5 7745 "description" : "CPUs accessing this NUMA node.",
44660702
DM
7746 "format_description" : "id[-id];...",
7747 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7748 "type" : "string"
7749 },
7750 "hostnodes" : {
c2993fe5 7751 "description" : "Host NUMA nodes to use.",
44660702
DM
7752 "format_description" : "id[-id];...",
7753 "optional" : 1,
7754 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7755 "type" : "string"
7756 },
7757 "memory" : {
c2993fe5 7758 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
7759 "optional" : 1,
7760 "type" : "number"
7761 },
7762 "policy" : {
c2993fe5 7763 "description" : "NUMA allocation policy.",
44660702
DM
7764 "enum" : [
7765 "preferred",
7766 "bind",
7767 "interleave"
7768 ],
44660702
DM
7769 "optional" : 1,
7770 "type" : "string"
7771 }
7772 },
7aacca6f 7773 "optional" : 1,
4bd7df8b
DM
7774 "type" : "string",
7775 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 7776 },
44660702
DM
7777 "onboot" : {
7778 "default" : 0,
7779 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 7780 "optional" : 1,
44660702 7781 "type" : "boolean"
7aacca6f 7782 },
44660702 7783 "ostype" : {
c2993fe5 7784 "description" : "Specify guest operating system.",
44660702
DM
7785 "enum" : [
7786 "other",
7787 "wxp",
7788 "w2k",
7789 "w2k3",
7790 "w2k8",
7791 "wvista",
7792 "win7",
7793 "win8",
7794 "l24",
7795 "l26",
7796 "solaris"
7797 ],
7aacca6f 7798 "optional" : 1,
c2993fe5
DM
7799 "type" : "string",
7800 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
7aacca6f 7801 },
44660702 7802 "parallel[n]" : {
c2993fe5 7803 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 7804 "optional" : 1,
44660702 7805 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
7806 "type" : "string",
7807 "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 7808 },
44660702
DM
7809 "protection" : {
7810 "default" : 0,
c2993fe5 7811 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 7812 "optional" : 1,
44660702 7813 "type" : "boolean"
7aacca6f 7814 },
44660702
DM
7815 "reboot" : {
7816 "default" : 1,
7817 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 7818 "optional" : 1,
44660702 7819 "type" : "boolean"
7aacca6f 7820 },
44660702
DM
7821 "revert" : {
7822 "description" : "Revert a pending change.",
7823 "format" : "pve-configid-list",
7aacca6f 7824 "optional" : 1,
44660702 7825 "type" : "string"
7aacca6f 7826 },
44660702
DM
7827 "sata[n]" : {
7828 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 7829 "format" : {
44660702
DM
7830 "aio" : {
7831 "description" : "AIO type to use.",
7832 "enum" : [
7833 "native",
7834 "threads"
7835 ],
44660702
DM
7836 "optional" : 1,
7837 "type" : "string"
7838 },
7839 "backup" : {
7840 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7841 "optional" : 1,
7842 "type" : "boolean"
7843 },
7844 "bps" : {
de0983cb 7845 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 7846 "format_description" : "bps",
7aacca6f
DM
7847 "optional" : 1,
7848 "type" : "integer"
56122987 7849 },
de0983cb
DM
7850 "bps_max_length" : {
7851 "description" : "Maximum length of I/O bursts in seconds.",
7852 "format_description" : "seconds",
7853 "minimum" : 1,
7854 "optional" : 1,
7855 "type" : "integer"
7856 },
44660702 7857 "bps_rd" : {
de0983cb 7858 "description" : "Maximum read speed in bytes per second.",
44660702 7859 "format_description" : "bps",
7aacca6f 7860 "optional" : 1,
44660702 7861 "type" : "integer"
7aacca6f 7862 },
de0983cb
DM
7863 "bps_rd_length" : {
7864 "description" : "Maximum length of read I/O bursts in seconds.",
7865 "format_description" : "seconds",
7866 "minimum" : 1,
7867 "optional" : 1,
7868 "type" : "integer"
7869 },
44660702 7870 "bps_wr" : {
de0983cb 7871 "description" : "Maximum write speed in bytes per second.",
44660702 7872 "format_description" : "bps",
7aacca6f 7873 "optional" : 1,
44660702 7874 "type" : "integer"
7aacca6f 7875 },
de0983cb
DM
7876 "bps_wr_length" : {
7877 "description" : "Maximum length of write I/O bursts in seconds.",
7878 "format_description" : "seconds",
7879 "minimum" : 1,
7880 "optional" : 1,
7881 "type" : "integer"
7882 },
44660702
DM
7883 "cache" : {
7884 "description" : "The drive's cache mode",
7885 "enum" : [
7886 "none",
7887 "writethrough",
7888 "writeback",
7889 "unsafe",
7890 "directsync"
7891 ],
7aacca6f 7892 "optional" : 1,
44660702 7893 "type" : "string"
7aacca6f 7894 },
44660702
DM
7895 "cyls" : {
7896 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 7897 "optional" : 1,
44660702 7898 "type" : "integer"
7aacca6f 7899 },
44660702
DM
7900 "detect_zeroes" : {
7901 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 7902 "optional" : 1,
44660702 7903 "type" : "boolean"
7aacca6f 7904 },
44660702
DM
7905 "discard" : {
7906 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7907 "enum" : [
7908 "ignore",
7909 "on"
7910 ],
7aacca6f 7911 "optional" : 1,
44660702
DM
7912 "type" : "string"
7913 },
7914 "file" : {
7915 "default_key" : 1,
7916 "description" : "The drive's backing volume.",
7917 "format" : "pve-volume-id-or-qm-path",
7918 "format_description" : "volume",
7919 "type" : "string"
7aacca6f
DM
7920 },
7921 "format" : {
7aacca6f 7922 "description" : "The drive's backing file's data format.",
56122987
DM
7923 "enum" : [
7924 "raw",
7925 "cow",
7926 "qcow",
7927 "qed",
7928 "qcow2",
7929 "vmdk",
7930 "cloop"
7931 ],
7932 "optional" : 1,
7aacca6f 7933 "type" : "string"
56122987 7934 },
7aacca6f 7935 "heads" : {
7aacca6f 7936 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
7937 "optional" : 1,
7938 "type" : "integer"
56122987 7939 },
44660702 7940 "iops" : {
de0983cb 7941 "description" : "Maximum r/w I/O in operations per second.",
44660702 7942 "format_description" : "iops",
56122987 7943 "optional" : 1,
44660702 7944 "type" : "integer"
7aacca6f 7945 },
44660702 7946 "iops_max" : {
de0983cb 7947 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7948 "format_description" : "iops",
7aacca6f 7949 "optional" : 1,
44660702 7950 "type" : "integer"
56122987 7951 },
de0983cb
DM
7952 "iops_max_length" : {
7953 "description" : "Maximum length of I/O bursts in seconds.",
7954 "format_description" : "seconds",
7955 "minimum" : 1,
7956 "optional" : 1,
7957 "type" : "integer"
7958 },
44660702 7959 "iops_rd" : {
de0983cb 7960 "description" : "Maximum read I/O in operations per second.",
44660702 7961 "format_description" : "iops",
56122987 7962 "optional" : 1,
44660702 7963 "type" : "integer"
7aacca6f 7964 },
de0983cb
DM
7965 "iops_rd_length" : {
7966 "description" : "Maximum length of read I/O bursts in seconds.",
7967 "format_description" : "seconds",
7968 "minimum" : 1,
7969 "optional" : 1,
7970 "type" : "integer"
7971 },
44660702 7972 "iops_rd_max" : {
de0983cb 7973 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7974 "format_description" : "iops",
56122987 7975 "optional" : 1,
44660702 7976 "type" : "integer"
56122987 7977 },
44660702 7978 "iops_wr" : {
de0983cb 7979 "description" : "Maximum write I/O in operations per second.",
44660702
DM
7980 "format_description" : "iops",
7981 "optional" : 1,
7982 "type" : "integer"
56122987 7983 },
de0983cb
DM
7984 "iops_wr_length" : {
7985 "description" : "Maximum length of write I/O bursts in seconds.",
7986 "format_description" : "seconds",
7987 "minimum" : 1,
7988 "optional" : 1,
7989 "type" : "integer"
7990 },
44660702 7991 "iops_wr_max" : {
de0983cb 7992 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
7993 "format_description" : "iops",
7994 "optional" : 1,
7995 "type" : "integer"
7996 },
7997 "mbps" : {
de0983cb 7998 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7999 "format_description" : "mbps",
8000 "optional" : 1,
8001 "type" : "number"
8002 },
8003 "mbps_max" : {
de0983cb 8004 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8005 "format_description" : "mbps",
8006 "optional" : 1,
8007 "type" : "number"
8008 },
8009 "mbps_rd" : {
de0983cb 8010 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8011 "format_description" : "mbps",
8012 "optional" : 1,
8013 "type" : "number"
8014 },
8015 "mbps_rd_max" : {
de0983cb 8016 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8017 "format_description" : "mbps",
8018 "optional" : 1,
8019 "type" : "number"
8020 },
8021 "mbps_wr" : {
de0983cb 8022 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8023 "format_description" : "mbps",
8024 "optional" : 1,
8025 "type" : "number"
8026 },
8027 "mbps_wr_max" : {
de0983cb 8028 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8029 "format_description" : "mbps",
8030 "optional" : 1,
8031 "type" : "number"
8032 },
8033 "media" : {
8034 "default" : "disk",
8035 "description" : "The drive's media type.",
8036 "enum" : [
8037 "cdrom",
8038 "disk"
8039 ],
56122987 8040 "optional" : 1,
44660702
DM
8041 "type" : "string"
8042 },
8043 "rerror" : {
7aacca6f
DM
8044 "description" : "Read error action.",
8045 "enum" : [
8046 "ignore",
8047 "report",
8048 "stop"
44660702 8049 ],
56122987 8050 "optional" : 1,
44660702 8051 "type" : "string"
56122987 8052 },
7aacca6f 8053 "secs" : {
44660702 8054 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8055 "optional" : 1,
44660702 8056 "type" : "integer"
56122987 8057 },
44660702
DM
8058 "serial" : {
8059 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8060 "format" : "urlencoded",
8061 "format_description" : "serial",
8062 "maxLength" : 60,
56122987 8063 "optional" : 1,
44660702 8064 "type" : "string"
56122987 8065 },
44660702
DM
8066 "size" : {
8067 "description" : "Disk size. This is purely informational and has no effect.",
8068 "format" : "disk-size",
f004f5b9 8069 "format_description" : "DiskSize",
56122987 8070 "optional" : 1,
44660702 8071 "type" : "string"
56122987
DM
8072 },
8073 "snapshot" : {
7aacca6f 8074 "description" : "Whether the drive should be included when making snapshots.",
56122987 8075 "optional" : 1,
44660702 8076 "type" : "boolean"
56122987 8077 },
56122987 8078 "trans" : {
7aacca6f 8079 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8080 "enum" : [
8081 "none",
8082 "lba",
8083 "auto"
8084 ],
8085 "optional" : 1,
44660702 8086 "type" : "string"
56122987 8087 },
44660702
DM
8088 "volume" : {
8089 "alias" : "file"
56122987 8090 },
7aacca6f 8091 "werror" : {
44660702 8092 "description" : "Write error action.",
56122987 8093 "enum" : [
7aacca6f 8094 "enospc",
56122987 8095 "ignore",
7aacca6f
DM
8096 "report",
8097 "stop"
8098 ],
7aacca6f 8099 "optional" : 1,
44660702
DM
8100 "type" : "string"
8101 }
8102 },
8103 "optional" : 1,
4bd7df8b 8104 "type" : "string",
de0983cb 8105 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
44660702
DM
8106 },
8107 "scsi[n]" : {
8108 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8109 "format" : {
8110 "aio" : {
7aacca6f 8111 "description" : "AIO type to use.",
56122987
DM
8112 "enum" : [
8113 "native",
8114 "threads"
44660702 8115 ],
56122987 8116 "optional" : 1,
44660702 8117 "type" : "string"
56122987 8118 },
7aacca6f 8119 "backup" : {
7aacca6f 8120 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8121 "optional" : 1,
44660702 8122 "type" : "boolean"
56122987 8123 },
44660702 8124 "bps" : {
de0983cb 8125 "description" : "Maximum r/w speed in bytes per second.",
44660702 8126 "format_description" : "bps",
7aacca6f 8127 "optional" : 1,
44660702 8128 "type" : "integer"
7aacca6f 8129 },
de0983cb
DM
8130 "bps_max_length" : {
8131 "description" : "Maximum length of I/O bursts in seconds.",
8132 "format_description" : "seconds",
8133 "minimum" : 1,
8134 "optional" : 1,
8135 "type" : "integer"
8136 },
44660702 8137 "bps_rd" : {
de0983cb 8138 "description" : "Maximum read speed in bytes per second.",
44660702 8139 "format_description" : "bps",
56122987 8140 "optional" : 1,
44660702 8141 "type" : "integer"
56122987 8142 },
de0983cb
DM
8143 "bps_rd_length" : {
8144 "description" : "Maximum length of read I/O bursts in seconds.",
8145 "format_description" : "seconds",
8146 "minimum" : 1,
8147 "optional" : 1,
8148 "type" : "integer"
8149 },
44660702 8150 "bps_wr" : {
de0983cb 8151 "description" : "Maximum write speed in bytes per second.",
44660702 8152 "format_description" : "bps",
56122987 8153 "optional" : 1,
44660702 8154 "type" : "integer"
56122987 8155 },
de0983cb
DM
8156 "bps_wr_length" : {
8157 "description" : "Maximum length of write I/O bursts in seconds.",
8158 "format_description" : "seconds",
8159 "minimum" : 1,
8160 "optional" : 1,
8161 "type" : "integer"
8162 },
44660702
DM
8163 "cache" : {
8164 "description" : "The drive's cache mode",
8165 "enum" : [
8166 "none",
8167 "writethrough",
8168 "writeback",
8169 "unsafe",
8170 "directsync"
8171 ],
56122987 8172 "optional" : 1,
44660702
DM
8173 "type" : "string"
8174 },
8175 "cyls" : {
8176 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8177 "optional" : 1,
8178 "type" : "integer"
8179 },
8180 "detect_zeroes" : {
8181 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8182 "optional" : 1,
8183 "type" : "boolean"
8184 },
8185 "discard" : {
8186 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8187 "enum" : [
8188 "ignore",
8189 "on"
8190 ],
44660702
DM
8191 "optional" : 1,
8192 "type" : "string"
8193 },
8194 "file" : {
8195 "default_key" : 1,
8196 "description" : "The drive's backing volume.",
8197 "format" : "pve-volume-id-or-qm-path",
8198 "format_description" : "volume",
8199 "type" : "string"
56122987 8200 },
7aacca6f 8201 "format" : {
44660702 8202 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8203 "enum" : [
8204 "raw",
8205 "cow",
8206 "qcow",
8207 "qed",
8208 "qcow2",
8209 "vmdk",
8210 "cloop"
8211 ],
56122987 8212 "optional" : 1,
44660702 8213 "type" : "string"
56122987 8214 },
44660702
DM
8215 "heads" : {
8216 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8217 "optional" : 1,
44660702 8218 "type" : "integer"
56122987 8219 },
44660702 8220 "iops" : {
de0983cb 8221 "description" : "Maximum r/w I/O in operations per second.",
44660702 8222 "format_description" : "iops",
7aacca6f 8223 "optional" : 1,
44660702 8224 "type" : "integer"
56122987 8225 },
44660702 8226 "iops_max" : {
de0983cb 8227 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 8228 "format_description" : "iops",
7aacca6f 8229 "optional" : 1,
44660702 8230 "type" : "integer"
56122987 8231 },
de0983cb
DM
8232 "iops_max_length" : {
8233 "description" : "Maximum length of I/O bursts in seconds.",
8234 "format_description" : "seconds",
8235 "minimum" : 1,
8236 "optional" : 1,
8237 "type" : "integer"
8238 },
44660702 8239 "iops_rd" : {
de0983cb 8240 "description" : "Maximum read I/O in operations per second.",
44660702 8241 "format_description" : "iops",
56122987 8242 "optional" : 1,
44660702 8243 "type" : "integer"
56122987 8244 },
de0983cb
DM
8245 "iops_rd_length" : {
8246 "description" : "Maximum length of read I/O bursts in seconds.",
8247 "format_description" : "seconds",
8248 "minimum" : 1,
8249 "optional" : 1,
8250 "type" : "integer"
8251 },
44660702 8252 "iops_rd_max" : {
de0983cb 8253 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8254 "format_description" : "iops",
56122987 8255 "optional" : 1,
44660702 8256 "type" : "integer"
56122987 8257 },
44660702 8258 "iops_wr" : {
de0983cb 8259 "description" : "Maximum write I/O in operations per second.",
44660702 8260 "format_description" : "iops",
56122987 8261 "optional" : 1,
44660702 8262 "type" : "integer"
56122987 8263 },
de0983cb
DM
8264 "iops_wr_length" : {
8265 "description" : "Maximum length of write I/O bursts in seconds.",
8266 "format_description" : "seconds",
8267 "minimum" : 1,
8268 "optional" : 1,
8269 "type" : "integer"
8270 },
44660702 8271 "iops_wr_max" : {
de0983cb 8272 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 8273 "format_description" : "iops",
44660702
DM
8274 "optional" : 1,
8275 "type" : "integer"
7aacca6f
DM
8276 },
8277 "iothread" : {
44660702 8278 "description" : "Whether to use iothreads for this drive",
56122987 8279 "optional" : 1,
44660702 8280 "type" : "boolean"
56122987 8281 },
44660702 8282 "mbps" : {
de0983cb 8283 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8284 "format_description" : "mbps",
56122987 8285 "optional" : 1,
44660702 8286 "type" : "number"
56122987 8287 },
44660702 8288 "mbps_max" : {
de0983cb 8289 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8290 "format_description" : "mbps",
56122987 8291 "optional" : 1,
44660702 8292 "type" : "number"
56122987 8293 },
44660702 8294 "mbps_rd" : {
de0983cb 8295 "description" : "Maximum read speed in megabytes per second.",
44660702 8296 "format_description" : "mbps",
7aacca6f 8297 "optional" : 1,
44660702 8298 "type" : "number"
56122987 8299 },
44660702 8300 "mbps_rd_max" : {
de0983cb 8301 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8302 "format_description" : "mbps",
7aacca6f 8303 "optional" : 1,
44660702 8304 "type" : "number"
7aacca6f 8305 },
44660702 8306 "mbps_wr" : {
de0983cb 8307 "description" : "Maximum write speed in megabytes per second.",
44660702 8308 "format_description" : "mbps",
56122987 8309 "optional" : 1,
44660702 8310 "type" : "number"
56122987 8311 },
44660702 8312 "mbps_wr_max" : {
de0983cb 8313 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8314 "format_description" : "mbps",
56122987 8315 "optional" : 1,
44660702
DM
8316 "type" : "number"
8317 },
8318 "media" : {
8319 "default" : "disk",
8320 "description" : "The drive's media type.",
7aacca6f 8321 "enum" : [
44660702
DM
8322 "cdrom",
8323 "disk"
7aacca6f 8324 ],
56122987 8325 "optional" : 1,
44660702 8326 "type" : "string"
56122987 8327 },
7aacca6f 8328 "queues" : {
44660702 8329 "description" : "Number of queues.",
7aacca6f 8330 "minimum" : 2,
7aacca6f
DM
8331 "optional" : 1,
8332 "type" : "integer"
56122987 8333 },
44660702
DM
8334 "secs" : {
8335 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8336 "optional" : 1,
44660702 8337 "type" : "integer"
56122987 8338 },
44660702
DM
8339 "serial" : {
8340 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8341 "format" : "urlencoded",
8342 "format_description" : "serial",
8343 "maxLength" : 60,
56122987 8344 "optional" : 1,
44660702 8345 "type" : "string"
56122987 8346 },
44660702
DM
8347 "size" : {
8348 "description" : "Disk size. This is purely informational and has no effect.",
8349 "format" : "disk-size",
f004f5b9 8350 "format_description" : "DiskSize",
44660702
DM
8351 "optional" : 1,
8352 "type" : "string"
8353 },
8354 "snapshot" : {
8355 "description" : "Whether the drive should be included when making snapshots.",
56122987 8356 "optional" : 1,
44660702
DM
8357 "type" : "boolean"
8358 },
8359 "trans" : {
8360 "description" : "Force disk geometry bios translation mode.",
56122987 8361 "enum" : [
44660702
DM
8362 "none",
8363 "lba",
8364 "auto"
56122987 8365 ],
44660702
DM
8366 "optional" : 1,
8367 "type" : "string"
8368 },
8369 "volume" : {
8370 "alias" : "file"
56122987 8371 },
7aacca6f 8372 "werror" : {
7aacca6f
DM
8373 "description" : "Write error action.",
8374 "enum" : [
8375 "enospc",
8376 "ignore",
8377 "report",
8378 "stop"
44660702 8379 ],
56122987 8380 "optional" : 1,
7aacca6f 8381 "type" : "string"
56122987 8382 }
44660702 8383 },
56122987 8384 "optional" : 1,
4bd7df8b 8385 "type" : "string",
de0983cb 8386 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
56122987
DM
8387 },
8388 "scsihw" : {
44660702 8389 "default" : "lsi",
c2993fe5 8390 "description" : "SCSI controller model",
56122987
DM
8391 "enum" : [
8392 "lsi",
8393 "lsi53c810",
8394 "virtio-scsi-pci",
8395 "virtio-scsi-single",
8396 "megasas",
8397 "pvscsi"
8398 ],
8399 "optional" : 1,
56122987
DM
8400 "type" : "string"
8401 },
44660702 8402 "serial[n]" : {
c2993fe5 8403 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 8404 "optional" : 1,
44660702 8405 "pattern" : "(/dev/.+|socket)",
c2993fe5 8406 "type" : "string",
57b78691 8407 "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 8408 },
44660702
DM
8409 "shares" : {
8410 "default" : 1000,
8411 "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",
8412 "maximum" : 50000,
8413 "minimum" : 0,
7aacca6f 8414 "optional" : 1,
4bd7df8b 8415 "type" : "integer",
2c0dde61 8416 "typetext" : "integer (0 - 50000)"
56122987 8417 },
7aacca6f
DM
8418 "skiplock" : {
8419 "description" : "Ignore locks - only root is allowed to use this option.",
44660702
DM
8420 "optional" : 1,
8421 "type" : "boolean"
56122987 8422 },
44660702
DM
8423 "smbios1" : {
8424 "description" : "Specify SMBIOS type 1 fields.",
8425 "format" : "pve-qm-smbios1",
8426 "maxLength" : 256,
56122987 8427 "optional" : 1,
4bd7df8b
DM
8428 "type" : "string",
8429 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 8430 },
44660702
DM
8431 "smp" : {
8432 "default" : 1,
8433 "description" : "The number of CPUs. Please use option -sockets instead.",
8434 "minimum" : 1,
56122987 8435 "optional" : 1,
4bd7df8b 8436 "type" : "integer",
2c0dde61 8437 "typetext" : "integer (1 - N)"
56122987 8438 },
44660702
DM
8439 "sockets" : {
8440 "default" : 1,
8441 "description" : "The number of CPU sockets.",
8442 "minimum" : 1,
56122987 8443 "optional" : 1,
4bd7df8b 8444 "type" : "integer",
2c0dde61 8445 "typetext" : "integer (1 - N)"
56122987 8446 },
44660702
DM
8447 "startdate" : {
8448 "default" : "now",
8449 "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'.",
8450 "optional" : 1,
8451 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 8452 "type" : "string",
44660702
DM
8453 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
8454 },
8455 "startup" : {
8456 "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.",
8457 "format" : "pve-startup-order",
7aacca6f 8458 "optional" : 1,
44660702
DM
8459 "type" : "string",
8460 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 8461 },
44660702
DM
8462 "tablet" : {
8463 "default" : 1,
c2993fe5 8464 "description" : "Enable/disable the USB tablet device.",
7aacca6f 8465 "optional" : 1,
c2993fe5
DM
8466 "type" : "boolean",
8467 "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 8468 },
44660702
DM
8469 "tdf" : {
8470 "default" : 0,
8471 "description" : "Enable/disable time drift fix.",
7aacca6f 8472 "optional" : 1,
44660702 8473 "type" : "boolean"
7aacca6f 8474 },
44660702
DM
8475 "template" : {
8476 "default" : 0,
8477 "description" : "Enable/disable Template.",
7aacca6f 8478 "optional" : 1,
44660702 8479 "type" : "boolean"
7aacca6f 8480 },
44660702 8481 "unused[n]" : {
c2993fe5 8482 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 8483 "format" : "pve-volume-id",
7aacca6f
DM
8484 "optional" : 1,
8485 "type" : "string"
8486 },
44660702 8487 "usb[n]" : {
c2993fe5 8488 "description" : "Configure an USB device (n is 0 to 4).",
56122987 8489 "format" : {
44660702
DM
8490 "host" : {
8491 "default_key" : 1,
c2993fe5 8492 "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
8493 "format" : "pve-qm-usb-device",
8494 "format_description" : "HOSTUSBDEVICE|spice",
8495 "type" : "string"
7aacca6f 8496 },
44660702 8497 "usb3" : {
c2993fe5
DM
8498 "default" : 0,
8499 "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 8500 "optional" : 1,
44660702 8501 "type" : "boolean"
7aacca6f 8502 }
44660702 8503 },
7aacca6f 8504 "optional" : 1,
4bd7df8b
DM
8505 "type" : "string",
8506 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 8507 },
44660702 8508 "vcpus" : {
7aacca6f 8509 "default" : 0,
44660702
DM
8510 "description" : "Number of hotplugged vcpus.",
8511 "minimum" : 1,
7aacca6f 8512 "optional" : 1,
4bd7df8b 8513 "type" : "integer",
2c0dde61 8514 "typetext" : "integer (1 - N)"
7aacca6f 8515 },
44660702 8516 "vga" : {
c2993fe5 8517 "description" : "Select the VGA type.",
44660702
DM
8518 "enum" : [
8519 "std",
8520 "cirrus",
8521 "vmware",
8522 "qxl",
8523 "serial0",
8524 "serial1",
8525 "serial2",
8526 "serial3",
8527 "qxl2",
8528 "qxl3",
8529 "qxl4"
8530 ],
7aacca6f 8531 "optional" : 1,
c2993fe5
DM
8532 "type" : "string",
8533 "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 8534 },
44660702
DM
8535 "virtio[n]" : {
8536 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 8537 "format" : {
7aacca6f 8538 "aio" : {
7aacca6f 8539 "description" : "AIO type to use.",
56122987 8540 "enum" : [
7aacca6f
DM
8541 "native",
8542 "threads"
7aacca6f 8543 ],
44660702
DM
8544 "optional" : 1,
8545 "type" : "string"
56122987 8546 },
44660702
DM
8547 "backup" : {
8548 "description" : "Whether the drive should be included when making backups.",
56122987 8549 "optional" : 1,
44660702 8550 "type" : "boolean"
7aacca6f 8551 },
44660702 8552 "bps" : {
de0983cb 8553 "description" : "Maximum r/w speed in bytes per second.",
44660702 8554 "format_description" : "bps",
7aacca6f 8555 "optional" : 1,
44660702 8556 "type" : "integer"
56122987 8557 },
de0983cb
DM
8558 "bps_max_length" : {
8559 "description" : "Maximum length of I/O bursts in seconds.",
8560 "format_description" : "seconds",
8561 "minimum" : 1,
8562 "optional" : 1,
8563 "type" : "integer"
8564 },
56122987 8565 "bps_rd" : {
de0983cb 8566 "description" : "Maximum read speed in bytes per second.",
44660702 8567 "format_description" : "bps",
56122987 8568 "optional" : 1,
7aacca6f 8569 "type" : "integer"
56122987 8570 },
de0983cb
DM
8571 "bps_rd_length" : {
8572 "description" : "Maximum length of read I/O bursts in seconds.",
8573 "format_description" : "seconds",
8574 "minimum" : 1,
8575 "optional" : 1,
8576 "type" : "integer"
8577 },
44660702 8578 "bps_wr" : {
de0983cb 8579 "description" : "Maximum write speed in bytes per second.",
44660702 8580 "format_description" : "bps",
56122987 8581 "optional" : 1,
7aacca6f 8582 "type" : "integer"
56122987 8583 },
de0983cb
DM
8584 "bps_wr_length" : {
8585 "description" : "Maximum length of write I/O bursts in seconds.",
8586 "format_description" : "seconds",
8587 "minimum" : 1,
8588 "optional" : 1,
8589 "type" : "integer"
8590 },
7aacca6f 8591 "cache" : {
44660702 8592 "description" : "The drive's cache mode",
7aacca6f
DM
8593 "enum" : [
8594 "none",
8595 "writethrough",
8596 "writeback",
8597 "unsafe",
8598 "directsync"
8599 ],
56122987 8600 "optional" : 1,
44660702 8601 "type" : "string"
7aacca6f 8602 },
44660702
DM
8603 "cyls" : {
8604 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8605 "optional" : 1,
8606 "type" : "integer"
8607 },
8608 "detect_zeroes" : {
8609 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8610 "optional" : 1,
8611 "type" : "boolean"
8612 },
8613 "discard" : {
8614 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8615 "enum" : [
44660702
DM
8616 "ignore",
8617 "on"
56122987
DM
8618 ],
8619 "optional" : 1,
44660702 8620 "type" : "string"
56122987 8621 },
44660702
DM
8622 "file" : {
8623 "default_key" : 1,
8624 "description" : "The drive's backing volume.",
8625 "format" : "pve-volume-id-or-qm-path",
8626 "format_description" : "volume",
8627 "type" : "string"
8628 },
8629 "format" : {
8630 "description" : "The drive's backing file's data format.",
8631 "enum" : [
8632 "raw",
8633 "cow",
8634 "qcow",
8635 "qed",
8636 "qcow2",
8637 "vmdk",
8638 "cloop"
8639 ],
56122987 8640 "optional" : 1,
44660702 8641 "type" : "string"
56122987 8642 },
44660702
DM
8643 "heads" : {
8644 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8645 "optional" : 1,
8646 "type" : "integer"
8647 },
8648 "iops" : {
de0983cb 8649 "description" : "Maximum r/w I/O in operations per second.",
44660702 8650 "format_description" : "iops",
56122987 8651 "optional" : 1,
44660702
DM
8652 "type" : "integer"
8653 },
8654 "iops_max" : {
de0983cb 8655 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
8656 "format_description" : "iops",
8657 "optional" : 1,
8658 "type" : "integer"
56122987 8659 },
de0983cb
DM
8660 "iops_max_length" : {
8661 "description" : "Maximum length of I/O bursts in seconds.",
8662 "format_description" : "seconds",
8663 "minimum" : 1,
8664 "optional" : 1,
8665 "type" : "integer"
8666 },
7aacca6f 8667 "iops_rd" : {
de0983cb 8668 "description" : "Maximum read I/O in operations per second.",
7aacca6f 8669 "format_description" : "iops",
7aacca6f 8670 "optional" : 1,
44660702 8671 "type" : "integer"
56122987 8672 },
de0983cb
DM
8673 "iops_rd_length" : {
8674 "description" : "Maximum length of read I/O bursts in seconds.",
8675 "format_description" : "seconds",
8676 "minimum" : 1,
8677 "optional" : 1,
8678 "type" : "integer"
8679 },
44660702 8680 "iops_rd_max" : {
de0983cb 8681 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8682 "format_description" : "iops",
8683 "optional" : 1,
8684 "type" : "integer"
8685 },
8686 "iops_wr" : {
de0983cb 8687 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8688 "format_description" : "iops",
8689 "optional" : 1,
8690 "type" : "integer"
8691 },
de0983cb
DM
8692 "iops_wr_length" : {
8693 "description" : "Maximum length of write I/O bursts in seconds.",
8694 "format_description" : "seconds",
8695 "minimum" : 1,
8696 "optional" : 1,
8697 "type" : "integer"
8698 },
44660702 8699 "iops_wr_max" : {
de0983cb 8700 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8701 "format_description" : "iops",
8702 "optional" : 1,
8703 "type" : "integer"
8704 },
8705 "iothread" : {
8706 "description" : "Whether to use iothreads for this drive",
44660702
DM
8707 "optional" : 1,
8708 "type" : "boolean"
8709 },
8710 "mbps" : {
de0983cb 8711 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8712 "format_description" : "mbps",
7aacca6f 8713 "optional" : 1,
44660702 8714 "type" : "number"
7aacca6f
DM
8715 },
8716 "mbps_max" : {
de0983cb 8717 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8718 "format_description" : "mbps",
56122987 8719 "optional" : 1,
44660702 8720 "type" : "number"
56122987 8721 },
44660702 8722 "mbps_rd" : {
de0983cb 8723 "description" : "Maximum read speed in megabytes per second.",
44660702 8724 "format_description" : "mbps",
56122987 8725 "optional" : 1,
44660702 8726 "type" : "number"
56122987 8727 },
44660702 8728 "mbps_rd_max" : {
de0983cb 8729 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8730 "format_description" : "mbps",
8731 "optional" : 1,
8732 "type" : "number"
8733 },
8734 "mbps_wr" : {
de0983cb 8735 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8736 "format_description" : "mbps",
8737 "optional" : 1,
8738 "type" : "number"
8739 },
8740 "mbps_wr_max" : {
de0983cb 8741 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8742 "format_description" : "mbps",
8743 "optional" : 1,
8744 "type" : "number"
8745 },
8746 "media" : {
8747 "default" : "disk",
8748 "description" : "The drive's media type.",
56122987 8749 "enum" : [
44660702
DM
8750 "cdrom",
8751 "disk"
56122987
DM
8752 ],
8753 "optional" : 1,
44660702 8754 "type" : "string"
56122987 8755 },
44660702
DM
8756 "rerror" : {
8757 "description" : "Read error action.",
8758 "enum" : [
8759 "ignore",
8760 "report",
8761 "stop"
8762 ],
56122987 8763 "optional" : 1,
44660702 8764 "type" : "string"
56122987 8765 },
44660702
DM
8766 "secs" : {
8767 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8768 "optional" : 1,
44660702 8769 "type" : "integer"
56122987 8770 },
7aacca6f
DM
8771 "serial" : {
8772 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 8773 "format" : "urlencoded",
44660702 8774 "format_description" : "serial",
7aacca6f 8775 "maxLength" : 60,
44660702
DM
8776 "optional" : 1,
8777 "type" : "string"
56122987 8778 },
44660702
DM
8779 "size" : {
8780 "description" : "Disk size. This is purely informational and has no effect.",
8781 "format" : "disk-size",
f004f5b9 8782 "format_description" : "DiskSize",
44660702
DM
8783 "optional" : 1,
8784 "type" : "string"
56122987 8785 },
44660702
DM
8786 "snapshot" : {
8787 "description" : "Whether the drive should be included when making snapshots.",
56122987 8788 "optional" : 1,
44660702 8789 "type" : "boolean"
56122987 8790 },
44660702
DM
8791 "trans" : {
8792 "description" : "Force disk geometry bios translation mode.",
8793 "enum" : [
8794 "none",
8795 "lba",
8796 "auto"
8797 ],
7aacca6f 8798 "optional" : 1,
44660702 8799 "type" : "string"
7aacca6f 8800 },
44660702
DM
8801 "volume" : {
8802 "alias" : "file"
8803 },
8804 "werror" : {
8805 "description" : "Write error action.",
8806 "enum" : [
8807 "enospc",
8808 "ignore",
8809 "report",
8810 "stop"
8811 ],
7aacca6f 8812 "optional" : 1,
44660702 8813 "type" : "string"
56122987
DM
8814 }
8815 },
7aacca6f 8816 "optional" : 1,
4bd7df8b 8817 "type" : "string",
de0983cb 8818 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
7aacca6f 8819 },
44660702
DM
8820 "vmid" : {
8821 "description" : "The (unique) ID of the VM.",
8822 "format" : "pve-vmid",
8823 "minimum" : 1,
4bd7df8b 8824 "type" : "integer",
2c0dde61 8825 "typetext" : "integer (1 - N)"
56122987 8826 },
44660702 8827 "watchdog" : {
c2993fe5 8828 "description" : "Create a virtual hardware watchdog device.",
44660702 8829 "format" : "pve-qm-watchdog",
56122987 8830 "optional" : 1,
c2993fe5 8831 "type" : "string",
4bd7df8b 8832 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
c2993fe5 8833 "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 8834 }
7aacca6f 8835 }
56122987 8836 },
56122987
DM
8837 "permissions" : {
8838 "check" : [
8839 "perm",
8840 "/vms/{vmid}",
8841 [
8842 "VM.Config.Disk",
8843 "VM.Config.CDROM",
8844 "VM.Config.CPU",
8845 "VM.Config.Memory",
8846 "VM.Config.Network",
8847 "VM.Config.HWType",
8848 "VM.Config.Options"
8849 ],
8850 "any",
8851 1
8852 ]
8853 },
44660702 8854 "protected" : 1,
7aacca6f 8855 "proxyto" : "node",
56122987 8856 "returns" : {
7aacca6f
DM
8857 "type" : "null"
8858 }
8859 }
8860 },
44660702
DM
8861 "leaf" : 1,
8862 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
8863 "text" : "config"
8864 },
8865 {
8866 "info" : {
56122987 8867 "GET" : {
44660702 8868 "description" : "Get virtual machine configuration, including pending changes.",
56122987 8869 "method" : "GET",
44660702 8870 "name" : "vm_pending",
7aacca6f 8871 "parameters" : {
44660702 8872 "additionalProperties" : 0,
7aacca6f
DM
8873 "properties" : {
8874 "node" : {
7aacca6f 8875 "description" : "The cluster node name.",
44660702 8876 "format" : "pve-node",
7aacca6f
DM
8877 "type" : "string"
8878 },
8879 "vmid" : {
44660702 8880 "description" : "The (unique) ID of the VM.",
7aacca6f 8881 "format" : "pve-vmid",
44660702 8882 "minimum" : 1,
4bd7df8b 8883 "type" : "integer",
2c0dde61 8884 "typetext" : "integer (1 - N)"
7aacca6f 8885 }
44660702 8886 }
7aacca6f 8887 },
56122987
DM
8888 "permissions" : {
8889 "check" : [
8890 "perm",
8891 "/vms/{vmid}",
8892 [
8893 "VM.Audit"
8894 ]
8895 ]
8896 },
7aacca6f 8897 "proxyto" : "node",
44660702
DM
8898 "returns" : {
8899 "items" : {
8900 "properties" : {
8901 "delete" : {
8902 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
8903 "maximum" : 2,
8904 "minimum" : 0,
8905 "optional" : 1,
8906 "type" : "integer"
8907 },
8908 "key" : {
8909 "description" : "Configuration option name.",
8910 "type" : "string"
8911 },
8912 "pending" : {
8913 "description" : "Pending value.",
8914 "optional" : 1,
8915 "type" : "string"
8916 },
8917 "value" : {
8918 "description" : "Current value.",
8919 "optional" : 1,
8920 "type" : "string"
8921 }
8922 },
8923 "type" : "object"
8924 },
8925 "type" : "array"
8926 }
56122987
DM
8927 }
8928 },
7aacca6f 8929 "leaf" : 1,
44660702
DM
8930 "path" : "/nodes/{node}/qemu/{vmid}/pending",
8931 "text" : "pending"
56122987
DM
8932 },
8933 {
56122987
DM
8934 "info" : {
8935 "PUT" : {
7aacca6f 8936 "description" : "Unlink/delete disk images.",
7aacca6f 8937 "method" : "PUT",
7aacca6f 8938 "name" : "unlink",
56122987 8939 "parameters" : {
44660702 8940 "additionalProperties" : 0,
56122987 8941 "properties" : {
7aacca6f 8942 "force" : {
44660702 8943 "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 8944 "optional" : 1,
44660702 8945 "type" : "boolean"
7aacca6f 8946 },
56122987
DM
8947 "idlist" : {
8948 "description" : "A list of disk IDs you want to delete.",
44660702
DM
8949 "format" : "pve-configid-list",
8950 "type" : "string"
8951 },
8952 "node" : {
8953 "description" : "The cluster node name.",
8954 "format" : "pve-node",
8955 "type" : "string"
56122987
DM
8956 },
8957 "vmid" : {
7aacca6f 8958 "description" : "The (unique) ID of the VM.",
44660702 8959 "format" : "pve-vmid",
7aacca6f 8960 "minimum" : 1,
4bd7df8b 8961 "type" : "integer",
2c0dde61 8962 "typetext" : "integer (1 - N)"
56122987 8963 }
44660702
DM
8964 }
8965 },
8966 "permissions" : {
8967 "check" : [
8968 "perm",
8969 "/vms/{vmid}",
8970 [
8971 "VM.Config.Disk"
8972 ]
8973 ]
8974 },
8975 "protected" : 1,
8976 "proxyto" : "node",
8977 "returns" : {
8978 "type" : "null"
7aacca6f 8979 }
56122987 8980 }
7aacca6f 8981 },
44660702 8982 "leaf" : 1,
7aacca6f 8983 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 8984 "text" : "unlink"
56122987
DM
8985 },
8986 {
56122987
DM
8987 "info" : {
8988 "POST" : {
7aacca6f 8989 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
8990 "method" : "POST",
8991 "name" : "vncproxy",
56122987 8992 "parameters" : {
44660702 8993 "additionalProperties" : 0,
56122987 8994 "properties" : {
44660702
DM
8995 "node" : {
8996 "description" : "The cluster node name.",
8997 "format" : "pve-node",
8998 "type" : "string"
8999 },
56122987 9000 "vmid" : {
7aacca6f 9001 "description" : "The (unique) ID of the VM.",
44660702 9002 "format" : "pve-vmid",
56122987 9003 "minimum" : 1,
4bd7df8b 9004 "type" : "integer",
2c0dde61 9005 "typetext" : "integer (1 - N)"
7aacca6f
DM
9006 },
9007 "websocket" : {
9008 "description" : "starts websockify instead of vncproxy",
44660702
DM
9009 "optional" : 1,
9010 "type" : "boolean"
56122987 9011 }
44660702 9012 }
56122987 9013 },
44660702
DM
9014 "permissions" : {
9015 "check" : [
9016 "perm",
9017 "/vms/{vmid}",
9018 [
9019 "VM.Console"
9020 ]
9021 ]
9022 },
9023 "protected" : 1,
56122987 9024 "returns" : {
7aacca6f 9025 "additionalProperties" : 0,
56122987 9026 "properties" : {
7aacca6f 9027 "cert" : {
56122987
DM
9028 "type" : "string"
9029 },
56122987
DM
9030 "port" : {
9031 "type" : "integer"
9032 },
7aacca6f
DM
9033 "ticket" : {
9034 "type" : "string"
9035 },
44660702
DM
9036 "upid" : {
9037 "type" : "string"
9038 },
7aacca6f 9039 "user" : {
56122987
DM
9040 "type" : "string"
9041 }
7aacca6f 9042 }
56122987
DM
9043 }
9044 }
9045 },
44660702
DM
9046 "leaf" : 1,
9047 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9048 "text" : "vncproxy"
56122987
DM
9049 },
9050 {
56122987
DM
9051 "info" : {
9052 "GET" : {
44660702
DM
9053 "description" : "Opens a weksocket for VNC traffic.",
9054 "method" : "GET",
9055 "name" : "vncwebsocket",
56122987 9056 "parameters" : {
44660702 9057 "additionalProperties" : 0,
56122987 9058 "properties" : {
7aacca6f 9059 "node" : {
7aacca6f 9060 "description" : "The cluster node name.",
44660702 9061 "format" : "pve-node",
7aacca6f
DM
9062 "type" : "string"
9063 },
44660702
DM
9064 "port" : {
9065 "description" : "Port number returned by previous vncproxy call.",
9066 "maximum" : 5999,
9067 "minimum" : 5900,
4bd7df8b 9068 "type" : "integer",
2c0dde61 9069 "typetext" : "integer (5900 - 5999)"
56122987 9070 },
7aacca6f 9071 "vmid" : {
44660702 9072 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9073 "format" : "pve-vmid",
9074 "minimum" : 1,
4bd7df8b 9075 "type" : "integer",
2c0dde61 9076 "typetext" : "integer (1 - N)"
44660702
DM
9077 },
9078 "vncticket" : {
9079 "description" : "Ticket from previous call to vncproxy.",
9080 "maxLength" : 512,
9081 "type" : "string"
56122987 9082 }
44660702
DM
9083 }
9084 },
9085 "permissions" : {
9086 "check" : [
9087 "perm",
9088 "/vms/{vmid}",
9089 [
9090 "VM.Console"
9091 ]
9092 ],
9093 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 9094 },
7aacca6f
DM
9095 "returns" : {
9096 "properties" : {
9097 "port" : {
9098 "type" : "string"
9099 }
9100 },
9101 "type" : "object"
9102 }
56122987
DM
9103 }
9104 },
7aacca6f 9105 "leaf" : 1,
44660702
DM
9106 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
9107 "text" : "vncwebsocket"
56122987
DM
9108 },
9109 {
9110 "info" : {
9111 "POST" : {
44660702
DM
9112 "description" : "Returns a SPICE configuration to connect to the VM.",
9113 "method" : "POST",
7aacca6f
DM
9114 "name" : "spiceproxy",
9115 "parameters" : {
44660702 9116 "additionalProperties" : 0,
56122987 9117 "properties" : {
44660702
DM
9118 "node" : {
9119 "description" : "The cluster node name.",
9120 "format" : "pve-node",
9121 "type" : "string"
9122 },
7aacca6f 9123 "proxy" : {
44660702 9124 "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 9125 "format" : "address",
7aacca6f 9126 "optional" : 1,
44660702 9127 "type" : "string"
56122987 9128 },
7aacca6f 9129 "vmid" : {
44660702 9130 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9131 "format" : "pve-vmid",
9132 "minimum" : 1,
4bd7df8b 9133 "type" : "integer",
2c0dde61 9134 "typetext" : "integer (1 - N)"
56122987 9135 }
44660702 9136 }
56122987 9137 },
56122987
DM
9138 "permissions" : {
9139 "check" : [
9140 "perm",
9141 "/vms/{vmid}",
9142 [
9143 "VM.Console"
9144 ]
9145 ]
9146 },
44660702
DM
9147 "protected" : 1,
9148 "proxyto" : "node",
7aacca6f 9149 "returns" : {
44660702
DM
9150 "additionalProperties" : 1,
9151 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 9152 "properties" : {
44660702 9153 "host" : {
7aacca6f
DM
9154 "type" : "string"
9155 },
7aacca6f
DM
9156 "password" : {
9157 "type" : "string"
9158 },
44660702 9159 "proxy" : {
7aacca6f
DM
9160 "type" : "string"
9161 },
44660702
DM
9162 "tls-port" : {
9163 "type" : "integer"
9164 },
9165 "type" : {
7aacca6f
DM
9166 "type" : "string"
9167 }
44660702 9168 }
7aacca6f
DM
9169 }
9170 }
9171 },
44660702
DM
9172 "leaf" : 1,
9173 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
9174 "text" : "spiceproxy"
9175 },
9176 {
56122987
DM
9177 "children" : [
9178 {
56122987
DM
9179 "info" : {
9180 "GET" : {
44660702
DM
9181 "description" : "Get virtual machine status.",
9182 "method" : "GET",
9183 "name" : "vm_status",
56122987 9184 "parameters" : {
44660702 9185 "additionalProperties" : 0,
56122987 9186 "properties" : {
44660702
DM
9187 "node" : {
9188 "description" : "The cluster node name.",
9189 "format" : "pve-node",
9190 "type" : "string"
9191 },
56122987 9192 "vmid" : {
44660702 9193 "description" : "The (unique) ID of the VM.",
7aacca6f 9194 "format" : "pve-vmid",
56122987 9195 "minimum" : 1,
4bd7df8b 9196 "type" : "integer",
2c0dde61 9197 "typetext" : "integer (1 - N)"
56122987 9198 }
44660702 9199 }
56122987
DM
9200 },
9201 "permissions" : {
9202 "check" : [
9203 "perm",
9204 "/vms/{vmid}",
9205 [
9206 "VM.Audit"
9207 ]
9208 ]
9209 },
44660702 9210 "protected" : 1,
7aacca6f 9211 "proxyto" : "node",
56122987
DM
9212 "returns" : {
9213 "type" : "object"
7aacca6f 9214 }
56122987 9215 }
7aacca6f 9216 },
7aacca6f 9217 "leaf" : 1,
44660702
DM
9218 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
9219 "text" : "current"
56122987
DM
9220 },
9221 {
56122987
DM
9222 "info" : {
9223 "POST" : {
44660702 9224 "description" : "Start virtual machine.",
56122987 9225 "method" : "POST",
44660702 9226 "name" : "vm_start",
56122987 9227 "parameters" : {
44660702 9228 "additionalProperties" : 0,
56122987 9229 "properties" : {
44660702
DM
9230 "machine" : {
9231 "description" : "Specific the Qemu machine type.",
9232 "maxLength" : 40,
9233 "optional" : 1,
9234 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
9235 "type" : "string"
9236 },
9237 "migratedfrom" : {
9238 "description" : "The cluster node name.",
9239 "format" : "pve-node",
56122987 9240 "optional" : 1,
44660702 9241 "type" : "string"
56122987 9242 },
de0983cb
DM
9243 "migration_network" : {
9244 "description" : "CIDR of the (sub) network that is used for migration.",
9245 "format" : "CIDR",
9246 "optional" : 1,
9247 "type" : "string"
9248 },
9249 "migration_type" : {
9250 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
9251 "enum" : [
9252 "secure",
9253 "insecure"
9254 ],
9255 "optional" : 1,
9256 "type" : "string"
9257 },
7aacca6f 9258 "node" : {
7aacca6f 9259 "description" : "The cluster node name.",
44660702
DM
9260 "format" : "pve-node",
9261 "type" : "string"
7aacca6f 9262 },
44660702
DM
9263 "skiplock" : {
9264 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9265 "optional" : 1,
44660702 9266 "type" : "boolean"
56122987 9267 },
44660702
DM
9268 "stateuri" : {
9269 "description" : "Some command save/restore state from this location.",
9270 "maxLength" : 128,
56122987 9271 "optional" : 1,
44660702 9272 "type" : "string"
56122987
DM
9273 },
9274 "vmid" : {
7aacca6f 9275 "description" : "The (unique) ID of the VM.",
44660702
DM
9276 "format" : "pve-vmid",
9277 "minimum" : 1,
4bd7df8b 9278 "type" : "integer",
2c0dde61 9279 "typetext" : "integer (1 - N)"
56122987 9280 }
44660702 9281 }
7aacca6f 9282 },
56122987
DM
9283 "permissions" : {
9284 "check" : [
9285 "perm",
9286 "/vms/{vmid}",
9287 [
9288 "VM.PowerMgmt"
9289 ]
9290 ]
44660702
DM
9291 },
9292 "protected" : 1,
9293 "proxyto" : "node",
9294 "returns" : {
9295 "type" : "string"
56122987
DM
9296 }
9297 }
44660702
DM
9298 },
9299 "leaf" : 1,
9300 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
9301 "text" : "start"
56122987
DM
9302 },
9303 {
56122987
DM
9304 "info" : {
9305 "POST" : {
7aacca6f 9306 "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
9307 "method" : "POST",
9308 "name" : "vm_stop",
56122987 9309 "parameters" : {
44660702 9310 "additionalProperties" : 0,
56122987 9311 "properties" : {
44660702
DM
9312 "keepActive" : {
9313 "default" : 0,
de0983cb 9314 "description" : "Do not deactivate storage volumes.",
56122987 9315 "optional" : 1,
44660702 9316 "type" : "boolean"
56122987
DM
9317 },
9318 "migratedfrom" : {
56122987 9319 "description" : "The cluster node name.",
44660702 9320 "format" : "pve-node",
7aacca6f 9321 "optional" : 1,
44660702 9322 "type" : "string"
7aacca6f 9323 },
44660702
DM
9324 "node" : {
9325 "description" : "The cluster node name.",
9326 "format" : "pve-node",
9327 "type" : "string"
56122987
DM
9328 },
9329 "skiplock" : {
9330 "description" : "Ignore locks - only root is allowed to use this option.",
9331 "optional" : 1,
9332 "type" : "boolean"
9333 },
44660702
DM
9334 "timeout" : {
9335 "description" : "Wait maximal timeout seconds.",
9336 "minimum" : 0,
56122987 9337 "optional" : 1,
4bd7df8b 9338 "type" : "integer",
2c0dde61 9339 "typetext" : "integer (0 - N)"
7aacca6f 9340 },
44660702
DM
9341 "vmid" : {
9342 "description" : "The (unique) ID of the VM.",
9343 "format" : "pve-vmid",
9344 "minimum" : 1,
4bd7df8b 9345 "type" : "integer",
2c0dde61 9346 "typetext" : "integer (1 - N)"
56122987 9347 }
44660702 9348 }
56122987 9349 },
56122987
DM
9350 "permissions" : {
9351 "check" : [
9352 "perm",
9353 "/vms/{vmid}",
9354 [
9355 "VM.PowerMgmt"
9356 ]
9357 ]
9358 },
44660702
DM
9359 "protected" : 1,
9360 "proxyto" : "node",
7aacca6f
DM
9361 "returns" : {
9362 "type" : "string"
44660702
DM
9363 }
9364 }
9365 },
9366 "leaf" : 1,
9367 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
9368 "text" : "stop"
9369 },
9370 {
9371 "info" : {
9372 "POST" : {
9373 "description" : "Reset virtual machine.",
9374 "method" : "POST",
9375 "name" : "vm_reset",
56122987 9376 "parameters" : {
7aacca6f 9377 "additionalProperties" : 0,
56122987 9378 "properties" : {
56122987
DM
9379 "node" : {
9380 "description" : "The cluster node name.",
44660702
DM
9381 "format" : "pve-node",
9382 "type" : "string"
56122987
DM
9383 },
9384 "skiplock" : {
44660702 9385 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9386 "optional" : 1,
44660702 9387 "type" : "boolean"
7aacca6f
DM
9388 },
9389 "vmid" : {
44660702 9390 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9391 "format" : "pve-vmid",
9392 "minimum" : 1,
4bd7df8b 9393 "type" : "integer",
2c0dde61 9394 "typetext" : "integer (1 - N)"
56122987 9395 }
7aacca6f 9396 }
56122987 9397 },
7aacca6f
DM
9398 "permissions" : {
9399 "check" : [
9400 "perm",
9401 "/vms/{vmid}",
9402 [
9403 "VM.PowerMgmt"
9404 ]
9405 ]
9406 },
44660702 9407 "protected" : 1,
7aacca6f 9408 "proxyto" : "node",
56122987
DM
9409 "returns" : {
9410 "type" : "string"
44660702
DM
9411 }
9412 }
9413 },
9414 "leaf" : 1,
9415 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
9416 "text" : "reset"
9417 },
9418 {
9419 "info" : {
9420 "POST" : {
9421 "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.",
9422 "method" : "POST",
56122987 9423 "name" : "vm_shutdown",
56122987 9424 "parameters" : {
7aacca6f 9425 "additionalProperties" : 0,
56122987 9426 "properties" : {
56122987 9427 "forceStop" : {
56122987 9428 "default" : 0,
44660702 9429 "description" : "Make sure the VM stops.",
7aacca6f 9430 "optional" : 1,
44660702 9431 "type" : "boolean"
56122987
DM
9432 },
9433 "keepActive" : {
7aacca6f 9434 "default" : 0,
de0983cb 9435 "description" : "Do not deactivate storage volumes.",
44660702
DM
9436 "optional" : 1,
9437 "type" : "boolean"
9438 },
9439 "node" : {
9440 "description" : "The cluster node name.",
9441 "format" : "pve-node",
9442 "type" : "string"
9443 },
9444 "skiplock" : {
9445 "description" : "Ignore locks - only root is allowed to use this option.",
9446 "optional" : 1,
9447 "type" : "boolean"
56122987 9448 },
7aacca6f 9449 "timeout" : {
7aacca6f 9450 "description" : "Wait maximal timeout seconds.",
44660702 9451 "minimum" : 0,
7aacca6f 9452 "optional" : 1,
4bd7df8b 9453 "type" : "integer",
2c0dde61 9454 "typetext" : "integer (0 - N)"
7aacca6f 9455 },
56122987 9456 "vmid" : {
7aacca6f 9457 "description" : "The (unique) ID of the VM.",
44660702
DM
9458 "format" : "pve-vmid",
9459 "minimum" : 1,
4bd7df8b 9460 "type" : "integer",
2c0dde61 9461 "typetext" : "integer (1 - N)"
56122987 9462 }
7aacca6f 9463 }
56122987 9464 },
44660702
DM
9465 "permissions" : {
9466 "check" : [
9467 "perm",
9468 "/vms/{vmid}",
9469 [
9470 "VM.PowerMgmt"
9471 ]
9472 ]
9473 },
7aacca6f 9474 "protected" : 1,
44660702
DM
9475 "proxyto" : "node",
9476 "returns" : {
9477 "type" : "string"
9478 }
56122987
DM
9479 }
9480 },
44660702 9481 "leaf" : 1,
7aacca6f 9482 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 9483 "text" : "shutdown"
56122987
DM
9484 },
9485 {
56122987
DM
9486 "info" : {
9487 "POST" : {
44660702 9488 "description" : "Suspend virtual machine.",
56122987 9489 "method" : "POST",
44660702 9490 "name" : "vm_suspend",
7aacca6f 9491 "parameters" : {
44660702 9492 "additionalProperties" : 0,
7aacca6f
DM
9493 "properties" : {
9494 "node" : {
7aacca6f 9495 "description" : "The cluster node name.",
44660702
DM
9496 "format" : "pve-node",
9497 "type" : "string"
7aacca6f
DM
9498 },
9499 "skiplock" : {
9500 "description" : "Ignore locks - only root is allowed to use this option.",
44660702
DM
9501 "optional" : 1,
9502 "type" : "boolean"
9503 },
9504 "vmid" : {
9505 "description" : "The (unique) ID of the VM.",
9506 "format" : "pve-vmid",
9507 "minimum" : 1,
4bd7df8b 9508 "type" : "integer",
2c0dde61 9509 "typetext" : "integer (1 - N)"
44660702
DM
9510 }
9511 }
56122987
DM
9512 },
9513 "permissions" : {
9514 "check" : [
9515 "perm",
9516 "/vms/{vmid}",
9517 [
9518 "VM.PowerMgmt"
9519 ]
9520 ]
9521 },
44660702
DM
9522 "protected" : 1,
9523 "proxyto" : "node",
9524 "returns" : {
9525 "type" : "string"
9526 }
56122987
DM
9527 }
9528 },
44660702 9529 "leaf" : 1,
7aacca6f 9530 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 9531 "text" : "suspend"
56122987
DM
9532 },
9533 {
56122987
DM
9534 "info" : {
9535 "POST" : {
44660702
DM
9536 "description" : "Resume virtual machine.",
9537 "method" : "POST",
7aacca6f 9538 "name" : "vm_resume",
56122987
DM
9539 "parameters" : {
9540 "additionalProperties" : 0,
9541 "properties" : {
44660702
DM
9542 "nocheck" : {
9543 "optional" : 1,
9544 "type" : "boolean"
9545 },
7aacca6f 9546 "node" : {
44660702 9547 "description" : "The cluster node name.",
7aacca6f 9548 "format" : "pve-node",
44660702 9549 "type" : "string"
56122987
DM
9550 },
9551 "skiplock" : {
56122987 9552 "description" : "Ignore locks - only root is allowed to use this option.",
44660702
DM
9553 "optional" : 1,
9554 "type" : "boolean"
56122987 9555 },
7aacca6f 9556 "vmid" : {
7aacca6f
DM
9557 "description" : "The (unique) ID of the VM.",
9558 "format" : "pve-vmid",
44660702 9559 "minimum" : 1,
4bd7df8b 9560 "type" : "integer",
2c0dde61 9561 "typetext" : "integer (1 - N)"
56122987
DM
9562 }
9563 }
9564 },
9565 "permissions" : {
9566 "check" : [
9567 "perm",
9568 "/vms/{vmid}",
9569 [
9570 "VM.PowerMgmt"
9571 ]
9572 ]
9573 },
44660702
DM
9574 "protected" : 1,
9575 "proxyto" : "node",
56122987
DM
9576 "returns" : {
9577 "type" : "string"
7aacca6f 9578 }
56122987
DM
9579 }
9580 },
44660702
DM
9581 "leaf" : 1,
9582 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 9583 "text" : "resume"
56122987
DM
9584 }
9585 ],
9586 "info" : {
44660702
DM
9587 "GET" : {
9588 "description" : "Directory index",
9589 "method" : "GET",
9590 "name" : "vmcmdidx",
56122987 9591 "parameters" : {
44660702 9592 "additionalProperties" : 0,
56122987 9593 "properties" : {
44660702
DM
9594 "node" : {
9595 "description" : "The cluster node name.",
9596 "format" : "pve-node",
7aacca6f
DM
9597 "type" : "string"
9598 },
56122987 9599 "vmid" : {
7aacca6f 9600 "description" : "The (unique) ID of the VM.",
44660702
DM
9601 "format" : "pve-vmid",
9602 "minimum" : 1,
4bd7df8b 9603 "type" : "integer",
2c0dde61 9604 "typetext" : "integer (1 - N)"
56122987 9605 }
44660702 9606 }
56122987 9607 },
44660702
DM
9608 "permissions" : {
9609 "user" : "all"
9610 },
9611 "proxyto" : "node",
9612 "returns" : {
9613 "items" : {
9614 "properties" : {
9615 "subdir" : {
9616 "type" : "string"
9617 }
9618 },
9619 "type" : "object"
9620 },
9621 "links" : [
9622 {
9623 "href" : "{subdir}",
9624 "rel" : "child"
9625 }
9626 ],
9627 "type" : "array"
9628 }
56122987 9629 }
7aacca6f 9630 },
44660702
DM
9631 "leaf" : 0,
9632 "path" : "/nodes/{node}/qemu/{vmid}/status",
9633 "text" : "status"
56122987
DM
9634 },
9635 {
56122987 9636 "info" : {
44660702
DM
9637 "PUT" : {
9638 "description" : "Send key event to virtual machine.",
9639 "method" : "PUT",
9640 "name" : "vm_sendkey",
9641 "parameters" : {
9642 "additionalProperties" : 0,
56122987 9643 "properties" : {
44660702
DM
9644 "key" : {
9645 "description" : "The key (qemu monitor encoding).",
9646 "type" : "string"
9647 },
9648 "node" : {
9649 "description" : "The cluster node name.",
9650 "format" : "pve-node",
9651 "type" : "string"
9652 },
9653 "skiplock" : {
9654 "description" : "Ignore locks - only root is allowed to use this option.",
9655 "optional" : 1,
56122987 9656 "type" : "boolean"
7aacca6f 9657 },
44660702
DM
9658 "vmid" : {
9659 "description" : "The (unique) ID of the VM.",
9660 "format" : "pve-vmid",
9661 "minimum" : 1,
4bd7df8b 9662 "type" : "integer",
2c0dde61 9663 "typetext" : "integer (1 - N)"
56122987 9664 }
7aacca6f 9665 }
56122987 9666 },
56122987
DM
9667 "permissions" : {
9668 "check" : [
9669 "perm",
9670 "/vms/{vmid}",
9671 [
44660702 9672 "VM.Console"
56122987
DM
9673 ]
9674 ]
9675 },
7aacca6f 9676 "protected" : 1,
44660702
DM
9677 "proxyto" : "node",
9678 "returns" : {
9679 "type" : "null"
9680 }
9681 }
9682 },
9683 "leaf" : 1,
9684 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
9685 "text" : "sendkey"
9686 },
9687 {
9688 "info" : {
9689 "GET" : {
9690 "description" : "Check if feature for virtual machine is available.",
9691 "method" : "GET",
7aacca6f 9692 "name" : "vm_feature",
56122987 9693 "parameters" : {
44660702 9694 "additionalProperties" : 0,
56122987 9695 "properties" : {
56122987 9696 "feature" : {
44660702 9697 "description" : "Feature to check.",
56122987
DM
9698 "enum" : [
9699 "snapshot",
9700 "clone",
9701 "copy"
9702 ],
44660702
DM
9703 "type" : "string"
9704 },
9705 "node" : {
9706 "description" : "The cluster node name.",
9707 "format" : "pve-node",
7aacca6f 9708 "type" : "string"
56122987
DM
9709 },
9710 "snapname" : {
56122987 9711 "description" : "The name of the snapshot.",
44660702
DM
9712 "format" : "pve-configid",
9713 "maxLength" : 40,
7aacca6f
DM
9714 "optional" : 1,
9715 "type" : "string"
9716 },
44660702
DM
9717 "vmid" : {
9718 "description" : "The (unique) ID of the VM.",
9719 "format" : "pve-vmid",
9720 "minimum" : 1,
4bd7df8b 9721 "type" : "integer",
2c0dde61 9722 "typetext" : "integer (1 - N)"
44660702
DM
9723 }
9724 }
9725 },
9726 "permissions" : {
9727 "check" : [
9728 "perm",
9729 "/vms/{vmid}",
9730 [
9731 "VM.Audit"
9732 ]
9733 ]
9734 },
9735 "protected" : 1,
9736 "proxyto" : "node",
9737 "returns" : {
9738 "properties" : {
9739 "hasFeature" : {
9740 "type" : "boolean"
9741 },
9742 "nodes" : {
9743 "items" : {
9744 "type" : "string"
9745 },
9746 "type" : "array"
56122987
DM
9747 }
9748 },
44660702 9749 "type" : "object"
56122987
DM
9750 }
9751 }
9752 },
7aacca6f 9753 "leaf" : 1,
44660702
DM
9754 "path" : "/nodes/{node}/qemu/{vmid}/feature",
9755 "text" : "feature"
56122987
DM
9756 },
9757 {
56122987
DM
9758 "info" : {
9759 "POST" : {
44660702 9760 "description" : "Create a copy of virtual machine/template.",
56122987 9761 "method" : "POST",
7aacca6f 9762 "name" : "clone_vm",
56122987
DM
9763 "parameters" : {
9764 "additionalProperties" : 0,
9765 "properties" : {
44660702
DM
9766 "description" : {
9767 "description" : "Description for the new VM.",
56122987 9768 "optional" : 1,
7aacca6f 9769 "type" : "string"
56122987 9770 },
44660702
DM
9771 "format" : {
9772 "description" : "Target format for file storage.",
9773 "enum" : [
9774 "raw",
9775 "qcow2",
9776 "vmdk"
9777 ],
9778 "optional" : 1,
9779 "requires" : "full",
56122987
DM
9780 "type" : "string"
9781 },
44660702
DM
9782 "full" : {
9783 "default" : 0,
9784 "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 9785 "optional" : 1,
44660702
DM
9786 "type" : "boolean"
9787 },
9788 "name" : {
56122987 9789 "description" : "Set a name for the new VM.",
44660702
DM
9790 "format" : "dns-name",
9791 "optional" : 1,
9792 "type" : "string"
9793 },
9794 "newid" : {
9795 "description" : "VMID for the clone.",
9796 "format" : "pve-vmid",
9797 "minimum" : 1,
4bd7df8b 9798 "type" : "integer",
2c0dde61 9799 "typetext" : "integer (1 - N)"
44660702
DM
9800 },
9801 "node" : {
9802 "description" : "The cluster node name.",
9803 "format" : "pve-node",
9804 "type" : "string"
7aacca6f
DM
9805 },
9806 "pool" : {
9807 "description" : "Add the new VM to the specified pool.",
44660702 9808 "format" : "pve-poolid",
56122987 9809 "optional" : 1,
44660702 9810 "type" : "string"
56122987 9811 },
44660702
DM
9812 "snapname" : {
9813 "description" : "The name of the snapshot.",
9814 "format" : "pve-configid",
9815 "maxLength" : 40,
7aacca6f
DM
9816 "optional" : 1,
9817 "type" : "string"
56122987 9818 },
44660702
DM
9819 "storage" : {
9820 "description" : "Target storage for full clone.",
9821 "format" : "pve-storage-id",
7aacca6f 9822 "optional" : 1,
44660702
DM
9823 "requires" : "full",
9824 "type" : "string"
56122987 9825 },
44660702
DM
9826 "target" : {
9827 "description" : "Target node. Only allowed if the original VM is on shared storage.",
9828 "format" : "pve-node",
56122987 9829 "optional" : 1,
56122987 9830 "type" : "string"
44660702
DM
9831 },
9832 "vmid" : {
9833 "description" : "The (unique) ID of the VM.",
9834 "format" : "pve-vmid",
9835 "minimum" : 1,
4bd7df8b 9836 "type" : "integer",
2c0dde61 9837 "typetext" : "integer (1 - N)"
56122987
DM
9838 }
9839 }
9840 },
56122987
DM
9841 "permissions" : {
9842 "check" : [
9843 "and",
9844 [
9845 "perm",
9846 "/vms/{vmid}",
9847 [
9848 "VM.Clone"
9849 ]
9850 ],
9851 [
9852 "or",
9853 [
9854 "perm",
9855 "/vms/{newid}",
9856 [
9857 "VM.Allocate"
9858 ]
9859 ],
9860 [
9861 "perm",
9862 "/pool/{pool}",
9863 [
9864 "VM.Allocate"
9865 ],
9866 "require_param",
9867 "pool"
9868 ]
9869 ]
44660702
DM
9870 ],
9871 "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."
9872 },
9873 "protected" : 1,
9874 "proxyto" : "node",
9875 "returns" : {
9876 "type" : "string"
56122987
DM
9877 }
9878 }
9879 },
44660702
DM
9880 "leaf" : 1,
9881 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
9882 "text" : "clone"
9883 },
9884 {
56122987
DM
9885 "info" : {
9886 "POST" : {
7aacca6f 9887 "description" : "Move volume to different storage.",
44660702
DM
9888 "method" : "POST",
9889 "name" : "move_vm_disk",
56122987
DM
9890 "parameters" : {
9891 "additionalProperties" : 0,
9892 "properties" : {
9893 "delete" : {
44660702 9894 "default" : 0,
56122987 9895 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 9896 "optional" : 1,
44660702 9897 "type" : "boolean"
56122987 9898 },
44660702
DM
9899 "digest" : {
9900 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9901 "maxLength" : 40,
9902 "optional" : 1,
9903 "type" : "string"
56122987 9904 },
56122987 9905 "disk" : {
56122987
DM
9906 "description" : "The disk you want to move.",
9907 "enum" : [
9908 "ide0",
9909 "ide1",
9910 "ide2",
9911 "ide3",
9912 "scsi0",
9913 "scsi1",
9914 "scsi2",
9915 "scsi3",
9916 "scsi4",
9917 "scsi5",
9918 "scsi6",
9919 "scsi7",
9920 "scsi8",
9921 "scsi9",
9922 "scsi10",
9923 "scsi11",
9924 "scsi12",
9925 "scsi13",
9926 "virtio0",
9927 "virtio1",
9928 "virtio2",
9929 "virtio3",
9930 "virtio4",
9931 "virtio5",
9932 "virtio6",
9933 "virtio7",
9934 "virtio8",
9935 "virtio9",
9936 "virtio10",
9937 "virtio11",
9938 "virtio12",
9939 "virtio13",
9940 "virtio14",
9941 "virtio15",
9942 "sata0",
9943 "sata1",
9944 "sata2",
9945 "sata3",
9946 "sata4",
2c0dde61
DM
9947 "sata5",
9948 "efidisk0"
44660702
DM
9949 ],
9950 "type" : "string"
7aacca6f
DM
9951 },
9952 "format" : {
9953 "description" : "Target Format.",
9954 "enum" : [
9955 "raw",
9956 "qcow2",
9957 "vmdk"
9958 ],
9959 "optional" : 1,
9960 "type" : "string"
44660702
DM
9961 },
9962 "node" : {
9963 "description" : "The cluster node name.",
9964 "format" : "pve-node",
9965 "type" : "string"
9966 },
9967 "storage" : {
9968 "description" : "Target storage.",
9969 "format" : "pve-storage-id",
9970 "type" : "string"
9971 },
9972 "vmid" : {
9973 "description" : "The (unique) ID of the VM.",
9974 "format" : "pve-vmid",
9975 "minimum" : 1,
4bd7df8b 9976 "type" : "integer",
2c0dde61 9977 "typetext" : "integer (1 - N)"
56122987
DM
9978 }
9979 }
9980 },
44660702
DM
9981 "permissions" : {
9982 "check" : [
9983 "and",
9984 [
9985 "perm",
9986 "/vms/{vmid}",
9987 [
9988 "VM.Config.Disk"
9989 ]
9990 ],
9991 [
9992 "perm",
9993 "/storage/{storage}",
9994 [
9995 "Datastore.AllocateSpace"
9996 ]
9997 ]
9998 ],
9999 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10000 },
10001 "protected" : 1,
10002 "proxyto" : "node",
10003 "returns" : {
10004 "description" : "the task ID.",
10005 "type" : "string"
10006 }
56122987 10007 }
7aacca6f 10008 },
44660702 10009 "leaf" : 1,
7aacca6f 10010 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10011 "text" : "move_disk"
56122987
DM
10012 },
10013 {
56122987
DM
10014 "info" : {
10015 "POST" : {
7aacca6f 10016 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 10017 "method" : "POST",
7aacca6f 10018 "name" : "migrate_vm",
56122987 10019 "parameters" : {
44660702 10020 "additionalProperties" : 0,
56122987 10021 "properties" : {
44660702
DM
10022 "force" : {
10023 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
10024 "optional" : 1,
10025 "type" : "boolean"
10026 },
de0983cb
DM
10027 "migration_network" : {
10028 "description" : "CIDR of the (sub) network that is used for migration.",
10029 "format" : "CIDR",
10030 "optional" : 1,
10031 "type" : "string"
10032 },
10033 "migration_type" : {
10034 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10035 "enum" : [
10036 "secure",
10037 "insecure"
10038 ],
10039 "optional" : 1,
10040 "type" : "string"
10041 },
7aacca6f 10042 "node" : {
44660702 10043 "description" : "The cluster node name.",
7aacca6f 10044 "format" : "pve-node",
44660702 10045 "type" : "string"
56122987
DM
10046 },
10047 "online" : {
44660702 10048 "description" : "Use online/live migration.",
56122987 10049 "optional" : 1,
44660702 10050 "type" : "boolean"
56122987 10051 },
44660702
DM
10052 "target" : {
10053 "description" : "Target node.",
10054 "format" : "pve-node",
10055 "type" : "string"
56122987 10056 },
7aacca6f 10057 "vmid" : {
7aacca6f 10058 "description" : "The (unique) ID of the VM.",
44660702 10059 "format" : "pve-vmid",
7aacca6f 10060 "minimum" : 1,
4bd7df8b 10061 "type" : "integer",
2c0dde61 10062 "typetext" : "integer (1 - N)"
56122987 10063 }
44660702
DM
10064 }
10065 },
10066 "permissions" : {
10067 "check" : [
10068 "perm",
10069 "/vms/{vmid}",
10070 [
10071 "VM.Migrate"
10072 ]
10073 ]
56122987
DM
10074 },
10075 "protected" : 1,
44660702
DM
10076 "proxyto" : "node",
10077 "returns" : {
10078 "description" : "the task ID.",
10079 "type" : "string"
10080 }
56122987 10081 }
7aacca6f 10082 },
44660702
DM
10083 "leaf" : 1,
10084 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 10085 "text" : "migrate"
56122987
DM
10086 },
10087 {
10088 "info" : {
10089 "POST" : {
44660702 10090 "description" : "Execute Qemu monitor commands.",
56122987 10091 "method" : "POST",
44660702 10092 "name" : "monitor",
56122987 10093 "parameters" : {
7aacca6f 10094 "additionalProperties" : 0,
56122987 10095 "properties" : {
44660702
DM
10096 "command" : {
10097 "description" : "The monitor command.",
10098 "type" : "string"
10099 },
56122987 10100 "node" : {
44660702 10101 "description" : "The cluster node name.",
7aacca6f 10102 "format" : "pve-node",
44660702 10103 "type" : "string"
56122987
DM
10104 },
10105 "vmid" : {
44660702 10106 "description" : "The (unique) ID of the VM.",
56122987 10107 "format" : "pve-vmid",
7aacca6f 10108 "minimum" : 1,
4bd7df8b 10109 "type" : "integer",
2c0dde61 10110 "typetext" : "integer (1 - N)"
56122987 10111 }
7aacca6f 10112 }
56122987 10113 },
56122987
DM
10114 "permissions" : {
10115 "check" : [
10116 "perm",
10117 "/vms/{vmid}",
10118 [
10119 "VM.Monitor"
10120 ]
10121 ]
7aacca6f 10122 },
44660702
DM
10123 "protected" : 1,
10124 "proxyto" : "node",
10125 "returns" : {
10126 "type" : "string"
10127 }
56122987 10128 }
44660702
DM
10129 },
10130 "leaf" : 1,
10131 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
10132 "text" : "monitor"
56122987
DM
10133 },
10134 {
56122987
DM
10135 "info" : {
10136 "PUT" : {
44660702
DM
10137 "description" : "Extend volume size.",
10138 "method" : "PUT",
10139 "name" : "resize_vm",
56122987 10140 "parameters" : {
44660702 10141 "additionalProperties" : 0,
56122987 10142 "properties" : {
44660702
DM
10143 "digest" : {
10144 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10145 "maxLength" : 40,
10146 "optional" : 1,
56122987
DM
10147 "type" : "string"
10148 },
56122987
DM
10149 "disk" : {
10150 "description" : "The disk you want to resize.",
10151 "enum" : [
10152 "ide0",
10153 "ide1",
10154 "ide2",
10155 "ide3",
10156 "scsi0",
10157 "scsi1",
10158 "scsi2",
10159 "scsi3",
10160 "scsi4",
10161 "scsi5",
10162 "scsi6",
10163 "scsi7",
10164 "scsi8",
10165 "scsi9",
10166 "scsi10",
10167 "scsi11",
10168 "scsi12",
10169 "scsi13",
10170 "virtio0",
10171 "virtio1",
10172 "virtio2",
10173 "virtio3",
10174 "virtio4",
10175 "virtio5",
10176 "virtio6",
10177 "virtio7",
10178 "virtio8",
10179 "virtio9",
10180 "virtio10",
10181 "virtio11",
10182 "virtio12",
10183 "virtio13",
10184 "virtio14",
10185 "virtio15",
10186 "sata0",
10187 "sata1",
10188 "sata2",
10189 "sata3",
10190 "sata4",
2c0dde61
DM
10191 "sata5",
10192 "efidisk0"
44660702
DM
10193 ],
10194 "type" : "string"
56122987 10195 },
44660702
DM
10196 "node" : {
10197 "description" : "The cluster node name.",
10198 "format" : "pve-node",
10199 "type" : "string"
7aacca6f 10200 },
44660702
DM
10201 "size" : {
10202 "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.",
10203 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
10204 "type" : "string"
56122987
DM
10205 },
10206 "skiplock" : {
10207 "description" : "Ignore locks - only root is allowed to use this option.",
10208 "optional" : 1,
10209 "type" : "boolean"
56122987
DM
10210 },
10211 "vmid" : {
7aacca6f 10212 "description" : "The (unique) ID of the VM.",
56122987 10213 "format" : "pve-vmid",
44660702 10214 "minimum" : 1,
4bd7df8b 10215 "type" : "integer",
2c0dde61 10216 "typetext" : "integer (1 - N)"
56122987
DM
10217 }
10218 }
10219 },
10220 "permissions" : {
10221 "check" : [
10222 "perm",
10223 "/vms/{vmid}",
10224 [
44660702 10225 "VM.Config.Disk"
56122987
DM
10226 ]
10227 ]
10228 },
7aacca6f 10229 "protected" : 1,
7aacca6f 10230 "proxyto" : "node",
44660702
DM
10231 "returns" : {
10232 "type" : "null"
10233 }
7aacca6f
DM
10234 }
10235 },
44660702
DM
10236 "leaf" : 1,
10237 "path" : "/nodes/{node}/qemu/{vmid}/resize",
10238 "text" : "resize"
10239 },
10240 {
56122987
DM
10241 "children" : [
10242 {
10243 "children" : [
10244 {
56122987 10245 "info" : {
44660702
DM
10246 "GET" : {
10247 "description" : "Get snapshot configuration",
10248 "method" : "GET",
10249 "name" : "get_snapshot_config",
56122987 10250 "parameters" : {
44660702 10251 "additionalProperties" : 0,
56122987 10252 "properties" : {
56122987 10253 "node" : {
44660702 10254 "description" : "The cluster node name.",
56122987 10255 "format" : "pve-node",
44660702 10256 "type" : "string"
7aacca6f
DM
10257 },
10258 "snapname" : {
44660702 10259 "description" : "The name of the snapshot.",
7aacca6f 10260 "format" : "pve-configid",
44660702
DM
10261 "maxLength" : 40,
10262 "type" : "string"
7aacca6f
DM
10263 },
10264 "vmid" : {
44660702 10265 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10266 "format" : "pve-vmid",
10267 "minimum" : 1,
4bd7df8b 10268 "type" : "integer",
2c0dde61 10269 "typetext" : "integer (1 - N)"
56122987 10270 }
44660702 10271 }
56122987
DM
10272 },
10273 "permissions" : {
10274 "check" : [
10275 "perm",
10276 "/vms/{vmid}",
10277 [
10278 "VM.Snapshot"
10279 ]
10280 ]
10281 },
44660702 10282 "proxyto" : "node",
56122987 10283 "returns" : {
44660702 10284 "type" : "object"
7aacca6f
DM
10285 }
10286 },
44660702
DM
10287 "PUT" : {
10288 "description" : "Update snapshot metadata.",
10289 "method" : "PUT",
10290 "name" : "update_snapshot_config",
56122987 10291 "parameters" : {
44660702 10292 "additionalProperties" : 0,
56122987 10293 "properties" : {
44660702
DM
10294 "description" : {
10295 "description" : "A textual description or comment.",
10296 "optional" : 1,
10297 "type" : "string"
10298 },
56122987 10299 "node" : {
7aacca6f 10300 "description" : "The cluster node name.",
44660702
DM
10301 "format" : "pve-node",
10302 "type" : "string"
56122987 10303 },
56122987
DM
10304 "snapname" : {
10305 "description" : "The name of the snapshot.",
44660702 10306 "format" : "pve-configid",
7aacca6f 10307 "maxLength" : 40,
44660702 10308 "type" : "string"
7aacca6f
DM
10309 },
10310 "vmid" : {
10311 "description" : "The (unique) ID of the VM.",
44660702 10312 "format" : "pve-vmid",
7aacca6f 10313 "minimum" : 1,
4bd7df8b 10314 "type" : "integer",
2c0dde61 10315 "typetext" : "integer (1 - N)"
56122987 10316 }
44660702 10317 }
56122987 10318 },
7aacca6f
DM
10319 "permissions" : {
10320 "check" : [
10321 "perm",
10322 "/vms/{vmid}",
10323 [
10324 "VM.Snapshot"
10325 ]
10326 ]
44660702
DM
10327 },
10328 "protected" : 1,
10329 "proxyto" : "node",
10330 "returns" : {
10331 "type" : "null"
7aacca6f 10332 }
56122987
DM
10333 }
10334 },
44660702 10335 "leaf" : 1,
7aacca6f 10336 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 10337 "text" : "config"
56122987
DM
10338 },
10339 {
56122987
DM
10340 "info" : {
10341 "POST" : {
44660702 10342 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 10343 "method" : "POST",
44660702 10344 "name" : "rollback",
56122987
DM
10345 "parameters" : {
10346 "additionalProperties" : 0,
10347 "properties" : {
44660702
DM
10348 "node" : {
10349 "description" : "The cluster node name.",
10350 "format" : "pve-node",
10351 "type" : "string"
10352 },
56122987 10353 "snapname" : {
44660702 10354 "description" : "The name of the snapshot.",
56122987
DM
10355 "format" : "pve-configid",
10356 "maxLength" : 40,
7aacca6f
DM
10357 "type" : "string"
10358 },
56122987 10359 "vmid" : {
7aacca6f 10360 "description" : "The (unique) ID of the VM.",
44660702 10361 "format" : "pve-vmid",
56122987 10362 "minimum" : 1,
4bd7df8b 10363 "type" : "integer",
2c0dde61 10364 "typetext" : "integer (1 - N)"
56122987
DM
10365 }
10366 }
10367 },
7aacca6f 10368 "permissions" : {
56122987
DM
10369 "check" : [
10370 "perm",
10371 "/vms/{vmid}",
10372 [
10373 "VM.Snapshot"
10374 ]
10375 ]
10376 },
44660702 10377 "protected" : 1,
7aacca6f 10378 "proxyto" : "node",
44660702
DM
10379 "returns" : {
10380 "description" : "the task ID.",
10381 "type" : "string"
10382 }
56122987
DM
10383 }
10384 },
44660702
DM
10385 "leaf" : 1,
10386 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 10387 "text" : "rollback"
56122987 10388 }
44660702
DM
10389 ],
10390 "info" : {
10391 "DELETE" : {
10392 "description" : "Delete a VM snapshot.",
10393 "method" : "DELETE",
10394 "name" : "delsnapshot",
10395 "parameters" : {
10396 "additionalProperties" : 0,
10397 "properties" : {
10398 "force" : {
10399 "description" : "For removal from config file, even if removing disk snapshots fails.",
10400 "optional" : 1,
10401 "type" : "boolean"
10402 },
10403 "node" : {
10404 "description" : "The cluster node name.",
10405 "format" : "pve-node",
10406 "type" : "string"
10407 },
10408 "snapname" : {
10409 "description" : "The name of the snapshot.",
10410 "format" : "pve-configid",
10411 "maxLength" : 40,
10412 "type" : "string"
10413 },
10414 "vmid" : {
10415 "description" : "The (unique) ID of the VM.",
10416 "format" : "pve-vmid",
10417 "minimum" : 1,
4bd7df8b 10418 "type" : "integer",
2c0dde61 10419 "typetext" : "integer (1 - N)"
44660702
DM
10420 }
10421 }
10422 },
10423 "permissions" : {
10424 "check" : [
10425 "perm",
10426 "/vms/{vmid}",
10427 [
10428 "VM.Snapshot"
10429 ]
10430 ]
10431 },
10432 "protected" : 1,
10433 "proxyto" : "node",
10434 "returns" : {
10435 "description" : "the task ID.",
10436 "type" : "string"
10437 }
10438 },
10439 "GET" : {
10440 "description" : "",
10441 "method" : "GET",
10442 "name" : "snapshot_cmd_idx",
10443 "parameters" : {
10444 "additionalProperties" : 0,
10445 "properties" : {
10446 "node" : {
10447 "description" : "The cluster node name.",
10448 "format" : "pve-node",
10449 "type" : "string"
10450 },
10451 "snapname" : {
10452 "description" : "The name of the snapshot.",
10453 "format" : "pve-configid",
10454 "maxLength" : 40,
10455 "type" : "string"
10456 },
10457 "vmid" : {
10458 "description" : "The (unique) ID of the VM.",
10459 "format" : "pve-vmid",
10460 "minimum" : 1,
4bd7df8b 10461 "type" : "integer",
2c0dde61 10462 "typetext" : "integer (1 - N)"
44660702
DM
10463 }
10464 }
10465 },
10466 "permissions" : {
10467 "user" : "all"
10468 },
10469 "returns" : {
10470 "items" : {
10471 "properties" : {},
10472 "type" : "object"
10473 },
10474 "links" : [
10475 {
10476 "href" : "{cmd}",
10477 "rel" : "child"
10478 }
10479 ],
10480 "type" : "array"
10481 }
10482 }
10483 },
10484 "leaf" : 0,
10485 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
10486 "text" : "{snapname}"
56122987
DM
10487 }
10488 ],
44660702
DM
10489 "info" : {
10490 "GET" : {
10491 "description" : "List all snapshots.",
10492 "method" : "GET",
10493 "name" : "snapshot_list",
10494 "parameters" : {
10495 "additionalProperties" : 0,
10496 "properties" : {
10497 "node" : {
10498 "description" : "The cluster node name.",
10499 "format" : "pve-node",
10500 "type" : "string"
10501 },
10502 "vmid" : {
10503 "description" : "The (unique) ID of the VM.",
10504 "format" : "pve-vmid",
10505 "minimum" : 1,
4bd7df8b 10506 "type" : "integer",
2c0dde61 10507 "typetext" : "integer (1 - N)"
44660702
DM
10508 }
10509 }
10510 },
10511 "permissions" : {
10512 "check" : [
10513 "perm",
10514 "/vms/{vmid}",
10515 [
10516 "VM.Audit"
10517 ]
10518 ]
10519 },
10520 "protected" : 1,
10521 "proxyto" : "node",
10522 "returns" : {
10523 "items" : {
10524 "properties" : {},
10525 "type" : "object"
10526 },
10527 "links" : [
10528 {
10529 "href" : "{name}",
10530 "rel" : "child"
10531 }
10532 ],
10533 "type" : "array"
10534 }
10535 },
10536 "POST" : {
10537 "description" : "Snapshot a VM.",
10538 "method" : "POST",
10539 "name" : "snapshot",
10540 "parameters" : {
10541 "additionalProperties" : 0,
10542 "properties" : {
10543 "description" : {
10544 "description" : "A textual description or comment.",
10545 "optional" : 1,
10546 "type" : "string"
10547 },
10548 "node" : {
10549 "description" : "The cluster node name.",
10550 "format" : "pve-node",
10551 "type" : "string"
10552 },
10553 "snapname" : {
10554 "description" : "The name of the snapshot.",
10555 "format" : "pve-configid",
10556 "maxLength" : 40,
10557 "type" : "string"
10558 },
10559 "vmid" : {
10560 "description" : "The (unique) ID of the VM.",
10561 "format" : "pve-vmid",
10562 "minimum" : 1,
4bd7df8b 10563 "type" : "integer",
2c0dde61 10564 "typetext" : "integer (1 - N)"
44660702
DM
10565 },
10566 "vmstate" : {
10567 "description" : "Save the vmstate",
10568 "optional" : 1,
10569 "type" : "boolean"
10570 }
10571 }
10572 },
10573 "permissions" : {
10574 "check" : [
10575 "perm",
10576 "/vms/{vmid}",
10577 [
10578 "VM.Snapshot"
10579 ]
10580 ]
10581 },
10582 "protected" : 1,
10583 "proxyto" : "node",
10584 "returns" : {
10585 "description" : "the task ID.",
10586 "type" : "string"
10587 }
10588 }
10589 },
10590 "leaf" : 0,
10591 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 10592 "text" : "snapshot"
56122987
DM
10593 },
10594 {
56122987
DM
10595 "info" : {
10596 "POST" : {
44660702
DM
10597 "description" : "Create a Template.",
10598 "method" : "POST",
56122987 10599 "name" : "template",
56122987 10600 "parameters" : {
7aacca6f 10601 "additionalProperties" : 0,
56122987 10602 "properties" : {
56122987 10603 "disk" : {
56122987
DM
10604 "description" : "If you want to convert only 1 disk to base image.",
10605 "enum" : [
10606 "ide0",
10607 "ide1",
10608 "ide2",
10609 "ide3",
10610 "scsi0",
10611 "scsi1",
10612 "scsi2",
10613 "scsi3",
10614 "scsi4",
10615 "scsi5",
10616 "scsi6",
10617 "scsi7",
10618 "scsi8",
10619 "scsi9",
10620 "scsi10",
10621 "scsi11",
10622 "scsi12",
10623 "scsi13",
10624 "virtio0",
10625 "virtio1",
10626 "virtio2",
10627 "virtio3",
10628 "virtio4",
10629 "virtio5",
10630 "virtio6",
10631 "virtio7",
10632 "virtio8",
10633 "virtio9",
10634 "virtio10",
10635 "virtio11",
10636 "virtio12",
10637 "virtio13",
10638 "virtio14",
10639 "virtio15",
10640 "sata0",
10641 "sata1",
10642 "sata2",
10643 "sata3",
10644 "sata4",
2c0dde61
DM
10645 "sata5",
10646 "efidisk0"
56122987 10647 ],
7aacca6f 10648 "optional" : 1,
56122987
DM
10649 "type" : "string"
10650 },
44660702
DM
10651 "node" : {
10652 "description" : "The cluster node name.",
10653 "format" : "pve-node",
10654 "type" : "string"
10655 },
10656 "vmid" : {
10657 "description" : "The (unique) ID of the VM.",
7aacca6f 10658 "format" : "pve-vmid",
44660702 10659 "minimum" : 1,
4bd7df8b 10660 "type" : "integer",
2c0dde61 10661 "typetext" : "integer (1 - N)"
56122987 10662 }
7aacca6f 10663 }
56122987 10664 },
7aacca6f
DM
10665 "permissions" : {
10666 "check" : [
10667 "perm",
10668 "/vms/{vmid}",
10669 [
10670 "VM.Allocate"
10671 ]
10672 ],
10673 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
10674 },
44660702 10675 "protected" : 1,
7aacca6f 10676 "proxyto" : "node",
7aacca6f
DM
10677 "returns" : {
10678 "type" : "null"
10679 }
56122987
DM
10680 }
10681 },
44660702 10682 "leaf" : 1,
7aacca6f 10683 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 10684 "text" : "template"
56122987
DM
10685 }
10686 ],
7aacca6f 10687 "info" : {
44660702
DM
10688 "DELETE" : {
10689 "description" : "Destroy the vm (also delete all used/owned volumes).",
10690 "method" : "DELETE",
10691 "name" : "destroy_vm",
7aacca6f 10692 "parameters" : {
44660702 10693 "additionalProperties" : 0,
7aacca6f
DM
10694 "properties" : {
10695 "node" : {
44660702 10696 "description" : "The cluster node name.",
7aacca6f 10697 "format" : "pve-node",
44660702
DM
10698 "type" : "string"
10699 },
10700 "skiplock" : {
10701 "description" : "Ignore locks - only root is allowed to use this option.",
10702 "optional" : 1,
10703 "type" : "boolean"
7aacca6f
DM
10704 },
10705 "vmid" : {
44660702 10706 "description" : "The (unique) ID of the VM.",
7aacca6f 10707 "format" : "pve-vmid",
44660702 10708 "minimum" : 1,
4bd7df8b 10709 "type" : "integer",
2c0dde61 10710 "typetext" : "integer (1 - N)"
7aacca6f 10711 }
44660702 10712 }
7aacca6f 10713 },
7aacca6f
DM
10714 "permissions" : {
10715 "check" : [
10716 "perm",
10717 "/vms/{vmid}",
10718 [
10719 "VM.Allocate"
10720 ]
10721 ]
10722 },
44660702
DM
10723 "protected" : 1,
10724 "proxyto" : "node",
7aacca6f
DM
10725 "returns" : {
10726 "type" : "string"
44660702
DM
10727 }
10728 },
10729 "GET" : {
10730 "description" : "Directory index",
10731 "method" : "GET",
10732 "name" : "vmdiridx",
7aacca6f 10733 "parameters" : {
44660702 10734 "additionalProperties" : 0,
7aacca6f 10735 "properties" : {
7aacca6f 10736 "node" : {
7aacca6f 10737 "description" : "The cluster node name.",
44660702
DM
10738 "format" : "pve-node",
10739 "type" : "string"
10740 },
10741 "vmid" : {
10742 "description" : "The (unique) ID of the VM.",
10743 "format" : "pve-vmid",
10744 "minimum" : 1,
4bd7df8b 10745 "type" : "integer",
2c0dde61 10746 "typetext" : "integer (1 - N)"
7aacca6f 10747 }
44660702 10748 }
7aacca6f 10749 },
44660702
DM
10750 "permissions" : {
10751 "user" : "all"
10752 },
10753 "proxyto" : "node",
10754 "returns" : {
10755 "items" : {
10756 "properties" : {
10757 "subdir" : {
10758 "type" : "string"
10759 }
10760 },
10761 "type" : "object"
10762 },
10763 "links" : [
10764 {
10765 "href" : "{subdir}",
10766 "rel" : "child"
10767 }
10768 ],
10769 "type" : "array"
10770 }
7aacca6f 10771 }
44660702
DM
10772 },
10773 "leaf" : 0,
10774 "path" : "/nodes/{node}/qemu/{vmid}",
10775 "text" : "{vmid}"
56122987
DM
10776 }
10777 ],
10778 "info" : {
44660702
DM
10779 "GET" : {
10780 "description" : "Virtual machine index (per node).",
10781 "method" : "GET",
10782 "name" : "vmlist",
56122987 10783 "parameters" : {
44660702 10784 "additionalProperties" : 0,
56122987 10785 "properties" : {
44660702
DM
10786 "full" : {
10787 "description" : "Determine the full status of active VMs.",
56122987 10788 "optional" : 1,
44660702 10789 "type" : "boolean"
56122987 10790 },
44660702
DM
10791 "node" : {
10792 "description" : "The cluster node name.",
10793 "format" : "pve-node",
7aacca6f 10794 "type" : "string"
44660702
DM
10795 }
10796 }
10797 },
10798 "permissions" : {
10799 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
10800 "user" : "all"
10801 },
10802 "protected" : 1,
10803 "proxyto" : "node",
10804 "returns" : {
10805 "items" : {
10806 "properties" : {},
10807 "type" : "object"
10808 },
10809 "links" : [
10810 {
10811 "href" : "{vmid}",
10812 "rel" : "child"
10813 }
10814 ],
10815 "type" : "array"
10816 }
10817 },
10818 "POST" : {
10819 "description" : "Create or restore a virtual machine.",
10820 "method" : "POST",
10821 "name" : "create_vm",
10822 "parameters" : {
10823 "additionalProperties" : 0,
10824 "properties" : {
7aacca6f 10825 "acpi" : {
7aacca6f 10826 "default" : 1,
44660702 10827 "description" : "Enable/disable ACPI.",
56122987 10828 "optional" : 1,
7aacca6f 10829 "type" : "boolean"
56122987 10830 },
44660702
DM
10831 "agent" : {
10832 "default" : 0,
10833 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 10834 "optional" : 1,
44660702 10835 "type" : "boolean"
56122987 10836 },
44660702
DM
10837 "archive" : {
10838 "description" : "The backup file.",
10839 "maxLength" : 255,
56122987 10840 "optional" : 1,
44660702 10841 "type" : "string"
56122987 10842 },
44660702 10843 "args" : {
c2993fe5 10844 "description" : "Arbitrary arguments passed to kvm.",
56122987 10845 "optional" : 1,
c2993fe5
DM
10846 "type" : "string",
10847 "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 10848 },
44660702 10849 "autostart" : {
7aacca6f 10850 "default" : 0,
44660702
DM
10851 "description" : "Automatic restart after crash (currently ignored).",
10852 "optional" : 1,
10853 "type" : "boolean"
7aacca6f 10854 },
44660702
DM
10855 "balloon" : {
10856 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
10857 "minimum" : 0,
56122987 10858 "optional" : 1,
4bd7df8b 10859 "type" : "integer",
2c0dde61 10860 "typetext" : "integer (0 - N)"
56122987 10861 },
44660702
DM
10862 "bios" : {
10863 "default" : "seabios",
10864 "description" : "Select BIOS implementation.",
10865 "enum" : [
10866 "seabios",
10867 "ovmf"
10868 ],
56122987 10869 "optional" : 1,
44660702 10870 "type" : "string"
56122987 10871 },
44660702
DM
10872 "boot" : {
10873 "default" : "cdn",
10874 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 10875 "optional" : 1,
44660702
DM
10876 "pattern" : "[acdn]{1,4}",
10877 "type" : "string"
56122987 10878 },
7aacca6f
DM
10879 "bootdisk" : {
10880 "description" : "Enable booting from specified disk.",
44660702
DM
10881 "format" : "pve-qm-bootdisk",
10882 "optional" : 1,
7aacca6f 10883 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
10884 "type" : "string"
10885 },
10886 "cdrom" : {
10887 "description" : "This is an alias for option -ide2",
de0983cb 10888 "format" : "pve-qm-ide",
56122987 10889 "optional" : 1,
44660702
DM
10890 "type" : "string",
10891 "typetext" : "volume"
56122987 10892 },
44660702
DM
10893 "cores" : {
10894 "default" : 1,
10895 "description" : "The number of cores per socket.",
7aacca6f 10896 "minimum" : 1,
44660702 10897 "optional" : 1,
4bd7df8b 10898 "type" : "integer",
2c0dde61 10899 "typetext" : "integer (1 - N)"
7aacca6f 10900 },
44660702
DM
10901 "cpu" : {
10902 "description" : "Emulated CPU type.",
10903 "format" : {
10904 "cputype" : {
10905 "default" : "kvm64",
10906 "default_key" : 1,
10907 "description" : "Emulated CPU type.",
10908 "enum" : [
10909 "486",
10910 "athlon",
f004f5b9
DM
10911 "Broadwell",
10912 "Broadwell-noTSX",
10913 "Conroe",
44660702 10914 "core2duo",
f004f5b9
DM
10915 "coreduo",
10916 "Haswell",
10917 "Haswell-noTSX",
10918 "host",
10919 "IvyBridge",
44660702
DM
10920 "kvm32",
10921 "kvm64",
44660702 10922 "Nehalem",
44660702
DM
10923 "Opteron_G1",
10924 "Opteron_G2",
10925 "Opteron_G3",
10926 "Opteron_G4",
10927 "Opteron_G5",
f004f5b9
DM
10928 "Penryn",
10929 "pentium",
10930 "pentium2",
10931 "pentium3",
10932 "phenom",
10933 "qemu32",
10934 "qemu64",
10935 "SandyBridge",
10936 "Westmere"
44660702
DM
10937 ],
10938 "format_description" : "cputype",
10939 "type" : "string"
10940 },
10941 "hidden" : {
10942 "default" : 0,
10943 "description" : "Do not identify as a KVM virtual machine.",
10944 "optional" : 1,
10945 "type" : "boolean"
10946 }
10947 },
56122987 10948 "optional" : 1,
4bd7df8b
DM
10949 "type" : "string",
10950 "typetext" : "[cputype=]<cputype> [,hidden=<1|0>]"
56122987 10951 },
44660702 10952 "cpulimit" : {
7aacca6f 10953 "default" : 0,
c2993fe5 10954 "description" : "Limit of CPU usage.",
44660702
DM
10955 "maximum" : 128,
10956 "minimum" : 0,
7aacca6f 10957 "optional" : 1,
c2993fe5 10958 "type" : "number",
2c0dde61 10959 "typetext" : "number (0 - 128)",
c2993fe5 10960 "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
10961 },
10962 "cpuunits" : {
de0983cb 10963 "default" : 1024,
c2993fe5 10964 "description" : "CPU weight for a VM.",
7aacca6f 10965 "maximum" : 500000,
44660702
DM
10966 "minimum" : 0,
10967 "optional" : 1,
c2993fe5 10968 "type" : "integer",
2c0dde61 10969 "typetext" : "integer (0 - 500000)",
c2993fe5 10970 "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
44660702
DM
10971 },
10972 "description" : {
10973 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 10974 "optional" : 1,
44660702
DM
10975 "type" : "string"
10976 },
10977 "force" : {
10978 "description" : "Allow to overwrite existing VM.",
10979 "optional" : 1,
10980 "requires" : "archive",
10981 "type" : "boolean"
10982 },
10983 "freeze" : {
10984 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
10985 "optional" : 1,
10986 "type" : "boolean"
10987 },
10988 "hostpci[n]" : {
c2993fe5 10989 "description" : "Map host PCI devices into guest.",
44660702
DM
10990 "format" : "pve-qm-hostpci",
10991 "optional" : 1,
57b78691 10992 "type" : "string",
4bd7df8b 10993 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 10994 "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
10995 },
10996 "hotplug" : {
10997 "default" : "network,disk,usb",
10998 "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'.",
10999 "format" : "pve-hotplug-features",
11000 "optional" : 1,
11001 "type" : "string"
7aacca6f 11002 },
4bd7df8b
DM
11003 "hugepages" : {
11004 "description" : "Enable/disable hugepages memory.",
11005 "enum" : [
11006 "any",
11007 "2",
11008 "1024"
11009 ],
11010 "optional" : 1,
11011 "type" : "string"
11012 },
7aacca6f 11013 "ide[n]" : {
44660702 11014 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11015 "format" : {
44660702
DM
11016 "aio" : {
11017 "description" : "AIO type to use.",
11018 "enum" : [
11019 "native",
11020 "threads"
11021 ],
44660702
DM
11022 "optional" : 1,
11023 "type" : "string"
11024 },
11025 "backup" : {
11026 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11027 "optional" : 1,
11028 "type" : "boolean"
11029 },
11030 "bps" : {
de0983cb 11031 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11032 "format_description" : "bps",
56122987 11033 "optional" : 1,
44660702 11034 "type" : "integer"
56122987 11035 },
de0983cb
DM
11036 "bps_max_length" : {
11037 "description" : "Maximum length of I/O bursts in seconds.",
11038 "format_description" : "seconds",
11039 "minimum" : 1,
11040 "optional" : 1,
11041 "type" : "integer"
11042 },
44660702 11043 "bps_rd" : {
de0983cb 11044 "description" : "Maximum read speed in bytes per second.",
44660702 11045 "format_description" : "bps",
56122987 11046 "optional" : 1,
44660702 11047 "type" : "integer"
56122987 11048 },
de0983cb
DM
11049 "bps_rd_length" : {
11050 "description" : "Maximum length of read I/O bursts in seconds.",
11051 "format_description" : "seconds",
11052 "minimum" : 1,
11053 "optional" : 1,
11054 "type" : "integer"
11055 },
44660702 11056 "bps_wr" : {
de0983cb 11057 "description" : "Maximum write speed in bytes per second.",
44660702 11058 "format_description" : "bps",
56122987 11059 "optional" : 1,
44660702 11060 "type" : "integer"
56122987 11061 },
de0983cb
DM
11062 "bps_wr_length" : {
11063 "description" : "Maximum length of write I/O bursts in seconds.",
11064 "format_description" : "seconds",
11065 "minimum" : 1,
11066 "optional" : 1,
11067 "type" : "integer"
11068 },
44660702
DM
11069 "cache" : {
11070 "description" : "The drive's cache mode",
56122987 11071 "enum" : [
7aacca6f 11072 "none",
44660702
DM
11073 "writethrough",
11074 "writeback",
11075 "unsafe",
11076 "directsync"
56122987 11077 ],
56122987 11078 "optional" : 1,
44660702 11079 "type" : "string"
56122987 11080 },
44660702
DM
11081 "cyls" : {
11082 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11083 "optional" : 1,
11084 "type" : "integer"
7aacca6f 11085 },
44660702
DM
11086 "detect_zeroes" : {
11087 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11088 "optional" : 1,
44660702 11089 "type" : "boolean"
56122987 11090 },
44660702
DM
11091 "discard" : {
11092 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11093 "enum" : [
11094 "ignore",
11095 "on"
11096 ],
56122987 11097 "optional" : 1,
44660702 11098 "type" : "string"
56122987 11099 },
7aacca6f 11100 "file" : {
44660702 11101 "default_key" : 1,
7aacca6f 11102 "description" : "The drive's backing volume.",
7aacca6f
DM
11103 "format" : "pve-volume-id-or-qm-path",
11104 "format_description" : "volume",
7aacca6f 11105 "type" : "string"
56122987 11106 },
44660702
DM
11107 "format" : {
11108 "description" : "The drive's backing file's data format.",
56122987 11109 "enum" : [
44660702
DM
11110 "raw",
11111 "cow",
11112 "qcow",
11113 "qed",
11114 "qcow2",
11115 "vmdk",
11116 "cloop"
7aacca6f 11117 ],
7aacca6f
DM
11118 "optional" : 1,
11119 "type" : "string"
56122987 11120 },
44660702
DM
11121 "heads" : {
11122 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11123 "optional" : 1,
44660702 11124 "type" : "integer"
56122987 11125 },
44660702 11126 "iops" : {
de0983cb 11127 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 11128 "format_description" : "iops",
56122987 11129 "optional" : 1,
44660702 11130 "type" : "integer"
56122987 11131 },
44660702 11132 "iops_max" : {
de0983cb 11133 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11134 "format_description" : "iops",
56122987 11135 "optional" : 1,
44660702 11136 "type" : "integer"
56122987 11137 },
de0983cb
DM
11138 "iops_max_length" : {
11139 "description" : "Maximum length of I/O bursts in seconds.",
11140 "format_description" : "seconds",
11141 "minimum" : 1,
11142 "optional" : 1,
11143 "type" : "integer"
11144 },
7aacca6f 11145 "iops_rd" : {
de0983cb 11146 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11147 "format_description" : "iops",
11148 "optional" : 1,
11149 "type" : "integer"
7aacca6f 11150 },
de0983cb
DM
11151 "iops_rd_length" : {
11152 "description" : "Maximum length of read I/O bursts in seconds.",
11153 "format_description" : "seconds",
11154 "minimum" : 1,
11155 "optional" : 1,
11156 "type" : "integer"
11157 },
44660702 11158 "iops_rd_max" : {
de0983cb 11159 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11160 "format_description" : "iops",
56122987 11161 "optional" : 1,
44660702 11162 "type" : "integer"
56122987 11163 },
44660702 11164 "iops_wr" : {
de0983cb 11165 "description" : "Maximum write I/O in operations per second.",
44660702 11166 "format_description" : "iops",
56122987 11167 "optional" : 1,
44660702 11168 "type" : "integer"
7aacca6f 11169 },
de0983cb
DM
11170 "iops_wr_length" : {
11171 "description" : "Maximum length of write I/O bursts in seconds.",
11172 "format_description" : "seconds",
11173 "minimum" : 1,
11174 "optional" : 1,
11175 "type" : "integer"
11176 },
44660702 11177 "iops_wr_max" : {
de0983cb 11178 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11179 "format_description" : "iops",
7aacca6f 11180 "optional" : 1,
44660702 11181 "type" : "integer"
56122987 11182 },
44660702 11183 "mbps" : {
de0983cb 11184 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11185 "format_description" : "mbps",
7aacca6f 11186 "optional" : 1,
44660702 11187 "type" : "number"
56122987 11188 },
44660702 11189 "mbps_max" : {
de0983cb 11190 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 11191 "format_description" : "mbps",
56122987 11192 "optional" : 1,
44660702 11193 "type" : "number"
56122987 11194 },
44660702 11195 "mbps_rd" : {
de0983cb 11196 "description" : "Maximum read speed in megabytes per second.",
44660702 11197 "format_description" : "mbps",
7aacca6f 11198 "optional" : 1,
44660702 11199 "type" : "number"
7aacca6f 11200 },
44660702 11201 "mbps_rd_max" : {
de0983cb 11202 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11203 "format_description" : "mbps",
56122987 11204 "optional" : 1,
44660702 11205 "type" : "number"
56122987 11206 },
44660702 11207 "mbps_wr" : {
de0983cb 11208 "description" : "Maximum write speed in megabytes per second.",
44660702 11209 "format_description" : "mbps",
7aacca6f 11210 "optional" : 1,
44660702 11211 "type" : "number"
56122987 11212 },
44660702 11213 "mbps_wr_max" : {
de0983cb 11214 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11215 "format_description" : "mbps",
56122987 11216 "optional" : 1,
44660702 11217 "type" : "number"
7aacca6f
DM
11218 },
11219 "media" : {
44660702
DM
11220 "default" : "disk",
11221 "description" : "The drive's media type.",
56122987 11222 "enum" : [
7aacca6f
DM
11223 "cdrom",
11224 "disk"
56122987 11225 ],
56122987 11226 "optional" : 1,
44660702 11227 "type" : "string"
56122987 11228 },
44660702
DM
11229 "model" : {
11230 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11231 "format" : "urlencoded",
11232 "format_description" : "model",
11233 "maxLength" : 120,
56122987 11234 "optional" : 1,
44660702 11235 "type" : "string"
56122987 11236 },
7aacca6f 11237 "rerror" : {
7aacca6f
DM
11238 "description" : "Read error action.",
11239 "enum" : [
11240 "ignore",
11241 "report",
11242 "stop"
44660702 11243 ],
44660702
DM
11244 "optional" : 1,
11245 "type" : "string"
56122987 11246 },
44660702
DM
11247 "secs" : {
11248 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11249 "optional" : 1,
44660702
DM
11250 "type" : "integer"
11251 },
11252 "serial" : {
11253 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11254 "format" : "urlencoded",
11255 "format_description" : "serial",
11256 "maxLength" : 60,
11257 "optional" : 1,
11258 "type" : "string"
11259 },
11260 "size" : {
11261 "description" : "Disk size. This is purely informational and has no effect.",
11262 "format" : "disk-size",
f004f5b9 11263 "format_description" : "DiskSize",
44660702
DM
11264 "optional" : 1,
11265 "type" : "string"
7aacca6f
DM
11266 },
11267 "snapshot" : {
44660702 11268 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 11269 "optional" : 1,
44660702 11270 "type" : "boolean"
7aacca6f 11271 },
44660702
DM
11272 "trans" : {
11273 "description" : "Force disk geometry bios translation mode.",
11274 "enum" : [
11275 "none",
11276 "lba",
11277 "auto"
11278 ],
7aacca6f 11279 "optional" : 1,
44660702
DM
11280 "type" : "string"
11281 },
11282 "volume" : {
11283 "alias" : "file"
11284 },
11285 "werror" : {
11286 "description" : "Write error action.",
11287 "enum" : [
11288 "enospc",
11289 "ignore",
11290 "report",
11291 "stop"
11292 ],
44660702
DM
11293 "optional" : 1,
11294 "type" : "string"
56122987
DM
11295 }
11296 },
56122987 11297 "optional" : 1,
4bd7df8b 11298 "type" : "string",
de0983cb 11299 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
56122987 11300 },
56122987 11301 "keyboard" : {
44660702 11302 "default" : "en-us",
c2993fe5 11303 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
56122987 11304 "enum" : [
44660702
DM
11305 "de",
11306 "de-ch",
7aacca6f 11307 "da",
56122987 11308 "en-gb",
44660702
DM
11309 "en-us",
11310 "es",
11311 "fi",
11312 "fr",
11313 "fr-be",
11314 "fr-ca",
11315 "fr-ch",
11316 "hu",
7aacca6f 11317 "is",
44660702
DM
11318 "it",
11319 "ja",
11320 "lt",
56122987 11321 "mk",
7aacca6f 11322 "nl",
56122987 11323 "no",
44660702 11324 "pl",
7aacca6f 11325 "pt",
44660702
DM
11326 "pt-br",
11327 "sv",
11328 "sl",
11329 "tr"
56122987 11330 ],
44660702
DM
11331 "optional" : 1,
11332 "type" : "string"
56122987 11333 },
44660702
DM
11334 "kvm" : {
11335 "default" : 1,
11336 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11337 "optional" : 1,
44660702 11338 "type" : "boolean"
7aacca6f 11339 },
44660702
DM
11340 "localtime" : {
11341 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11342 "optional" : 1,
44660702
DM
11343 "type" : "boolean"
11344 },
11345 "lock" : {
11346 "description" : "Lock/unlock the VM.",
7aacca6f
DM
11347 "enum" : [
11348 "migrate",
11349 "backup",
11350 "snapshot",
11351 "rollback"
11352 ],
44660702
DM
11353 "optional" : 1,
11354 "type" : "string"
56122987 11355 },
44660702
DM
11356 "machine" : {
11357 "description" : "Specific the Qemu machine type.",
11358 "maxLength" : 40,
11359 "optional" : 1,
11360 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11361 "type" : "string"
11362 },
11363 "memory" : {
11364 "default" : 512,
11365 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11366 "minimum" : 16,
11367 "optional" : 1,
4bd7df8b 11368 "type" : "integer",
2c0dde61 11369 "typetext" : "integer (16 - N)"
44660702
DM
11370 },
11371 "migrate_downtime" : {
11372 "default" : 0.1,
11373 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11374 "minimum" : 0,
11375 "optional" : 1,
4bd7df8b 11376 "type" : "number",
2c0dde61 11377 "typetext" : "number (0 - N)"
44660702
DM
11378 },
11379 "migrate_speed" : {
56122987 11380 "default" : 0,
44660702
DM
11381 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11382 "minimum" : 0,
56122987 11383 "optional" : 1,
4bd7df8b 11384 "type" : "integer",
2c0dde61 11385 "typetext" : "integer (0 - N)"
56122987 11386 },
44660702
DM
11387 "name" : {
11388 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11389 "format" : "dns-name",
11390 "optional" : 1,
11391 "type" : "string"
11392 },
11393 "net[n]" : {
c2993fe5 11394 "description" : "Specify network devices.",
f004f5b9
DM
11395 "format" : {
11396 "bridge" : {
c2993fe5 11397 "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
11398 "format_description" : "bridge",
11399 "optional" : 1,
11400 "type" : "string"
11401 },
11402 "e1000" : {
11403 "alias" : "macaddr",
11404 "keyAlias" : "model"
11405 },
11406 "e1000-82540em" : {
11407 "alias" : "macaddr",
11408 "keyAlias" : "model"
11409 },
11410 "e1000-82544gc" : {
11411 "alias" : "macaddr",
11412 "keyAlias" : "model"
11413 },
11414 "e1000-82545em" : {
11415 "alias" : "macaddr",
11416 "keyAlias" : "model"
11417 },
11418 "firewall" : {
11419 "description" : "Whether this interface should be protected by the firewall.",
11420 "optional" : 1,
11421 "type" : "boolean"
11422 },
11423 "i82551" : {
11424 "alias" : "macaddr",
11425 "keyAlias" : "model"
11426 },
11427 "i82557b" : {
11428 "alias" : "macaddr",
11429 "keyAlias" : "model"
11430 },
11431 "i82559er" : {
11432 "alias" : "macaddr",
11433 "keyAlias" : "model"
11434 },
11435 "link_down" : {
c2993fe5 11436 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11437 "optional" : 1,
11438 "type" : "boolean"
11439 },
11440 "macaddr" : {
c2993fe5 11441 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 11442 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
11443 "optional" : 1,
11444 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
11445 "type" : "string"
11446 },
11447 "model" : {
11448 "default_key" : 1,
c2993fe5 11449 "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
11450 "enum" : [
11451 "rtl8139",
11452 "ne2k_pci",
11453 "e1000",
11454 "pcnet",
11455 "virtio",
11456 "ne2k_isa",
11457 "i82551",
11458 "i82557b",
11459 "i82559er",
11460 "vmxnet3",
11461 "e1000-82540em",
11462 "e1000-82544gc",
11463 "e1000-82545em"
11464 ],
11465 "format_description" : "model",
11466 "type" : "string"
11467 },
11468 "ne2k_isa" : {
11469 "alias" : "macaddr",
11470 "keyAlias" : "model"
11471 },
11472 "ne2k_pci" : {
11473 "alias" : "macaddr",
11474 "keyAlias" : "model"
11475 },
11476 "pcnet" : {
11477 "alias" : "macaddr",
11478 "keyAlias" : "model"
11479 },
11480 "queues" : {
11481 "description" : "Number of packet queues to be used on the device.",
11482 "maximum" : 16,
11483 "minimum" : 0,
11484 "optional" : 1,
11485 "type" : "integer"
11486 },
11487 "rate" : {
c2993fe5 11488 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11489 "minimum" : 0,
11490 "optional" : 1,
11491 "type" : "number"
11492 },
11493 "rtl8139" : {
11494 "alias" : "macaddr",
11495 "keyAlias" : "model"
11496 },
11497 "tag" : {
11498 "description" : "VLAN tag to apply to packets on this interface.",
11499 "maximum" : 4094,
c2993fe5 11500 "minimum" : 1,
f004f5b9
DM
11501 "optional" : 1,
11502 "type" : "integer"
11503 },
11504 "trunks" : {
11505 "description" : "VLAN trunks to pass through this interface.",
11506 "format_description" : "vlanid[;vlanid...]",
11507 "optional" : 1,
11508 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11509 "type" : "string"
11510 },
11511 "virtio" : {
11512 "alias" : "macaddr",
11513 "keyAlias" : "model"
11514 },
11515 "vmxnet3" : {
11516 "alias" : "macaddr",
11517 "keyAlias" : "model"
11518 }
11519 },
44660702 11520 "optional" : 1,
4bd7df8b
DM
11521 "type" : "string",
11522 "typetext" : "[model=]<model> [,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
11523 },
11524 "node" : {
11525 "description" : "The cluster node name.",
11526 "format" : "pve-node",
11527 "type" : "string"
11528 },
11529 "numa" : {
7aacca6f 11530 "default" : 0,
44660702
DM
11531 "description" : "Enable/disable NUMA.",
11532 "optional" : 1,
11533 "type" : "boolean"
56122987 11534 },
7aacca6f 11535 "numa[n]" : {
c2993fe5 11536 "description" : "NUMA topology.",
7aacca6f 11537 "format" : {
44660702 11538 "cpus" : {
c2993fe5 11539 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11540 "format_description" : "id[-id];...",
11541 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11542 "type" : "string"
11543 },
7aacca6f 11544 "hostnodes" : {
c2993fe5 11545 "description" : "Host NUMA nodes to use.",
44660702 11546 "format_description" : "id[-id];...",
7aacca6f 11547 "optional" : 1,
44660702
DM
11548 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11549 "type" : "string"
7aacca6f 11550 },
44660702 11551 "memory" : {
c2993fe5 11552 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11553 "optional" : 1,
11554 "type" : "number"
7aacca6f
DM
11555 },
11556 "policy" : {
c2993fe5 11557 "description" : "NUMA allocation policy.",
7aacca6f
DM
11558 "enum" : [
11559 "preferred",
11560 "bind",
11561 "interleave"
11562 ],
7aacca6f 11563 "optional" : 1,
44660702 11564 "type" : "string"
7aacca6f
DM
11565 }
11566 },
56122987 11567 "optional" : 1,
4bd7df8b
DM
11568 "type" : "string",
11569 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 11570 },
44660702
DM
11571 "onboot" : {
11572 "default" : 0,
11573 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 11574 "optional" : 1,
44660702 11575 "type" : "boolean"
56122987
DM
11576 },
11577 "ostype" : {
c2993fe5 11578 "description" : "Specify guest operating system.",
56122987
DM
11579 "enum" : [
11580 "other",
11581 "wxp",
11582 "w2k",
11583 "w2k3",
11584 "w2k8",
11585 "wvista",
11586 "win7",
11587 "win8",
11588 "l24",
11589 "l26",
11590 "solaris"
44660702 11591 ],
56122987 11592 "optional" : 1,
c2993fe5
DM
11593 "type" : "string",
11594 "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
56122987 11595 },
44660702 11596 "parallel[n]" : {
c2993fe5 11597 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 11598 "optional" : 1,
44660702 11599 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11600 "type" : "string",
11601 "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 11602 },
44660702
DM
11603 "pool" : {
11604 "description" : "Add the VM to the specified pool.",
11605 "format" : "pve-poolid",
56122987 11606 "optional" : 1,
44660702 11607 "type" : "string"
56122987 11608 },
44660702
DM
11609 "protection" : {
11610 "default" : 0,
c2993fe5 11611 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 11612 "optional" : 1,
44660702 11613 "type" : "boolean"
56122987 11614 },
44660702 11615 "reboot" : {
7aacca6f 11616 "default" : 1,
44660702
DM
11617 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
11618 "optional" : 1,
11619 "type" : "boolean"
56122987 11620 },
56122987 11621 "sata[n]" : {
44660702 11622 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11623 "format" : {
7aacca6f 11624 "aio" : {
44660702 11625 "description" : "AIO type to use.",
56122987 11626 "enum" : [
7aacca6f
DM
11627 "native",
11628 "threads"
56122987 11629 ],
7aacca6f 11630 "optional" : 1,
44660702 11631 "type" : "string"
7aacca6f
DM
11632 },
11633 "backup" : {
7aacca6f 11634 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11635 "optional" : 1,
44660702 11636 "type" : "boolean"
56122987 11637 },
44660702 11638 "bps" : {
de0983cb 11639 "description" : "Maximum r/w speed in bytes per second.",
44660702 11640 "format_description" : "bps",
7aacca6f 11641 "optional" : 1,
44660702 11642 "type" : "integer"
56122987 11643 },
de0983cb
DM
11644 "bps_max_length" : {
11645 "description" : "Maximum length of I/O bursts in seconds.",
11646 "format_description" : "seconds",
11647 "minimum" : 1,
11648 "optional" : 1,
11649 "type" : "integer"
11650 },
44660702 11651 "bps_rd" : {
de0983cb 11652 "description" : "Maximum read speed in bytes per second.",
44660702 11653 "format_description" : "bps",
56122987 11654 "optional" : 1,
44660702 11655 "type" : "integer"
7aacca6f 11656 },
de0983cb
DM
11657 "bps_rd_length" : {
11658 "description" : "Maximum length of read I/O bursts in seconds.",
11659 "format_description" : "seconds",
11660 "minimum" : 1,
11661 "optional" : 1,
11662 "type" : "integer"
11663 },
44660702 11664 "bps_wr" : {
de0983cb 11665 "description" : "Maximum write speed in bytes per second.",
44660702 11666 "format_description" : "bps",
56122987 11667 "optional" : 1,
44660702 11668 "type" : "integer"
56122987 11669 },
de0983cb
DM
11670 "bps_wr_length" : {
11671 "description" : "Maximum length of write I/O bursts in seconds.",
11672 "format_description" : "seconds",
11673 "minimum" : 1,
11674 "optional" : 1,
11675 "type" : "integer"
11676 },
7aacca6f 11677 "cache" : {
7aacca6f
DM
11678 "description" : "The drive's cache mode",
11679 "enum" : [
11680 "none",
11681 "writethrough",
11682 "writeback",
11683 "unsafe",
11684 "directsync"
11685 ],
44660702
DM
11686 "optional" : 1,
11687 "type" : "string"
56122987 11688 },
44660702
DM
11689 "cyls" : {
11690 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 11691 "optional" : 1,
7aacca6f 11692 "type" : "integer"
56122987 11693 },
7aacca6f
DM
11694 "detect_zeroes" : {
11695 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11696 "optional" : 1,
7aacca6f 11697 "type" : "boolean"
56122987 11698 },
44660702
DM
11699 "discard" : {
11700 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11701 "enum" : [
11702 "ignore",
11703 "on"
11704 ],
56122987 11705 "optional" : 1,
44660702 11706 "type" : "string"
56122987 11707 },
44660702
DM
11708 "file" : {
11709 "default_key" : 1,
11710 "description" : "The drive's backing volume.",
11711 "format" : "pve-volume-id-or-qm-path",
11712 "format_description" : "volume",
11713 "type" : "string"
56122987
DM
11714 },
11715 "format" : {
44660702 11716 "description" : "The drive's backing file's data format.",
56122987
DM
11717 "enum" : [
11718 "raw",
11719 "cow",
11720 "qcow",
11721 "qed",
11722 "qcow2",
11723 "vmdk",
11724 "cloop"
11725 ],
56122987 11726 "optional" : 1,
44660702 11727 "type" : "string"
56122987 11728 },
7aacca6f 11729 "heads" : {
7aacca6f 11730 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
11731 "optional" : 1,
11732 "type" : "integer"
56122987 11733 },
44660702 11734 "iops" : {
de0983cb 11735 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
11736 "format_description" : "iops",
11737 "optional" : 1,
11738 "type" : "integer"
56122987 11739 },
44660702 11740 "iops_max" : {
de0983cb 11741 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11742 "format_description" : "iops",
56122987 11743 "optional" : 1,
44660702 11744 "type" : "integer"
56122987 11745 },
de0983cb
DM
11746 "iops_max_length" : {
11747 "description" : "Maximum length of I/O bursts in seconds.",
11748 "format_description" : "seconds",
11749 "minimum" : 1,
11750 "optional" : 1,
11751 "type" : "integer"
11752 },
44660702 11753 "iops_rd" : {
de0983cb 11754 "description" : "Maximum read I/O in operations per second.",
44660702 11755 "format_description" : "iops",
56122987 11756 "optional" : 1,
44660702 11757 "type" : "integer"
56122987 11758 },
de0983cb
DM
11759 "iops_rd_length" : {
11760 "description" : "Maximum length of read I/O bursts in seconds.",
11761 "format_description" : "seconds",
11762 "minimum" : 1,
11763 "optional" : 1,
11764 "type" : "integer"
11765 },
44660702 11766 "iops_rd_max" : {
de0983cb 11767 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 11768 "format_description" : "iops",
56122987 11769 "optional" : 1,
44660702 11770 "type" : "integer"
56122987 11771 },
44660702 11772 "iops_wr" : {
de0983cb 11773 "description" : "Maximum write I/O in operations per second.",
44660702 11774 "format_description" : "iops",
7aacca6f 11775 "optional" : 1,
44660702 11776 "type" : "integer"
7aacca6f 11777 },
de0983cb
DM
11778 "iops_wr_length" : {
11779 "description" : "Maximum length of write I/O bursts in seconds.",
11780 "format_description" : "seconds",
11781 "minimum" : 1,
11782 "optional" : 1,
11783 "type" : "integer"
11784 },
44660702 11785 "iops_wr_max" : {
de0983cb 11786 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11787 "format_description" : "iops",
56122987 11788 "optional" : 1,
7aacca6f 11789 "type" : "integer"
56122987 11790 },
44660702 11791 "mbps" : {
de0983cb 11792 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11793 "format_description" : "mbps",
56122987 11794 "optional" : 1,
44660702 11795 "type" : "number"
56122987 11796 },
44660702 11797 "mbps_max" : {
de0983cb 11798 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 11799 "format_description" : "mbps",
7aacca6f 11800 "optional" : 1,
44660702 11801 "type" : "number"
7aacca6f 11802 },
44660702 11803 "mbps_rd" : {
de0983cb 11804 "description" : "Maximum read speed in megabytes per second.",
44660702 11805 "format_description" : "mbps",
7aacca6f 11806 "optional" : 1,
44660702 11807 "type" : "number"
7aacca6f 11808 },
44660702 11809 "mbps_rd_max" : {
de0983cb 11810 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11811 "format_description" : "mbps",
7aacca6f 11812 "optional" : 1,
44660702 11813 "type" : "number"
7aacca6f 11814 },
44660702 11815 "mbps_wr" : {
de0983cb 11816 "description" : "Maximum write speed in megabytes per second.",
44660702 11817 "format_description" : "mbps",
7aacca6f 11818 "optional" : 1,
44660702 11819 "type" : "number"
7aacca6f
DM
11820 },
11821 "mbps_wr_max" : {
de0983cb 11822 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11823 "format_description" : "mbps",
7aacca6f 11824 "optional" : 1,
44660702 11825 "type" : "number"
7aacca6f 11826 },
44660702
DM
11827 "media" : {
11828 "default" : "disk",
11829 "description" : "The drive's media type.",
56122987 11830 "enum" : [
44660702
DM
11831 "cdrom",
11832 "disk"
56122987 11833 ],
56122987 11834 "optional" : 1,
44660702 11835 "type" : "string"
56122987 11836 },
44660702
DM
11837 "rerror" : {
11838 "description" : "Read error action.",
7aacca6f
DM
11839 "enum" : [
11840 "ignore",
44660702
DM
11841 "report",
11842 "stop"
7aacca6f 11843 ],
56122987 11844 "optional" : 1,
44660702 11845 "type" : "string"
56122987 11846 },
44660702
DM
11847 "secs" : {
11848 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11849 "optional" : 1,
44660702 11850 "type" : "integer"
56122987 11851 },
44660702
DM
11852 "serial" : {
11853 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11854 "format" : "urlencoded",
11855 "format_description" : "serial",
11856 "maxLength" : 60,
11857 "optional" : 1,
11858 "type" : "string"
7aacca6f
DM
11859 },
11860 "size" : {
11861 "description" : "Disk size. This is purely informational and has no effect.",
44660702 11862 "format" : "disk-size",
f004f5b9 11863 "format_description" : "DiskSize",
56122987 11864 "optional" : 1,
44660702 11865 "type" : "string"
56122987 11866 },
44660702
DM
11867 "snapshot" : {
11868 "description" : "Whether the drive should be included when making snapshots.",
56122987 11869 "optional" : 1,
44660702 11870 "type" : "boolean"
56122987 11871 },
44660702
DM
11872 "trans" : {
11873 "description" : "Force disk geometry bios translation mode.",
56122987 11874 "enum" : [
44660702
DM
11875 "none",
11876 "lba",
11877 "auto"
7aacca6f 11878 ],
44660702
DM
11879 "optional" : 1,
11880 "type" : "string"
11881 },
11882 "volume" : {
11883 "alias" : "file"
56122987
DM
11884 },
11885 "werror" : {
56122987
DM
11886 "description" : "Write error action.",
11887 "enum" : [
11888 "enospc",
11889 "ignore",
11890 "report",
11891 "stop"
11892 ],
56122987 11893 "optional" : 1,
44660702
DM
11894 "type" : "string"
11895 }
11896 },
11897 "optional" : 1,
4bd7df8b 11898 "type" : "string",
de0983cb 11899 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
44660702
DM
11900 },
11901 "scsi[n]" : {
11902 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
11903 "format" : {
11904 "aio" : {
11905 "description" : "AIO type to use.",
11906 "enum" : [
11907 "native",
11908 "threads"
11909 ],
44660702
DM
11910 "optional" : 1,
11911 "type" : "string"
56122987 11912 },
7aacca6f 11913 "backup" : {
44660702 11914 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11915 "optional" : 1,
44660702 11916 "type" : "boolean"
7aacca6f 11917 },
44660702 11918 "bps" : {
de0983cb 11919 "description" : "Maximum r/w speed in bytes per second.",
44660702 11920 "format_description" : "bps",
7aacca6f 11921 "optional" : 1,
44660702 11922 "type" : "integer"
7aacca6f 11923 },
de0983cb
DM
11924 "bps_max_length" : {
11925 "description" : "Maximum length of I/O bursts in seconds.",
11926 "format_description" : "seconds",
11927 "minimum" : 1,
11928 "optional" : 1,
11929 "type" : "integer"
11930 },
44660702 11931 "bps_rd" : {
de0983cb 11932 "description" : "Maximum read speed in bytes per second.",
44660702 11933 "format_description" : "bps",
56122987 11934 "optional" : 1,
44660702 11935 "type" : "integer"
56122987 11936 },
de0983cb
DM
11937 "bps_rd_length" : {
11938 "description" : "Maximum length of read I/O bursts in seconds.",
11939 "format_description" : "seconds",
11940 "minimum" : 1,
11941 "optional" : 1,
11942 "type" : "integer"
11943 },
44660702 11944 "bps_wr" : {
de0983cb 11945 "description" : "Maximum write speed in bytes per second.",
44660702 11946 "format_description" : "bps",
7aacca6f 11947 "optional" : 1,
44660702 11948 "type" : "integer"
56122987 11949 },
de0983cb
DM
11950 "bps_wr_length" : {
11951 "description" : "Maximum length of write I/O bursts in seconds.",
11952 "format_description" : "seconds",
11953 "minimum" : 1,
11954 "optional" : 1,
11955 "type" : "integer"
11956 },
44660702
DM
11957 "cache" : {
11958 "description" : "The drive's cache mode",
7aacca6f
DM
11959 "enum" : [
11960 "none",
44660702
DM
11961 "writethrough",
11962 "writeback",
11963 "unsafe",
11964 "directsync"
7aacca6f 11965 ],
56122987 11966 "optional" : 1,
44660702 11967 "type" : "string"
56122987 11968 },
7aacca6f
DM
11969 "cyls" : {
11970 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
11971 "optional" : 1,
44660702 11972 "type" : "integer"
7aacca6f 11973 },
44660702
DM
11974 "detect_zeroes" : {
11975 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11976 "optional" : 1,
44660702 11977 "type" : "boolean"
56122987 11978 },
44660702
DM
11979 "discard" : {
11980 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 11981 "enum" : [
44660702
DM
11982 "ignore",
11983 "on"
7aacca6f 11984 ],
7aacca6f 11985 "optional" : 1,
44660702 11986 "type" : "string"
56122987
DM
11987 },
11988 "file" : {
7aacca6f
DM
11989 "default_key" : 1,
11990 "description" : "The drive's backing volume.",
44660702
DM
11991 "format" : "pve-volume-id-or-qm-path",
11992 "format_description" : "volume",
7aacca6f 11993 "type" : "string"
56122987 11994 },
7aacca6f 11995 "format" : {
44660702 11996 "description" : "The drive's backing file's data format.",
56122987 11997 "enum" : [
7aacca6f
DM
11998 "raw",
11999 "cow",
12000 "qcow",
12001 "qed",
12002 "qcow2",
12003 "vmdk",
12004 "cloop"
56122987 12005 ],
44660702
DM
12006 "optional" : 1,
12007 "type" : "string"
56122987 12008 },
44660702
DM
12009 "heads" : {
12010 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12011 "optional" : 1,
12012 "type" : "integer"
12013 },
12014 "iops" : {
de0983cb 12015 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12016 "format_description" : "iops",
56122987 12017 "optional" : 1,
44660702 12018 "type" : "integer"
56122987 12019 },
44660702 12020 "iops_max" : {
de0983cb 12021 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12022 "format_description" : "iops",
7aacca6f 12023 "optional" : 1,
44660702 12024 "type" : "integer"
56122987 12025 },
de0983cb
DM
12026 "iops_max_length" : {
12027 "description" : "Maximum length of I/O bursts in seconds.",
12028 "format_description" : "seconds",
12029 "minimum" : 1,
12030 "optional" : 1,
12031 "type" : "integer"
12032 },
44660702 12033 "iops_rd" : {
de0983cb 12034 "description" : "Maximum read I/O in operations per second.",
44660702 12035 "format_description" : "iops",
56122987 12036 "optional" : 1,
44660702 12037 "type" : "integer"
56122987 12038 },
de0983cb
DM
12039 "iops_rd_length" : {
12040 "description" : "Maximum length of read I/O bursts in seconds.",
12041 "format_description" : "seconds",
12042 "minimum" : 1,
12043 "optional" : 1,
12044 "type" : "integer"
12045 },
44660702 12046 "iops_rd_max" : {
de0983cb 12047 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12048 "format_description" : "iops",
12049 "optional" : 1,
12050 "type" : "integer"
56122987 12051 },
44660702 12052 "iops_wr" : {
de0983cb 12053 "description" : "Maximum write I/O in operations per second.",
44660702 12054 "format_description" : "iops",
56122987 12055 "optional" : 1,
44660702 12056 "type" : "integer"
56122987 12057 },
de0983cb
DM
12058 "iops_wr_length" : {
12059 "description" : "Maximum length of write I/O bursts in seconds.",
12060 "format_description" : "seconds",
12061 "minimum" : 1,
12062 "optional" : 1,
12063 "type" : "integer"
12064 },
44660702 12065 "iops_wr_max" : {
de0983cb 12066 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12067 "format_description" : "iops",
56122987 12068 "optional" : 1,
56122987
DM
12069 "type" : "integer"
12070 },
44660702
DM
12071 "iothread" : {
12072 "description" : "Whether to use iothreads for this drive",
44660702
DM
12073 "optional" : 1,
12074 "type" : "boolean"
12075 },
12076 "mbps" : {
de0983cb 12077 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12078 "format_description" : "mbps",
12079 "optional" : 1,
12080 "type" : "number"
12081 },
7aacca6f 12082 "mbps_max" : {
de0983cb 12083 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12084 "format_description" : "mbps",
56122987 12085 "optional" : 1,
44660702 12086 "type" : "number"
56122987 12087 },
44660702 12088 "mbps_rd" : {
de0983cb 12089 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12090 "format_description" : "mbps",
12091 "optional" : 1,
12092 "type" : "number"
56122987 12093 },
44660702 12094 "mbps_rd_max" : {
de0983cb 12095 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12096 "format_description" : "mbps",
56122987 12097 "optional" : 1,
44660702 12098 "type" : "number"
56122987 12099 },
44660702 12100 "mbps_wr" : {
de0983cb 12101 "description" : "Maximum write speed in megabytes per second.",
44660702 12102 "format_description" : "mbps",
56122987 12103 "optional" : 1,
44660702 12104 "type" : "number"
56122987 12105 },
44660702 12106 "mbps_wr_max" : {
de0983cb 12107 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12108 "format_description" : "mbps",
7aacca6f 12109 "optional" : 1,
44660702 12110 "type" : "number"
56122987 12111 },
7aacca6f 12112 "media" : {
44660702 12113 "default" : "disk",
7aacca6f
DM
12114 "description" : "The drive's media type.",
12115 "enum" : [
12116 "cdrom",
12117 "disk"
12118 ],
56122987 12119 "optional" : 1,
44660702 12120 "type" : "string"
56122987 12121 },
44660702
DM
12122 "queues" : {
12123 "description" : "Number of queues.",
44660702
DM
12124 "minimum" : 2,
12125 "optional" : 1,
12126 "type" : "integer"
56122987 12127 },
7aacca6f 12128 "secs" : {
7aacca6f 12129 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12130 "optional" : 1,
12131 "type" : "integer"
12132 },
12133 "serial" : {
12134 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12135 "format" : "urlencoded",
12136 "format_description" : "serial",
12137 "maxLength" : 60,
12138 "optional" : 1,
12139 "type" : "string"
12140 },
12141 "size" : {
12142 "description" : "Disk size. This is purely informational and has no effect.",
12143 "format" : "disk-size",
f004f5b9 12144 "format_description" : "DiskSize",
44660702
DM
12145 "optional" : 1,
12146 "type" : "string"
12147 },
12148 "snapshot" : {
12149 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12150 "optional" : 1,
12151 "type" : "boolean"
12152 },
12153 "trans" : {
12154 "description" : "Force disk geometry bios translation mode.",
12155 "enum" : [
12156 "none",
12157 "lba",
12158 "auto"
12159 ],
44660702
DM
12160 "optional" : 1,
12161 "type" : "string"
12162 },
12163 "volume" : {
12164 "alias" : "file"
12165 },
12166 "werror" : {
12167 "description" : "Write error action.",
12168 "enum" : [
12169 "enospc",
12170 "ignore",
12171 "report",
12172 "stop"
12173 ],
44660702
DM
12174 "optional" : 1,
12175 "type" : "string"
56122987
DM
12176 }
12177 },
7aacca6f 12178 "optional" : 1,
4bd7df8b 12179 "type" : "string",
de0983cb 12180 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
56122987 12181 },
44660702
DM
12182 "scsihw" : {
12183 "default" : "lsi",
c2993fe5 12184 "description" : "SCSI controller model",
44660702
DM
12185 "enum" : [
12186 "lsi",
12187 "lsi53c810",
12188 "virtio-scsi-pci",
12189 "virtio-scsi-single",
12190 "megasas",
12191 "pvscsi"
12192 ],
7aacca6f 12193 "optional" : 1,
44660702 12194 "type" : "string"
7aacca6f 12195 },
44660702 12196 "serial[n]" : {
c2993fe5 12197 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
12198 "optional" : 1,
12199 "pattern" : "(/dev/.+|socket)",
c2993fe5 12200 "type" : "string",
57b78691 12201 "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
12202 },
12203 "shares" : {
12204 "default" : 1000,
12205 "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",
12206 "maximum" : 50000,
12207 "minimum" : 0,
12208 "optional" : 1,
4bd7df8b 12209 "type" : "integer",
2c0dde61 12210 "typetext" : "integer (0 - 50000)"
44660702
DM
12211 },
12212 "smbios1" : {
12213 "description" : "Specify SMBIOS type 1 fields.",
12214 "format" : "pve-qm-smbios1",
12215 "maxLength" : 256,
7aacca6f 12216 "optional" : 1,
4bd7df8b
DM
12217 "type" : "string",
12218 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
12219 },
12220 "smp" : {
44660702 12221 "default" : 1,
7aacca6f 12222 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 12223 "minimum" : 1,
56122987 12224 "optional" : 1,
4bd7df8b 12225 "type" : "integer",
2c0dde61 12226 "typetext" : "integer (1 - N)"
44660702
DM
12227 },
12228 "sockets" : {
7aacca6f 12229 "default" : 1,
44660702
DM
12230 "description" : "The number of CPU sockets.",
12231 "minimum" : 1,
12232 "optional" : 1,
4bd7df8b 12233 "type" : "integer",
2c0dde61 12234 "typetext" : "integer (1 - N)"
7aacca6f 12235 },
44660702
DM
12236 "startdate" : {
12237 "default" : "now",
12238 "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'.",
12239 "optional" : 1,
12240 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
12241 "type" : "string",
12242 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12243 },
12244 "startup" : {
12245 "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.",
12246 "format" : "pve-startup-order",
12247 "optional" : 1,
12248 "type" : "string",
12249 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
12250 },
12251 "storage" : {
12252 "description" : "Default storage.",
12253 "format" : "pve-storage-id",
7aacca6f 12254 "optional" : 1,
56122987
DM
12255 "type" : "string"
12256 },
44660702
DM
12257 "tablet" : {
12258 "default" : 1,
c2993fe5 12259 "description" : "Enable/disable the USB tablet device.",
56122987 12260 "optional" : 1,
c2993fe5
DM
12261 "type" : "boolean",
12262 "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
12263 },
12264 "tdf" : {
12265 "default" : 0,
12266 "description" : "Enable/disable time drift fix.",
12267 "optional" : 1,
12268 "type" : "boolean"
7aacca6f
DM
12269 },
12270 "template" : {
7aacca6f 12271 "default" : 0,
44660702 12272 "description" : "Enable/disable Template.",
7aacca6f
DM
12273 "optional" : 1,
12274 "type" : "boolean"
12275 },
44660702
DM
12276 "unique" : {
12277 "description" : "Assign a unique random ethernet address.",
7aacca6f 12278 "optional" : 1,
44660702
DM
12279 "requires" : "archive",
12280 "type" : "boolean"
56122987 12281 },
44660702 12282 "unused[n]" : {
c2993fe5 12283 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12284 "format" : "pve-volume-id",
7aacca6f 12285 "optional" : 1,
44660702
DM
12286 "type" : "string"
12287 },
12288 "usb[n]" : {
c2993fe5 12289 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12290 "format" : {
7aacca6f
DM
12291 "host" : {
12292 "default_key" : 1,
c2993fe5 12293 "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 12294 "format" : "pve-qm-usb-device",
44660702
DM
12295 "format_description" : "HOSTUSBDEVICE|spice",
12296 "type" : "string"
7aacca6f 12297 },
56122987 12298 "usb3" : {
c2993fe5
DM
12299 "default" : 0,
12300 "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 12301 "optional" : 1,
56122987 12302 "type" : "boolean"
7aacca6f 12303 }
56122987 12304 },
56122987 12305 "optional" : 1,
4bd7df8b
DM
12306 "type" : "string",
12307 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 12308 },
44660702
DM
12309 "vcpus" : {
12310 "default" : 0,
12311 "description" : "Number of hotplugged vcpus.",
12312 "minimum" : 1,
56122987 12313 "optional" : 1,
4bd7df8b 12314 "type" : "integer",
2c0dde61 12315 "typetext" : "integer (1 - N)"
7aacca6f 12316 },
44660702 12317 "vga" : {
c2993fe5 12318 "description" : "Select the VGA type.",
44660702
DM
12319 "enum" : [
12320 "std",
12321 "cirrus",
12322 "vmware",
12323 "qxl",
12324 "serial0",
12325 "serial1",
12326 "serial2",
12327 "serial3",
12328 "qxl2",
12329 "qxl3",
12330 "qxl4"
12331 ],
12332 "optional" : 1,
c2993fe5
DM
12333 "type" : "string",
12334 "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 12335 },
44660702
DM
12336 "virtio[n]" : {
12337 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
12338 "format" : {
12339 "aio" : {
12340 "description" : "AIO type to use.",
12341 "enum" : [
12342 "native",
12343 "threads"
12344 ],
44660702
DM
12345 "optional" : 1,
12346 "type" : "string"
12347 },
12348 "backup" : {
12349 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12350 "optional" : 1,
12351 "type" : "boolean"
12352 },
12353 "bps" : {
de0983cb 12354 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12355 "format_description" : "bps",
12356 "optional" : 1,
12357 "type" : "integer"
12358 },
de0983cb
DM
12359 "bps_max_length" : {
12360 "description" : "Maximum length of I/O bursts in seconds.",
12361 "format_description" : "seconds",
12362 "minimum" : 1,
12363 "optional" : 1,
12364 "type" : "integer"
12365 },
44660702 12366 "bps_rd" : {
de0983cb 12367 "description" : "Maximum read speed in bytes per second.",
44660702
DM
12368 "format_description" : "bps",
12369 "optional" : 1,
12370 "type" : "integer"
12371 },
de0983cb
DM
12372 "bps_rd_length" : {
12373 "description" : "Maximum length of read I/O bursts in seconds.",
12374 "format_description" : "seconds",
12375 "minimum" : 1,
12376 "optional" : 1,
12377 "type" : "integer"
12378 },
44660702 12379 "bps_wr" : {
de0983cb 12380 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12381 "format_description" : "bps",
12382 "optional" : 1,
12383 "type" : "integer"
12384 },
de0983cb
DM
12385 "bps_wr_length" : {
12386 "description" : "Maximum length of write I/O bursts in seconds.",
12387 "format_description" : "seconds",
12388 "minimum" : 1,
12389 "optional" : 1,
12390 "type" : "integer"
12391 },
44660702
DM
12392 "cache" : {
12393 "description" : "The drive's cache mode",
12394 "enum" : [
12395 "none",
12396 "writethrough",
12397 "writeback",
12398 "unsafe",
12399 "directsync"
12400 ],
44660702
DM
12401 "optional" : 1,
12402 "type" : "string"
12403 },
12404 "cyls" : {
12405 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12406 "optional" : 1,
12407 "type" : "integer"
12408 },
12409 "detect_zeroes" : {
12410 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12411 "optional" : 1,
12412 "type" : "boolean"
12413 },
12414 "discard" : {
12415 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12416 "enum" : [
12417 "ignore",
12418 "on"
12419 ],
44660702
DM
12420 "optional" : 1,
12421 "type" : "string"
12422 },
12423 "file" : {
12424 "default_key" : 1,
12425 "description" : "The drive's backing volume.",
12426 "format" : "pve-volume-id-or-qm-path",
12427 "format_description" : "volume",
12428 "type" : "string"
12429 },
12430 "format" : {
12431 "description" : "The drive's backing file's data format.",
12432 "enum" : [
12433 "raw",
12434 "cow",
12435 "qcow",
12436 "qed",
12437 "qcow2",
12438 "vmdk",
12439 "cloop"
12440 ],
44660702
DM
12441 "optional" : 1,
12442 "type" : "string"
12443 },
12444 "heads" : {
12445 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12446 "optional" : 1,
12447 "type" : "integer"
12448 },
12449 "iops" : {
de0983cb 12450 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12451 "format_description" : "iops",
12452 "optional" : 1,
12453 "type" : "integer"
12454 },
12455 "iops_max" : {
de0983cb 12456 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12457 "format_description" : "iops",
12458 "optional" : 1,
12459 "type" : "integer"
12460 },
de0983cb
DM
12461 "iops_max_length" : {
12462 "description" : "Maximum length of I/O bursts in seconds.",
12463 "format_description" : "seconds",
12464 "minimum" : 1,
12465 "optional" : 1,
12466 "type" : "integer"
12467 },
44660702 12468 "iops_rd" : {
de0983cb 12469 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12470 "format_description" : "iops",
12471 "optional" : 1,
12472 "type" : "integer"
12473 },
de0983cb
DM
12474 "iops_rd_length" : {
12475 "description" : "Maximum length of read I/O bursts in seconds.",
12476 "format_description" : "seconds",
12477 "minimum" : 1,
12478 "optional" : 1,
12479 "type" : "integer"
12480 },
44660702 12481 "iops_rd_max" : {
de0983cb 12482 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12483 "format_description" : "iops",
12484 "optional" : 1,
12485 "type" : "integer"
12486 },
12487 "iops_wr" : {
de0983cb 12488 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12489 "format_description" : "iops",
12490 "optional" : 1,
12491 "type" : "integer"
12492 },
de0983cb
DM
12493 "iops_wr_length" : {
12494 "description" : "Maximum length of write I/O bursts in seconds.",
12495 "format_description" : "seconds",
12496 "minimum" : 1,
12497 "optional" : 1,
12498 "type" : "integer"
12499 },
44660702 12500 "iops_wr_max" : {
de0983cb 12501 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12502 "format_description" : "iops",
12503 "optional" : 1,
12504 "type" : "integer"
12505 },
12506 "iothread" : {
12507 "description" : "Whether to use iothreads for this drive",
44660702
DM
12508 "optional" : 1,
12509 "type" : "boolean"
12510 },
12511 "mbps" : {
de0983cb 12512 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12513 "format_description" : "mbps",
12514 "optional" : 1,
12515 "type" : "number"
12516 },
12517 "mbps_max" : {
de0983cb 12518 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12519 "format_description" : "mbps",
12520 "optional" : 1,
12521 "type" : "number"
12522 },
12523 "mbps_rd" : {
de0983cb 12524 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12525 "format_description" : "mbps",
12526 "optional" : 1,
12527 "type" : "number"
12528 },
12529 "mbps_rd_max" : {
de0983cb 12530 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12531 "format_description" : "mbps",
12532 "optional" : 1,
12533 "type" : "number"
12534 },
12535 "mbps_wr" : {
de0983cb 12536 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12537 "format_description" : "mbps",
12538 "optional" : 1,
12539 "type" : "number"
12540 },
12541 "mbps_wr_max" : {
de0983cb 12542 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12543 "format_description" : "mbps",
12544 "optional" : 1,
12545 "type" : "number"
12546 },
12547 "media" : {
12548 "default" : "disk",
12549 "description" : "The drive's media type.",
12550 "enum" : [
12551 "cdrom",
12552 "disk"
12553 ],
44660702
DM
12554 "optional" : 1,
12555 "type" : "string"
12556 },
12557 "rerror" : {
12558 "description" : "Read error action.",
12559 "enum" : [
12560 "ignore",
12561 "report",
12562 "stop"
12563 ],
44660702
DM
12564 "optional" : 1,
12565 "type" : "string"
12566 },
12567 "secs" : {
12568 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12569 "optional" : 1,
12570 "type" : "integer"
12571 },
12572 "serial" : {
12573 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12574 "format" : "urlencoded",
12575 "format_description" : "serial",
12576 "maxLength" : 60,
12577 "optional" : 1,
12578 "type" : "string"
12579 },
12580 "size" : {
12581 "description" : "Disk size. This is purely informational and has no effect.",
12582 "format" : "disk-size",
f004f5b9 12583 "format_description" : "DiskSize",
44660702
DM
12584 "optional" : 1,
12585 "type" : "string"
12586 },
12587 "snapshot" : {
12588 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12589 "optional" : 1,
12590 "type" : "boolean"
12591 },
12592 "trans" : {
12593 "description" : "Force disk geometry bios translation mode.",
12594 "enum" : [
12595 "none",
12596 "lba",
12597 "auto"
12598 ],
44660702
DM
12599 "optional" : 1,
12600 "type" : "string"
12601 },
12602 "volume" : {
12603 "alias" : "file"
12604 },
12605 "werror" : {
12606 "description" : "Write error action.",
12607 "enum" : [
12608 "enospc",
12609 "ignore",
12610 "report",
12611 "stop"
12612 ],
44660702
DM
12613 "optional" : 1,
12614 "type" : "string"
12615 }
12616 },
12617 "optional" : 1,
4bd7df8b 12618 "type" : "string",
de0983cb 12619 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<none|writethrough|writeback|unsafe|directsync>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<raw|cow|qcow|qed|qcow2|vmdk|cloop>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,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>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enospc|ignore|report|stop>]"
7aacca6f 12620 },
44660702
DM
12621 "vmid" : {
12622 "description" : "The (unique) ID of the VM.",
12623 "format" : "pve-vmid",
12624 "minimum" : 1,
4bd7df8b 12625 "type" : "integer",
2c0dde61 12626 "typetext" : "integer (1 - N)"
44660702
DM
12627 },
12628 "watchdog" : {
c2993fe5 12629 "description" : "Create a virtual hardware watchdog device.",
44660702 12630 "format" : "pve-qm-watchdog",
7aacca6f 12631 "optional" : 1,
c2993fe5 12632 "type" : "string",
4bd7df8b 12633 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<reset|shutdown|poweroff|pause|debug|none>]",
c2993fe5 12634 "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 12635 }
44660702 12636 }
56122987 12637 },
56122987 12638 "permissions" : {
44660702
DM
12639 "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.",
12640 "user" : "all"
56122987 12641 },
44660702
DM
12642 "protected" : 1,
12643 "proxyto" : "node",
56122987 12644 "returns" : {
44660702 12645 "type" : "string"
7aacca6f 12646 }
56122987 12647 }
7aacca6f 12648 },
44660702 12649 "leaf" : 0,
7aacca6f 12650 "path" : "/nodes/{node}/qemu",
44660702 12651 "text" : "qemu"
56122987
DM
12652 },
12653 {
12654 "children" : [
12655 {
56122987
DM
12656 "children" : [
12657 {
56122987 12658 "info" : {
44660702
DM
12659 "GET" : {
12660 "description" : "Get container configuration.",
12661 "method" : "GET",
12662 "name" : "vm_config",
12663 "parameters" : {
12664 "additionalProperties" : 0,
12665 "properties" : {
12666 "node" : {
12667 "description" : "The cluster node name.",
12668 "format" : "pve-node",
12669 "type" : "string"
12670 },
12671 "vmid" : {
12672 "description" : "The (unique) ID of the VM.",
12673 "format" : "pve-vmid",
12674 "minimum" : 1,
4bd7df8b 12675 "type" : "integer",
2c0dde61 12676 "typetext" : "integer (1 - N)"
44660702
DM
12677 }
12678 }
12679 },
12680 "permissions" : {
12681 "check" : [
12682 "perm",
12683 "/vms/{vmid}",
12684 [
12685 "VM.Audit"
12686 ]
12687 ]
12688 },
12689 "proxyto" : "node",
12690 "returns" : {
12691 "properties" : {
12692 "digest" : {
12693 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
12694 "type" : "string"
12695 }
12696 },
12697 "type" : "object"
12698 }
12699 },
56122987 12700 "PUT" : {
44660702
DM
12701 "description" : "Set container options.",
12702 "method" : "PUT",
12703 "name" : "update_vm",
56122987 12704 "parameters" : {
44660702 12705 "additionalProperties" : 0,
56122987 12706 "properties" : {
44660702
DM
12707 "arch" : {
12708 "default" : "amd64",
12709 "description" : "OS architecture type.",
12710 "enum" : [
12711 "amd64",
12712 "i386"
12713 ],
7aacca6f 12714 "optional" : 1,
44660702
DM
12715 "type" : "string"
12716 },
12717 "cmode" : {
7aacca6f 12718 "default" : "tty",
44660702 12719 "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
12720 "enum" : [
12721 "shell",
12722 "console",
12723 "tty"
12724 ],
44660702
DM
12725 "optional" : 1,
12726 "type" : "string"
7aacca6f 12727 },
44660702
DM
12728 "console" : {
12729 "default" : 1,
12730 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 12731 "optional" : 1,
44660702 12732 "type" : "boolean"
7aacca6f 12733 },
de0983cb
DM
12734 "cores" : {
12735 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
12736 "maximum" : 128,
12737 "minimum" : 1,
12738 "optional" : 1,
12739 "type" : "integer",
12740 "typetext" : "integer (1 - 128)"
12741 },
44660702
DM
12742 "cpulimit" : {
12743 "default" : 0,
12744 "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.",
12745 "maximum" : 128,
7aacca6f 12746 "minimum" : 0,
7aacca6f 12747 "optional" : 1,
4bd7df8b 12748 "type" : "number",
2c0dde61 12749 "typetext" : "number (0 - 128)"
7aacca6f 12750 },
44660702
DM
12751 "cpuunits" : {
12752 "default" : 1024,
12753 "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.",
12754 "maximum" : 500000,
12755 "minimum" : 0,
12756 "optional" : 1,
4bd7df8b 12757 "type" : "integer",
2c0dde61 12758 "typetext" : "integer (0 - 500000)"
7aacca6f 12759 },
44660702
DM
12760 "delete" : {
12761 "description" : "A list of settings you want to delete.",
12762 "format" : "pve-configid-list",
7aacca6f 12763 "optional" : 1,
44660702 12764 "type" : "string"
7aacca6f 12765 },
44660702
DM
12766 "description" : {
12767 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 12768 "optional" : 1,
44660702 12769 "type" : "string"
7aacca6f 12770 },
44660702
DM
12771 "digest" : {
12772 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
12773 "maxLength" : 40,
7aacca6f 12774 "optional" : 1,
44660702 12775 "type" : "string"
7aacca6f 12776 },
44660702
DM
12777 "hostname" : {
12778 "description" : "Set a host name for the container.",
12779 "format" : "dns-name",
12780 "maxLength" : 255,
56122987 12781 "optional" : 1,
44660702
DM
12782 "type" : "string"
12783 },
12784 "lock" : {
12785 "description" : "Lock/unlock the VM.",
12786 "enum" : [
12787 "migrate",
12788 "backup",
12789 "snapshot",
12790 "rollback"
12791 ],
12792 "optional" : 1,
12793 "type" : "string"
12794 },
12795 "memory" : {
12796 "default" : 512,
12797 "description" : "Amount of RAM for the VM in MB.",
12798 "minimum" : 16,
12799 "optional" : 1,
4bd7df8b 12800 "type" : "integer",
2c0dde61 12801 "typetext" : "integer (16 - N)"
7aacca6f
DM
12802 },
12803 "mp[n]" : {
c2993fe5 12804 "description" : "Use volume as container mount point.",
7aacca6f 12805 "format" : {
7aacca6f
DM
12806 "acl" : {
12807 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 12808 "optional" : 1,
44660702 12809 "type" : "boolean"
7aacca6f
DM
12810 },
12811 "backup" : {
de0983cb 12812 "description" : "Whether to include the mount point in backups.",
7aacca6f 12813 "optional" : 1,
4bd7df8b 12814 "type" : "boolean",
de0983cb 12815 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
12816 },
12817 "mp" : {
de0983cb 12818 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 12819 "format" : "pve-lxc-mp-string",
44660702 12820 "format_description" : "Path",
4bd7df8b 12821 "type" : "string",
de0983cb 12822 "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
12823 },
12824 "quota" : {
12825 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
12826 "optional" : 1,
12827 "type" : "boolean"
12828 },
12829 "ro" : {
de0983cb 12830 "description" : "Read-only mount point",
44660702
DM
12831 "optional" : 1,
12832 "type" : "boolean"
12833 },
de0983cb
DM
12834 "shared" : {
12835 "default" : 0,
12836 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
12837 "optional" : 1,
12838 "type" : "boolean",
12839 "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!"
12840 },
44660702
DM
12841 "size" : {
12842 "description" : "Volume size (read only value).",
12843 "format" : "disk-size",
12844 "format_description" : "DiskSize",
12845 "optional" : 1,
12846 "type" : "string"
12847 },
12848 "volume" : {
12849 "default_key" : 1,
12850 "description" : "Volume, device or directory to mount into the container.",
12851 "format" : "pve-lxc-mp-string",
12852 "format_description" : "volume",
12853 "type" : "string"
12854 }
12855 },
7aacca6f 12856 "optional" : 1,
4bd7df8b 12857 "type" : "string",
de0983cb 12858 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 12859 },
44660702
DM
12860 "nameserver" : {
12861 "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.",
12862 "format" : "address-list",
56122987 12863 "optional" : 1,
44660702 12864 "type" : "string"
56122987
DM
12865 },
12866 "net[n]" : {
44660702 12867 "description" : "Specifies network interfaces for the container.",
56122987 12868 "format" : {
44660702
DM
12869 "bridge" : {
12870 "description" : "Bridge to attach the network device to.",
f004f5b9 12871 "format_description" : "bridge",
56122987 12872 "optional" : 1,
44660702
DM
12873 "pattern" : "[-_.\\w\\d]+",
12874 "type" : "string"
56122987 12875 },
44660702
DM
12876 "firewall" : {
12877 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 12878 "optional" : 1,
44660702 12879 "type" : "boolean"
56122987 12880 },
44660702
DM
12881 "gw" : {
12882 "description" : "Default gateway for IPv4 traffic.",
12883 "format" : "ipv4",
12884 "format_description" : "GatewayIPv4",
56122987 12885 "optional" : 1,
44660702 12886 "type" : "string"
56122987
DM
12887 },
12888 "gw6" : {
7aacca6f 12889 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
12890 "format" : "ipv6",
12891 "format_description" : "GatewayIPv6",
7aacca6f 12892 "optional" : 1,
56122987
DM
12893 "type" : "string"
12894 },
44660702 12895 "hwaddr" : {
f004f5b9
DM
12896 "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)",
12897 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
12898 "optional" : 1,
12899 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
12900 "type" : "string"
12901 },
12902 "ip" : {
12903 "description" : "IPv4 address in CIDR format.",
12904 "format" : "pve-ipv4-config",
12905 "format_description" : "IPv4Format/CIDR",
56122987 12906 "optional" : 1,
44660702 12907 "type" : "string"
56122987 12908 },
7aacca6f 12909 "ip6" : {
7aacca6f
DM
12910 "description" : "IPv6 address in CIDR format.",
12911 "format" : "pve-ipv6-config",
44660702 12912 "format_description" : "IPv6Format/CIDR",
7aacca6f 12913 "optional" : 1,
44660702 12914 "type" : "string"
56122987 12915 },
44660702
DM
12916 "mtu" : {
12917 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 12918 "minimum" : 64,
56122987 12919 "optional" : 1,
44660702 12920 "type" : "integer"
56122987
DM
12921 },
12922 "name" : {
44660702 12923 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 12924 "format_description" : "string",
56122987 12925 "pattern" : "[-_.\\w\\d]+",
44660702 12926 "type" : "string"
56122987 12927 },
44660702
DM
12928 "rate" : {
12929 "description" : "Apply rate limiting to the interface",
12930 "format_description" : "mbps",
56122987 12931 "optional" : 1,
44660702 12932 "type" : "number"
7aacca6f 12933 },
44660702
DM
12934 "tag" : {
12935 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
12936 "maximum" : 4094,
12937 "minimum" : 1,
56122987 12938 "optional" : 1,
7aacca6f 12939 "type" : "integer"
56122987 12940 },
44660702
DM
12941 "trunks" : {
12942 "description" : "VLAN ids to pass through the interface",
12943 "format_description" : "vlanid[;vlanid...]",
12944 "optional" : 1,
12945 "pattern" : "(?^:\\d+(?:;\\d+)*)",
12946 "type" : "string"
12947 },
12948 "type" : {
12949 "description" : "Network interface type.",
12950 "enum" : [
12951 "veth"
12952 ],
56122987 12953 "optional" : 1,
44660702 12954 "type" : "string"
56122987
DM
12955 }
12956 },
7aacca6f 12957 "optional" : 1,
4bd7df8b
DM
12958 "type" : "string",
12959 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 12960 },
44660702
DM
12961 "node" : {
12962 "description" : "The cluster node name.",
12963 "format" : "pve-node",
12964 "type" : "string"
56122987 12965 },
44660702
DM
12966 "onboot" : {
12967 "default" : 0,
12968 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 12969 "optional" : 1,
44660702 12970 "type" : "boolean"
56122987 12971 },
44660702
DM
12972 "ostype" : {
12973 "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.",
12974 "enum" : [
12975 "debian",
12976 "ubuntu",
12977 "centos",
12978 "fedora",
12979 "opensuse",
12980 "archlinux",
12981 "alpine",
57b78691 12982 "gentoo",
44660702
DM
12983 "unmanaged"
12984 ],
56122987 12985 "optional" : 1,
44660702 12986 "type" : "string"
56122987 12987 },
44660702
DM
12988 "protection" : {
12989 "default" : 0,
12990 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 12991 "optional" : 1,
44660702 12992 "type" : "boolean"
56122987 12993 },
7aacca6f
DM
12994 "rootfs" : {
12995 "description" : "Use volume as container root.",
56122987
DM
12996 "format" : {
12997 "acl" : {
44660702 12998 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
12999 "optional" : 1,
13000 "type" : "boolean"
56122987 13001 },
44660702
DM
13002 "quota" : {
13003 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13004 "optional" : 1,
13005 "type" : "boolean"
13006 },
13007 "ro" : {
de0983cb 13008 "description" : "Read-only mount point",
56122987 13009 "optional" : 1,
44660702
DM
13010 "type" : "boolean"
13011 },
de0983cb
DM
13012 "shared" : {
13013 "default" : 0,
13014 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13015 "optional" : 1,
13016 "type" : "boolean",
13017 "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!"
13018 },
44660702 13019 "size" : {
7aacca6f 13020 "description" : "Volume size (read only value).",
44660702 13021 "format" : "disk-size",
56122987 13022 "format_description" : "DiskSize",
56122987 13023 "optional" : 1,
44660702 13024 "type" : "string"
7aacca6f
DM
13025 },
13026 "volume" : {
7aacca6f
DM
13027 "default_key" : 1,
13028 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
13029 "format" : "pve-lxc-mp-string",
13030 "format_description" : "volume",
7aacca6f 13031 "type" : "string"
56122987 13032 }
44660702
DM
13033 },
13034 "optional" : 1,
4bd7df8b 13035 "type" : "string",
de0983cb 13036 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
13037 },
13038 "searchdomain" : {
13039 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
13040 "format" : "dns-name-list",
13041 "optional" : 1,
13042 "type" : "string"
13043 },
13044 "startup" : {
13045 "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.",
13046 "format" : "pve-startup-order",
13047 "optional" : 1,
13048 "type" : "string",
13049 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13050 },
13051 "swap" : {
13052 "default" : 512,
13053 "description" : "Amount of SWAP for the VM in MB.",
13054 "minimum" : 0,
13055 "optional" : 1,
4bd7df8b 13056 "type" : "integer",
2c0dde61 13057 "typetext" : "integer (0 - N)"
56122987 13058 },
56122987 13059 "template" : {
44660702 13060 "default" : 0,
7aacca6f 13061 "description" : "Enable/disable Template.",
56122987 13062 "optional" : 1,
44660702 13063 "type" : "boolean"
56122987 13064 },
44660702
DM
13065 "tty" : {
13066 "default" : 2,
13067 "description" : "Specify the number of tty available to the container",
13068 "maximum" : 6,
13069 "minimum" : 0,
13070 "optional" : 1,
4bd7df8b 13071 "type" : "integer",
2c0dde61 13072 "typetext" : "integer (0 - 6)"
56122987 13073 },
44660702
DM
13074 "unprivileged" : {
13075 "default" : 0,
13076 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 13077 "optional" : 1,
44660702 13078 "type" : "boolean"
56122987 13079 },
44660702 13080 "unused[n]" : {
c2993fe5 13081 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13082 "format" : "pve-volume-id",
56122987 13083 "optional" : 1,
44660702
DM
13084 "type" : "string"
13085 },
13086 "vmid" : {
13087 "description" : "The (unique) ID of the VM.",
13088 "format" : "pve-vmid",
13089 "minimum" : 1,
4bd7df8b 13090 "type" : "integer",
2c0dde61 13091 "typetext" : "integer (1 - N)"
56122987 13092 }
44660702 13093 }
56122987 13094 },
56122987
DM
13095 "permissions" : {
13096 "check" : [
13097 "perm",
13098 "/vms/{vmid}",
13099 [
13100 "VM.Config.Disk",
13101 "VM.Config.CPU",
13102 "VM.Config.Memory",
13103 "VM.Config.Network",
13104 "VM.Config.Options"
13105 ],
13106 "any",
13107 1
13108 ]
13109 },
44660702
DM
13110 "protected" : 1,
13111 "proxyto" : "node",
56122987
DM
13112 "returns" : {
13113 "type" : "null"
7aacca6f 13114 }
56122987 13115 }
7aacca6f 13116 },
44660702 13117 "leaf" : 1,
7aacca6f 13118 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 13119 "text" : "config"
56122987
DM
13120 },
13121 {
56122987
DM
13122 "children" : [
13123 {
13124 "info" : {
13125 "GET" : {
44660702 13126 "description" : "Get virtual machine status.",
7aacca6f 13127 "method" : "GET",
44660702 13128 "name" : "vm_status",
56122987 13129 "parameters" : {
44660702 13130 "additionalProperties" : 0,
56122987 13131 "properties" : {
56122987 13132 "node" : {
44660702 13133 "description" : "The cluster node name.",
56122987 13134 "format" : "pve-node",
44660702 13135 "type" : "string"
7aacca6f
DM
13136 },
13137 "vmid" : {
13138 "description" : "The (unique) ID of the VM.",
44660702 13139 "format" : "pve-vmid",
7aacca6f 13140 "minimum" : 1,
4bd7df8b 13141 "type" : "integer",
2c0dde61 13142 "typetext" : "integer (1 - N)"
56122987 13143 }
44660702 13144 }
7aacca6f
DM
13145 },
13146 "permissions" : {
13147 "check" : [
13148 "perm",
13149 "/vms/{vmid}",
13150 [
13151 "VM.Audit"
13152 ]
13153 ]
13154 },
44660702 13155 "protected" : 1,
7aacca6f 13156 "proxyto" : "node",
44660702
DM
13157 "returns" : {
13158 "type" : "object"
13159 }
56122987
DM
13160 }
13161 },
44660702
DM
13162 "leaf" : 1,
13163 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
13164 "text" : "current"
13165 },
13166 {
56122987
DM
13167 "info" : {
13168 "POST" : {
7aacca6f 13169 "description" : "Start the container.",
44660702 13170 "method" : "POST",
7aacca6f 13171 "name" : "vm_start",
56122987
DM
13172 "parameters" : {
13173 "additionalProperties" : 0,
13174 "properties" : {
56122987 13175 "node" : {
7aacca6f 13176 "description" : "The cluster node name.",
44660702
DM
13177 "format" : "pve-node",
13178 "type" : "string"
56122987 13179 },
7aacca6f 13180 "skiplock" : {
44660702 13181 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 13182 "optional" : 1,
44660702 13183 "type" : "boolean"
7aacca6f 13184 },
56122987 13185 "vmid" : {
7aacca6f 13186 "description" : "The (unique) ID of the VM.",
44660702 13187 "format" : "pve-vmid",
56122987 13188 "minimum" : 1,
4bd7df8b 13189 "type" : "integer",
2c0dde61 13190 "typetext" : "integer (1 - N)"
56122987
DM
13191 }
13192 }
13193 },
13194 "permissions" : {
13195 "check" : [
13196 "perm",
13197 "/vms/{vmid}",
13198 [
13199 "VM.PowerMgmt"
13200 ]
13201 ]
13202 },
44660702 13203 "protected" : 1,
7aacca6f 13204 "proxyto" : "node",
44660702
DM
13205 "returns" : {
13206 "type" : "string"
13207 }
13208 }
13209 },
13210 "leaf" : 1,
13211 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
13212 "text" : "start"
13213 },
13214 {
13215 "info" : {
13216 "POST" : {
13217 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
13218 "method" : "POST",
13219 "name" : "vm_stop",
13220 "parameters" : {
44660702 13221 "additionalProperties" : 0,
7aacca6f 13222 "properties" : {
44660702
DM
13223 "node" : {
13224 "description" : "The cluster node name.",
13225 "format" : "pve-node",
13226 "type" : "string"
13227 },
7aacca6f
DM
13228 "skiplock" : {
13229 "description" : "Ignore locks - only root is allowed to use this option.",
44660702
DM
13230 "optional" : 1,
13231 "type" : "boolean"
7aacca6f
DM
13232 },
13233 "vmid" : {
44660702 13234 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13235 "format" : "pve-vmid",
13236 "minimum" : 1,
4bd7df8b 13237 "type" : "integer",
2c0dde61 13238 "typetext" : "integer (1 - N)"
7aacca6f 13239 }
44660702
DM
13240 }
13241 },
13242 "permissions" : {
13243 "check" : [
13244 "perm",
13245 "/vms/{vmid}",
13246 [
13247 "VM.PowerMgmt"
13248 ]
13249 ]
7aacca6f 13250 },
44660702
DM
13251 "protected" : 1,
13252 "proxyto" : "node",
13253 "returns" : {
13254 "type" : "string"
13255 }
56122987 13256 }
7aacca6f 13257 },
7aacca6f 13258 "leaf" : 1,
44660702
DM
13259 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
13260 "text" : "stop"
56122987
DM
13261 },
13262 {
56122987
DM
13263 "info" : {
13264 "POST" : {
44660702
DM
13265 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
13266 "method" : "POST",
7aacca6f 13267 "name" : "vm_shutdown",
56122987 13268 "parameters" : {
44660702 13269 "additionalProperties" : 0,
56122987 13270 "properties" : {
7aacca6f 13271 "forceStop" : {
44660702 13272 "default" : 0,
7aacca6f
DM
13273 "description" : "Make sure the Container stops.",
13274 "optional" : 1,
44660702
DM
13275 "type" : "boolean"
13276 },
13277 "node" : {
13278 "description" : "The cluster node name.",
13279 "format" : "pve-node",
13280 "type" : "string"
7aacca6f
DM
13281 },
13282 "timeout" : {
7aacca6f 13283 "default" : 60,
44660702
DM
13284 "description" : "Wait maximal timeout seconds.",
13285 "minimum" : 0,
56122987 13286 "optional" : 1,
4bd7df8b 13287 "type" : "integer",
2c0dde61 13288 "typetext" : "integer (0 - N)"
56122987
DM
13289 },
13290 "vmid" : {
7aacca6f 13291 "description" : "The (unique) ID of the VM.",
44660702
DM
13292 "format" : "pve-vmid",
13293 "minimum" : 1,
4bd7df8b 13294 "type" : "integer",
2c0dde61 13295 "typetext" : "integer (1 - N)"
56122987 13296 }
44660702 13297 }
56122987
DM
13298 },
13299 "permissions" : {
13300 "check" : [
13301 "perm",
13302 "/vms/{vmid}",
13303 [
13304 "VM.PowerMgmt"
13305 ]
13306 ]
13307 },
44660702
DM
13308 "protected" : 1,
13309 "proxyto" : "node",
7aacca6f
DM
13310 "returns" : {
13311 "type" : "string"
13312 }
56122987
DM
13313 }
13314 },
44660702
DM
13315 "leaf" : 1,
13316 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 13317 "text" : "shutdown"
56122987
DM
13318 },
13319 {
56122987
DM
13320 "info" : {
13321 "POST" : {
7aacca6f 13322 "description" : "Suspend the container.",
7aacca6f 13323 "method" : "POST",
7aacca6f 13324 "name" : "vm_suspend",
56122987
DM
13325 "parameters" : {
13326 "additionalProperties" : 0,
13327 "properties" : {
44660702
DM
13328 "node" : {
13329 "description" : "The cluster node name.",
13330 "format" : "pve-node",
13331 "type" : "string"
13332 },
7aacca6f 13333 "vmid" : {
7aacca6f
DM
13334 "description" : "The (unique) ID of the VM.",
13335 "format" : "pve-vmid",
44660702 13336 "minimum" : 1,
4bd7df8b 13337 "type" : "integer",
2c0dde61 13338 "typetext" : "integer (1 - N)"
56122987
DM
13339 }
13340 }
7aacca6f 13341 },
56122987
DM
13342 "permissions" : {
13343 "check" : [
13344 "perm",
13345 "/vms/{vmid}",
13346 [
13347 "VM.PowerMgmt"
13348 ]
13349 ]
13350 },
7aacca6f 13351 "protected" : 1,
44660702
DM
13352 "proxyto" : "node",
13353 "returns" : {
13354 "type" : "string"
13355 }
13356 }
13357 },
13358 "leaf" : 1,
13359 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
13360 "text" : "suspend"
13361 },
13362 {
13363 "info" : {
13364 "POST" : {
13365 "description" : "Resume the container.",
13366 "method" : "POST",
13367 "name" : "vm_resume",
56122987 13368 "parameters" : {
44660702 13369 "additionalProperties" : 0,
56122987
DM
13370 "properties" : {
13371 "node" : {
7aacca6f 13372 "description" : "The cluster node name.",
44660702
DM
13373 "format" : "pve-node",
13374 "type" : "string"
56122987
DM
13375 },
13376 "vmid" : {
7aacca6f 13377 "description" : "The (unique) ID of the VM.",
56122987 13378 "format" : "pve-vmid",
44660702 13379 "minimum" : 1,
4bd7df8b 13380 "type" : "integer",
2c0dde61 13381 "typetext" : "integer (1 - N)"
56122987 13382 }
44660702
DM
13383 }
13384 },
13385 "permissions" : {
13386 "check" : [
13387 "perm",
13388 "/vms/{vmid}",
13389 [
13390 "VM.PowerMgmt"
13391 ]
13392 ]
56122987 13393 },
44660702
DM
13394 "protected" : 1,
13395 "proxyto" : "node",
13396 "returns" : {
13397 "type" : "string"
13398 }
7aacca6f
DM
13399 }
13400 },
44660702
DM
13401 "leaf" : 1,
13402 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
13403 "text" : "resume"
13404 }
13405 ],
13406 "info" : {
13407 "GET" : {
7aacca6f 13408 "description" : "Directory index",
44660702 13409 "method" : "GET",
7aacca6f 13410 "name" : "vmcmdidx",
7aacca6f
DM
13411 "parameters" : {
13412 "additionalProperties" : 0,
13413 "properties" : {
13414 "node" : {
13415 "description" : "The cluster node name.",
44660702
DM
13416 "format" : "pve-node",
13417 "type" : "string"
56122987 13418 },
7aacca6f 13419 "vmid" : {
44660702 13420 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13421 "format" : "pve-vmid",
13422 "minimum" : 1,
4bd7df8b 13423 "type" : "integer",
2c0dde61 13424 "typetext" : "integer (1 - N)"
7aacca6f 13425 }
56122987
DM
13426 }
13427 },
44660702
DM
13428 "permissions" : {
13429 "user" : "all"
13430 },
13431 "proxyto" : "node",
7aacca6f 13432 "returns" : {
7aacca6f
DM
13433 "items" : {
13434 "properties" : {
13435 "subdir" : {
13436 "type" : "string"
13437 }
13438 },
13439 "type" : "object"
13440 },
13441 "links" : [
13442 {
44660702
DM
13443 "href" : "{subdir}",
13444 "rel" : "child"
7aacca6f 13445 }
44660702
DM
13446 ],
13447 "type" : "array"
7aacca6f
DM
13448 }
13449 }
44660702
DM
13450 },
13451 "leaf" : 0,
13452 "path" : "/nodes/{node}/lxc/{vmid}/status",
13453 "text" : "status"
7aacca6f
DM
13454 },
13455 {
7aacca6f 13456 "children" : [
56122987 13457 {
7aacca6f
DM
13458 "children" : [
13459 {
13460 "info" : {
13461 "POST" : {
7aacca6f 13462 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 13463 "method" : "POST",
44660702 13464 "name" : "rollback",
7aacca6f 13465 "parameters" : {
44660702 13466 "additionalProperties" : 0,
7aacca6f 13467 "properties" : {
44660702
DM
13468 "node" : {
13469 "description" : "The cluster node name.",
13470 "format" : "pve-node",
13471 "type" : "string"
13472 },
7aacca6f 13473 "snapname" : {
44660702 13474 "description" : "The name of the snapshot.",
7aacca6f
DM
13475 "format" : "pve-configid",
13476 "maxLength" : 40,
7aacca6f
DM
13477 "type" : "string"
13478 },
7aacca6f 13479 "vmid" : {
44660702 13480 "description" : "The (unique) ID of the VM.",
7aacca6f 13481 "format" : "pve-vmid",
44660702 13482 "minimum" : 1,
4bd7df8b 13483 "type" : "integer",
2c0dde61 13484 "typetext" : "integer (1 - N)"
7aacca6f 13485 }
44660702
DM
13486 }
13487 },
13488 "permissions" : {
13489 "check" : [
13490 "perm",
13491 "/vms/{vmid}",
13492 [
13493 "VM.Snapshot"
13494 ]
13495 ]
7aacca6f 13496 },
44660702
DM
13497 "protected" : 1,
13498 "proxyto" : "node",
13499 "returns" : {
13500 "description" : "the task ID.",
13501 "type" : "string"
13502 }
7aacca6f
DM
13503 }
13504 },
7aacca6f 13505 "leaf" : 1,
44660702
DM
13506 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
13507 "text" : "rollback"
7aacca6f
DM
13508 },
13509 {
7aacca6f
DM
13510 "info" : {
13511 "GET" : {
7aacca6f 13512 "description" : "Get snapshot configuration",
44660702
DM
13513 "method" : "GET",
13514 "name" : "get_snapshot_config",
7aacca6f
DM
13515 "parameters" : {
13516 "additionalProperties" : 0,
13517 "properties" : {
7aacca6f 13518 "node" : {
7aacca6f 13519 "description" : "The cluster node name.",
44660702 13520 "format" : "pve-node",
7aacca6f
DM
13521 "type" : "string"
13522 },
13523 "snapname" : {
44660702 13524 "description" : "The name of the snapshot.",
7aacca6f
DM
13525 "format" : "pve-configid",
13526 "maxLength" : 40,
44660702
DM
13527 "type" : "string"
13528 },
13529 "vmid" : {
13530 "description" : "The (unique) ID of the VM.",
13531 "format" : "pve-vmid",
13532 "minimum" : 1,
4bd7df8b 13533 "type" : "integer",
2c0dde61 13534 "typetext" : "integer (1 - N)"
7aacca6f
DM
13535 }
13536 }
13537 },
13538 "permissions" : {
13539 "check" : [
13540 "perm",
13541 "/vms/{vmid}",
13542 [
13543 "VM.Snapshot"
13544 ]
13545 ]
13546 },
44660702
DM
13547 "proxyto" : "node",
13548 "returns" : {
13549 "type" : "object"
13550 }
7aacca6f
DM
13551 },
13552 "PUT" : {
44660702
DM
13553 "description" : "Update snapshot metadata.",
13554 "method" : "PUT",
7aacca6f
DM
13555 "name" : "update_snapshot_config",
13556 "parameters" : {
13557 "additionalProperties" : 0,
13558 "properties" : {
44660702
DM
13559 "description" : {
13560 "description" : "A textual description or comment.",
13561 "optional" : 1,
13562 "type" : "string"
13563 },
7aacca6f 13564 "node" : {
7aacca6f 13565 "description" : "The cluster node name.",
44660702
DM
13566 "format" : "pve-node",
13567 "type" : "string"
7aacca6f
DM
13568 },
13569 "snapname" : {
13570 "description" : "The name of the snapshot.",
7aacca6f 13571 "format" : "pve-configid",
44660702
DM
13572 "maxLength" : 40,
13573 "type" : "string"
7aacca6f
DM
13574 },
13575 "vmid" : {
44660702 13576 "description" : "The (unique) ID of the VM.",
7aacca6f 13577 "format" : "pve-vmid",
44660702 13578 "minimum" : 1,
4bd7df8b 13579 "type" : "integer",
2c0dde61 13580 "typetext" : "integer (1 - N)"
7aacca6f
DM
13581 }
13582 }
13583 },
7aacca6f
DM
13584 "permissions" : {
13585 "check" : [
13586 "perm",
13587 "/vms/{vmid}",
13588 [
13589 "VM.Snapshot"
13590 ]
13591 ]
13592 },
44660702
DM
13593 "protected" : 1,
13594 "proxyto" : "node",
7aacca6f
DM
13595 "returns" : {
13596 "type" : "null"
13597 }
13598 }
13599 },
44660702 13600 "leaf" : 1,
7aacca6f 13601 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 13602 "text" : "config"
7aacca6f
DM
13603 }
13604 ],
56122987 13605 "info" : {
44660702
DM
13606 "DELETE" : {
13607 "description" : "Delete a LXC snapshot.",
13608 "method" : "DELETE",
13609 "name" : "delsnapshot",
56122987 13610 "parameters" : {
44660702 13611 "additionalProperties" : 0,
56122987 13612 "properties" : {
44660702
DM
13613 "force" : {
13614 "description" : "For removal from config file, even if removing disk snapshots fails.",
13615 "optional" : 1,
13616 "type" : "boolean"
13617 },
13618 "node" : {
13619 "description" : "The cluster node name.",
13620 "format" : "pve-node",
13621 "type" : "string"
7aacca6f
DM
13622 },
13623 "snapname" : {
7aacca6f
DM
13624 "description" : "The name of the snapshot.",
13625 "format" : "pve-configid",
44660702 13626 "maxLength" : 40,
7aacca6f 13627 "type" : "string"
44660702
DM
13628 },
13629 "vmid" : {
13630 "description" : "The (unique) ID of the VM.",
13631 "format" : "pve-vmid",
13632 "minimum" : 1,
4bd7df8b 13633 "type" : "integer",
2c0dde61 13634 "typetext" : "integer (1 - N)"
56122987 13635 }
44660702 13636 }
7aacca6f 13637 },
56122987
DM
13638 "permissions" : {
13639 "check" : [
13640 "perm",
13641 "/vms/{vmid}",
13642 [
7aacca6f 13643 "VM.Snapshot"
56122987
DM
13644 ]
13645 ]
13646 },
44660702 13647 "protected" : 1,
7aacca6f 13648 "proxyto" : "node",
56122987 13649 "returns" : {
7aacca6f 13650 "description" : "the task ID.",
56122987 13651 "type" : "string"
44660702
DM
13652 }
13653 },
13654 "GET" : {
13655 "description" : "",
13656 "method" : "GET",
13657 "name" : "snapshot_cmd_idx",
7aacca6f
DM
13658 "parameters" : {
13659 "additionalProperties" : 0,
13660 "properties" : {
7aacca6f 13661 "node" : {
44660702 13662 "description" : "The cluster node name.",
7aacca6f 13663 "format" : "pve-node",
44660702 13664 "type" : "string"
7aacca6f
DM
13665 },
13666 "snapname" : {
44660702 13667 "description" : "The name of the snapshot.",
7aacca6f 13668 "format" : "pve-configid",
44660702
DM
13669 "maxLength" : 40,
13670 "type" : "string"
13671 },
13672 "vmid" : {
13673 "description" : "The (unique) ID of the VM.",
13674 "format" : "pve-vmid",
13675 "minimum" : 1,
4bd7df8b 13676 "type" : "integer",
2c0dde61 13677 "typetext" : "integer (1 - N)"
7aacca6f
DM
13678 }
13679 }
13680 },
44660702
DM
13681 "permissions" : {
13682 "user" : "all"
13683 },
13684 "returns" : {
13685 "items" : {
13686 "properties" : {},
13687 "type" : "object"
13688 },
13689 "links" : [
13690 {
13691 "href" : "{cmd}",
13692 "rel" : "child"
13693 }
13694 ],
13695 "type" : "array"
13696 }
13697 }
13698 },
13699 "leaf" : 0,
13700 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
13701 "text" : "{snapname}"
13702 }
13703 ],
13704 "info" : {
13705 "GET" : {
13706 "description" : "List all snapshots.",
13707 "method" : "GET",
13708 "name" : "list",
13709 "parameters" : {
13710 "additionalProperties" : 0,
13711 "properties" : {
13712 "node" : {
13713 "description" : "The cluster node name.",
13714 "format" : "pve-node",
13715 "type" : "string"
13716 },
13717 "vmid" : {
13718 "description" : "The (unique) ID of the VM.",
13719 "format" : "pve-vmid",
13720 "minimum" : 1,
4bd7df8b 13721 "type" : "integer",
2c0dde61 13722 "typetext" : "integer (1 - N)"
44660702 13723 }
56122987
DM
13724 }
13725 },
56122987 13726 "permissions" : {
7aacca6f
DM
13727 "check" : [
13728 "perm",
13729 "/vms/{vmid}",
13730 [
13731 "VM.Audit"
13732 ]
13733 ]
13734 },
44660702 13735 "protected" : 1,
56122987 13736 "proxyto" : "node",
7aacca6f 13737 "returns" : {
44660702
DM
13738 "items" : {
13739 "properties" : {},
13740 "type" : "object"
13741 },
7aacca6f
DM
13742 "links" : [
13743 {
13744 "href" : "{name}",
13745 "rel" : "child"
13746 }
13747 ],
7aacca6f 13748 "type" : "array"
44660702 13749 }
7aacca6f
DM
13750 },
13751 "POST" : {
44660702
DM
13752 "description" : "Snapshot a container.",
13753 "method" : "POST",
13754 "name" : "snapshot",
56122987
DM
13755 "parameters" : {
13756 "additionalProperties" : 0,
13757 "properties" : {
7aacca6f 13758 "description" : {
44660702 13759 "description" : "A textual description or comment.",
7aacca6f 13760 "optional" : 1,
44660702
DM
13761 "type" : "string"
13762 },
13763 "node" : {
13764 "description" : "The cluster node name.",
13765 "format" : "pve-node",
13766 "type" : "string"
56122987
DM
13767 },
13768 "snapname" : {
56122987 13769 "description" : "The name of the snapshot.",
44660702 13770 "format" : "pve-configid",
7aacca6f 13771 "maxLength" : 40,
44660702 13772 "type" : "string"
56122987 13773 },
44660702
DM
13774 "vmid" : {
13775 "description" : "The (unique) ID of the VM.",
13776 "format" : "pve-vmid",
13777 "minimum" : 1,
4bd7df8b 13778 "type" : "integer",
2c0dde61 13779 "typetext" : "integer (1 - N)"
56122987 13780 }
7aacca6f 13781 }
56122987 13782 },
56122987
DM
13783 "permissions" : {
13784 "check" : [
13785 "perm",
13786 "/vms/{vmid}",
13787 [
7aacca6f 13788 "VM.Snapshot"
56122987
DM
13789 ]
13790 ]
7aacca6f 13791 },
44660702 13792 "protected" : 1,
7aacca6f
DM
13793 "proxyto" : "node",
13794 "returns" : {
13795 "description" : "the task ID.",
13796 "type" : "string"
56122987
DM
13797 }
13798 }
44660702
DM
13799 },
13800 "leaf" : 0,
13801 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
13802 "text" : "snapshot"
7aacca6f
DM
13803 },
13804 {
56122987
DM
13805 "children" : [
13806 {
56122987
DM
13807 "children" : [
13808 {
56122987 13809 "info" : {
44660702
DM
13810 "DELETE" : {
13811 "description" : "Delete rule.",
13812 "method" : "DELETE",
13813 "name" : "delete_rule",
56122987 13814 "parameters" : {
44660702 13815 "additionalProperties" : 0,
56122987 13816 "properties" : {
44660702
DM
13817 "digest" : {
13818 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13819 "maxLength" : 40,
7aacca6f 13820 "optional" : 1,
44660702 13821 "type" : "string"
7aacca6f
DM
13822 },
13823 "node" : {
44660702 13824 "description" : "The cluster node name.",
7aacca6f 13825 "format" : "pve-node",
44660702
DM
13826 "type" : "string"
13827 },
13828 "pos" : {
13829 "description" : "Update rule at position <pos>.",
13830 "minimum" : 0,
13831 "optional" : 1,
4bd7df8b 13832 "type" : "integer",
2c0dde61 13833 "typetext" : "integer (0 - N)"
44660702
DM
13834 },
13835 "vmid" : {
13836 "description" : "The (unique) ID of the VM.",
13837 "format" : "pve-vmid",
13838 "minimum" : 1,
4bd7df8b 13839 "type" : "integer",
2c0dde61 13840 "typetext" : "integer (1 - N)"
56122987 13841 }
44660702 13842 }
56122987 13843 },
56122987
DM
13844 "permissions" : {
13845 "check" : [
13846 "perm",
13847 "/vms/{vmid}",
13848 [
44660702 13849 "VM.Config.Network"
56122987
DM
13850 ]
13851 ]
13852 },
44660702 13853 "protected" : 1,
7aacca6f 13854 "proxyto" : null,
44660702
DM
13855 "returns" : {
13856 "type" : "null"
13857 }
7aacca6f 13858 },
44660702
DM
13859 "GET" : {
13860 "description" : "Get single rule data.",
13861 "method" : "GET",
13862 "name" : "get_rule",
56122987 13863 "parameters" : {
44660702 13864 "additionalProperties" : 0,
56122987 13865 "properties" : {
7aacca6f 13866 "node" : {
7aacca6f 13867 "description" : "The cluster node name.",
44660702 13868 "format" : "pve-node",
56122987
DM
13869 "type" : "string"
13870 },
7aacca6f 13871 "pos" : {
7aacca6f 13872 "description" : "Update rule at position <pos>.",
44660702 13873 "minimum" : 0,
7aacca6f 13874 "optional" : 1,
4bd7df8b 13875 "type" : "integer",
2c0dde61 13876 "typetext" : "integer (0 - N)"
56122987 13877 },
7aacca6f 13878 "vmid" : {
44660702 13879 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13880 "format" : "pve-vmid",
13881 "minimum" : 1,
4bd7df8b 13882 "type" : "integer",
2c0dde61 13883 "typetext" : "integer (1 - N)"
56122987 13884 }
44660702 13885 }
56122987 13886 },
7aacca6f
DM
13887 "permissions" : {
13888 "check" : [
13889 "perm",
13890 "/vms/{vmid}",
13891 [
44660702 13892 "VM.Audit"
7aacca6f
DM
13893 ]
13894 ]
13895 },
7aacca6f
DM
13896 "proxyto" : null,
13897 "returns" : {
44660702
DM
13898 "properties" : {
13899 "pos" : {
13900 "type" : "integer"
13901 }
13902 },
13903 "type" : "object"
7aacca6f 13904 }
56122987 13905 },
44660702
DM
13906 "PUT" : {
13907 "description" : "Modify rule data.",
13908 "method" : "PUT",
13909 "name" : "update_rule",
56122987
DM
13910 "parameters" : {
13911 "additionalProperties" : 0,
13912 "properties" : {
44660702
DM
13913 "action" : {
13914 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
13915 "maxLength" : 20,
13916 "minLength" : 2,
13917 "optional" : 1,
13918 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
13919 "type" : "string"
13920 },
13921 "comment" : {
e94f0d56 13922 "description" : "Descriptive comment.",
44660702
DM
13923 "optional" : 1,
13924 "type" : "string"
13925 },
13926 "delete" : {
13927 "description" : "A list of settings you want to delete.",
13928 "format" : "pve-configid-list",
13929 "optional" : 1,
13930 "type" : "string"
13931 },
13932 "dest" : {
13933 "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.",
13934 "format" : "pve-fw-addr-spec",
13935 "optional" : 1,
13936 "type" : "string"
13937 },
13938 "digest" : {
13939 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13940 "maxLength" : 40,
13941 "optional" : 1,
13942 "type" : "string"
13943 },
13944 "dport" : {
13945 "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.",
13946 "format" : "pve-fw-dport-spec",
13947 "optional" : 1,
13948 "type" : "string"
13949 },
13950 "enable" : {
e94f0d56 13951 "description" : "Flag to enable/disable a rule.",
44660702
DM
13952 "minimum" : 0,
13953 "optional" : 1,
4bd7df8b 13954 "type" : "integer",
2c0dde61 13955 "typetext" : "integer (0 - N)"
44660702
DM
13956 },
13957 "iface" : {
13958 "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.",
13959 "format" : "pve-iface",
13960 "maxLength" : 20,
13961 "minLength" : 2,
13962 "optional" : 1,
13963 "type" : "string"
13964 },
13965 "macro" : {
e94f0d56 13966 "description" : "Use predefined standard macro.",
44660702
DM
13967 "maxLength" : 128,
13968 "optional" : 1,
13969 "type" : "string"
13970 },
13971 "moveto" : {
13972 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
13973 "minimum" : 0,
13974 "optional" : 1,
4bd7df8b 13975 "type" : "integer",
2c0dde61 13976 "typetext" : "integer (0 - N)"
44660702 13977 },
7aacca6f
DM
13978 "node" : {
13979 "description" : "The cluster node name.",
44660702
DM
13980 "format" : "pve-node",
13981 "type" : "string"
56122987
DM
13982 },
13983 "pos" : {
44660702 13984 "description" : "Update rule at position <pos>.",
56122987 13985 "minimum" : 0,
7aacca6f 13986 "optional" : 1,
4bd7df8b 13987 "type" : "integer",
2c0dde61 13988 "typetext" : "integer (0 - N)"
56122987 13989 },
44660702
DM
13990 "proto" : {
13991 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
13992 "format" : "pve-fw-protocol-spec",
13993 "optional" : 1,
13994 "type" : "string"
7aacca6f 13995 },
44660702
DM
13996 "source" : {
13997 "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.",
13998 "format" : "pve-fw-addr-spec",
13999 "optional" : 1,
14000 "type" : "string"
14001 },
14002 "sport" : {
14003 "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.",
14004 "format" : "pve-fw-sport-spec",
14005 "optional" : 1,
14006 "type" : "string"
14007 },
14008 "type" : {
e94f0d56 14009 "description" : "Rule type.",
44660702
DM
14010 "enum" : [
14011 "in",
14012 "out",
14013 "group"
14014 ],
7aacca6f 14015 "optional" : 1,
44660702
DM
14016 "type" : "string"
14017 },
14018 "vmid" : {
14019 "description" : "The (unique) ID of the VM.",
14020 "format" : "pve-vmid",
14021 "minimum" : 1,
4bd7df8b 14022 "type" : "integer",
2c0dde61 14023 "typetext" : "integer (1 - N)"
56122987
DM
14024 }
14025 }
14026 },
56122987
DM
14027 "permissions" : {
14028 "check" : [
14029 "perm",
14030 "/vms/{vmid}",
14031 [
7aacca6f 14032 "VM.Config.Network"
56122987
DM
14033 ]
14034 ]
14035 },
44660702 14036 "protected" : 1,
56122987 14037 "proxyto" : null,
56122987 14038 "returns" : {
7aacca6f
DM
14039 "type" : "null"
14040 }
56122987 14041 }
44660702
DM
14042 },
14043 "leaf" : 1,
14044 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
14045 "text" : "{pos}"
56122987
DM
14046 }
14047 ],
14048 "info" : {
7aacca6f 14049 "GET" : {
44660702
DM
14050 "description" : "List rules.",
14051 "method" : "GET",
14052 "name" : "get_rules",
7aacca6f 14053 "parameters" : {
44660702 14054 "additionalProperties" : 0,
7aacca6f
DM
14055 "properties" : {
14056 "node" : {
7aacca6f 14057 "description" : "The cluster node name.",
44660702
DM
14058 "format" : "pve-node",
14059 "type" : "string"
7aacca6f
DM
14060 },
14061 "vmid" : {
14062 "description" : "The (unique) ID of the VM.",
44660702 14063 "format" : "pve-vmid",
7aacca6f 14064 "minimum" : 1,
4bd7df8b 14065 "type" : "integer",
2c0dde61 14066 "typetext" : "integer (1 - N)"
7aacca6f 14067 }
44660702 14068 }
56122987 14069 },
56122987
DM
14070 "permissions" : {
14071 "check" : [
14072 "perm",
14073 "/vms/{vmid}",
14074 [
7aacca6f 14075 "VM.Audit"
56122987
DM
14076 ]
14077 ]
14078 },
14079 "proxyto" : null,
7aacca6f 14080 "returns" : {
7aacca6f
DM
14081 "items" : {
14082 "properties" : {
14083 "pos" : {
14084 "type" : "integer"
14085 }
14086 },
14087 "type" : "object"
14088 },
14089 "links" : [
14090 {
44660702
DM
14091 "href" : "{pos}",
14092 "rel" : "child"
7aacca6f 14093 }
44660702
DM
14094 ],
14095 "type" : "array"
14096 }
7aacca6f
DM
14097 },
14098 "POST" : {
44660702
DM
14099 "description" : "Create new rule.",
14100 "method" : "POST",
7aacca6f 14101 "name" : "create_rule",
56122987 14102 "parameters" : {
44660702 14103 "additionalProperties" : 0,
56122987 14104 "properties" : {
7aacca6f 14105 "action" : {
44660702 14106 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 14107 "maxLength" : 20,
44660702 14108 "minLength" : 2,
7aacca6f
DM
14109 "optional" : 0,
14110 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
14111 "type" : "string"
14112 },
44660702 14113 "comment" : {
e94f0d56 14114 "description" : "Descriptive comment.",
7aacca6f 14115 "optional" : 1,
44660702 14116 "type" : "string"
56122987 14117 },
44660702
DM
14118 "dest" : {
14119 "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.",
14120 "format" : "pve-fw-addr-spec",
56122987 14121 "optional" : 1,
44660702 14122 "type" : "string"
56122987 14123 },
44660702
DM
14124 "digest" : {
14125 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14126 "maxLength" : 40,
56122987 14127 "optional" : 1,
44660702 14128 "type" : "string"
56122987 14129 },
44660702
DM
14130 "dport" : {
14131 "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.",
14132 "format" : "pve-fw-dport-spec",
56122987 14133 "optional" : 1,
44660702 14134 "type" : "string"
56122987 14135 },
44660702 14136 "enable" : {
e94f0d56 14137 "description" : "Flag to enable/disable a rule.",
44660702 14138 "minimum" : 0,
56122987 14139 "optional" : 1,
4bd7df8b 14140 "type" : "integer",
2c0dde61 14141 "typetext" : "integer (0 - N)"
56122987 14142 },
44660702
DM
14143 "iface" : {
14144 "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.",
14145 "format" : "pve-iface",
14146 "maxLength" : 20,
14147 "minLength" : 2,
7aacca6f 14148 "optional" : 1,
56122987 14149 "type" : "string"
56122987 14150 },
44660702 14151 "macro" : {
e94f0d56 14152 "description" : "Use predefined standard macro.",
44660702 14153 "maxLength" : 128,
56122987
DM
14154 "optional" : 1,
14155 "type" : "string"
14156 },
14157 "node" : {
7aacca6f 14158 "description" : "The cluster node name.",
44660702
DM
14159 "format" : "pve-node",
14160 "type" : "string"
7aacca6f 14161 },
44660702
DM
14162 "pos" : {
14163 "description" : "Update rule at position <pos>.",
14164 "minimum" : 0,
14165 "optional" : 1,
4bd7df8b 14166 "type" : "integer",
2c0dde61 14167 "typetext" : "integer (0 - N)"
44660702
DM
14168 },
14169 "proto" : {
14170 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14171 "format" : "pve-fw-protocol-spec",
7aacca6f
DM
14172 "optional" : 1,
14173 "type" : "string"
7aacca6f 14174 },
44660702
DM
14175 "source" : {
14176 "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.",
14177 "format" : "pve-fw-addr-spec",
14178 "optional" : 1,
14179 "type" : "string"
56122987 14180 },
44660702
DM
14181 "sport" : {
14182 "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.",
14183 "format" : "pve-fw-sport-spec",
14184 "optional" : 1,
14185 "type" : "string"
7aacca6f 14186 },
44660702 14187 "type" : {
e94f0d56 14188 "description" : "Rule type.",
44660702
DM
14189 "enum" : [
14190 "in",
14191 "out",
14192 "group"
14193 ],
14194 "optional" : 0,
14195 "type" : "string"
14196 },
14197 "vmid" : {
14198 "description" : "The (unique) ID of the VM.",
14199 "format" : "pve-vmid",
14200 "minimum" : 1,
4bd7df8b 14201 "type" : "integer",
2c0dde61 14202 "typetext" : "integer (1 - N)"
44660702
DM
14203 }
14204 }
14205 },
14206 "permissions" : {
14207 "check" : [
14208 "perm",
14209 "/vms/{vmid}",
14210 [
14211 "VM.Config.Network"
14212 ]
14213 ]
14214 },
14215 "protected" : 1,
14216 "proxyto" : null,
14217 "returns" : {
14218 "type" : "null"
14219 }
14220 }
14221 },
14222 "leaf" : 0,
14223 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
14224 "text" : "rules"
14225 },
14226 {
14227 "children" : [
14228 {
14229 "info" : {
14230 "DELETE" : {
14231 "description" : "Remove IP or Network alias.",
14232 "method" : "DELETE",
14233 "name" : "remove_alias",
56122987 14234 "parameters" : {
44660702 14235 "additionalProperties" : 0,
56122987 14236 "properties" : {
44660702
DM
14237 "digest" : {
14238 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14239 "maxLength" : 40,
56122987
DM
14240 "optional" : 1,
14241 "type" : "string"
14242 },
7aacca6f 14243 "name" : {
44660702 14244 "description" : "Alias name.",
7aacca6f 14245 "maxLength" : 64,
7aacca6f
DM
14246 "minLength" : 2,
14247 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14248 "type" : "string"
7aacca6f
DM
14249 },
14250 "node" : {
44660702 14251 "description" : "The cluster node name.",
56122987 14252 "format" : "pve-node",
44660702 14253 "type" : "string"
7aacca6f 14254 },
56122987 14255 "vmid" : {
44660702 14256 "description" : "The (unique) ID of the VM.",
56122987 14257 "format" : "pve-vmid",
44660702 14258 "minimum" : 1,
4bd7df8b 14259 "type" : "integer",
2c0dde61 14260 "typetext" : "integer (1 - N)"
56122987 14261 }
44660702 14262 }
56122987 14263 },
56122987
DM
14264 "permissions" : {
14265 "check" : [
14266 "perm",
14267 "/vms/{vmid}",
14268 [
7aacca6f 14269 "VM.Config.Network"
56122987
DM
14270 ]
14271 ]
14272 },
44660702 14273 "protected" : 1,
56122987 14274 "returns" : {
7aacca6f 14275 "type" : "null"
44660702 14276 }
56122987 14277 },
44660702
DM
14278 "GET" : {
14279 "description" : "Read alias.",
14280 "method" : "GET",
14281 "name" : "read_alias",
14282 "parameters" : {
14283 "additionalProperties" : 0,
14284 "properties" : {
14285 "name" : {
14286 "description" : "Alias name.",
14287 "maxLength" : 64,
14288 "minLength" : 2,
14289 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14290 "type" : "string"
14291 },
14292 "node" : {
14293 "description" : "The cluster node name.",
14294 "format" : "pve-node",
14295 "type" : "string"
14296 },
14297 "vmid" : {
14298 "description" : "The (unique) ID of the VM.",
14299 "format" : "pve-vmid",
14300 "minimum" : 1,
4bd7df8b 14301 "type" : "integer",
2c0dde61 14302 "typetext" : "integer (1 - N)"
44660702
DM
14303 }
14304 }
56122987 14305 },
7aacca6f
DM
14306 "permissions" : {
14307 "check" : [
14308 "perm",
14309 "/vms/{vmid}",
14310 [
44660702 14311 "VM.Audit"
7aacca6f
DM
14312 ]
14313 ]
14314 },
44660702
DM
14315 "returns" : {
14316 "type" : "object"
14317 }
14318 },
14319 "PUT" : {
14320 "description" : "Update IP or Network alias.",
14321 "method" : "PUT",
14322 "name" : "update_alias",
56122987
DM
14323 "parameters" : {
14324 "additionalProperties" : 0,
14325 "properties" : {
44660702
DM
14326 "cidr" : {
14327 "description" : "Network/IP specification in CIDR format.",
14328 "format" : "IPorCIDR",
14329 "type" : "string"
14330 },
14331 "comment" : {
14332 "optional" : 1,
14333 "type" : "string"
14334 },
14335 "digest" : {
14336 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14337 "maxLength" : 40,
14338 "optional" : 1,
14339 "type" : "string"
14340 },
56122987 14341 "name" : {
7aacca6f 14342 "description" : "Alias name.",
44660702
DM
14343 "maxLength" : 64,
14344 "minLength" : 2,
7aacca6f 14345 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14346 "type" : "string"
56122987
DM
14347 },
14348 "node" : {
14349 "description" : "The cluster node name.",
44660702
DM
14350 "format" : "pve-node",
14351 "type" : "string"
14352 },
14353 "rename" : {
14354 "description" : "Rename an existing alias.",
14355 "maxLength" : 64,
14356 "minLength" : 2,
14357 "optional" : 1,
14358 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14359 "type" : "string"
56122987 14360 },
7aacca6f 14361 "vmid" : {
7aacca6f 14362 "description" : "The (unique) ID of the VM.",
44660702 14363 "format" : "pve-vmid",
7aacca6f 14364 "minimum" : 1,
4bd7df8b 14365 "type" : "integer",
2c0dde61 14366 "typetext" : "integer (1 - N)"
56122987
DM
14367 }
14368 }
14369 },
44660702
DM
14370 "permissions" : {
14371 "check" : [
14372 "perm",
14373 "/vms/{vmid}",
14374 [
14375 "VM.Config.Network"
14376 ]
14377 ]
7aacca6f 14378 },
44660702
DM
14379 "protected" : 1,
14380 "returns" : {
14381 "type" : "null"
7aacca6f
DM
14382 }
14383 }
14384 },
44660702
DM
14385 "leaf" : 1,
14386 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
14387 "text" : "{name}"
14388 }
14389 ],
14390 "info" : {
14391 "GET" : {
14392 "description" : "List aliases",
14393 "method" : "GET",
14394 "name" : "get_aliases",
56122987
DM
14395 "parameters" : {
14396 "additionalProperties" : 0,
14397 "properties" : {
14398 "node" : {
44660702 14399 "description" : "The cluster node name.",
56122987 14400 "format" : "pve-node",
44660702 14401 "type" : "string"
56122987
DM
14402 },
14403 "vmid" : {
7aacca6f 14404 "description" : "The (unique) ID of the VM.",
44660702 14405 "format" : "pve-vmid",
7aacca6f 14406 "minimum" : 1,
4bd7df8b 14407 "type" : "integer",
2c0dde61 14408 "typetext" : "integer (1 - N)"
56122987
DM
14409 }
14410 }
14411 },
44660702
DM
14412 "permissions" : {
14413 "check" : [
14414 "perm",
14415 "/vms/{vmid}",
14416 [
14417 "VM.Audit"
14418 ]
14419 ]
14420 },
56122987
DM
14421 "returns" : {
14422 "items" : {
56122987 14423 "properties" : {
44660702
DM
14424 "cidr" : {
14425 "type" : "string"
7aacca6f 14426 },
44660702
DM
14427 "comment" : {
14428 "optional" : 1,
56122987
DM
14429 "type" : "string"
14430 },
56122987 14431 "digest" : {
56122987 14432 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
14433 "maxLength" : 40,
14434 "optional" : 0,
14435 "type" : "string"
14436 },
14437 "name" : {
14438 "type" : "string"
56122987 14439 }
44660702
DM
14440 },
14441 "type" : "object"
14442 },
14443 "links" : [
14444 {
14445 "href" : "{name}",
14446 "rel" : "child"
56122987 14447 }
44660702
DM
14448 ],
14449 "type" : "array"
7aacca6f
DM
14450 }
14451 },
14452 "POST" : {
44660702 14453 "description" : "Create IP or Network Alias.",
7aacca6f 14454 "method" : "POST",
44660702 14455 "name" : "create_alias",
7aacca6f
DM
14456 "parameters" : {
14457 "additionalProperties" : 0,
14458 "properties" : {
44660702
DM
14459 "cidr" : {
14460 "description" : "Network/IP specification in CIDR format.",
14461 "format" : "IPorCIDR",
7aacca6f
DM
14462 "type" : "string"
14463 },
14464 "comment" : {
14465 "optional" : 1,
14466 "type" : "string"
14467 },
44660702
DM
14468 "name" : {
14469 "description" : "Alias name.",
14470 "maxLength" : 64,
7aacca6f
DM
14471 "minLength" : 2,
14472 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14473 "type" : "string"
7aacca6f
DM
14474 },
14475 "node" : {
44660702 14476 "description" : "The cluster node name.",
7aacca6f 14477 "format" : "pve-node",
44660702 14478 "type" : "string"
7aacca6f 14479 },
44660702
DM
14480 "vmid" : {
14481 "description" : "The (unique) ID of the VM.",
14482 "format" : "pve-vmid",
14483 "minimum" : 1,
4bd7df8b 14484 "type" : "integer",
2c0dde61 14485 "typetext" : "integer (1 - N)"
7aacca6f
DM
14486 }
14487 }
14488 },
44660702
DM
14489 "permissions" : {
14490 "check" : [
14491 "perm",
14492 "/vms/{vmid}",
14493 [
14494 "VM.Config.Network"
14495 ]
14496 ]
14497 },
14498 "protected" : 1,
14499 "returns" : {
14500 "type" : "null"
14501 }
56122987
DM
14502 }
14503 },
44660702
DM
14504 "leaf" : 0,
14505 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
14506 "text" : "aliases"
14507 },
14508 {
56122987
DM
14509 "children" : [
14510 {
56122987
DM
14511 "children" : [
14512 {
14513 "info" : {
14514 "DELETE" : {
44660702 14515 "description" : "Remove IP or Network from IPSet.",
7aacca6f 14516 "method" : "DELETE",
44660702 14517 "name" : "remove_ip",
56122987
DM
14518 "parameters" : {
14519 "additionalProperties" : 0,
14520 "properties" : {
44660702
DM
14521 "cidr" : {
14522 "description" : "Network/IP specification in CIDR format.",
14523 "format" : "IPorCIDRorAlias",
14524 "type" : "string"
56122987
DM
14525 },
14526 "digest" : {
44660702 14527 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 14528 "maxLength" : 40,
7aacca6f 14529 "optional" : 1,
44660702 14530 "type" : "string"
56122987 14531 },
56122987 14532 "name" : {
44660702 14533 "description" : "IP set name.",
56122987 14534 "maxLength" : 64,
7aacca6f 14535 "minLength" : 2,
56122987 14536 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 14537 "type" : "string"
7aacca6f
DM
14538 },
14539 "node" : {
7aacca6f 14540 "description" : "The cluster node name.",
44660702
DM
14541 "format" : "pve-node",
14542 "type" : "string"
14543 },
14544 "vmid" : {
14545 "description" : "The (unique) ID of the VM.",
14546 "format" : "pve-vmid",
14547 "minimum" : 1,
4bd7df8b 14548 "type" : "integer",
2c0dde61 14549 "typetext" : "integer (1 - N)"
56122987
DM
14550 }
14551 }
14552 },
44660702
DM
14553 "permissions" : {
14554 "check" : [
14555 "perm",
14556 "/vms/{vmid}",
14557 [
14558 "VM.Config.Network"
14559 ]
14560 ]
14561 },
7aacca6f 14562 "protected" : 1,
56122987
DM
14563 "returns" : {
14564 "type" : "null"
44660702
DM
14565 }
14566 },
14567 "GET" : {
14568 "description" : "Read IP or Network settings from IPSet.",
14569 "method" : "GET",
14570 "name" : "read_ip",
56122987
DM
14571 "parameters" : {
14572 "additionalProperties" : 0,
14573 "properties" : {
7aacca6f 14574 "cidr" : {
7aacca6f 14575 "description" : "Network/IP specification in CIDR format.",
44660702 14576 "format" : "IPorCIDRorAlias",
56122987
DM
14577 "type" : "string"
14578 },
7aacca6f 14579 "name" : {
44660702 14580 "description" : "IP set name.",
7aacca6f
DM
14581 "maxLength" : 64,
14582 "minLength" : 2,
7aacca6f
DM
14583 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14584 "type" : "string"
56122987 14585 },
44660702
DM
14586 "node" : {
14587 "description" : "The cluster node name.",
14588 "format" : "pve-node",
14589 "type" : "string"
14590 },
14591 "vmid" : {
14592 "description" : "The (unique) ID of the VM.",
14593 "format" : "pve-vmid",
14594 "minimum" : 1,
4bd7df8b 14595 "type" : "integer",
2c0dde61 14596 "typetext" : "integer (1 - N)"
56122987
DM
14597 }
14598 }
14599 },
56122987
DM
14600 "permissions" : {
14601 "check" : [
14602 "perm",
14603 "/vms/{vmid}",
14604 [
44660702 14605 "VM.Audit"
56122987
DM
14606 ]
14607 ]
7aacca6f 14608 },
44660702 14609 "protected" : 1,
7aacca6f
DM
14610 "returns" : {
14611 "type" : "object"
44660702
DM
14612 }
14613 },
14614 "PUT" : {
14615 "description" : "Update IP or Network settings",
14616 "method" : "PUT",
14617 "name" : "update_ip",
7aacca6f 14618 "parameters" : {
44660702 14619 "additionalProperties" : 0,
7aacca6f
DM
14620 "properties" : {
14621 "cidr" : {
44660702 14622 "description" : "Network/IP specification in CIDR format.",
7aacca6f 14623 "format" : "IPorCIDRorAlias",
44660702 14624 "type" : "string"
7aacca6f 14625 },
44660702
DM
14626 "comment" : {
14627 "optional" : 1,
14628 "type" : "string"
14629 },
14630 "digest" : {
14631 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14632 "maxLength" : 40,
14633 "optional" : 1,
14634 "type" : "string"
14635 },
14636 "name" : {
14637 "description" : "IP set name.",
14638 "maxLength" : 64,
14639 "minLength" : 2,
14640 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14641 "type" : "string"
7aacca6f
DM
14642 },
14643 "node" : {
7aacca6f 14644 "description" : "The cluster node name.",
44660702 14645 "format" : "pve-node",
7aacca6f
DM
14646 "type" : "string"
14647 },
44660702
DM
14648 "nomatch" : {
14649 "optional" : 1,
14650 "type" : "boolean"
14651 },
14652 "vmid" : {
14653 "description" : "The (unique) ID of the VM.",
14654 "format" : "pve-vmid",
14655 "minimum" : 1,
4bd7df8b 14656 "type" : "integer",
2c0dde61 14657 "typetext" : "integer (1 - N)"
7aacca6f 14658 }
44660702
DM
14659 }
14660 },
14661 "permissions" : {
14662 "check" : [
14663 "perm",
14664 "/vms/{vmid}",
14665 [
14666 "VM.Config.Network"
14667 ]
14668 ]
7aacca6f
DM
14669 },
14670 "protected" : 1,
44660702
DM
14671 "returns" : {
14672 "type" : "null"
14673 }
56122987
DM
14674 }
14675 },
56122987 14676 "leaf" : 1,
44660702
DM
14677 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
14678 "text" : "{cidr}"
56122987
DM
14679 }
14680 ],
14681 "info" : {
44660702
DM
14682 "DELETE" : {
14683 "description" : "Delete IPSet",
14684 "method" : "DELETE",
14685 "name" : "delete_ipset",
14686 "parameters" : {
14687 "additionalProperties" : 0,
14688 "properties" : {
14689 "name" : {
14690 "description" : "IP set name.",
14691 "maxLength" : 64,
14692 "minLength" : 2,
14693 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14694 "type" : "string"
14695 },
14696 "node" : {
14697 "description" : "The cluster node name.",
14698 "format" : "pve-node",
14699 "type" : "string"
14700 },
14701 "vmid" : {
14702 "description" : "The (unique) ID of the VM.",
14703 "format" : "pve-vmid",
14704 "minimum" : 1,
4bd7df8b 14705 "type" : "integer",
2c0dde61 14706 "typetext" : "integer (1 - N)"
44660702
DM
14707 }
14708 }
14709 },
14710 "permissions" : {
14711 "check" : [
14712 "perm",
14713 "/vms/{vmid}",
14714 [
14715 "VM.Config.Network"
14716 ]
14717 ]
14718 },
14719 "protected" : 1,
14720 "returns" : {
14721 "type" : "null"
14722 }
14723 },
56122987 14724 "GET" : {
7aacca6f 14725 "description" : "List IPSet content",
44660702
DM
14726 "method" : "GET",
14727 "name" : "get_ipset",
7aacca6f
DM
14728 "parameters" : {
14729 "additionalProperties" : 0,
14730 "properties" : {
14731 "name" : {
14732 "description" : "IP set name.",
44660702 14733 "maxLength" : 64,
7aacca6f 14734 "minLength" : 2,
44660702
DM
14735 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14736 "type" : "string"
7aacca6f
DM
14737 },
14738 "node" : {
7aacca6f 14739 "description" : "The cluster node name.",
44660702 14740 "format" : "pve-node",
7aacca6f
DM
14741 "type" : "string"
14742 },
14743 "vmid" : {
14744 "description" : "The (unique) ID of the VM.",
44660702 14745 "format" : "pve-vmid",
7aacca6f 14746 "minimum" : 1,
4bd7df8b 14747 "type" : "integer",
2c0dde61 14748 "typetext" : "integer (1 - N)"
56122987 14749 }
7aacca6f
DM
14750 }
14751 },
7aacca6f
DM
14752 "permissions" : {
14753 "check" : [
14754 "perm",
14755 "/vms/{vmid}",
14756 [
14757 "VM.Audit"
14758 ]
14759 ]
14760 },
14761 "returns" : {
56122987
DM
14762 "items" : {
14763 "properties" : {
14764 "cidr" : {
14765 "type" : "string"
14766 },
44660702
DM
14767 "comment" : {
14768 "optional" : 1,
14769 "type" : "string"
14770 },
56122987 14771 "digest" : {
56122987 14772 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 14773 "maxLength" : 40,
7aacca6f 14774 "optional" : 0,
56122987 14775 "type" : "string"
7aacca6f
DM
14776 },
14777 "nomatch" : {
44660702
DM
14778 "optional" : 1,
14779 "type" : "boolean"
56122987 14780 }
44660702
DM
14781 },
14782 "type" : "object"
56122987 14783 },
7aacca6f
DM
14784 "links" : [
14785 {
44660702
DM
14786 "href" : "{cidr}",
14787 "rel" : "child"
56122987 14788 }
44660702
DM
14789 ],
14790 "type" : "array"
14791 }
56122987 14792 },
7aacca6f
DM
14793 "POST" : {
14794 "description" : "Add IP or Network to IPSet.",
44660702 14795 "method" : "POST",
7aacca6f 14796 "name" : "create_ip",
56122987 14797 "parameters" : {
44660702 14798 "additionalProperties" : 0,
56122987 14799 "properties" : {
44660702
DM
14800 "cidr" : {
14801 "description" : "Network/IP specification in CIDR format.",
14802 "format" : "IPorCIDRorAlias",
14803 "type" : "string"
14804 },
14805 "comment" : {
14806 "optional" : 1,
14807 "type" : "string"
56122987
DM
14808 },
14809 "name" : {
56122987 14810 "description" : "IP set name.",
44660702 14811 "maxLength" : 64,
7aacca6f 14812 "minLength" : 2,
44660702 14813 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 14814 "type" : "string"
56122987 14815 },
7aacca6f 14816 "node" : {
7aacca6f 14817 "description" : "The cluster node name.",
44660702 14818 "format" : "pve-node",
56122987
DM
14819 "type" : "string"
14820 },
44660702
DM
14821 "nomatch" : {
14822 "optional" : 1,
14823 "type" : "boolean"
7aacca6f
DM
14824 },
14825 "vmid" : {
44660702 14826 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14827 "format" : "pve-vmid",
14828 "minimum" : 1,
4bd7df8b 14829 "type" : "integer",
2c0dde61 14830 "typetext" : "integer (1 - N)"
56122987 14831 }
44660702
DM
14832 }
14833 },
14834 "permissions" : {
14835 "check" : [
14836 "perm",
14837 "/vms/{vmid}",
14838 [
14839 "VM.Config.Network"
14840 ]
14841 ]
14842 },
14843 "protected" : 1,
14844 "returns" : {
14845 "type" : "null"
14846 }
14847 }
14848 },
14849 "leaf" : 0,
14850 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
14851 "text" : "{name}"
14852 }
14853 ],
14854 "info" : {
14855 "GET" : {
14856 "description" : "List IPSets",
14857 "method" : "GET",
14858 "name" : "ipset_index",
14859 "parameters" : {
14860 "additionalProperties" : 0,
14861 "properties" : {
14862 "node" : {
14863 "description" : "The cluster node name.",
14864 "format" : "pve-node",
14865 "type" : "string"
14866 },
14867 "vmid" : {
14868 "description" : "The (unique) ID of the VM.",
14869 "format" : "pve-vmid",
14870 "minimum" : 1,
4bd7df8b 14871 "type" : "integer",
2c0dde61 14872 "typetext" : "integer (1 - N)"
44660702
DM
14873 }
14874 }
14875 },
14876 "permissions" : {
14877 "check" : [
14878 "perm",
14879 "/vms/{vmid}",
14880 [
14881 "VM.Audit"
14882 ]
14883 ]
14884 },
14885 "returns" : {
14886 "items" : {
14887 "properties" : {
14888 "comment" : {
14889 "optional" : 1,
14890 "type" : "string"
14891 },
14892 "digest" : {
14893 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14894 "maxLength" : 40,
14895 "optional" : 0,
14896 "type" : "string"
7aacca6f 14897 },
44660702
DM
14898 "name" : {
14899 "description" : "IP set name.",
14900 "maxLength" : 64,
14901 "minLength" : 2,
14902 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14903 "type" : "string"
14904 }
14905 },
14906 "type" : "object"
14907 },
14908 "links" : [
14909 {
14910 "href" : "{name}",
14911 "rel" : "child"
14912 }
14913 ],
14914 "type" : "array"
14915 }
14916 },
14917 "POST" : {
14918 "description" : "Create new IPSet",
14919 "method" : "POST",
14920 "name" : "create_ipset",
14921 "parameters" : {
14922 "additionalProperties" : 0,
14923 "properties" : {
14924 "comment" : {
14925 "optional" : 1,
14926 "type" : "string"
14927 },
14928 "digest" : {
14929 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14930 "maxLength" : 40,
14931 "optional" : 1,
14932 "type" : "string"
56122987 14933 },
44660702
DM
14934 "name" : {
14935 "description" : "IP set name.",
14936 "maxLength" : 64,
14937 "minLength" : 2,
14938 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14939 "type" : "string"
14940 },
14941 "node" : {
14942 "description" : "The cluster node name.",
14943 "format" : "pve-node",
14944 "type" : "string"
7aacca6f 14945 },
44660702
DM
14946 "rename" : {
14947 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
14948 "maxLength" : 64,
14949 "minLength" : 2,
14950 "optional" : 1,
14951 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14952 "type" : "string"
14953 },
14954 "vmid" : {
14955 "description" : "The (unique) ID of the VM.",
14956 "format" : "pve-vmid",
14957 "minimum" : 1,
4bd7df8b 14958 "type" : "integer",
2c0dde61 14959 "typetext" : "integer (1 - N)"
44660702 14960 }
56122987 14961 }
44660702
DM
14962 },
14963 "permissions" : {
14964 "check" : [
14965 "perm",
14966 "/vms/{vmid}",
14967 [
14968 "VM.Config.Network"
14969 ]
14970 ]
14971 },
14972 "protected" : 1,
14973 "returns" : {
14974 "type" : "null"
56122987
DM
14975 }
14976 }
44660702
DM
14977 },
14978 "leaf" : 0,
14979 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
14980 "text" : "ipset"
56122987
DM
14981 },
14982 {
56122987 14983 "info" : {
7aacca6f 14984 "GET" : {
44660702 14985 "description" : "Get VM firewall options.",
7aacca6f 14986 "method" : "GET",
44660702
DM
14987 "name" : "get_options",
14988 "parameters" : {
14989 "additionalProperties" : 0,
14990 "properties" : {
14991 "node" : {
14992 "description" : "The cluster node name.",
14993 "format" : "pve-node",
14994 "type" : "string"
14995 },
14996 "vmid" : {
14997 "description" : "The (unique) ID of the VM.",
14998 "format" : "pve-vmid",
14999 "minimum" : 1,
4bd7df8b 15000 "type" : "integer",
2c0dde61 15001 "typetext" : "integer (1 - N)"
44660702
DM
15002 }
15003 }
15004 },
15005 "permissions" : {
15006 "check" : [
15007 "perm",
15008 "/vms/{vmid}",
15009 [
15010 "VM.Audit"
15011 ]
15012 ]
15013 },
15014 "proxyto" : "node",
56122987 15015 "returns" : {
56122987 15016 "properties" : {
44660702
DM
15017 "dhcp" : {
15018 "description" : "Enable DHCP.",
15019 "optional" : 1,
15020 "type" : "boolean"
15021 },
15022 "enable" : {
15023 "description" : "Enable/disable firewall rules.",
15024 "optional" : 1,
15025 "type" : "boolean"
15026 },
15027 "ipfilter" : {
15028 "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 15029 "optional" : 1,
44660702
DM
15030 "type" : "boolean"
15031 },
15032 "log_level_in" : {
7aacca6f
DM
15033 "description" : "Log level for incoming traffic.",
15034 "enum" : [
15035 "emerg",
15036 "alert",
15037 "crit",
15038 "err",
15039 "warning",
15040 "notice",
15041 "info",
15042 "debug",
15043 "nolog"
44660702
DM
15044 ],
15045 "optional" : 1,
15046 "type" : "string"
56122987 15047 },
44660702
DM
15048 "log_level_out" : {
15049 "description" : "Log level for outgoing traffic.",
56122987 15050 "enum" : [
44660702
DM
15051 "emerg",
15052 "alert",
15053 "crit",
15054 "err",
15055 "warning",
15056 "notice",
15057 "info",
15058 "debug",
15059 "nolog"
7aacca6f 15060 ],
7aacca6f
DM
15061 "optional" : 1,
15062 "type" : "string"
56122987 15063 },
44660702
DM
15064 "macfilter" : {
15065 "description" : "Enable/disable MAC address filter.",
15066 "optional" : 1,
15067 "type" : "boolean"
7aacca6f 15068 },
44660702
DM
15069 "ndp" : {
15070 "description" : "Enable NDP.",
56122987 15071 "optional" : 1,
44660702 15072 "type" : "boolean"
56122987
DM
15073 },
15074 "policy_in" : {
7aacca6f 15075 "description" : "Input policy.",
56122987
DM
15076 "enum" : [
15077 "ACCEPT",
15078 "REJECT",
15079 "DROP"
15080 ],
7aacca6f 15081 "optional" : 1,
44660702 15082 "type" : "string"
56122987 15083 },
44660702
DM
15084 "policy_out" : {
15085 "description" : "Output policy.",
56122987 15086 "enum" : [
44660702
DM
15087 "ACCEPT",
15088 "REJECT",
15089 "DROP"
56122987 15090 ],
7aacca6f 15091 "optional" : 1,
56122987
DM
15092 "type" : "string"
15093 },
44660702
DM
15094 "radv" : {
15095 "description" : "Allow sending Router Advertisement.",
56122987 15096 "optional" : 1,
7aacca6f
DM
15097 "type" : "boolean"
15098 }
7aacca6f 15099 },
44660702
DM
15100 "type" : "object"
15101 }
7aacca6f
DM
15102 },
15103 "PUT" : {
44660702
DM
15104 "description" : "Set Firewall options.",
15105 "method" : "PUT",
7aacca6f
DM
15106 "name" : "set_options",
15107 "parameters" : {
44660702 15108 "additionalProperties" : 0,
7aacca6f 15109 "properties" : {
44660702
DM
15110 "delete" : {
15111 "description" : "A list of settings you want to delete.",
15112 "format" : "pve-configid-list",
15113 "optional" : 1,
15114 "type" : "string"
15115 },
15116 "dhcp" : {
15117 "description" : "Enable DHCP.",
15118 "optional" : 1,
15119 "type" : "boolean"
15120 },
15121 "digest" : {
15122 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15123 "maxLength" : 40,
15124 "optional" : 1,
15125 "type" : "string"
15126 },
7aacca6f
DM
15127 "enable" : {
15128 "description" : "Enable/disable firewall rules.",
56122987 15129 "optional" : 1,
7aacca6f 15130 "type" : "boolean"
56122987 15131 },
44660702
DM
15132 "ipfilter" : {
15133 "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.",
15134 "optional" : 1,
15135 "type" : "boolean"
15136 },
15137 "log_level_in" : {
15138 "description" : "Log level for incoming traffic.",
56122987
DM
15139 "enum" : [
15140 "emerg",
15141 "alert",
15142 "crit",
15143 "err",
15144 "warning",
15145 "notice",
15146 "info",
15147 "debug",
15148 "nolog"
15149 ],
56122987 15150 "optional" : 1,
44660702 15151 "type" : "string"
56122987 15152 },
44660702
DM
15153 "log_level_out" : {
15154 "description" : "Log level for outgoing traffic.",
56122987
DM
15155 "enum" : [
15156 "emerg",
15157 "alert",
15158 "crit",
15159 "err",
15160 "warning",
15161 "notice",
15162 "info",
15163 "debug",
15164 "nolog"
15165 ],
44660702
DM
15166 "optional" : 1,
15167 "type" : "string"
56122987 15168 },
44660702
DM
15169 "macfilter" : {
15170 "description" : "Enable/disable MAC address filter.",
15171 "optional" : 1,
15172 "type" : "boolean"
15173 },
15174 "ndp" : {
15175 "description" : "Enable NDP.",
56122987 15176 "optional" : 1,
56122987
DM
15177 "type" : "boolean"
15178 },
7aacca6f
DM
15179 "node" : {
15180 "description" : "The cluster node name.",
44660702
DM
15181 "format" : "pve-node",
15182 "type" : "string"
7aacca6f 15183 },
44660702
DM
15184 "policy_in" : {
15185 "description" : "Input policy.",
15186 "enum" : [
15187 "ACCEPT",
15188 "REJECT",
15189 "DROP"
15190 ],
7aacca6f 15191 "optional" : 1,
44660702 15192 "type" : "string"
7aacca6f 15193 },
44660702
DM
15194 "policy_out" : {
15195 "description" : "Output policy.",
56122987 15196 "enum" : [
7aacca6f
DM
15197 "ACCEPT",
15198 "REJECT",
15199 "DROP"
56122987
DM
15200 ],
15201 "optional" : 1,
56122987 15202 "type" : "string"
7aacca6f 15203 },
44660702
DM
15204 "radv" : {
15205 "description" : "Allow sending Router Advertisement.",
7aacca6f 15206 "optional" : 1,
44660702
DM
15207 "type" : "boolean"
15208 },
15209 "vmid" : {
15210 "description" : "The (unique) ID of the VM.",
15211 "format" : "pve-vmid",
15212 "minimum" : 1,
4bd7df8b 15213 "type" : "integer",
2c0dde61 15214 "typetext" : "integer (1 - N)"
56122987 15215 }
44660702 15216 }
56122987 15217 },
7aacca6f
DM
15218 "permissions" : {
15219 "check" : [
15220 "perm",
15221 "/vms/{vmid}",
15222 [
15223 "VM.Config.Network"
15224 ]
15225 ]
15226 },
44660702
DM
15227 "protected" : 1,
15228 "proxyto" : "node",
7aacca6f
DM
15229 "returns" : {
15230 "type" : "null"
56122987
DM
15231 }
15232 }
15233 },
44660702 15234 "leaf" : 1,
7aacca6f 15235 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 15236 "text" : "options"
56122987
DM
15237 },
15238 {
56122987
DM
15239 "info" : {
15240 "GET" : {
44660702 15241 "description" : "Read firewall log",
56122987 15242 "method" : "GET",
7aacca6f 15243 "name" : "log",
56122987
DM
15244 "parameters" : {
15245 "additionalProperties" : 0,
15246 "properties" : {
44660702
DM
15247 "limit" : {
15248 "minimum" : 0,
15249 "optional" : 1,
4bd7df8b 15250 "type" : "integer",
2c0dde61 15251 "typetext" : "integer (0 - N)"
44660702 15252 },
56122987
DM
15253 "node" : {
15254 "description" : "The cluster node name.",
44660702
DM
15255 "format" : "pve-node",
15256 "type" : "string"
56122987 15257 },
44660702
DM
15258 "start" : {
15259 "minimum" : 0,
7aacca6f 15260 "optional" : 1,
4bd7df8b 15261 "type" : "integer",
2c0dde61 15262 "typetext" : "integer (0 - N)"
56122987
DM
15263 },
15264 "vmid" : {
44660702 15265 "description" : "The (unique) ID of the VM.",
7aacca6f 15266 "format" : "pve-vmid",
56122987 15267 "minimum" : 1,
4bd7df8b 15268 "type" : "integer",
2c0dde61 15269 "typetext" : "integer (1 - N)"
56122987
DM
15270 }
15271 }
15272 },
44660702
DM
15273 "permissions" : {
15274 "check" : [
15275 "perm",
15276 "/vms/{vmid}",
15277 [
15278 "VM.Console"
15279 ]
15280 ]
15281 },
56122987 15282 "protected" : 1,
44660702 15283 "proxyto" : "node",
7aacca6f
DM
15284 "returns" : {
15285 "items" : {
15286 "properties" : {
7aacca6f
DM
15287 "n" : {
15288 "description" : "Line number",
15289 "type" : "integer"
44660702
DM
15290 },
15291 "t" : {
15292 "description" : "Line text",
15293 "type" : "string"
7aacca6f
DM
15294 }
15295 },
15296 "type" : "object"
15297 },
15298 "type" : "array"
44660702 15299 }
56122987
DM
15300 }
15301 },
7aacca6f 15302 "leaf" : 1,
44660702
DM
15303 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
15304 "text" : "log"
56122987
DM
15305 },
15306 {
56122987
DM
15307 "info" : {
15308 "GET" : {
7aacca6f 15309 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
15310 "method" : "GET",
15311 "name" : "refs",
56122987 15312 "parameters" : {
7aacca6f 15313 "additionalProperties" : 0,
56122987 15314 "properties" : {
44660702
DM
15315 "node" : {
15316 "description" : "The cluster node name.",
15317 "format" : "pve-node",
15318 "type" : "string"
7aacca6f 15319 },
56122987 15320 "type" : {
44660702 15321 "description" : "Only list references of specified type.",
56122987
DM
15322 "enum" : [
15323 "alias",
15324 "ipset"
15325 ],
44660702
DM
15326 "optional" : 1,
15327 "type" : "string"
56122987 15328 },
44660702
DM
15329 "vmid" : {
15330 "description" : "The (unique) ID of the VM.",
15331 "format" : "pve-vmid",
15332 "minimum" : 1,
4bd7df8b 15333 "type" : "integer",
2c0dde61 15334 "typetext" : "integer (1 - N)"
56122987 15335 }
7aacca6f 15336 }
56122987 15337 },
44660702
DM
15338 "permissions" : {
15339 "check" : [
15340 "perm",
15341 "/vms/{vmid}",
15342 [
15343 "VM.Audit"
15344 ]
15345 ]
15346 },
56122987 15347 "returns" : {
56122987 15348 "items" : {
56122987 15349 "properties" : {
44660702
DM
15350 "comment" : {
15351 "optional" : 1,
15352 "type" : "string"
15353 },
15354 "name" : {
15355 "type" : "string"
15356 },
56122987 15357 "type" : {
56122987
DM
15358 "enum" : [
15359 "alias",
15360 "ipset"
44660702 15361 ],
7aacca6f 15362 "type" : "string"
56122987 15363 }
44660702
DM
15364 },
15365 "type" : "object"
15366 },
15367 "type" : "array"
56122987
DM
15368 }
15369 }
15370 },
44660702 15371 "leaf" : 1,
7aacca6f 15372 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 15373 "text" : "refs"
56122987
DM
15374 }
15375 ],
56122987
DM
15376 "info" : {
15377 "GET" : {
7aacca6f 15378 "description" : "Directory index.",
44660702
DM
15379 "method" : "GET",
15380 "name" : "index",
56122987 15381 "parameters" : {
44660702 15382 "additionalProperties" : 0,
56122987 15383 "properties" : {
56122987 15384 "node" : {
44660702 15385 "description" : "The cluster node name.",
56122987 15386 "format" : "pve-node",
44660702
DM
15387 "type" : "string"
15388 },
15389 "vmid" : {
15390 "description" : "The (unique) ID of the VM.",
15391 "format" : "pve-vmid",
15392 "minimum" : 1,
4bd7df8b 15393 "type" : "integer",
2c0dde61 15394 "typetext" : "integer (1 - N)"
56122987 15395 }
44660702
DM
15396 }
15397 },
15398 "permissions" : {
15399 "user" : "all"
56122987
DM
15400 },
15401 "returns" : {
7aacca6f 15402 "items" : {
44660702
DM
15403 "properties" : {},
15404 "type" : "object"
7aacca6f 15405 },
56122987
DM
15406 "links" : [
15407 {
44660702
DM
15408 "href" : "{name}",
15409 "rel" : "child"
56122987 15410 }
44660702
DM
15411 ],
15412 "type" : "array"
56122987
DM
15413 }
15414 }
15415 },
44660702 15416 "leaf" : 0,
7aacca6f 15417 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 15418 "text" : "firewall"
56122987
DM
15419 },
15420 {
56122987
DM
15421 "info" : {
15422 "GET" : {
56122987 15423 "description" : "Read VM RRD statistics (returns PNG)",
44660702 15424 "method" : "GET",
7aacca6f 15425 "name" : "rrd",
56122987 15426 "parameters" : {
7aacca6f 15427 "additionalProperties" : 0,
56122987 15428 "properties" : {
44660702
DM
15429 "cf" : {
15430 "description" : "The RRD consolidation function",
15431 "enum" : [
15432 "AVERAGE",
15433 "MAX"
15434 ],
15435 "optional" : 1,
15436 "type" : "string"
15437 },
15438 "ds" : {
15439 "description" : "The list of datasources you want to display.",
15440 "format" : "pve-configid-list",
15441 "type" : "string"
15442 },
7aacca6f
DM
15443 "node" : {
15444 "description" : "The cluster node name.",
44660702
DM
15445 "format" : "pve-node",
15446 "type" : "string"
56122987
DM
15447 },
15448 "timeframe" : {
15449 "description" : "Specify the time frame you are interested in.",
15450 "enum" : [
15451 "hour",
15452 "day",
15453 "week",
15454 "month",
15455 "year"
7aacca6f 15456 ],
44660702 15457 "type" : "string"
7aacca6f
DM
15458 },
15459 "vmid" : {
44660702 15460 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15461 "format" : "pve-vmid",
15462 "minimum" : 1,
4bd7df8b 15463 "type" : "integer",
2c0dde61 15464 "typetext" : "integer (1 - N)"
56122987 15465 }
7aacca6f
DM
15466 }
15467 },
15468 "permissions" : {
15469 "check" : [
15470 "perm",
15471 "/vms/{vmid}",
15472 [
15473 "VM.Audit"
15474 ]
15475 ]
56122987 15476 },
44660702 15477 "protected" : 1,
7aacca6f
DM
15478 "returns" : {
15479 "properties" : {
15480 "filename" : {
15481 "type" : "string"
15482 }
15483 },
15484 "type" : "object"
15485 }
56122987 15486 }
7aacca6f 15487 },
44660702 15488 "leaf" : 1,
7aacca6f 15489 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 15490 "text" : "rrd"
56122987
DM
15491 },
15492 {
56122987
DM
15493 "info" : {
15494 "GET" : {
44660702
DM
15495 "description" : "Read VM RRD statistics",
15496 "method" : "GET",
15497 "name" : "rrddata",
56122987 15498 "parameters" : {
7aacca6f 15499 "additionalProperties" : 0,
56122987 15500 "properties" : {
44660702
DM
15501 "cf" : {
15502 "description" : "The RRD consolidation function",
15503 "enum" : [
15504 "AVERAGE",
15505 "MAX"
15506 ],
15507 "optional" : 1,
15508 "type" : "string"
15509 },
7aacca6f 15510 "node" : {
44660702 15511 "description" : "The cluster node name.",
7aacca6f 15512 "format" : "pve-node",
44660702 15513 "type" : "string"
7aacca6f 15514 },
56122987
DM
15515 "timeframe" : {
15516 "description" : "Specify the time frame you are interested in.",
15517 "enum" : [
15518 "hour",
15519 "day",
15520 "week",
15521 "month",
15522 "year"
44660702
DM
15523 ],
15524 "type" : "string"
7aacca6f
DM
15525 },
15526 "vmid" : {
15527 "description" : "The (unique) ID of the VM.",
44660702 15528 "format" : "pve-vmid",
7aacca6f 15529 "minimum" : 1,
4bd7df8b 15530 "type" : "integer",
2c0dde61 15531 "typetext" : "integer (1 - N)"
56122987 15532 }
56122987
DM
15533 }
15534 },
56122987
DM
15535 "permissions" : {
15536 "check" : [
15537 "perm",
15538 "/vms/{vmid}",
15539 [
15540 "VM.Audit"
15541 ]
15542 ]
15543 },
7aacca6f
DM
15544 "protected" : 1,
15545 "returns" : {
7aacca6f
DM
15546 "items" : {
15547 "properties" : {},
15548 "type" : "object"
44660702
DM
15549 },
15550 "type" : "array"
15551 }
56122987
DM
15552 }
15553 },
44660702 15554 "leaf" : 1,
7aacca6f 15555 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 15556 "text" : "rrddata"
56122987
DM
15557 },
15558 {
15559 "info" : {
15560 "POST" : {
15561 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
15562 "method" : "POST",
15563 "name" : "vncproxy",
7aacca6f 15564 "parameters" : {
44660702 15565 "additionalProperties" : 0,
7aacca6f 15566 "properties" : {
44660702
DM
15567 "node" : {
15568 "description" : "The cluster node name.",
15569 "format" : "pve-node",
15570 "type" : "string"
15571 },
7aacca6f 15572 "vmid" : {
44660702 15573 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15574 "format" : "pve-vmid",
15575 "minimum" : 1,
4bd7df8b 15576 "type" : "integer",
2c0dde61 15577 "typetext" : "integer (1 - N)"
7aacca6f
DM
15578 },
15579 "websocket" : {
44660702 15580 "description" : "use websocket instead of standard VNC.",
7aacca6f 15581 "optional" : 1,
44660702 15582 "type" : "boolean"
7aacca6f 15583 }
44660702 15584 }
7aacca6f 15585 },
56122987
DM
15586 "permissions" : {
15587 "check" : [
15588 "perm",
15589 "/vms/{vmid}",
15590 [
15591 "VM.Console"
15592 ]
15593 ]
15594 },
44660702 15595 "protected" : 1,
56122987 15596 "returns" : {
7aacca6f 15597 "additionalProperties" : 0,
56122987 15598 "properties" : {
7aacca6f 15599 "cert" : {
56122987
DM
15600 "type" : "string"
15601 },
44660702
DM
15602 "port" : {
15603 "type" : "integer"
56122987 15604 },
44660702 15605 "ticket" : {
56122987
DM
15606 "type" : "string"
15607 },
44660702 15608 "upid" : {
56122987
DM
15609 "type" : "string"
15610 },
44660702
DM
15611 "user" : {
15612 "type" : "string"
56122987 15613 }
7aacca6f 15614 }
56122987
DM
15615 }
15616 }
15617 },
44660702 15618 "leaf" : 1,
56122987 15619 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 15620 "text" : "vncproxy"
56122987
DM
15621 },
15622 {
56122987
DM
15623 "info" : {
15624 "GET" : {
44660702
DM
15625 "description" : "Opens a weksocket for VNC traffic.",
15626 "method" : "GET",
15627 "name" : "vncwebsocket",
56122987 15628 "parameters" : {
44660702 15629 "additionalProperties" : 0,
56122987 15630 "properties" : {
56122987
DM
15631 "node" : {
15632 "description" : "The cluster node name.",
44660702 15633 "format" : "pve-node",
56122987 15634 "type" : "string"
7aacca6f 15635 },
44660702
DM
15636 "port" : {
15637 "description" : "Port number returned by previous vncproxy call.",
15638 "maximum" : 5999,
15639 "minimum" : 5900,
4bd7df8b 15640 "type" : "integer",
2c0dde61 15641 "typetext" : "integer (5900 - 5999)"
44660702 15642 },
7aacca6f
DM
15643 "vmid" : {
15644 "description" : "The (unique) ID of the VM.",
7aacca6f 15645 "format" : "pve-vmid",
44660702 15646 "minimum" : 1,
4bd7df8b 15647 "type" : "integer",
2c0dde61 15648 "typetext" : "integer (1 - N)"
44660702
DM
15649 },
15650 "vncticket" : {
15651 "description" : "Ticket from previous call to vncproxy.",
15652 "maxLength" : 512,
15653 "type" : "string"
56122987 15654 }
44660702 15655 }
7aacca6f 15656 },
7aacca6f
DM
15657 "permissions" : {
15658 "check" : [
15659 "perm",
15660 "/vms/{vmid}",
15661 [
15662 "VM.Console"
15663 ]
15664 ],
15665 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
15666 },
15667 "returns" : {
56122987
DM
15668 "properties" : {
15669 "port" : {
15670 "type" : "string"
15671 }
44660702
DM
15672 },
15673 "type" : "object"
15674 }
56122987
DM
15675 }
15676 },
44660702 15677 "leaf" : 1,
7aacca6f 15678 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 15679 "text" : "vncwebsocket"
56122987
DM
15680 },
15681 {
56122987
DM
15682 "info" : {
15683 "POST" : {
44660702
DM
15684 "description" : "Returns a SPICE configuration to connect to the CT.",
15685 "method" : "POST",
15686 "name" : "spiceproxy",
56122987
DM
15687 "parameters" : {
15688 "additionalProperties" : 0,
15689 "properties" : {
44660702
DM
15690 "node" : {
15691 "description" : "The cluster node name.",
15692 "format" : "pve-node",
15693 "type" : "string"
56122987
DM
15694 },
15695 "proxy" : {
7aacca6f 15696 "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
15697 "format" : "address",
15698 "optional" : 1,
7aacca6f 15699 "type" : "string"
44660702
DM
15700 },
15701 "vmid" : {
15702 "description" : "The (unique) ID of the VM.",
15703 "format" : "pve-vmid",
15704 "minimum" : 1,
4bd7df8b 15705 "type" : "integer",
2c0dde61 15706 "typetext" : "integer (1 - N)"
56122987
DM
15707 }
15708 }
15709 },
56122987
DM
15710 "permissions" : {
15711 "check" : [
15712 "perm",
15713 "/vms/{vmid}",
15714 [
15715 "VM.Console"
15716 ]
15717 ]
15718 },
44660702
DM
15719 "protected" : 1,
15720 "proxyto" : "node",
56122987 15721 "returns" : {
7aacca6f 15722 "additionalProperties" : 1,
44660702 15723 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 15724 "properties" : {
44660702 15725 "host" : {
56122987
DM
15726 "type" : "string"
15727 },
44660702 15728 "password" : {
56122987
DM
15729 "type" : "string"
15730 },
15731 "proxy" : {
15732 "type" : "string"
15733 },
56122987
DM
15734 "tls-port" : {
15735 "type" : "integer"
7aacca6f 15736 },
44660702 15737 "type" : {
7aacca6f 15738 "type" : "string"
56122987 15739 }
7aacca6f
DM
15740 }
15741 }
56122987 15742 }
44660702
DM
15743 },
15744 "leaf" : 1,
15745 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
15746 "text" : "spiceproxy"
56122987
DM
15747 },
15748 {
56122987
DM
15749 "info" : {
15750 "POST" : {
44660702 15751 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 15752 "method" : "POST",
44660702 15753 "name" : "migrate_vm",
56122987 15754 "parameters" : {
44660702 15755 "additionalProperties" : 0,
56122987 15756 "properties" : {
44660702 15757 "force" : {
de0983cb 15758 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702
DM
15759 "optional" : 1,
15760 "type" : "boolean"
15761 },
15762 "node" : {
15763 "description" : "The cluster node name.",
7aacca6f 15764 "format" : "pve-node",
7aacca6f
DM
15765 "type" : "string"
15766 },
56122987 15767 "online" : {
56122987 15768 "description" : "Use online/live migration.",
44660702
DM
15769 "optional" : 1,
15770 "type" : "boolean"
56122987 15771 },
44660702
DM
15772 "target" : {
15773 "description" : "Target node.",
56122987 15774 "format" : "pve-node",
44660702 15775 "type" : "string"
56122987 15776 },
44660702
DM
15777 "vmid" : {
15778 "description" : "The (unique) ID of the VM.",
15779 "format" : "pve-vmid",
15780 "minimum" : 1,
4bd7df8b 15781 "type" : "integer",
2c0dde61 15782 "typetext" : "integer (1 - N)"
56122987 15783 }
44660702 15784 }
7aacca6f 15785 },
56122987
DM
15786 "permissions" : {
15787 "check" : [
15788 "perm",
15789 "/vms/{vmid}",
15790 [
15791 "VM.Migrate"
15792 ]
15793 ]
15794 },
44660702 15795 "protected" : 1,
7aacca6f 15796 "proxyto" : "node",
44660702
DM
15797 "returns" : {
15798 "description" : "the task ID.",
15799 "type" : "string"
15800 }
56122987
DM
15801 }
15802 },
44660702
DM
15803 "leaf" : 1,
15804 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 15805 "text" : "migrate"
56122987
DM
15806 },
15807 {
56122987
DM
15808 "info" : {
15809 "GET" : {
44660702
DM
15810 "description" : "Check if feature for virtual machine is available.",
15811 "method" : "GET",
56122987 15812 "name" : "vm_feature",
56122987 15813 "parameters" : {
7aacca6f 15814 "additionalProperties" : 0,
56122987 15815 "properties" : {
44660702
DM
15816 "feature" : {
15817 "description" : "Feature to check.",
15818 "enum" : [
15819 "snapshot"
15820 ],
15821 "type" : "string"
15822 },
7aacca6f 15823 "node" : {
44660702 15824 "description" : "The cluster node name.",
7aacca6f 15825 "format" : "pve-node",
44660702 15826 "type" : "string"
7aacca6f 15827 },
56122987 15828 "snapname" : {
7aacca6f
DM
15829 "description" : "The name of the snapshot.",
15830 "format" : "pve-configid",
44660702
DM
15831 "maxLength" : 40,
15832 "optional" : 1,
56122987
DM
15833 "type" : "string"
15834 },
15835 "vmid" : {
7aacca6f 15836 "description" : "The (unique) ID of the VM.",
44660702 15837 "format" : "pve-vmid",
7aacca6f 15838 "minimum" : 1,
4bd7df8b 15839 "type" : "integer",
2c0dde61 15840 "typetext" : "integer (1 - N)"
56122987 15841 }
7aacca6f 15842 }
56122987
DM
15843 },
15844 "permissions" : {
15845 "check" : [
15846 "perm",
15847 "/vms/{vmid}",
15848 [
15849 "VM.Audit"
15850 ]
15851 ]
15852 },
44660702 15853 "protected" : 1,
7aacca6f 15854 "proxyto" : "node",
7aacca6f
DM
15855 "returns" : {
15856 "properties" : {
15857 "hasFeature" : {
15858 "type" : "boolean"
15859 }
15860 },
15861 "type" : "object"
15862 }
56122987
DM
15863 }
15864 },
7aacca6f 15865 "leaf" : 1,
44660702
DM
15866 "path" : "/nodes/{node}/lxc/{vmid}/feature",
15867 "text" : "feature"
56122987
DM
15868 },
15869 {
56122987
DM
15870 "info" : {
15871 "POST" : {
44660702
DM
15872 "description" : "Create a Template.",
15873 "method" : "POST",
56122987 15874 "name" : "template",
56122987
DM
15875 "parameters" : {
15876 "additionalProperties" : 0,
15877 "properties" : {
44660702
DM
15878 "experimental" : {
15879 "default" : 0,
15880 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
15881 "type" : "boolean"
7aacca6f
DM
15882 },
15883 "node" : {
7aacca6f 15884 "description" : "The cluster node name.",
44660702 15885 "format" : "pve-node",
7aacca6f 15886 "type" : "string"
56122987 15887 },
44660702
DM
15888 "vmid" : {
15889 "description" : "The (unique) ID of the VM.",
15890 "format" : "pve-vmid",
15891 "minimum" : 1,
4bd7df8b 15892 "type" : "integer",
2c0dde61 15893 "typetext" : "integer (1 - N)"
56122987
DM
15894 }
15895 }
15896 },
56122987 15897 "permissions" : {
56122987
DM
15898 "check" : [
15899 "perm",
15900 "/vms/{vmid}",
15901 [
15902 "VM.Allocate"
15903 ]
44660702
DM
15904 ],
15905 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 15906 },
44660702 15907 "protected" : 1,
7aacca6f
DM
15908 "proxyto" : "node",
15909 "returns" : {
15910 "type" : "null"
56122987
DM
15911 }
15912 }
15913 },
44660702 15914 "leaf" : 1,
7aacca6f 15915 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 15916 "text" : "template"
56122987
DM
15917 },
15918 {
56122987
DM
15919 "info" : {
15920 "POST" : {
44660702
DM
15921 "description" : "Create a container clone/copy",
15922 "method" : "POST",
56122987 15923 "name" : "clone_vm",
7aacca6f
DM
15924 "parameters" : {
15925 "additionalProperties" : 0,
15926 "properties" : {
44660702
DM
15927 "description" : {
15928 "description" : "Description for the new CT.",
7aacca6f 15929 "optional" : 1,
44660702 15930 "type" : "string"
7aacca6f
DM
15931 },
15932 "experimental" : {
7aacca6f 15933 "default" : 0,
44660702
DM
15934 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
15935 "type" : "boolean"
7aacca6f 15936 },
44660702
DM
15937 "full" : {
15938 "default" : 0,
15939 "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 15940 "optional" : 1,
44660702 15941 "type" : "boolean"
7aacca6f
DM
15942 },
15943 "hostname" : {
44660702 15944 "description" : "Set a hostname for the new CT.",
7aacca6f 15945 "format" : "dns-name",
7aacca6f 15946 "optional" : 1,
44660702 15947 "type" : "string"
7aacca6f 15948 },
44660702
DM
15949 "newid" : {
15950 "description" : "VMID for the clone.",
7aacca6f 15951 "format" : "pve-vmid",
44660702 15952 "minimum" : 1,
4bd7df8b 15953 "type" : "integer",
2c0dde61 15954 "typetext" : "integer (1 - N)"
7aacca6f
DM
15955 },
15956 "node" : {
15957 "description" : "The cluster node name.",
44660702
DM
15958 "format" : "pve-node",
15959 "type" : "string"
15960 },
15961 "pool" : {
15962 "description" : "Add the new CT to the specified pool.",
15963 "format" : "pve-poolid",
15964 "optional" : 1,
15965 "type" : "string"
7aacca6f
DM
15966 },
15967 "snapname" : {
44660702 15968 "description" : "The name of the snapshot.",
7aacca6f
DM
15969 "format" : "pve-configid",
15970 "maxLength" : 40,
7aacca6f 15971 "optional" : 1,
44660702 15972 "type" : "string"
7aacca6f
DM
15973 },
15974 "storage" : {
44660702 15975 "description" : "Target storage for full clone.",
7aacca6f
DM
15976 "format" : "pve-storage-id",
15977 "optional" : 1,
7aacca6f 15978 "requires" : "full",
44660702
DM
15979 "type" : "string"
15980 },
15981 "vmid" : {
15982 "description" : "The (unique) ID of the VM.",
15983 "format" : "pve-vmid",
15984 "minimum" : 1,
4bd7df8b 15985 "type" : "integer",
2c0dde61 15986 "typetext" : "integer (1 - N)"
7aacca6f
DM
15987 }
15988 }
56122987
DM
15989 },
15990 "permissions" : {
56122987
DM
15991 "check" : [
15992 "and",
15993 [
15994 "perm",
15995 "/vms/{vmid}",
15996 [
15997 "VM.Clone"
15998 ]
15999 ],
16000 [
16001 "or",
16002 [
16003 "perm",
16004 "/vms/{newid}",
16005 [
16006 "VM.Allocate"
16007 ]
16008 ],
16009 [
16010 "perm",
16011 "/pool/{pool}",
16012 [
16013 "VM.Allocate"
16014 ],
16015 "require_param",
16016 "pool"
16017 ]
16018 ]
7aacca6f
DM
16019 ],
16020 "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 16021 },
44660702 16022 "protected" : 1,
56122987 16023 "proxyto" : "node",
7aacca6f
DM
16024 "returns" : {
16025 "type" : "string"
56122987
DM
16026 }
16027 }
44660702
DM
16028 },
16029 "leaf" : 1,
16030 "path" : "/nodes/{node}/lxc/{vmid}/clone",
16031 "text" : "clone"
56122987
DM
16032 },
16033 {
56122987
DM
16034 "info" : {
16035 "PUT" : {
de0983cb 16036 "description" : "Resize a container mount point.",
44660702
DM
16037 "method" : "PUT",
16038 "name" : "resize_vm",
56122987 16039 "parameters" : {
44660702 16040 "additionalProperties" : 0,
56122987 16041 "properties" : {
44660702
DM
16042 "digest" : {
16043 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16044 "maxLength" : 40,
16045 "optional" : 1,
16046 "type" : "string"
56122987
DM
16047 },
16048 "disk" : {
7aacca6f 16049 "description" : "The disk you want to resize.",
56122987
DM
16050 "enum" : [
16051 "rootfs",
16052 "mp0",
16053 "mp1",
16054 "mp2",
16055 "mp3",
16056 "mp4",
16057 "mp5",
16058 "mp6",
16059 "mp7",
16060 "mp8",
16061 "mp9"
16062 ],
7aacca6f
DM
16063 "type" : "string"
16064 },
44660702
DM
16065 "node" : {
16066 "description" : "The cluster node name.",
16067 "format" : "pve-node",
16068 "type" : "string"
16069 },
16070 "size" : {
16071 "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.",
16072 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16073 "type" : "string"
16074 },
16075 "vmid" : {
16076 "description" : "The (unique) ID of the VM.",
16077 "format" : "pve-vmid",
16078 "minimum" : 1,
4bd7df8b 16079 "type" : "integer",
2c0dde61 16080 "typetext" : "integer (1 - N)"
56122987 16081 }
44660702 16082 }
56122987 16083 },
7aacca6f
DM
16084 "permissions" : {
16085 "check" : [
16086 "perm",
16087 "/vms/{vmid}",
16088 [
16089 "VM.Config.Disk"
16090 ],
16091 "any",
16092 1
16093 ]
16094 },
44660702 16095 "protected" : 1,
7aacca6f
DM
16096 "proxyto" : "node",
16097 "returns" : {
16098 "description" : "the task ID.",
16099 "type" : "string"
16100 }
56122987
DM
16101 }
16102 },
44660702 16103 "leaf" : 1,
7aacca6f 16104 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 16105 "text" : "resize"
56122987
DM
16106 }
16107 ],
16108 "info" : {
16109 "DELETE" : {
7aacca6f 16110 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
16111 "method" : "DELETE",
16112 "name" : "destroy_vm",
16113 "parameters" : {
16114 "additionalProperties" : 0,
16115 "properties" : {
16116 "node" : {
16117 "description" : "The cluster node name.",
16118 "format" : "pve-node",
16119 "type" : "string"
16120 },
16121 "vmid" : {
16122 "description" : "The (unique) ID of the VM.",
16123 "format" : "pve-vmid",
16124 "minimum" : 1,
4bd7df8b 16125 "type" : "integer",
2c0dde61 16126 "typetext" : "integer (1 - N)"
44660702
DM
16127 }
16128 }
16129 },
7aacca6f
DM
16130 "permissions" : {
16131 "check" : [
16132 "perm",
16133 "/vms/{vmid}",
16134 [
16135 "VM.Allocate"
16136 ]
16137 ]
16138 },
44660702
DM
16139 "protected" : 1,
16140 "proxyto" : "node",
56122987
DM
16141 "returns" : {
16142 "type" : "string"
44660702 16143 }
56122987
DM
16144 },
16145 "GET" : {
7aacca6f 16146 "description" : "Directory index",
44660702 16147 "method" : "GET",
7aacca6f 16148 "name" : "vmdiridx",
56122987 16149 "parameters" : {
7aacca6f 16150 "additionalProperties" : 0,
56122987
DM
16151 "properties" : {
16152 "node" : {
7aacca6f 16153 "description" : "The cluster node name.",
44660702
DM
16154 "format" : "pve-node",
16155 "type" : "string"
56122987
DM
16156 },
16157 "vmid" : {
16158 "description" : "The (unique) ID of the VM.",
56122987 16159 "format" : "pve-vmid",
44660702 16160 "minimum" : 1,
4bd7df8b 16161 "type" : "integer",
2c0dde61 16162 "typetext" : "integer (1 - N)"
56122987 16163 }
7aacca6f 16164 }
56122987 16165 },
56122987
DM
16166 "permissions" : {
16167 "user" : "all"
44660702
DM
16168 },
16169 "proxyto" : "node",
16170 "returns" : {
16171 "items" : {
16172 "properties" : {
16173 "subdir" : {
16174 "type" : "string"
16175 }
16176 },
16177 "type" : "object"
16178 },
16179 "links" : [
16180 {
16181 "href" : "{subdir}",
16182 "rel" : "child"
16183 }
16184 ],
16185 "type" : "array"
56122987
DM
16186 }
16187 }
44660702
DM
16188 },
16189 "leaf" : 0,
16190 "path" : "/nodes/{node}/lxc/{vmid}",
16191 "text" : "{vmid}"
56122987
DM
16192 }
16193 ],
56122987 16194 "info" : {
44660702
DM
16195 "GET" : {
16196 "description" : "LXC container index (per node).",
16197 "method" : "GET",
16198 "name" : "vmlist",
16199 "parameters" : {
16200 "additionalProperties" : 0,
16201 "properties" : {
16202 "node" : {
16203 "description" : "The cluster node name.",
16204 "format" : "pve-node",
16205 "type" : "string"
16206 }
16207 }
16208 },
16209 "permissions" : {
16210 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
16211 "user" : "all"
16212 },
16213 "protected" : 1,
16214 "proxyto" : "node",
16215 "returns" : {
16216 "items" : {
16217 "properties" : {},
16218 "type" : "object"
16219 },
16220 "links" : [
16221 {
16222 "href" : "{vmid}",
16223 "rel" : "child"
16224 }
16225 ],
16226 "type" : "array"
16227 }
16228 },
56122987 16229 "POST" : {
44660702 16230 "description" : "Create or restore a container.",
7aacca6f
DM
16231 "method" : "POST",
16232 "name" : "create_vm",
56122987 16233 "parameters" : {
7aacca6f 16234 "additionalProperties" : 0,
56122987 16235 "properties" : {
44660702
DM
16236 "arch" : {
16237 "default" : "amd64",
16238 "description" : "OS architecture type.",
16239 "enum" : [
16240 "amd64",
16241 "i386"
16242 ],
7aacca6f 16243 "optional" : 1,
44660702 16244 "type" : "string"
7aacca6f 16245 },
44660702
DM
16246 "cmode" : {
16247 "default" : "tty",
16248 "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).",
16249 "enum" : [
16250 "shell",
16251 "console",
16252 "tty"
16253 ],
7aacca6f 16254 "optional" : 1,
44660702 16255 "type" : "string"
7aacca6f
DM
16256 },
16257 "console" : {
7aacca6f 16258 "default" : 1,
44660702 16259 "description" : "Attach a console device (/dev/console) to the container.",
56122987 16260 "optional" : 1,
7aacca6f 16261 "type" : "boolean"
56122987 16262 },
de0983cb
DM
16263 "cores" : {
16264 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
16265 "maximum" : 128,
16266 "minimum" : 1,
16267 "optional" : 1,
16268 "type" : "integer",
16269 "typetext" : "integer (1 - 128)"
16270 },
44660702
DM
16271 "cpulimit" : {
16272 "default" : 0,
16273 "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.",
16274 "maximum" : 128,
16275 "minimum" : 0,
56122987 16276 "optional" : 1,
4bd7df8b 16277 "type" : "number",
2c0dde61 16278 "typetext" : "number (0 - 128)"
56122987 16279 },
44660702
DM
16280 "cpuunits" : {
16281 "default" : 1024,
16282 "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.",
16283 "maximum" : 500000,
16284 "minimum" : 0,
56122987 16285 "optional" : 1,
4bd7df8b 16286 "type" : "integer",
2c0dde61 16287 "typetext" : "integer (0 - 500000)"
7aacca6f
DM
16288 },
16289 "description" : {
44660702 16290 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 16291 "optional" : 1,
44660702 16292 "type" : "string"
7aacca6f 16293 },
44660702
DM
16294 "force" : {
16295 "description" : "Allow to overwrite existing container.",
7aacca6f 16296 "optional" : 1,
44660702
DM
16297 "type" : "boolean"
16298 },
16299 "hostname" : {
16300 "description" : "Set a host name for the container.",
16301 "format" : "dns-name",
16302 "maxLength" : 255,
16303 "optional" : 1,
16304 "type" : "string"
16305 },
16306 "ignore-unpack-errors" : {
16307 "description" : "Ignore errors when extracting the template.",
16308 "optional" : 1,
16309 "type" : "boolean"
16310 },
16311 "lock" : {
16312 "description" : "Lock/unlock the VM.",
7aacca6f
DM
16313 "enum" : [
16314 "migrate",
16315 "backup",
16316 "snapshot",
16317 "rollback"
16318 ],
44660702
DM
16319 "optional" : 1,
16320 "type" : "string"
7aacca6f 16321 },
44660702
DM
16322 "memory" : {
16323 "default" : 512,
16324 "description" : "Amount of RAM for the VM in MB.",
16325 "minimum" : 16,
7aacca6f 16326 "optional" : 1,
4bd7df8b 16327 "type" : "integer",
2c0dde61 16328 "typetext" : "integer (16 - N)"
44660702
DM
16329 },
16330 "mp[n]" : {
c2993fe5 16331 "description" : "Use volume as container mount point.",
56122987 16332 "format" : {
7aacca6f
DM
16333 "acl" : {
16334 "description" : "Explicitly enable or disable ACL support.",
16335 "optional" : 1,
44660702 16336 "type" : "boolean"
56122987
DM
16337 },
16338 "backup" : {
de0983cb 16339 "description" : "Whether to include the mount point in backups.",
44660702 16340 "optional" : 1,
4bd7df8b 16341 "type" : "boolean",
de0983cb 16342 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
16343 },
16344 "mp" : {
de0983cb 16345 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
16346 "format" : "pve-lxc-mp-string",
16347 "format_description" : "Path",
4bd7df8b 16348 "type" : "string",
de0983cb 16349 "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
16350 },
16351 "quota" : {
16352 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 16353 "optional" : 1,
44660702
DM
16354 "type" : "boolean"
16355 },
16356 "ro" : {
de0983cb 16357 "description" : "Read-only mount point",
44660702
DM
16358 "optional" : 1,
16359 "type" : "boolean"
7aacca6f 16360 },
de0983cb
DM
16361 "shared" : {
16362 "default" : 0,
16363 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16364 "optional" : 1,
16365 "type" : "boolean",
16366 "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!"
16367 },
7aacca6f 16368 "size" : {
44660702 16369 "description" : "Volume size (read only value).",
7aacca6f
DM
16370 "format" : "disk-size",
16371 "format_description" : "DiskSize",
7aacca6f
DM
16372 "optional" : 1,
16373 "type" : "string"
56122987
DM
16374 },
16375 "volume" : {
7aacca6f 16376 "default_key" : 1,
44660702 16377 "description" : "Volume, device or directory to mount into the container.",
56122987 16378 "format" : "pve-lxc-mp-string",
56122987 16379 "format_description" : "volume",
44660702 16380 "type" : "string"
56122987 16381 }
44660702 16382 },
56122987 16383 "optional" : 1,
4bd7df8b 16384 "type" : "string",
de0983cb 16385 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 16386 },
44660702
DM
16387 "nameserver" : {
16388 "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.",
16389 "format" : "address-list",
56122987 16390 "optional" : 1,
44660702 16391 "type" : "string"
56122987 16392 },
44660702
DM
16393 "net[n]" : {
16394 "description" : "Specifies network interfaces for the container.",
7aacca6f 16395 "format" : {
44660702
DM
16396 "bridge" : {
16397 "description" : "Bridge to attach the network device to.",
f004f5b9 16398 "format_description" : "bridge",
7aacca6f 16399 "optional" : 1,
44660702
DM
16400 "pattern" : "[-_.\\w\\d]+",
16401 "type" : "string"
7aacca6f 16402 },
44660702
DM
16403 "firewall" : {
16404 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 16405 "optional" : 1,
44660702 16406 "type" : "boolean"
7aacca6f 16407 },
44660702
DM
16408 "gw" : {
16409 "description" : "Default gateway for IPv4 traffic.",
16410 "format" : "ipv4",
16411 "format_description" : "GatewayIPv4",
7aacca6f 16412 "optional" : 1,
44660702 16413 "type" : "string"
7aacca6f 16414 },
44660702
DM
16415 "gw6" : {
16416 "description" : "Default gateway for IPv6 traffic.",
16417 "format" : "ipv6",
16418 "format_description" : "GatewayIPv6",
16419 "optional" : 1,
16420 "type" : "string"
7aacca6f 16421 },
44660702 16422 "hwaddr" : {
f004f5b9
DM
16423 "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)",
16424 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
16425 "optional" : 1,
16426 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
16427 "type" : "string"
16428 },
44660702
DM
16429 "ip" : {
16430 "description" : "IPv4 address in CIDR format.",
16431 "format" : "pve-ipv4-config",
16432 "format_description" : "IPv4Format/CIDR",
7aacca6f 16433 "optional" : 1,
44660702 16434 "type" : "string"
7aacca6f 16435 },
44660702
DM
16436 "ip6" : {
16437 "description" : "IPv6 address in CIDR format.",
16438 "format" : "pve-ipv6-config",
16439 "format_description" : "IPv6Format/CIDR",
16440 "optional" : 1,
16441 "type" : "string"
16442 },
16443 "mtu" : {
16444 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
16445 "minimum" : 64,
16446 "optional" : 1,
16447 "type" : "integer"
16448 },
16449 "name" : {
16450 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 16451 "format_description" : "string",
44660702
DM
16452 "pattern" : "[-_.\\w\\d]+",
16453 "type" : "string"
16454 },
16455 "rate" : {
16456 "description" : "Apply rate limiting to the interface",
16457 "format_description" : "mbps",
16458 "optional" : 1,
16459 "type" : "number"
16460 },
16461 "tag" : {
16462 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
16463 "maximum" : 4094,
16464 "minimum" : 1,
44660702
DM
16465 "optional" : 1,
16466 "type" : "integer"
16467 },
16468 "trunks" : {
16469 "description" : "VLAN ids to pass through the interface",
16470 "format_description" : "vlanid[;vlanid...]",
16471 "optional" : 1,
16472 "pattern" : "(?^:\\d+(?:;\\d+)*)",
16473 "type" : "string"
16474 },
16475 "type" : {
16476 "description" : "Network interface type.",
16477 "enum" : [
16478 "veth"
16479 ],
16480 "optional" : 1,
16481 "type" : "string"
7aacca6f
DM
16482 }
16483 },
56122987 16484 "optional" : 1,
4bd7df8b
DM
16485 "type" : "string",
16486 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
56122987 16487 },
44660702
DM
16488 "node" : {
16489 "description" : "The cluster node name.",
16490 "format" : "pve-node",
16491 "type" : "string"
56122987 16492 },
44660702
DM
16493 "onboot" : {
16494 "default" : 0,
16495 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 16496 "optional" : 1,
44660702
DM
16497 "type" : "boolean"
16498 },
16499 "ostemplate" : {
16500 "description" : "The OS template or backup file.",
16501 "maxLength" : 255,
16502 "type" : "string"
56122987
DM
16503 },
16504 "ostype" : {
7aacca6f 16505 "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
16506 "enum" : [
16507 "debian",
16508 "ubuntu",
16509 "centos",
16510 "fedora",
16511 "opensuse",
16512 "archlinux",
16513 "alpine",
57b78691 16514 "gentoo",
56122987 16515 "unmanaged"
44660702 16516 ],
56122987 16517 "optional" : 1,
7aacca6f 16518 "type" : "string"
56122987 16519 },
44660702
DM
16520 "password" : {
16521 "description" : "Sets root password inside container.",
16522 "minLength" : 5,
7aacca6f
DM
16523 "optional" : 1,
16524 "type" : "string"
16525 },
44660702
DM
16526 "pool" : {
16527 "description" : "Add the VM to the specified pool.",
16528 "format" : "pve-poolid",
7aacca6f 16529 "optional" : 1,
44660702 16530 "type" : "string"
7aacca6f 16531 },
44660702
DM
16532 "protection" : {
16533 "default" : 0,
16534 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 16535 "optional" : 1,
44660702 16536 "type" : "boolean"
7aacca6f 16537 },
44660702
DM
16538 "restore" : {
16539 "description" : "Mark this as restore task.",
16540 "optional" : 1,
16541 "type" : "boolean"
7aacca6f 16542 },
44660702
DM
16543 "rootfs" : {
16544 "description" : "Use volume as container root.",
56122987 16545 "format" : {
44660702
DM
16546 "acl" : {
16547 "description" : "Explicitly enable or disable ACL support.",
56122987 16548 "optional" : 1,
44660702 16549 "type" : "boolean"
56122987 16550 },
44660702
DM
16551 "quota" : {
16552 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 16553 "optional" : 1,
44660702 16554 "type" : "boolean"
7aacca6f 16555 },
44660702 16556 "ro" : {
de0983cb 16557 "description" : "Read-only mount point",
7aacca6f 16558 "optional" : 1,
44660702 16559 "type" : "boolean"
7aacca6f 16560 },
de0983cb
DM
16561 "shared" : {
16562 "default" : 0,
16563 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16564 "optional" : 1,
16565 "type" : "boolean",
16566 "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!"
16567 },
44660702
DM
16568 "size" : {
16569 "description" : "Volume size (read only value).",
16570 "format" : "disk-size",
16571 "format_description" : "DiskSize",
7aacca6f
DM
16572 "optional" : 1,
16573 "type" : "string"
16574 },
44660702
DM
16575 "volume" : {
16576 "default_key" : 1,
16577 "description" : "Volume, device or directory to mount into the container.",
16578 "format" : "pve-lxc-mp-string",
16579 "format_description" : "volume",
16580 "type" : "string"
56122987 16581 }
7aacca6f 16582 },
7aacca6f 16583 "optional" : 1,
4bd7df8b 16584 "type" : "string",
de0983cb 16585 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
16586 },
16587 "searchdomain" : {
16588 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
16589 "format" : "dns-name-list",
16590 "optional" : 1,
16591 "type" : "string"
16592 },
16593 "ssh-public-keys" : {
16594 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
16595 "optional" : 1,
16596 "type" : "string"
16597 },
16598 "startup" : {
16599 "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.",
16600 "format" : "pve-startup-order",
16601 "optional" : 1,
7aacca6f 16602 "type" : "string",
44660702 16603 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 16604 },
44660702
DM
16605 "storage" : {
16606 "default" : "local",
16607 "description" : "Default Storage.",
16608 "format" : "pve-storage-id",
16609 "optional" : 1,
7aacca6f 16610 "type" : "string"
7aacca6f 16611 },
44660702
DM
16612 "swap" : {
16613 "default" : 512,
16614 "description" : "Amount of SWAP for the VM in MB.",
16615 "minimum" : 0,
16616 "optional" : 1,
4bd7df8b 16617 "type" : "integer",
2c0dde61 16618 "typetext" : "integer (0 - N)"
44660702
DM
16619 },
16620 "template" : {
16621 "default" : 0,
16622 "description" : "Enable/disable Template.",
16623 "optional" : 1,
16624 "type" : "boolean"
7aacca6f 16625 },
44660702
DM
16626 "tty" : {
16627 "default" : 2,
16628 "description" : "Specify the number of tty available to the container",
16629 "maximum" : 6,
16630 "minimum" : 0,
16631 "optional" : 1,
4bd7df8b 16632 "type" : "integer",
2c0dde61 16633 "typetext" : "integer (0 - 6)"
7aacca6f 16634 },
44660702
DM
16635 "unprivileged" : {
16636 "default" : 0,
16637 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
16638 "optional" : 1,
16639 "type" : "boolean"
16640 },
16641 "unused[n]" : {
c2993fe5 16642 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
16643 "format" : "pve-volume-id",
16644 "optional" : 1,
16645 "type" : "string"
16646 },
16647 "vmid" : {
16648 "description" : "The (unique) ID of the VM.",
16649 "format" : "pve-vmid",
16650 "minimum" : 1,
4bd7df8b 16651 "type" : "integer",
2c0dde61 16652 "typetext" : "integer (1 - N)"
44660702 16653 }
7aacca6f
DM
16654 }
16655 },
44660702
DM
16656 "permissions" : {
16657 "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.",
16658 "user" : "all"
16659 },
16660 "protected" : 1,
16661 "proxyto" : "node",
16662 "returns" : {
16663 "type" : "string"
16664 }
16665 }
16666 },
16667 "leaf" : 0,
16668 "path" : "/nodes/{node}/lxc",
16669 "text" : "lxc"
16670 },
16671 {
16672 "children" : [
16673 {
56122987
DM
16674 "children" : [
16675 {
7aacca6f
DM
16676 "children" : [
16677 {
7aacca6f
DM
16678 "info" : {
16679 "POST" : {
44660702
DM
16680 "description" : "ceph osd in",
16681 "method" : "POST",
16682 "name" : "in",
16683 "parameters" : {
16684 "additionalProperties" : 0,
16685 "properties" : {
16686 "node" : {
16687 "description" : "The cluster node name.",
16688 "format" : "pve-node",
16689 "type" : "string"
16690 },
16691 "osdid" : {
16692 "description" : "OSD ID",
16693 "type" : "integer"
16694 }
16695 }
16696 },
56122987
DM
16697 "permissions" : {
16698 "check" : [
16699 "perm",
16700 "/",
16701 [
16702 "Sys.Modify"
16703 ]
16704 ]
7aacca6f 16705 },
44660702 16706 "protected" : 1,
7aacca6f
DM
16707 "proxyto" : "node",
16708 "returns" : {
16709 "type" : "null"
44660702 16710 }
56122987
DM
16711 }
16712 },
44660702 16713 "leaf" : 1,
7aacca6f 16714 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 16715 "text" : "in"
56122987
DM
16716 },
16717 {
56122987
DM
16718 "info" : {
16719 "POST" : {
44660702
DM
16720 "description" : "ceph osd out",
16721 "method" : "POST",
16722 "name" : "out",
16723 "parameters" : {
16724 "additionalProperties" : 0,
16725 "properties" : {
16726 "node" : {
16727 "description" : "The cluster node name.",
16728 "format" : "pve-node",
16729 "type" : "string"
16730 },
16731 "osdid" : {
16732 "description" : "OSD ID",
16733 "type" : "integer"
16734 }
16735 }
16736 },
56122987
DM
16737 "permissions" : {
16738 "check" : [
16739 "perm",
16740 "/",
16741 [
16742 "Sys.Modify"
16743 ]
16744 ]
16745 },
44660702 16746 "protected" : 1,
56122987 16747 "proxyto" : "node",
7aacca6f
DM
16748 "returns" : {
16749 "type" : "null"
44660702
DM
16750 }
16751 }
16752 },
16753 "leaf" : 1,
16754 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
16755 "text" : "out"
16756 }
16757 ],
16758 "info" : {
16759 "DELETE" : {
16760 "description" : "Destroy OSD",
16761 "method" : "DELETE",
16762 "name" : "destroyosd",
16763 "parameters" : {
16764 "additionalProperties" : 0,
16765 "properties" : {
16766 "cleanup" : {
16767 "default" : 0,
16768 "description" : "If set, we remove partition table entries.",
16769 "optional" : 1,
16770 "type" : "boolean"
7aacca6f 16771 },
44660702
DM
16772 "node" : {
16773 "description" : "The cluster node name.",
16774 "format" : "pve-node",
16775 "type" : "string"
56122987 16776 },
44660702
DM
16777 "osdid" : {
16778 "description" : "OSD ID",
16779 "type" : "integer"
16780 }
56122987
DM
16781 }
16782 },
44660702
DM
16783 "protected" : 1,
16784 "proxyto" : "node",
16785 "returns" : {
16786 "type" : "string"
16787 }
16788 }
16789 },
16790 "leaf" : 0,
16791 "path" : "/nodes/{node}/ceph/osd/{osdid}",
16792 "text" : "{osdid}"
16793 }
16794 ],
16795 "info" : {
16796 "GET" : {
16797 "description" : "Get Ceph osd list/tree.",
16798 "method" : "GET",
16799 "name" : "index",
16800 "parameters" : {
16801 "additionalProperties" : 0,
16802 "properties" : {
16803 "node" : {
16804 "description" : "The cluster node name.",
16805 "format" : "pve-node",
16806 "type" : "string"
16807 }
16808 }
16809 },
16810 "permissions" : {
16811 "check" : [
16812 "perm",
16813 "/",
16814 [
16815 "Sys.Audit",
16816 "Datastore.Audit"
16817 ],
16818 "any",
16819 1
16820 ]
16821 },
16822 "protected" : 1,
16823 "proxyto" : "node",
16824 "returns" : {
16825 "type" : "object"
16826 }
16827 },
16828 "POST" : {
16829 "description" : "Create OSD",
16830 "method" : "POST",
16831 "name" : "createosd",
16832 "parameters" : {
16833 "additionalProperties" : 0,
16834 "properties" : {
16835 "dev" : {
16836 "description" : "Block device name.",
16837 "type" : "string"
16838 },
16839 "fstype" : {
16840 "default" : "xfs",
16841 "description" : "File system type.",
16842 "enum" : [
16843 "xfs",
16844 "ext4",
16845 "btrfs"
16846 ],
16847 "optional" : 1,
16848 "type" : "string"
16849 },
16850 "journal_dev" : {
16851 "description" : "Block device name for journal.",
16852 "optional" : 1,
16853 "type" : "string"
16854 },
16855 "node" : {
16856 "description" : "The cluster node name.",
16857 "format" : "pve-node",
16858 "type" : "string"
16859 }
56122987 16860 }
44660702
DM
16861 },
16862 "protected" : 1,
16863 "proxyto" : "node",
16864 "returns" : {
16865 "type" : "string"
16866 }
56122987 16867 }
44660702 16868 },
7aacca6f 16869 "leaf" : 0,
44660702
DM
16870 "path" : "/nodes/{node}/ceph/osd",
16871 "text" : "osd"
7aacca6f
DM
16872 },
16873 {
56122987
DM
16874 "info" : {
16875 "GET" : {
7aacca6f 16876 "description" : "List local disks.",
44660702
DM
16877 "method" : "GET",
16878 "name" : "disks",
16879 "parameters" : {
16880 "additionalProperties" : 0,
16881 "properties" : {
16882 "node" : {
16883 "description" : "The cluster node name.",
16884 "format" : "pve-node",
16885 "type" : "string"
16886 },
16887 "type" : {
16888 "description" : "Only list specific types of disks.",
16889 "enum" : [
16890 "unused",
16891 "journal_disks"
16892 ],
16893 "optional" : 1,
16894 "type" : "string"
16895 }
16896 }
16897 },
56122987
DM
16898 "permissions" : {
16899 "check" : [
16900 "perm",
16901 "/",
16902 [
16903 "Sys.Audit",
16904 "Datastore.Audit"
16905 ],
16906 "any",
16907 1
16908 ]
7aacca6f 16909 },
44660702
DM
16910 "protected" : 1,
16911 "proxyto" : "node",
56122987 16912 "returns" : {
7aacca6f
DM
16913 "items" : {
16914 "properties" : {
44660702
DM
16915 "dev" : {
16916 "type" : "string"
16917 },
16918 "gpt" : {
16919 "type" : "boolean"
16920 },
16921 "model" : {
16922 "optional" : 1,
16923 "type" : "string"
7aacca6f
DM
16924 },
16925 "osdid" : {
16926 "type" : "integer"
16927 },
16928 "serial" : {
7aacca6f
DM
16929 "optional" : 1,
16930 "type" : "string"
16931 },
16932 "size" : {
16933 "type" : "integer"
16934 },
44660702
DM
16935 "used" : {
16936 "optional" : 1,
7aacca6f
DM
16937 "type" : "string"
16938 },
44660702
DM
16939 "vendor" : {
16940 "optional" : 1,
16941 "type" : "string"
7aacca6f
DM
16942 }
16943 },
16944 "type" : "object"
44660702
DM
16945 },
16946 "type" : "array"
16947 }
56122987 16948 }
44660702
DM
16949 },
16950 "leaf" : 1,
16951 "path" : "/nodes/{node}/ceph/disks",
16952 "text" : "disks"
56122987
DM
16953 },
16954 {
56122987
DM
16955 "info" : {
16956 "GET" : {
7aacca6f 16957 "description" : "Get Ceph configuration.",
44660702
DM
16958 "method" : "GET",
16959 "name" : "config",
56122987 16960 "parameters" : {
7aacca6f 16961 "additionalProperties" : 0,
56122987 16962 "properties" : {
56122987 16963 "node" : {
7aacca6f 16964 "description" : "The cluster node name.",
44660702 16965 "format" : "pve-node",
56122987
DM
16966 "type" : "string"
16967 }
7aacca6f 16968 }
56122987 16969 },
56122987
DM
16970 "permissions" : {
16971 "check" : [
16972 "perm",
16973 "/",
16974 [
16975 "Sys.Audit",
16976 "Datastore.Audit"
16977 ],
16978 "any",
16979 1
16980 ]
44660702
DM
16981 },
16982 "returns" : {
16983 "type" : "string"
7aacca6f
DM
16984 }
16985 }
44660702
DM
16986 },
16987 "leaf" : 1,
16988 "path" : "/nodes/{node}/ceph/config",
16989 "text" : "config"
7aacca6f
DM
16990 },
16991 {
7aacca6f
DM
16992 "children" : [
16993 {
7aacca6f
DM
16994 "info" : {
16995 "DELETE" : {
7aacca6f 16996 "description" : "Destroy Ceph monitor.",
44660702
DM
16997 "method" : "DELETE",
16998 "name" : "destroymon",
16999 "parameters" : {
17000 "additionalProperties" : 0,
17001 "properties" : {
17002 "monid" : {
17003 "description" : "Monitor ID",
17004 "type" : "integer"
17005 },
17006 "node" : {
17007 "description" : "The cluster node name.",
17008 "format" : "pve-node",
17009 "type" : "string"
17010 }
17011 }
17012 },
7aacca6f
DM
17013 "permissions" : {
17014 "check" : [
17015 "perm",
17016 "/",
17017 [
17018 "Sys.Modify"
17019 ]
17020 ]
17021 },
44660702
DM
17022 "protected" : 1,
17023 "proxyto" : "node",
7aacca6f
DM
17024 "returns" : {
17025 "type" : "string"
44660702 17026 }
7aacca6f 17027 }
44660702
DM
17028 },
17029 "leaf" : 1,
17030 "path" : "/nodes/{node}/ceph/mon/{monid}",
17031 "text" : "{monid}"
7aacca6f
DM
17032 }
17033 ],
17034 "info" : {
17035 "GET" : {
44660702 17036 "description" : "Get Ceph monitor list.",
7aacca6f 17037 "method" : "GET",
44660702 17038 "name" : "listmon",
7aacca6f
DM
17039 "parameters" : {
17040 "additionalProperties" : 0,
17041 "properties" : {
17042 "node" : {
7aacca6f 17043 "description" : "The cluster node name.",
44660702
DM
17044 "format" : "pve-node",
17045 "type" : "string"
7aacca6f
DM
17046 }
17047 }
17048 },
44660702
DM
17049 "permissions" : {
17050 "check" : [
17051 "perm",
17052 "/",
17053 [
17054 "Sys.Audit",
17055 "Datastore.Audit"
17056 ],
17057 "any",
17058 1
17059 ]
17060 },
7aacca6f 17061 "protected" : 1,
44660702 17062 "proxyto" : "node",
7aacca6f
DM
17063 "returns" : {
17064 "items" : {
17065 "properties" : {
44660702 17066 "addr" : {
7aacca6f 17067 "type" : "string"
56122987 17068 },
44660702 17069 "name" : {
56122987
DM
17070 "type" : "string"
17071 }
7aacca6f
DM
17072 },
17073 "type" : "object"
56122987 17074 },
7aacca6f
DM
17075 "links" : [
17076 {
17077 "href" : "{name}",
17078 "rel" : "child"
17079 }
17080 ],
56122987 17081 "type" : "array"
44660702 17082 }
7aacca6f
DM
17083 },
17084 "POST" : {
44660702
DM
17085 "description" : "Create Ceph Monitor",
17086 "method" : "POST",
17087 "name" : "createmon",
17088 "parameters" : {
17089 "additionalProperties" : 0,
17090 "properties" : {
17091 "node" : {
17092 "description" : "The cluster node name.",
17093 "format" : "pve-node",
17094 "type" : "string"
17095 }
17096 }
17097 },
7aacca6f
DM
17098 "permissions" : {
17099 "check" : [
17100 "perm",
17101 "/",
17102 [
17103 "Sys.Modify"
17104 ]
17105 ]
17106 },
44660702 17107 "protected" : 1,
7aacca6f 17108 "proxyto" : "node",
56122987
DM
17109 "returns" : {
17110 "type" : "string"
44660702 17111 }
56122987 17112 }
44660702
DM
17113 },
17114 "leaf" : 0,
17115 "path" : "/nodes/{node}/ceph/mon",
17116 "text" : "mon"
56122987
DM
17117 },
17118 {
17119 "info" : {
17120 "POST" : {
44660702
DM
17121 "description" : "Create initial ceph default configuration and setup symlinks.",
17122 "method" : "POST",
17123 "name" : "init",
17124 "parameters" : {
17125 "additionalProperties" : 0,
17126 "properties" : {
17127 "network" : {
17128 "description" : "Use specific network for all ceph related traffic",
17129 "format" : "CIDR",
17130 "maxLength" : 128,
17131 "optional" : 1,
17132 "type" : "string"
17133 },
17134 "node" : {
17135 "description" : "The cluster node name.",
17136 "format" : "pve-node",
17137 "type" : "string"
17138 },
17139 "pg_bits" : {
17140 "default" : 6,
17141 "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.",
17142 "maximum" : 14,
17143 "minimum" : 6,
17144 "optional" : 1,
4bd7df8b 17145 "type" : "integer",
2c0dde61 17146 "typetext" : "integer (6 - 14)"
44660702
DM
17147 },
17148 "size" : {
17149 "default" : 2,
17150 "description" : "Number of replicas per object",
17151 "maximum" : 3,
17152 "minimum" : 1,
17153 "optional" : 1,
4bd7df8b 17154 "type" : "integer",
2c0dde61 17155 "typetext" : "integer (1 - 3)"
44660702
DM
17156 }
17157 }
7aacca6f 17158 },
56122987
DM
17159 "permissions" : {
17160 "check" : [
17161 "perm",
17162 "/",
17163 [
17164 "Sys.Modify"
17165 ]
17166 ]
17167 },
7aacca6f 17168 "protected" : 1,
44660702
DM
17169 "proxyto" : "node",
17170 "returns" : {
17171 "type" : "null"
7aacca6f
DM
17172 }
17173 }
17174 },
7aacca6f 17175 "leaf" : 1,
44660702
DM
17176 "path" : "/nodes/{node}/ceph/init",
17177 "text" : "init"
7aacca6f
DM
17178 },
17179 {
7aacca6f
DM
17180 "info" : {
17181 "POST" : {
44660702 17182 "description" : "Stop ceph services.",
7aacca6f
DM
17183 "method" : "POST",
17184 "name" : "stop",
17185 "parameters" : {
44660702 17186 "additionalProperties" : 0,
7aacca6f
DM
17187 "properties" : {
17188 "node" : {
7aacca6f 17189 "description" : "The cluster node name.",
44660702 17190 "format" : "pve-node",
56122987 17191 "type" : "string"
7aacca6f
DM
17192 },
17193 "service" : {
7aacca6f 17194 "description" : "Ceph service name.",
44660702
DM
17195 "optional" : 1,
17196 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
17197 "type" : "string"
56122987 17198 }
44660702 17199 }
7aacca6f
DM
17200 },
17201 "permissions" : {
17202 "check" : [
17203 "perm",
17204 "/",
17205 [
17206 "Sys.Modify"
17207 ]
17208 ]
17209 },
44660702
DM
17210 "protected" : 1,
17211 "proxyto" : "node",
17212 "returns" : {
17213 "type" : "string"
17214 }
7aacca6f 17215 }
44660702
DM
17216 },
17217 "leaf" : 1,
17218 "path" : "/nodes/{node}/ceph/stop",
17219 "text" : "stop"
7aacca6f
DM
17220 },
17221 {
7aacca6f
DM
17222 "info" : {
17223 "POST" : {
7aacca6f 17224 "description" : "Start ceph services.",
44660702 17225 "method" : "POST",
7aacca6f 17226 "name" : "start",
56122987
DM
17227 "parameters" : {
17228 "additionalProperties" : 0,
17229 "properties" : {
17230 "node" : {
7aacca6f 17231 "description" : "The cluster node name.",
44660702 17232 "format" : "pve-node",
7aacca6f
DM
17233 "type" : "string"
17234 },
17235 "service" : {
17236 "description" : "Ceph service name.",
44660702 17237 "optional" : 1,
7aacca6f 17238 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
44660702 17239 "type" : "string"
7aacca6f
DM
17240 }
17241 }
17242 },
44660702
DM
17243 "permissions" : {
17244 "check" : [
17245 "perm",
17246 "/",
17247 [
17248 "Sys.Modify"
17249 ]
17250 ]
17251 },
7aacca6f 17252 "protected" : 1,
44660702
DM
17253 "proxyto" : "node",
17254 "returns" : {
17255 "type" : "string"
17256 }
7aacca6f 17257 }
44660702
DM
17258 },
17259 "leaf" : 1,
17260 "path" : "/nodes/{node}/ceph/start",
17261 "text" : "start"
7aacca6f
DM
17262 },
17263 {
7aacca6f
DM
17264 "info" : {
17265 "GET" : {
44660702
DM
17266 "description" : "Get ceph status.",
17267 "method" : "GET",
17268 "name" : "status",
7aacca6f
DM
17269 "parameters" : {
17270 "additionalProperties" : 0,
17271 "properties" : {
17272 "node" : {
7aacca6f 17273 "description" : "The cluster node name.",
44660702 17274 "format" : "pve-node",
7aacca6f 17275 "type" : "string"
56122987
DM
17276 }
17277 }
17278 },
17279 "permissions" : {
17280 "check" : [
17281 "perm",
17282 "/",
17283 [
17284 "Sys.Audit",
17285 "Datastore.Audit"
17286 ],
17287 "any",
17288 1
17289 ]
17290 },
44660702
DM
17291 "protected" : 1,
17292 "proxyto" : "node",
56122987 17293 "returns" : {
7aacca6f
DM
17294 "type" : "object"
17295 }
17296 }
17297 },
44660702 17298 "leaf" : 1,
7aacca6f 17299 "path" : "/nodes/{node}/ceph/status",
44660702 17300 "text" : "status"
7aacca6f
DM
17301 },
17302 {
44660702
DM
17303 "children" : [
17304 {
17305 "info" : {
17306 "DELETE" : {
17307 "description" : "Destroy pool",
17308 "method" : "DELETE",
17309 "name" : "destroypool",
17310 "parameters" : {
17311 "additionalProperties" : 0,
17312 "properties" : {
4bd7df8b
DM
17313 "force" : {
17314 "default" : 0,
17315 "description" : "If true, destroys pool even if in use",
17316 "optional" : 1,
17317 "type" : "boolean"
17318 },
44660702
DM
17319 "name" : {
17320 "description" : "The name of the pool. It must be unique.",
17321 "type" : "string"
17322 },
17323 "node" : {
17324 "description" : "The cluster node name.",
17325 "format" : "pve-node",
17326 "type" : "string"
17327 }
17328 }
17329 },
17330 "permissions" : {
17331 "check" : [
17332 "perm",
17333 "/",
17334 [
17335 "Sys.Modify"
17336 ]
17337 ]
17338 },
17339 "protected" : 1,
17340 "proxyto" : "node",
17341 "returns" : {
17342 "type" : "null"
17343 }
17344 }
17345 },
17346 "leaf" : 1,
17347 "path" : "/nodes/{node}/ceph/pools/{name}",
17348 "text" : "{name}"
17349 }
17350 ],
7aacca6f
DM
17351 "info" : {
17352 "GET" : {
44660702
DM
17353 "description" : "List all pools.",
17354 "method" : "GET",
17355 "name" : "lspools",
7aacca6f
DM
17356 "parameters" : {
17357 "additionalProperties" : 0,
17358 "properties" : {
17359 "node" : {
7aacca6f 17360 "description" : "The cluster node name.",
44660702
DM
17361 "format" : "pve-node",
17362 "type" : "string"
7aacca6f
DM
17363 }
17364 }
17365 },
7aacca6f
DM
17366 "permissions" : {
17367 "check" : [
17368 "perm",
17369 "/",
17370 [
17371 "Sys.Audit",
17372 "Datastore.Audit"
17373 ],
17374 "any",
17375 1
17376 ]
17377 },
44660702
DM
17378 "protected" : 1,
17379 "proxyto" : "node",
7aacca6f 17380 "returns" : {
56122987 17381 "items" : {
56122987 17382 "properties" : {
7aacca6f
DM
17383 "pool" : {
17384 "type" : "integer"
17385 },
44660702
DM
17386 "pool_name" : {
17387 "type" : "string"
17388 },
7aacca6f
DM
17389 "size" : {
17390 "type" : "integer"
56122987 17391 }
44660702
DM
17392 },
17393 "type" : "object"
7aacca6f 17394 },
44660702
DM
17395 "links" : [
17396 {
17397 "href" : "{pool_name}",
17398 "rel" : "child"
17399 }
17400 ],
7aacca6f
DM
17401 "type" : "array"
17402 }
17403 },
17404 "POST" : {
7aacca6f 17405 "description" : "Create POOL",
7aacca6f 17406 "method" : "POST",
7aacca6f
DM
17407 "name" : "createpool",
17408 "parameters" : {
17409 "additionalProperties" : 0,
17410 "properties" : {
7aacca6f 17411 "crush_ruleset" : {
7aacca6f 17412 "default" : 0,
44660702 17413 "description" : "The ruleset to use for mapping object placement in the cluster.",
7aacca6f 17414 "maximum" : 32768,
44660702 17415 "minimum" : 0,
7aacca6f 17416 "optional" : 1,
4bd7df8b 17417 "type" : "integer",
2c0dde61 17418 "typetext" : "integer (0 - 32768)"
56122987 17419 },
44660702
DM
17420 "min_size" : {
17421 "default" : 1,
17422 "description" : "Minimum number of replicas per object",
17423 "maximum" : 3,
17424 "minimum" : 1,
17425 "optional" : 1,
4bd7df8b 17426 "type" : "integer",
2c0dde61 17427 "typetext" : "integer (1 - 3)"
7aacca6f 17428 },
44660702
DM
17429 "name" : {
17430 "description" : "The name of the pool. It must be unique.",
17431 "type" : "string"
17432 },
17433 "node" : {
17434 "description" : "The cluster node name.",
17435 "format" : "pve-node",
17436 "type" : "string"
17437 },
17438 "pg_num" : {
17439 "default" : 64,
17440 "description" : "Number of placement groups.",
17441 "maximum" : 32768,
17442 "minimum" : 8,
17443 "optional" : 1,
4bd7df8b 17444 "type" : "integer",
2c0dde61 17445 "typetext" : "integer (8 - 32768)"
44660702
DM
17446 },
17447 "size" : {
17448 "default" : 2,
17449 "description" : "Number of replicas per object",
17450 "maximum" : 3,
17451 "minimum" : 1,
17452 "optional" : 1,
4bd7df8b 17453 "type" : "integer",
2c0dde61 17454 "typetext" : "integer (1 - 3)"
56122987
DM
17455 }
17456 }
44660702
DM
17457 },
17458 "permissions" : {
17459 "check" : [
17460 "perm",
17461 "/",
17462 [
17463 "Sys.Modify"
17464 ]
17465 ]
17466 },
17467 "protected" : 1,
17468 "proxyto" : "node",
17469 "returns" : {
17470 "type" : "null"
7aacca6f 17471 }
56122987 17472 }
44660702 17473 },
56122987 17474 "leaf" : 0,
44660702
DM
17475 "path" : "/nodes/{node}/ceph/pools",
17476 "text" : "pools"
56122987
DM
17477 },
17478 {
56122987 17479 "info" : {
7aacca6f 17480 "GET" : {
44660702
DM
17481 "description" : "Get OSD crush map",
17482 "method" : "GET",
17483 "name" : "crush",
17484 "parameters" : {
17485 "additionalProperties" : 0,
17486 "properties" : {
17487 "node" : {
17488 "description" : "The cluster node name.",
17489 "format" : "pve-node",
17490 "type" : "string"
17491 }
17492 }
17493 },
7aacca6f
DM
17494 "permissions" : {
17495 "check" : [
17496 "perm",
17497 "/",
17498 [
17499 "Sys.Audit",
17500 "Datastore.Audit"
17501 ],
17502 "any",
17503 1
17504 ]
17505 },
44660702 17506 "protected" : 1,
7aacca6f 17507 "proxyto" : "node",
56122987 17508 "returns" : {
7aacca6f 17509 "type" : "string"
44660702 17510 }
56122987
DM
17511 }
17512 },
44660702
DM
17513 "leaf" : 1,
17514 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 17515 "text" : "crush"
56122987
DM
17516 },
17517 {
56122987 17518 "info" : {
7aacca6f 17519 "GET" : {
44660702
DM
17520 "description" : "Read ceph log",
17521 "method" : "GET",
17522 "name" : "log",
17523 "parameters" : {
17524 "additionalProperties" : 0,
17525 "properties" : {
17526 "limit" : {
17527 "minimum" : 0,
17528 "optional" : 1,
4bd7df8b 17529 "type" : "integer",
2c0dde61 17530 "typetext" : "integer (0 - N)"
7aacca6f 17531 },
44660702
DM
17532 "node" : {
17533 "description" : "The cluster node name.",
17534 "format" : "pve-node",
17535 "type" : "string"
17536 },
17537 "start" : {
17538 "minimum" : 0,
17539 "optional" : 1,
4bd7df8b 17540 "type" : "integer",
2c0dde61 17541 "typetext" : "integer (0 - N)"
44660702 17542 }
7aacca6f 17543 }
56122987 17544 },
56122987
DM
17545 "permissions" : {
17546 "check" : [
17547 "perm",
7aacca6f 17548 "/nodes/{node}",
56122987 17549 [
7aacca6f 17550 "Sys.Syslog"
56122987
DM
17551 ]
17552 ]
17553 },
7aacca6f 17554 "protected" : 1,
44660702
DM
17555 "proxyto" : "node",
17556 "returns" : {
17557 "items" : {
17558 "properties" : {
17559 "n" : {
17560 "description" : "Line number",
17561 "type" : "integer"
17562 },
17563 "t" : {
17564 "description" : "Line text",
17565 "type" : "string"
17566 }
56122987 17567 },
44660702 17568 "type" : "object"
56122987 17569 },
44660702 17570 "type" : "array"
7aacca6f 17571 }
56122987
DM
17572 }
17573 },
17574 "leaf" : 1,
44660702
DM
17575 "path" : "/nodes/{node}/ceph/log",
17576 "text" : "log"
7aacca6f
DM
17577 }
17578 ],
44660702
DM
17579 "info" : {
17580 "GET" : {
17581 "description" : "Directory index.",
17582 "method" : "GET",
17583 "name" : "index",
17584 "parameters" : {
17585 "additionalProperties" : 0,
17586 "properties" : {
17587 "node" : {
17588 "description" : "The cluster node name.",
17589 "format" : "pve-node",
17590 "type" : "string"
17591 }
17592 }
17593 },
17594 "permissions" : {
17595 "check" : [
17596 "perm",
17597 "/",
17598 [
17599 "Sys.Audit",
17600 "Datastore.Audit"
17601 ],
17602 "any",
17603 1
17604 ]
17605 },
17606 "returns" : {
17607 "items" : {
17608 "properties" : {},
17609 "type" : "object"
17610 },
17611 "links" : [
17612 {
17613 "href" : "{name}",
17614 "rel" : "child"
17615 }
17616 ],
17617 "type" : "array"
17618 }
17619 }
17620 },
7aacca6f 17621 "leaf" : 0,
44660702
DM
17622 "path" : "/nodes/{node}/ceph",
17623 "text" : "ceph"
7aacca6f
DM
17624 },
17625 {
4bd7df8b
DM
17626 "children" : [
17627 {
17628 "info" : {
17629 "GET" : {
17630 "description" : "Extract configuration from vzdump backup archive.",
17631 "method" : "GET",
17632 "name" : "extractconfig",
17633 "parameters" : {
17634 "additionalProperties" : 0,
17635 "properties" : {
17636 "node" : {
17637 "description" : "The cluster node name.",
17638 "format" : "pve-node",
17639 "type" : "string"
17640 },
17641 "volume" : {
17642 "description" : "Volume identifier",
17643 "type" : "string"
17644 }
17645 }
17646 },
17647 "permissions" : {
17648 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
17649 "user" : "all"
17650 },
17651 "protected" : 1,
17652 "proxyto" : "node",
17653 "returns" : {
17654 "type" : "string"
17655 }
17656 }
17657 },
17658 "leaf" : 1,
17659 "path" : "/nodes/{node}/vzdump/extractconfig",
17660 "text" : "extractconfig"
17661 }
17662 ],
7aacca6f
DM
17663 "info" : {
17664 "POST" : {
7aacca6f 17665 "description" : "Create backup.",
44660702 17666 "method" : "POST",
7aacca6f
DM
17667 "name" : "vzdump",
17668 "parameters" : {
44660702 17669 "additionalProperties" : 0,
7aacca6f 17670 "properties" : {
44660702
DM
17671 "all" : {
17672 "default" : 0,
17673 "description" : "Backup all known guest systems on this host.",
7aacca6f 17674 "optional" : 1,
44660702 17675 "type" : "boolean"
56122987 17676 },
44660702 17677 "bwlimit" : {
7aacca6f 17678 "default" : 0,
44660702
DM
17679 "description" : "Limit I/O bandwidth (KBytes per second).",
17680 "minimum" : 0,
7aacca6f 17681 "optional" : 1,
4bd7df8b 17682 "type" : "integer",
2c0dde61 17683 "typetext" : "integer (0 - N)"
56122987 17684 },
44660702
DM
17685 "compress" : {
17686 "default" : "0",
17687 "description" : "Compress dump file.",
17688 "enum" : [
17689 "0",
17690 "1",
17691 "gzip",
17692 "lzo"
17693 ],
7aacca6f 17694 "optional" : 1,
44660702 17695 "type" : "string"
56122987 17696 },
44660702
DM
17697 "dumpdir" : {
17698 "description" : "Store resulting files to specified directory.",
7aacca6f 17699 "optional" : 1,
44660702 17700 "type" : "string"
7aacca6f 17701 },
44660702
DM
17702 "exclude" : {
17703 "description" : "Exclude specified guest systems (assumes --all)",
17704 "format" : "pve-vmid-list",
7aacca6f 17705 "optional" : 1,
44660702 17706 "type" : "string"
7aacca6f 17707 },
44660702
DM
17708 "exclude-path" : {
17709 "description" : "Exclude certain files/directories (shell globs).",
17710 "format" : "string-alist",
7aacca6f 17711 "optional" : 1,
44660702 17712 "type" : "string"
7aacca6f 17713 },
44660702
DM
17714 "ionice" : {
17715 "default" : 7,
17716 "description" : "Set CFQ ionice priority.",
17717 "maximum" : 8,
17718 "minimum" : 0,
17719 "optional" : 1,
4bd7df8b 17720 "type" : "integer",
2c0dde61 17721 "typetext" : "integer (0 - 8)"
7aacca6f 17722 },
44660702
DM
17723 "lockwait" : {
17724 "default" : 180,
17725 "description" : "Maximal time to wait for the global lock (minutes).",
17726 "minimum" : 0,
7aacca6f 17727 "optional" : 1,
4bd7df8b 17728 "type" : "integer",
2c0dde61 17729 "typetext" : "integer (0 - N)"
7aacca6f
DM
17730 },
17731 "mailnotification" : {
44660702 17732 "default" : "always",
7aacca6f
DM
17733 "description" : "Specify when to send an email",
17734 "enum" : [
17735 "always",
17736 "failure"
17737 ],
7aacca6f 17738 "optional" : 1,
44660702 17739 "type" : "string"
7aacca6f
DM
17740 },
17741 "mailto" : {
7aacca6f 17742 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 17743 "format" : "string-list",
7aacca6f 17744 "optional" : 1,
44660702 17745 "type" : "string"
56122987 17746 },
44660702
DM
17747 "maxfiles" : {
17748 "default" : 1,
17749 "description" : "Maximal number of backup files per guest system.",
17750 "minimum" : 1,
7aacca6f 17751 "optional" : 1,
4bd7df8b 17752 "type" : "integer",
2c0dde61 17753 "typetext" : "integer (1 - N)"
56122987 17754 },
7aacca6f 17755 "mode" : {
44660702 17756 "default" : "snapshot",
7aacca6f
DM
17757 "description" : "Backup mode.",
17758 "enum" : [
17759 "snapshot",
17760 "suspend",
17761 "stop"
17762 ],
44660702
DM
17763 "optional" : 1,
17764 "type" : "string"
7aacca6f 17765 },
44660702
DM
17766 "node" : {
17767 "description" : "Only run if executed on this node.",
17768 "format" : "pve-node",
17769 "optional" : 1,
17770 "type" : "string"
17771 },
17772 "pigz" : {
17773 "default" : 0,
17774 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
17775 "optional" : 1,
17776 "type" : "integer"
17777 },
17778 "quiet" : {
17779 "default" : 0,
17780 "description" : "Be quiet.",
17781 "optional" : 1,
17782 "type" : "boolean"
17783 },
17784 "remove" : {
7aacca6f 17785 "default" : 1,
44660702 17786 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 17787 "optional" : 1,
44660702 17788 "type" : "boolean"
7aacca6f 17789 },
44660702
DM
17790 "script" : {
17791 "description" : "Use specified hook script.",
17792 "optional" : 1,
17793 "type" : "string"
17794 },
17795 "size" : {
17796 "default" : 1024,
17797 "description" : "Unused, will be removed in a future release.",
17798 "minimum" : 500,
17799 "optional" : 1,
4bd7df8b 17800 "type" : "integer",
2c0dde61 17801 "typetext" : "integer (500 - N)"
44660702
DM
17802 },
17803 "stdexcludes" : {
17804 "default" : 1,
17805 "description" : "Exclude temporary files and logs.",
17806 "optional" : 1,
17807 "type" : "boolean"
17808 },
17809 "stdout" : {
17810 "description" : "Write tar to stdout, not to a file.",
7aacca6f 17811 "optional" : 1,
44660702
DM
17812 "type" : "boolean"
17813 },
17814 "stop" : {
7aacca6f 17815 "default" : 0,
44660702
DM
17816 "description" : "Stop runnig backup jobs on this host.",
17817 "optional" : 1,
17818 "type" : "boolean"
7aacca6f 17819 },
44660702
DM
17820 "stopwait" : {
17821 "default" : 10,
17822 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
17823 "minimum" : 0,
17824 "optional" : 1,
4bd7df8b 17825 "type" : "integer",
2c0dde61 17826 "typetext" : "integer (0 - N)"
7aacca6f 17827 },
44660702
DM
17828 "storage" : {
17829 "description" : "Store resulting file to this storage.",
17830 "format" : "pve-storage-id",
7aacca6f 17831 "optional" : 1,
44660702
DM
17832 "type" : "string"
17833 },
17834 "tmpdir" : {
17835 "description" : "Store temporary files to specified directory.",
17836 "optional" : 1,
17837 "type" : "string"
7aacca6f
DM
17838 },
17839 "vmid" : {
7aacca6f 17840 "description" : "The ID of the guest system you want to backup.",
44660702 17841 "format" : "pve-vmid-list",
7aacca6f
DM
17842 "optional" : 1,
17843 "type" : "string"
17844 }
7aacca6f
DM
17845 }
17846 },
7aacca6f 17847 "permissions" : {
de0983cb 17848 "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 17849 "user" : "all"
7aacca6f 17850 },
44660702 17851 "protected" : 1,
7aacca6f 17852 "proxyto" : "node",
7aacca6f 17853 "returns" : {
44660702 17854 "type" : "string"
7aacca6f
DM
17855 }
17856 }
17857 },
4bd7df8b 17858 "leaf" : 0,
44660702
DM
17859 "path" : "/nodes/{node}/vzdump",
17860 "text" : "vzdump"
17861 },
17862 {
7aacca6f
DM
17863 "children" : [
17864 {
7aacca6f
DM
17865 "children" : [
17866 {
7aacca6f
DM
17867 "info" : {
17868 "GET" : {
7aacca6f
DM
17869 "description" : "Read service properties",
17870 "method" : "GET",
17871 "name" : "service_state",
17872 "parameters" : {
44660702 17873 "additionalProperties" : 0,
7aacca6f
DM
17874 "properties" : {
17875 "node" : {
7aacca6f 17876 "description" : "The cluster node name.",
44660702
DM
17877 "format" : "pve-node",
17878 "type" : "string"
7aacca6f
DM
17879 },
17880 "service" : {
44660702 17881 "description" : "Service ID",
7aacca6f
DM
17882 "enum" : [
17883 "pveproxy",
17884 "pvedaemon",
17885 "spiceproxy",
17886 "pvestatd",
17887 "pve-cluster",
17888 "corosync",
17889 "pve-firewall",
17890 "pvefw-logger",
17891 "pve-ha-crm",
17892 "pve-ha-lrm",
17893 "sshd",
17894 "syslog",
17895 "cron",
17896 "postfix",
17897 "ksmtuned",
17898 "systemd-timesyncd"
17899 ],
7aacca6f
DM
17900 "type" : "string"
17901 }
44660702 17902 }
56122987 17903 },
7aacca6f
DM
17904 "permissions" : {
17905 "check" : [
17906 "perm",
17907 "/nodes/{node}",
17908 [
44660702 17909 "Sys.Audit"
7aacca6f
DM
17910 ]
17911 ]
56122987 17912 },
44660702 17913 "protected" : 1,
7aacca6f 17914 "proxyto" : "node",
44660702
DM
17915 "returns" : {
17916 "properties" : {},
17917 "type" : "object"
17918 }
17919 }
17920 },
17921 "leaf" : 1,
17922 "path" : "/nodes/{node}/services/{service}/state",
17923 "text" : "state"
17924 },
17925 {
17926 "info" : {
17927 "POST" : {
17928 "description" : "Start service.",
7aacca6f
DM
17929 "method" : "POST",
17930 "name" : "service_start",
17931 "parameters" : {
44660702 17932 "additionalProperties" : 0,
7aacca6f 17933 "properties" : {
44660702
DM
17934 "node" : {
17935 "description" : "The cluster node name.",
17936 "format" : "pve-node",
17937 "type" : "string"
17938 },
7aacca6f 17939 "service" : {
44660702 17940 "description" : "Service ID",
7aacca6f
DM
17941 "enum" : [
17942 "pveproxy",
17943 "pvedaemon",
17944 "spiceproxy",
17945 "pvestatd",
17946 "pve-cluster",
17947 "corosync",
17948 "pve-firewall",
17949 "pvefw-logger",
17950 "pve-ha-crm",
17951 "pve-ha-lrm",
17952 "sshd",
17953 "syslog",
17954 "cron",
17955 "postfix",
17956 "ksmtuned",
17957 "systemd-timesyncd"
17958 ],
7aacca6f
DM
17959 "type" : "string"
17960 }
44660702 17961 }
56122987 17962 },
56122987
DM
17963 "permissions" : {
17964 "check" : [
17965 "perm",
17966 "/nodes/{node}",
17967 [
7aacca6f 17968 "Sys.Modify"
56122987
DM
17969 ]
17970 ]
7aacca6f 17971 },
7aacca6f 17972 "protected" : 1,
44660702
DM
17973 "proxyto" : "node",
17974 "returns" : {
17975 "type" : "string"
17976 }
17977 }
17978 },
17979 "leaf" : 1,
17980 "path" : "/nodes/{node}/services/{service}/start",
17981 "text" : "start"
17982 },
17983 {
17984 "info" : {
17985 "POST" : {
17986 "description" : "Stop service.",
17987 "method" : "POST",
7aacca6f 17988 "name" : "service_stop",
56122987 17989 "parameters" : {
7aacca6f 17990 "additionalProperties" : 0,
56122987
DM
17991 "properties" : {
17992 "node" : {
44660702 17993 "description" : "The cluster node name.",
56122987 17994 "format" : "pve-node",
44660702 17995 "type" : "string"
56122987
DM
17996 },
17997 "service" : {
44660702 17998 "description" : "Service ID",
56122987
DM
17999 "enum" : [
18000 "pveproxy",
18001 "pvedaemon",
18002 "spiceproxy",
18003 "pvestatd",
18004 "pve-cluster",
18005 "corosync",
18006 "pve-firewall",
18007 "pvefw-logger",
18008 "pve-ha-crm",
18009 "pve-ha-lrm",
18010 "sshd",
18011 "syslog",
18012 "cron",
18013 "postfix",
18014 "ksmtuned",
18015 "systemd-timesyncd"
18016 ],
56122987
DM
18017 "type" : "string"
18018 }
7aacca6f 18019 }
44660702 18020 },
56122987
DM
18021 "permissions" : {
18022 "check" : [
18023 "perm",
18024 "/nodes/{node}",
18025 [
18026 "Sys.Modify"
18027 ]
18028 ]
18029 },
44660702
DM
18030 "protected" : 1,
18031 "proxyto" : "node",
7aacca6f
DM
18032 "returns" : {
18033 "type" : "string"
44660702
DM
18034 }
18035 }
18036 },
18037 "leaf" : 1,
18038 "path" : "/nodes/{node}/services/{service}/stop",
18039 "text" : "stop"
18040 },
18041 {
18042 "info" : {
18043 "POST" : {
18044 "description" : "Restart service.",
18045 "method" : "POST",
18046 "name" : "service_restart",
56122987
DM
18047 "parameters" : {
18048 "additionalProperties" : 0,
18049 "properties" : {
7aacca6f
DM
18050 "node" : {
18051 "description" : "The cluster node name.",
44660702
DM
18052 "format" : "pve-node",
18053 "type" : "string"
7aacca6f
DM
18054 },
18055 "service" : {
44660702 18056 "description" : "Service ID",
56122987
DM
18057 "enum" : [
18058 "pveproxy",
18059 "pvedaemon",
18060 "spiceproxy",
18061 "pvestatd",
18062 "pve-cluster",
18063 "corosync",
18064 "pve-firewall",
18065 "pvefw-logger",
18066 "pve-ha-crm",
18067 "pve-ha-lrm",
18068 "sshd",
18069 "syslog",
18070 "cron",
18071 "postfix",
18072 "ksmtuned",
18073 "systemd-timesyncd"
7aacca6f 18074 ],
7aacca6f 18075 "type" : "string"
56122987
DM
18076 }
18077 }
18078 },
44660702
DM
18079 "permissions" : {
18080 "check" : [
18081 "perm",
18082 "/nodes/{node}",
18083 [
18084 "Sys.Modify"
18085 ]
18086 ]
18087 },
18088 "protected" : 1,
18089 "proxyto" : "node",
18090 "returns" : {
18091 "type" : "string"
18092 }
56122987 18093 }
44660702
DM
18094 },
18095 "leaf" : 1,
18096 "path" : "/nodes/{node}/services/{service}/restart",
18097 "text" : "restart"
56122987
DM
18098 },
18099 {
56122987
DM
18100 "info" : {
18101 "POST" : {
44660702
DM
18102 "description" : "Reload service.",
18103 "method" : "POST",
7aacca6f 18104 "name" : "service_reload",
56122987
DM
18105 "parameters" : {
18106 "additionalProperties" : 0,
18107 "properties" : {
44660702
DM
18108 "node" : {
18109 "description" : "The cluster node name.",
18110 "format" : "pve-node",
18111 "type" : "string"
18112 },
56122987 18113 "service" : {
56122987
DM
18114 "description" : "Service ID",
18115 "enum" : [
18116 "pveproxy",
18117 "pvedaemon",
18118 "spiceproxy",
18119 "pvestatd",
18120 "pve-cluster",
18121 "corosync",
18122 "pve-firewall",
18123 "pvefw-logger",
18124 "pve-ha-crm",
18125 "pve-ha-lrm",
18126 "sshd",
18127 "syslog",
18128 "cron",
18129 "postfix",
18130 "ksmtuned",
18131 "systemd-timesyncd"
44660702
DM
18132 ],
18133 "type" : "string"
56122987
DM
18134 }
18135 }
18136 },
56122987
DM
18137 "permissions" : {
18138 "check" : [
18139 "perm",
18140 "/nodes/{node}",
18141 [
18142 "Sys.Modify"
18143 ]
18144 ]
18145 },
44660702 18146 "protected" : 1,
56122987 18147 "proxyto" : "node",
7aacca6f
DM
18148 "returns" : {
18149 "type" : "string"
56122987
DM
18150 }
18151 }
44660702
DM
18152 },
18153 "leaf" : 1,
18154 "path" : "/nodes/{node}/services/{service}/reload",
18155 "text" : "reload"
18156 }
18157 ],
18158 "info" : {
18159 "GET" : {
18160 "description" : "Directory index",
18161 "method" : "GET",
18162 "name" : "srvcmdidx",
18163 "parameters" : {
18164 "additionalProperties" : 0,
18165 "properties" : {
18166 "node" : {
18167 "description" : "The cluster node name.",
18168 "format" : "pve-node",
18169 "type" : "string"
18170 },
18171 "service" : {
18172 "description" : "Service ID",
18173 "enum" : [
18174 "pveproxy",
18175 "pvedaemon",
18176 "spiceproxy",
18177 "pvestatd",
18178 "pve-cluster",
18179 "corosync",
18180 "pve-firewall",
18181 "pvefw-logger",
18182 "pve-ha-crm",
18183 "pve-ha-lrm",
18184 "sshd",
18185 "syslog",
18186 "cron",
18187 "postfix",
18188 "ksmtuned",
18189 "systemd-timesyncd"
18190 ],
18191 "type" : "string"
18192 }
18193 }
18194 },
18195 "permissions" : {
18196 "check" : [
18197 "perm",
18198 "/nodes/{node}",
18199 [
18200 "Sys.Audit"
18201 ]
18202 ]
18203 },
18204 "returns" : {
18205 "items" : {
18206 "properties" : {
18207 "subdir" : {
18208 "type" : "string"
18209 }
18210 },
18211 "type" : "object"
18212 },
18213 "links" : [
18214 {
18215 "href" : "{subdir}",
18216 "rel" : "child"
18217 }
18218 ],
18219 "type" : "array"
18220 }
18221 }
18222 },
18223 "leaf" : 0,
18224 "path" : "/nodes/{node}/services/{service}",
18225 "text" : "{service}"
18226 }
18227 ],
18228 "info" : {
18229 "GET" : {
18230 "description" : "Service list.",
18231 "method" : "GET",
18232 "name" : "index",
18233 "parameters" : {
18234 "additionalProperties" : 0,
18235 "properties" : {
18236 "node" : {
18237 "description" : "The cluster node name.",
18238 "format" : "pve-node",
18239 "type" : "string"
18240 }
18241 }
18242 },
18243 "permissions" : {
18244 "check" : [
18245 "perm",
18246 "/nodes/{node}",
18247 [
18248 "Sys.Audit"
18249 ]
18250 ]
18251 },
18252 "protected" : 1,
18253 "proxyto" : "node",
18254 "returns" : {
18255 "items" : {
18256 "properties" : {},
18257 "type" : "object"
18258 },
18259 "links" : [
18260 {
18261 "href" : "{service}",
18262 "rel" : "child"
56122987 18263 }
44660702
DM
18264 ],
18265 "type" : "array"
18266 }
7aacca6f 18267 }
44660702 18268 },
7aacca6f 18269 "leaf" : 0,
44660702
DM
18270 "path" : "/nodes/{node}/services",
18271 "text" : "services"
7aacca6f
DM
18272 },
18273 {
7aacca6f
DM
18274 "info" : {
18275 "GET" : {
44660702
DM
18276 "description" : "Read subscription info.",
18277 "method" : "GET",
18278 "name" : "get",
7aacca6f 18279 "parameters" : {
44660702 18280 "additionalProperties" : 0,
7aacca6f
DM
18281 "properties" : {
18282 "node" : {
18283 "description" : "The cluster node name.",
44660702
DM
18284 "format" : "pve-node",
18285 "type" : "string"
7aacca6f 18286 }
44660702
DM
18287 }
18288 },
18289 "permissions" : {
18290 "user" : "all"
7aacca6f 18291 },
7aacca6f
DM
18292 "proxyto" : "node",
18293 "returns" : {
18294 "type" : "object"
44660702 18295 }
7aacca6f 18296 },
44660702
DM
18297 "POST" : {
18298 "description" : "Update subscription info.",
18299 "method" : "POST",
18300 "name" : "update",
7aacca6f
DM
18301 "parameters" : {
18302 "additionalProperties" : 0,
18303 "properties" : {
44660702
DM
18304 "force" : {
18305 "default" : 0,
18306 "description" : "Always connect to server, even if we have up to date info inside local cache.",
18307 "optional" : 1,
18308 "type" : "boolean"
18309 },
7aacca6f 18310 "node" : {
7aacca6f 18311 "description" : "The cluster node name.",
44660702 18312 "format" : "pve-node",
7aacca6f
DM
18313 "type" : "string"
18314 }
18315 }
18316 },
7aacca6f 18317 "protected" : 1,
7aacca6f 18318 "proxyto" : "node",
44660702
DM
18319 "returns" : {
18320 "type" : "null"
18321 }
18322 },
18323 "PUT" : {
18324 "description" : "Set subscription key.",
18325 "method" : "PUT",
18326 "name" : "set",
7aacca6f
DM
18327 "parameters" : {
18328 "additionalProperties" : 0,
18329 "properties" : {
44660702
DM
18330 "key" : {
18331 "description" : "Proxmox VE subscription key",
18332 "type" : "string"
7aacca6f
DM
18333 },
18334 "node" : {
7aacca6f 18335 "description" : "The cluster node name.",
44660702
DM
18336 "format" : "pve-node",
18337 "type" : "string"
7aacca6f
DM
18338 }
18339 }
18340 },
44660702
DM
18341 "protected" : 1,
18342 "proxyto" : "node",
7aacca6f
DM
18343 "returns" : {
18344 "type" : "null"
44660702 18345 }
7aacca6f
DM
18346 }
18347 },
44660702 18348 "leaf" : 1,
7aacca6f 18349 "path" : "/nodes/{node}/subscription",
44660702 18350 "text" : "subscription"
7aacca6f
DM
18351 },
18352 {
7aacca6f
DM
18353 "children" : [
18354 {
56122987 18355 "info" : {
7aacca6f 18356 "DELETE" : {
44660702
DM
18357 "description" : "Delete network device configuration",
18358 "method" : "DELETE",
18359 "name" : "delete_network",
18360 "parameters" : {
18361 "additionalProperties" : 0,
18362 "properties" : {
18363 "iface" : {
18364 "description" : "Network interface name.",
18365 "format" : "pve-iface",
18366 "maxLength" : 20,
18367 "minLength" : 2,
18368 "type" : "string"
18369 },
18370 "node" : {
18371 "description" : "The cluster node name.",
18372 "format" : "pve-node",
18373 "type" : "string"
18374 }
18375 }
7aacca6f
DM
18376 },
18377 "permissions" : {
18378 "check" : [
18379 "perm",
18380 "/nodes/{node}",
18381 [
18382 "Sys.Modify"
18383 ]
18384 ]
18385 },
44660702 18386 "protected" : 1,
7aacca6f 18387 "proxyto" : "node",
44660702
DM
18388 "returns" : {
18389 "type" : "null"
18390 }
18391 },
18392 "GET" : {
18393 "description" : "Read network device configuration",
18394 "method" : "GET",
18395 "name" : "network_config",
56122987 18396 "parameters" : {
44660702 18397 "additionalProperties" : 0,
56122987 18398 "properties" : {
7aacca6f 18399 "iface" : {
7aacca6f 18400 "description" : "Network interface name.",
44660702
DM
18401 "format" : "pve-iface",
18402 "maxLength" : 20,
7aacca6f
DM
18403 "minLength" : 2,
18404 "type" : "string"
44660702
DM
18405 },
18406 "node" : {
18407 "description" : "The cluster node name.",
18408 "format" : "pve-node",
18409 "type" : "string"
56122987 18410 }
44660702 18411 }
7aacca6f
DM
18412 },
18413 "permissions" : {
18414 "check" : [
18415 "perm",
18416 "/nodes/{node}",
18417 [
44660702 18418 "Sys.Audit"
7aacca6f
DM
18419 ]
18420 ]
18421 },
18422 "proxyto" : "node",
44660702
DM
18423 "returns" : {
18424 "properties" : {
18425 "method" : {
18426 "type" : "string"
18427 },
18428 "type" : {
18429 "type" : "string"
18430 }
18431 },
18432 "type" : "object"
18433 }
18434 },
18435 "PUT" : {
7aacca6f
DM
18436 "description" : "Update network device configuration",
18437 "method" : "PUT",
18438 "name" : "update_network",
18439 "parameters" : {
18440 "additionalProperties" : 0,
18441 "properties" : {
7aacca6f 18442 "address" : {
44660702 18443 "description" : "IP address.",
7aacca6f 18444 "format" : "ipv4",
44660702 18445 "optional" : 1,
7aacca6f 18446 "requires" : "netmask",
44660702 18447 "type" : "string"
7aacca6f 18448 },
44660702
DM
18449 "address6" : {
18450 "description" : "IP address.",
18451 "format" : "ipv6",
18452 "optional" : 1,
18453 "requires" : "netmask6",
18454 "type" : "string"
7aacca6f
DM
18455 },
18456 "autostart" : {
44660702 18457 "description" : "Automatically start interface on boot.",
7aacca6f 18458 "optional" : 1,
44660702 18459 "type" : "boolean"
7aacca6f 18460 },
44660702
DM
18461 "bond_mode" : {
18462 "description" : "Bonding mode.",
7aacca6f 18463 "enum" : [
44660702
DM
18464 "balance-rr",
18465 "active-backup",
18466 "balance-xor",
18467 "broadcast",
18468 "802.3ad",
18469 "balance-tlb",
18470 "balance-alb",
18471 "balance-slb",
18472 "lacp-balance-slb",
18473 "lacp-balance-tcp"
18474 ],
7aacca6f 18475 "optional" : 1,
44660702 18476 "type" : "string"
7aacca6f 18477 },
44660702
DM
18478 "bond_xmit_hash_policy" : {
18479 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
18480 "enum" : [
18481 "layer2",
18482 "layer2+3",
18483 "layer3+4"
18484 ],
7aacca6f 18485 "optional" : 1,
44660702 18486 "type" : "string"
7aacca6f 18487 },
44660702
DM
18488 "bridge_ports" : {
18489 "description" : "Specify the iterfaces you want to add to your bridge.",
18490 "format" : "pve-iface-list",
7aacca6f 18491 "optional" : 1,
44660702 18492 "type" : "string"
7aacca6f 18493 },
44660702
DM
18494 "bridge_vlan_aware" : {
18495 "description" : "Enable bridge vlan support.",
7aacca6f 18496 "optional" : 1,
44660702 18497 "type" : "boolean"
7aacca6f
DM
18498 },
18499 "comments" : {
44660702 18500 "description" : "Comments",
7aacca6f 18501 "optional" : 1,
44660702 18502 "type" : "string"
7aacca6f 18503 },
44660702
DM
18504 "comments6" : {
18505 "description" : "Comments",
7aacca6f 18506 "optional" : 1,
44660702 18507 "type" : "string"
7aacca6f 18508 },
44660702
DM
18509 "delete" : {
18510 "description" : "A list of settings you want to delete.",
18511 "format" : "pve-configid-list",
7aacca6f
DM
18512 "optional" : 1,
18513 "type" : "string"
18514 },
44660702
DM
18515 "gateway" : {
18516 "description" : "Default gateway address.",
18517 "format" : "ipv4",
7aacca6f
DM
18518 "optional" : 1,
18519 "type" : "string"
18520 },
44660702
DM
18521 "gateway6" : {
18522 "description" : "Default ipv6 gateway address.",
18523 "format" : "ipv6",
7aacca6f 18524 "optional" : 1,
44660702 18525 "type" : "string"
7aacca6f
DM
18526 },
18527 "iface" : {
44660702 18528 "description" : "Network interface name.",
7aacca6f
DM
18529 "format" : "pve-iface",
18530 "maxLength" : 20,
18531 "minLength" : 2,
7aacca6f
DM
18532 "type" : "string"
18533 },
44660702
DM
18534 "netmask" : {
18535 "description" : "Network mask.",
18536 "format" : "ipv4mask",
7aacca6f 18537 "optional" : 1,
44660702
DM
18538 "requires" : "address",
18539 "type" : "string"
7aacca6f
DM
18540 },
18541 "netmask6" : {
44660702 18542 "description" : "Network mask.",
7aacca6f 18543 "maximum" : 128,
44660702 18544 "minimum" : 0,
7aacca6f
DM
18545 "optional" : 1,
18546 "requires" : "address6",
4bd7df8b 18547 "type" : "integer",
2c0dde61 18548 "typetext" : "integer (0 - 128)"
44660702 18549 },
7aacca6f 18550 "node" : {
44660702 18551 "description" : "The cluster node name.",
7aacca6f 18552 "format" : "pve-node",
44660702 18553 "type" : "string"
7aacca6f 18554 },
44660702
DM
18555 "ovs_bonds" : {
18556 "description" : "Specify the interfaces used by the bonding device.",
18557 "format" : "pve-iface-list",
18558 "optional" : 1,
18559 "type" : "string"
18560 },
18561 "ovs_bridge" : {
18562 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
18563 "format" : "pve-iface",
18564 "optional" : 1,
18565 "type" : "string"
18566 },
18567 "ovs_options" : {
18568 "description" : "OVS interface options.",
18569 "maxLength" : 1024,
18570 "optional" : 1,
18571 "type" : "string"
18572 },
18573 "ovs_ports" : {
18574 "description" : "Specify the iterfaces you want to add to your bridge.",
18575 "format" : "pve-iface-list",
18576 "optional" : 1,
18577 "type" : "string"
18578 },
18579 "ovs_tag" : {
18580 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
18581 "maximum" : 4094,
18582 "minimum" : 1,
18583 "optional" : 1,
4bd7df8b 18584 "type" : "integer",
2c0dde61 18585 "typetext" : "integer (1 - 4094)"
44660702
DM
18586 },
18587 "slaves" : {
18588 "description" : "Specify the interfaces used by the bonding device.",
18589 "format" : "pve-iface-list",
18590 "optional" : 1,
18591 "type" : "string"
18592 },
18593 "type" : {
18594 "description" : "Network interface type",
18595 "enum" : [
18596 "bridge",
18597 "bond",
18598 "eth",
18599 "alias",
18600 "vlan",
18601 "OVSBridge",
18602 "OVSBond",
18603 "OVSPort",
18604 "OVSIntPort",
18605 "unknown"
18606 ],
18607 "type" : "string"
7aacca6f
DM
18608 }
18609 }
18610 },
7aacca6f
DM
18611 "permissions" : {
18612 "check" : [
18613 "perm",
18614 "/nodes/{node}",
18615 [
44660702 18616 "Sys.Modify"
7aacca6f
DM
18617 ]
18618 ]
18619 },
44660702
DM
18620 "protected" : 1,
18621 "proxyto" : "node",
7aacca6f 18622 "returns" : {
44660702
DM
18623 "type" : "null"
18624 }
7aacca6f
DM
18625 }
18626 },
7aacca6f 18627 "leaf" : 1,
44660702
DM
18628 "path" : "/nodes/{node}/network/{iface}",
18629 "text" : "{iface}"
7aacca6f
DM
18630 }
18631 ],
7aacca6f 18632 "info" : {
44660702
DM
18633 "DELETE" : {
18634 "description" : "Revert network configuration changes.",
18635 "method" : "DELETE",
18636 "name" : "revert_network_changes",
7aacca6f
DM
18637 "parameters" : {
18638 "additionalProperties" : 0,
18639 "properties" : {
7aacca6f 18640 "node" : {
7aacca6f 18641 "description" : "The cluster node name.",
44660702 18642 "format" : "pve-node",
7aacca6f
DM
18643 "type" : "string"
18644 }
18645 }
44660702 18646 },
7aacca6f
DM
18647 "permissions" : {
18648 "check" : [
18649 "perm",
18650 "/nodes/{node}",
18651 [
18652 "Sys.Modify"
18653 ]
18654 ]
18655 },
44660702
DM
18656 "protected" : 1,
18657 "proxyto" : "node",
7aacca6f
DM
18658 "returns" : {
18659 "type" : "null"
44660702 18660 }
7aacca6f 18661 },
44660702
DM
18662 "GET" : {
18663 "description" : "List available networks",
18664 "method" : "GET",
18665 "name" : "index",
7aacca6f 18666 "parameters" : {
44660702 18667 "additionalProperties" : 0,
7aacca6f 18668 "properties" : {
7aacca6f 18669 "node" : {
44660702
DM
18670 "description" : "The cluster node name.",
18671 "format" : "pve-node",
18672 "type" : "string"
7aacca6f
DM
18673 },
18674 "type" : {
44660702 18675 "description" : "Only list specific interface types.",
7aacca6f
DM
18676 "enum" : [
18677 "bridge",
18678 "bond",
18679 "eth",
18680 "alias",
18681 "vlan",
18682 "OVSBridge",
18683 "OVSBond",
18684 "OVSPort",
18685 "OVSIntPort",
44660702 18686 "any_bridge"
7aacca6f 18687 ],
7aacca6f 18688 "optional" : 1,
44660702
DM
18689 "type" : "string"
18690 }
18691 }
18692 },
18693 "permissions" : {
18694 "user" : "all"
18695 },
18696 "proxyto" : "node",
18697 "returns" : {
18698 "items" : {
18699 "properties" : {},
18700 "type" : "object"
18701 },
18702 "links" : [
18703 {
18704 "href" : "{iface}",
18705 "rel" : "child"
18706 }
18707 ],
18708 "type" : "array"
18709 }
18710 },
18711 "POST" : {
18712 "description" : "Create network device configuration",
18713 "method" : "POST",
18714 "name" : "create_network",
18715 "parameters" : {
18716 "additionalProperties" : 0,
18717 "properties" : {
7aacca6f 18718 "address" : {
44660702
DM
18719 "description" : "IP address.",
18720 "format" : "ipv4",
18721 "optional" : 1,
7aacca6f 18722 "requires" : "netmask",
44660702
DM
18723 "type" : "string"
18724 },
18725 "address6" : {
7aacca6f 18726 "description" : "IP address.",
44660702
DM
18727 "format" : "ipv6",
18728 "optional" : 1,
18729 "requires" : "netmask6",
18730 "type" : "string"
18731 },
18732 "autostart" : {
18733 "description" : "Automatically start interface on boot.",
7aacca6f 18734 "optional" : 1,
44660702 18735 "type" : "boolean"
7aacca6f
DM
18736 },
18737 "bond_mode" : {
18738 "description" : "Bonding mode.",
18739 "enum" : [
18740 "balance-rr",
18741 "active-backup",
18742 "balance-xor",
18743 "broadcast",
18744 "802.3ad",
18745 "balance-tlb",
18746 "balance-alb",
18747 "balance-slb",
18748 "lacp-balance-slb",
18749 "lacp-balance-tcp"
18750 ],
18751 "optional" : 1,
18752 "type" : "string"
18753 },
44660702
DM
18754 "bond_xmit_hash_policy" : {
18755 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
18756 "enum" : [
18757 "layer2",
18758 "layer2+3",
18759 "layer3+4"
18760 ],
18761 "optional" : 1,
18762 "type" : "string"
18763 },
18764 "bridge_ports" : {
18765 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 18766 "format" : "pve-iface-list",
7aacca6f 18767 "optional" : 1,
44660702 18768 "type" : "string"
7aacca6f 18769 },
44660702
DM
18770 "bridge_vlan_aware" : {
18771 "description" : "Enable bridge vlan support.",
7aacca6f 18772 "optional" : 1,
44660702 18773 "type" : "boolean"
7aacca6f 18774 },
44660702
DM
18775 "comments" : {
18776 "description" : "Comments",
7aacca6f 18777 "optional" : 1,
44660702
DM
18778 "type" : "string"
18779 },
18780 "comments6" : {
18781 "description" : "Comments",
18782 "optional" : 1,
18783 "type" : "string"
18784 },
18785 "gateway" : {
18786 "description" : "Default gateway address.",
18787 "format" : "ipv4",
18788 "optional" : 1,
18789 "type" : "string"
18790 },
18791 "gateway6" : {
18792 "description" : "Default ipv6 gateway address.",
18793 "format" : "ipv6",
18794 "optional" : 1,
18795 "type" : "string"
56122987 18796 },
7aacca6f 18797 "iface" : {
44660702 18798 "description" : "Network interface name.",
7aacca6f
DM
18799 "format" : "pve-iface",
18800 "maxLength" : 20,
44660702
DM
18801 "minLength" : 2,
18802 "type" : "string"
56122987 18803 },
44660702
DM
18804 "netmask" : {
18805 "description" : "Network mask.",
18806 "format" : "ipv4mask",
7aacca6f 18807 "optional" : 1,
44660702
DM
18808 "requires" : "address",
18809 "type" : "string"
7aacca6f 18810 },
44660702
DM
18811 "netmask6" : {
18812 "description" : "Network mask.",
18813 "maximum" : 128,
18814 "minimum" : 0,
7aacca6f 18815 "optional" : 1,
44660702 18816 "requires" : "address6",
4bd7df8b 18817 "type" : "integer",
2c0dde61 18818 "typetext" : "integer (0 - 128)"
7aacca6f 18819 },
44660702
DM
18820 "node" : {
18821 "description" : "The cluster node name.",
18822 "format" : "pve-node",
18823 "type" : "string"
18824 },
18825 "ovs_bonds" : {
18826 "description" : "Specify the interfaces used by the bonding device.",
18827 "format" : "pve-iface-list",
7aacca6f
DM
18828 "optional" : 1,
18829 "type" : "string"
18830 },
44660702
DM
18831 "ovs_bridge" : {
18832 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
18833 "format" : "pve-iface",
18834 "optional" : 1,
18835 "type" : "string"
18836 },
18837 "ovs_options" : {
18838 "description" : "OVS interface options.",
18839 "maxLength" : 1024,
18840 "optional" : 1,
18841 "type" : "string"
18842 },
18843 "ovs_ports" : {
18844 "description" : "Specify the iterfaces you want to add to your bridge.",
18845 "format" : "pve-iface-list",
18846 "optional" : 1,
18847 "type" : "string"
18848 },
18849 "ovs_tag" : {
18850 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
18851 "maximum" : 4094,
18852 "minimum" : 1,
18853 "optional" : 1,
4bd7df8b 18854 "type" : "integer",
2c0dde61 18855 "typetext" : "integer (1 - 4094)"
44660702
DM
18856 },
18857 "slaves" : {
18858 "description" : "Specify the interfaces used by the bonding device.",
18859 "format" : "pve-iface-list",
7aacca6f 18860 "optional" : 1,
44660702
DM
18861 "type" : "string"
18862 },
18863 "type" : {
18864 "description" : "Network interface type",
7aacca6f 18865 "enum" : [
44660702
DM
18866 "bridge",
18867 "bond",
18868 "eth",
18869 "alias",
18870 "vlan",
18871 "OVSBridge",
18872 "OVSBond",
18873 "OVSPort",
18874 "OVSIntPort",
18875 "unknown"
7aacca6f 18876 ],
44660702 18877 "type" : "string"
56122987 18878 }
44660702 18879 }
56122987 18880 },
56122987
DM
18881 "permissions" : {
18882 "check" : [
18883 "perm",
18884 "/nodes/{node}",
18885 [
7aacca6f 18886 "Sys.Modify"
44660702
DM
18887 ]
18888 ]
7aacca6f 18889 },
44660702
DM
18890 "protected" : 1,
18891 "proxyto" : "node",
18892 "returns" : {
18893 "type" : "null"
18894 }
18895 }
18896 },
18897 "leaf" : 0,
18898 "path" : "/nodes/{node}/network",
18899 "text" : "network"
18900 },
18901 {
18902 "children" : [
18903 {
7aacca6f
DM
18904 "children" : [
18905 {
18906 "info" : {
18907 "GET" : {
44660702 18908 "description" : "Read task log.",
7aacca6f
DM
18909 "method" : "GET",
18910 "name" : "read_task_log",
18911 "parameters" : {
44660702 18912 "additionalProperties" : 0,
7aacca6f 18913 "properties" : {
44660702
DM
18914 "limit" : {
18915 "minimum" : 0,
7aacca6f 18916 "optional" : 1,
4bd7df8b 18917 "type" : "integer",
2c0dde61 18918 "typetext" : "integer (0 - N)"
7aacca6f
DM
18919 },
18920 "node" : {
18921 "description" : "The cluster node name.",
44660702
DM
18922 "format" : "pve-node",
18923 "type" : "string"
7aacca6f 18924 },
44660702
DM
18925 "start" : {
18926 "minimum" : 0,
7aacca6f 18927 "optional" : 1,
4bd7df8b 18928 "type" : "integer",
2c0dde61 18929 "typetext" : "integer (0 - N)"
44660702
DM
18930 },
18931 "upid" : {
18932 "type" : "string"
7aacca6f 18933 }
44660702
DM
18934 }
18935 },
18936 "permissions" : {
18937 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
18938 "user" : "all"
7aacca6f
DM
18939 },
18940 "protected" : 1,
44660702 18941 "proxyto" : "node",
7aacca6f 18942 "returns" : {
7aacca6f 18943 "items" : {
7aacca6f
DM
18944 "properties" : {
18945 "n" : {
44660702
DM
18946 "description" : "Line number",
18947 "type" : "integer"
7aacca6f
DM
18948 },
18949 "t" : {
44660702
DM
18950 "description" : "Line text",
18951 "type" : "string"
7aacca6f 18952 }
44660702
DM
18953 },
18954 "type" : "object"
18955 },
18956 "type" : "array"
18957 }
7aacca6f 18958 }
56122987 18959 },
7aacca6f 18960 "leaf" : 1,
44660702
DM
18961 "path" : "/nodes/{node}/tasks/{upid}/log",
18962 "text" : "log"
7aacca6f
DM
18963 },
18964 {
7aacca6f
DM
18965 "info" : {
18966 "GET" : {
44660702
DM
18967 "description" : "Read task status.",
18968 "method" : "GET",
7aacca6f
DM
18969 "name" : "read_task_status",
18970 "parameters" : {
18971 "additionalProperties" : 0,
18972 "properties" : {
18973 "node" : {
7aacca6f 18974 "description" : "The cluster node name.",
44660702 18975 "format" : "pve-node",
7aacca6f
DM
18976 "type" : "string"
18977 },
18978 "upid" : {
18979 "type" : "string"
18980 }
18981 }
18982 },
7aacca6f
DM
18983 "permissions" : {
18984 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
18985 "user" : "all"
56122987 18986 },
44660702 18987 "protected" : 1,
7aacca6f 18988 "proxyto" : "node",
7aacca6f
DM
18989 "returns" : {
18990 "properties" : {
18991 "pid" : {
18992 "type" : "integer"
18993 },
18994 "status" : {
7aacca6f
DM
18995 "enum" : [
18996 "running",
18997 "stopped"
44660702
DM
18998 ],
18999 "type" : "string"
7aacca6f
DM
19000 }
19001 },
19002 "type" : "object"
56122987 19003 }
7aacca6f 19004 }
44660702
DM
19005 },
19006 "leaf" : 1,
19007 "path" : "/nodes/{node}/tasks/{upid}/status",
19008 "text" : "status"
56122987 19009 }
7aacca6f 19010 ],
44660702
DM
19011 "info" : {
19012 "DELETE" : {
19013 "description" : "Stop a task.",
19014 "method" : "DELETE",
19015 "name" : "stop_task",
19016 "parameters" : {
19017 "additionalProperties" : 0,
19018 "properties" : {
19019 "node" : {
19020 "description" : "The cluster node name.",
19021 "format" : "pve-node",
19022 "type" : "string"
19023 },
19024 "upid" : {
19025 "type" : "string"
19026 }
7aacca6f 19027 }
44660702
DM
19028 },
19029 "permissions" : {
19030 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
19031 "user" : "all"
19032 },
19033 "protected" : 1,
19034 "proxyto" : "node",
19035 "returns" : {
19036 "type" : "null"
7aacca6f 19037 }
56122987 19038 },
44660702
DM
19039 "GET" : {
19040 "description" : "",
19041 "method" : "GET",
19042 "name" : "upid_index",
19043 "parameters" : {
19044 "additionalProperties" : 0,
19045 "properties" : {
19046 "node" : {
19047 "description" : "The cluster node name.",
19048 "format" : "pve-node",
19049 "type" : "string"
19050 },
19051 "upid" : {
19052 "type" : "string"
19053 }
19054 }
19055 },
19056 "permissions" : {
19057 "user" : "all"
19058 },
19059 "returns" : {
19060 "items" : {
19061 "properties" : {},
19062 "type" : "object"
19063 },
19064 "links" : [
19065 {
19066 "href" : "{name}",
19067 "rel" : "child"
19068 }
19069 ],
19070 "type" : "array"
56122987 19071 }
44660702 19072 }
56122987 19073 },
44660702
DM
19074 "leaf" : 0,
19075 "path" : "/nodes/{node}/tasks/{upid}",
19076 "text" : "{upid}"
19077 }
19078 ],
19079 "info" : {
19080 "GET" : {
7aacca6f 19081 "description" : "Read task list for one node (finished tasks).",
44660702
DM
19082 "method" : "GET",
19083 "name" : "node_tasks",
56122987 19084 "parameters" : {
7aacca6f 19085 "additionalProperties" : 0,
56122987 19086 "properties" : {
44660702 19087 "errors" : {
56122987 19088 "optional" : 1,
44660702 19089 "type" : "boolean"
56122987 19090 },
44660702 19091 "limit" : {
56122987 19092 "minimum" : 0,
56122987 19093 "optional" : 1,
4bd7df8b 19094 "type" : "integer",
2c0dde61 19095 "typetext" : "integer (0 - N)"
56122987 19096 },
56122987
DM
19097 "node" : {
19098 "description" : "The cluster node name.",
44660702
DM
19099 "format" : "pve-node",
19100 "type" : "string"
56122987 19101 },
44660702 19102 "start" : {
7aacca6f 19103 "minimum" : 0,
44660702 19104 "optional" : 1,
4bd7df8b 19105 "type" : "integer",
2c0dde61 19106 "typetext" : "integer (0 - N)"
56122987 19107 },
7aacca6f 19108 "userfilter" : {
44660702
DM
19109 "optional" : 1,
19110 "type" : "string"
19111 },
19112 "vmid" : {
19113 "description" : "Only list tasks for this VM.",
19114 "format" : "pve-vmid",
19115 "minimum" : 1,
19116 "optional" : 1,
4bd7df8b 19117 "type" : "integer",
2c0dde61 19118 "typetext" : "integer (1 - N)"
56122987
DM
19119 }
19120 }
19121 },
7aacca6f 19122 "permissions" : {
44660702 19123 "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
19124 "user" : "all"
19125 },
44660702 19126 "proxyto" : "node",
56122987
DM
19127 "returns" : {
19128 "items" : {
19129 "properties" : {
44660702 19130 "upid" : {
56122987
DM
19131 "type" : "string"
19132 }
19133 },
19134 "type" : "object"
19135 },
56122987
DM
19136 "links" : [
19137 {
44660702
DM
19138 "href" : "{upid}",
19139 "rel" : "child"
56122987 19140 }
44660702
DM
19141 ],
19142 "type" : "array"
56122987
DM
19143 }
19144 }
19145 },
44660702
DM
19146 "leaf" : 0,
19147 "path" : "/nodes/{node}/tasks",
19148 "text" : "tasks"
19149 },
19150 {
56122987
DM
19151 "children" : [
19152 {
56122987
DM
19153 "info" : {
19154 "GET" : {
7aacca6f 19155 "description" : "Scan zfs pool list on local node.",
44660702
DM
19156 "method" : "GET",
19157 "name" : "zfsscan",
56122987 19158 "parameters" : {
44660702 19159 "additionalProperties" : 0,
56122987 19160 "properties" : {
56122987
DM
19161 "node" : {
19162 "description" : "The cluster node name.",
44660702
DM
19163 "format" : "pve-node",
19164 "type" : "string"
56122987 19165 }
44660702
DM
19166 }
19167 },
7aacca6f
DM
19168 "permissions" : {
19169 "check" : [
19170 "perm",
19171 "/storage",
19172 [
19173 "Datastore.Allocate"
19174 ]
19175 ]
19176 },
44660702
DM
19177 "protected" : 1,
19178 "proxyto" : "node",
56122987 19179 "returns" : {
56122987
DM
19180 "items" : {
19181 "properties" : {
44660702 19182 "pool" : {
56122987
DM
19183 "type" : "string"
19184 }
44660702
DM
19185 },
19186 "type" : "object"
19187 },
19188 "type" : "array"
19189 }
19190 }
19191 },
19192 "leaf" : 1,
19193 "path" : "/nodes/{node}/scan/zfs",
19194 "text" : "zfs"
19195 },
19196 {
19197 "info" : {
19198 "GET" : {
19199 "description" : "Scan remote NFS server.",
19200 "method" : "GET",
7aacca6f 19201 "name" : "nfsscan",
56122987 19202 "parameters" : {
44660702 19203 "additionalProperties" : 0,
56122987
DM
19204 "properties" : {
19205 "node" : {
7aacca6f 19206 "description" : "The cluster node name.",
44660702 19207 "format" : "pve-node",
7aacca6f
DM
19208 "type" : "string"
19209 },
19210 "server" : {
19211 "format" : "pve-storage-server",
19212 "type" : "string"
56122987 19213 }
44660702 19214 }
56122987 19215 },
56122987
DM
19216 "permissions" : {
19217 "check" : [
19218 "perm",
19219 "/storage",
19220 [
19221 "Datastore.Allocate"
19222 ]
19223 ]
19224 },
44660702 19225 "protected" : 1,
56122987 19226 "proxyto" : "node",
44660702
DM
19227 "returns" : {
19228 "items" : {
19229 "properties" : {
19230 "options" : {
19231 "type" : "string"
19232 },
19233 "path" : {
19234 "type" : "string"
19235 }
19236 },
19237 "type" : "object"
19238 },
19239 "type" : "array"
19240 }
19241 }
19242 },
19243 "leaf" : 1,
19244 "path" : "/nodes/{node}/scan/nfs",
19245 "text" : "nfs"
19246 },
19247 {
19248 "info" : {
19249 "GET" : {
19250 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
19251 "method" : "GET",
19252 "name" : "glusterfsscan",
56122987 19253 "parameters" : {
44660702 19254 "additionalProperties" : 0,
56122987 19255 "properties" : {
56122987 19256 "node" : {
44660702 19257 "description" : "The cluster node name.",
56122987 19258 "format" : "pve-node",
44660702 19259 "type" : "string"
7aacca6f
DM
19260 },
19261 "server" : {
19262 "format" : "pve-storage-server",
19263 "type" : "string"
56122987 19264 }
44660702
DM
19265 }
19266 },
19267 "permissions" : {
19268 "check" : [
19269 "perm",
19270 "/storage",
19271 [
19272 "Datastore.Allocate"
19273 ]
19274 ]
7aacca6f 19275 },
44660702
DM
19276 "protected" : 1,
19277 "proxyto" : "node",
19278 "returns" : {
19279 "items" : {
19280 "properties" : {
19281 "volname" : {
19282 "type" : "string"
19283 }
19284 },
19285 "type" : "object"
19286 },
19287 "type" : "array"
19288 }
56122987
DM
19289 }
19290 },
44660702
DM
19291 "leaf" : 1,
19292 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 19293 "text" : "glusterfs"
56122987
DM
19294 },
19295 {
56122987
DM
19296 "info" : {
19297 "GET" : {
7aacca6f 19298 "description" : "Scan remote iSCSI server.",
44660702
DM
19299 "method" : "GET",
19300 "name" : "iscsiscan",
19301 "parameters" : {
19302 "additionalProperties" : 0,
19303 "properties" : {
19304 "node" : {
19305 "description" : "The cluster node name.",
19306 "format" : "pve-node",
19307 "type" : "string"
19308 },
19309 "portal" : {
19310 "format" : "pve-storage-portal-dns",
19311 "type" : "string"
19312 }
19313 }
19314 },
56122987
DM
19315 "permissions" : {
19316 "check" : [
19317 "perm",
19318 "/storage",
19319 [
19320 "Datastore.Allocate"
19321 ]
19322 ]
19323 },
44660702
DM
19324 "protected" : 1,
19325 "proxyto" : "node",
56122987 19326 "returns" : {
56122987
DM
19327 "items" : {
19328 "properties" : {
44660702 19329 "portal" : {
56122987
DM
19330 "type" : "string"
19331 },
44660702 19332 "target" : {
56122987
DM
19333 "type" : "string"
19334 }
19335 },
19336 "type" : "object"
56122987 19337 },
44660702
DM
19338 "type" : "array"
19339 }
56122987
DM
19340 }
19341 },
44660702 19342 "leaf" : 1,
7aacca6f 19343 "path" : "/nodes/{node}/scan/iscsi",
44660702 19344 "text" : "iscsi"
56122987
DM
19345 },
19346 {
56122987
DM
19347 "info" : {
19348 "GET" : {
44660702
DM
19349 "description" : "List local LVM volume groups.",
19350 "method" : "GET",
19351 "name" : "lvmscan",
19352 "parameters" : {
19353 "additionalProperties" : 0,
19354 "properties" : {
19355 "node" : {
19356 "description" : "The cluster node name.",
19357 "format" : "pve-node",
19358 "type" : "string"
56122987 19359 }
7aacca6f 19360 }
56122987 19361 },
56122987
DM
19362 "permissions" : {
19363 "check" : [
19364 "perm",
19365 "/storage",
19366 [
19367 "Datastore.Allocate"
19368 ]
19369 ]
19370 },
7aacca6f 19371 "protected" : 1,
44660702
DM
19372 "proxyto" : "node",
19373 "returns" : {
19374 "items" : {
19375 "properties" : {
19376 "vg" : {
19377 "type" : "string"
19378 }
19379 },
19380 "type" : "object"
19381 },
19382 "type" : "array"
7aacca6f 19383 }
56122987
DM
19384 }
19385 },
19386 "leaf" : 1,
44660702
DM
19387 "path" : "/nodes/{node}/scan/lvm",
19388 "text" : "lvm"
56122987
DM
19389 },
19390 {
56122987
DM
19391 "info" : {
19392 "GET" : {
44660702
DM
19393 "description" : "List local LVM Thin Pools.",
19394 "method" : "GET",
19395 "name" : "lvmthinscan",
56122987 19396 "parameters" : {
44660702 19397 "additionalProperties" : 0,
56122987
DM
19398 "properties" : {
19399 "node" : {
44660702 19400 "description" : "The cluster node name.",
56122987 19401 "format" : "pve-node",
44660702 19402 "type" : "string"
56122987
DM
19403 },
19404 "vg" : {
44660702 19405 "maxLength" : 100,
56122987 19406 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 19407 "type" : "string"
56122987 19408 }
44660702 19409 }
56122987 19410 },
7aacca6f
DM
19411 "permissions" : {
19412 "check" : [
19413 "perm",
19414 "/storage",
19415 [
19416 "Datastore.Allocate"
19417 ]
19418 ]
19419 },
44660702 19420 "protected" : 1,
7aacca6f 19421 "proxyto" : "node",
56122987 19422 "returns" : {
56122987
DM
19423 "items" : {
19424 "properties" : {
19425 "lv" : {
19426 "type" : "string"
19427 }
19428 },
19429 "type" : "object"
44660702
DM
19430 },
19431 "type" : "array"
7aacca6f 19432 }
56122987
DM
19433 }
19434 },
7aacca6f 19435 "leaf" : 1,
44660702
DM
19436 "path" : "/nodes/{node}/scan/lvmthin",
19437 "text" : "lvmthin"
56122987
DM
19438 },
19439 {
56122987
DM
19440 "info" : {
19441 "GET" : {
44660702
DM
19442 "description" : "List local USB devices.",
19443 "method" : "GET",
19444 "name" : "usbscan",
19445 "parameters" : {
19446 "additionalProperties" : 0,
19447 "properties" : {
19448 "node" : {
19449 "description" : "The cluster node name.",
19450 "format" : "pve-node",
19451 "type" : "string"
19452 }
19453 }
19454 },
7aacca6f
DM
19455 "permissions" : {
19456 "check" : [
19457 "perm",
19458 "/",
19459 [
19460 "Sys.Modify"
19461 ]
19462 ]
19463 },
44660702 19464 "protected" : 1,
7aacca6f 19465 "proxyto" : "node",
56122987
DM
19466 "returns" : {
19467 "items" : {
19468 "properties" : {
44660702
DM
19469 "busnum" : {
19470 "type" : "integer"
56122987 19471 },
44660702
DM
19472 "class" : {
19473 "type" : "integer"
56122987 19474 },
7aacca6f 19475 "devnum" : {
56122987
DM
19476 "type" : "integer"
19477 },
44660702
DM
19478 "level" : {
19479 "type" : "integer"
19480 },
19481 "manufacturer" : {
19482 "optional" : 1,
7aacca6f
DM
19483 "type" : "string"
19484 },
44660702 19485 "port" : {
56122987
DM
19486 "type" : "integer"
19487 },
44660702
DM
19488 "prodid" : {
19489 "type" : "string"
56122987 19490 },
44660702
DM
19491 "product" : {
19492 "optional" : 1,
19493 "type" : "string"
19494 },
19495 "serial" : {
7aacca6f 19496 "optional" : 1,
56122987
DM
19497 "type" : "string"
19498 },
44660702 19499 "speed" : {
7aacca6f 19500 "type" : "string"
56122987 19501 },
44660702 19502 "usbpath" : {
56122987
DM
19503 "optional" : 1,
19504 "type" : "string"
19505 },
44660702
DM
19506 "vendid" : {
19507 "type" : "string"
56122987
DM
19508 }
19509 },
19510 "type" : "object"
7aacca6f
DM
19511 },
19512 "type" : "array"
44660702
DM
19513 }
19514 }
19515 },
19516 "leaf" : 1,
19517 "path" : "/nodes/{node}/scan/usb",
19518 "text" : "usb"
19519 }
19520 ],
19521 "info" : {
19522 "GET" : {
19523 "description" : "Index of available scan methods",
19524 "method" : "GET",
19525 "name" : "index",
19526 "parameters" : {
19527 "additionalProperties" : 0,
19528 "properties" : {
19529 "node" : {
19530 "description" : "The cluster node name.",
19531 "format" : "pve-node",
19532 "type" : "string"
19533 }
19534 }
19535 },
19536 "permissions" : {
19537 "user" : "all"
19538 },
19539 "returns" : {
19540 "items" : {
19541 "properties" : {
19542 "method" : {
19543 "type" : "string"
56122987
DM
19544 }
19545 },
44660702
DM
19546 "type" : "object"
19547 },
19548 "links" : [
19549 {
19550 "href" : "{method}",
19551 "rel" : "child"
19552 }
19553 ],
19554 "type" : "array"
56122987
DM
19555 }
19556 }
44660702
DM
19557 },
19558 "leaf" : 0,
19559 "path" : "/nodes/{node}/scan",
7aacca6f 19560 "text" : "scan"
56122987
DM
19561 },
19562 {
56122987
DM
19563 "children" : [
19564 {
56122987
DM
19565 "children" : [
19566 {
7aacca6f
DM
19567 "children" : [
19568 {
19569 "info" : {
44660702
DM
19570 "DELETE" : {
19571 "description" : "Delete volume",
19572 "method" : "DELETE",
19573 "name" : "delete",
7aacca6f
DM
19574 "parameters" : {
19575 "additionalProperties" : 0,
19576 "properties" : {
7aacca6f
DM
19577 "node" : {
19578 "description" : "The cluster node name.",
44660702
DM
19579 "format" : "pve-node",
19580 "type" : "string"
19581 },
19582 "storage" : {
19583 "description" : "The storage identifier.",
19584 "format" : "pve-storage-id",
19585 "optional" : 1,
19586 "type" : "string"
7aacca6f
DM
19587 },
19588 "volume" : {
19589 "description" : "Volume identifier",
19590 "type" : "string"
19591 }
19592 }
19593 },
44660702
DM
19594 "permissions" : {
19595 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
19596 "user" : "all"
19597 },
19598 "protected" : 1,
19599 "proxyto" : "node",
19600 "returns" : {
19601 "type" : "null"
19602 }
7aacca6f 19603 },
44660702
DM
19604 "GET" : {
19605 "description" : "Get volume attributes",
19606 "method" : "GET",
19607 "name" : "info",
7aacca6f
DM
19608 "parameters" : {
19609 "additionalProperties" : 0,
19610 "properties" : {
7aacca6f
DM
19611 "node" : {
19612 "description" : "The cluster node name.",
44660702
DM
19613 "format" : "pve-node",
19614 "type" : "string"
7aacca6f
DM
19615 },
19616 "storage" : {
7aacca6f 19617 "description" : "The storage identifier.",
44660702 19618 "format" : "pve-storage-id",
7aacca6f
DM
19619 "optional" : 1,
19620 "type" : "string"
44660702
DM
19621 },
19622 "volume" : {
19623 "description" : "Volume identifier",
19624 "type" : "string"
7aacca6f
DM
19625 }
19626 }
19627 },
7aacca6f 19628 "permissions" : {
44660702 19629 "description" : "You need read access for the volume.",
7aacca6f
DM
19630 "user" : "all"
19631 },
44660702 19632 "protected" : 1,
7aacca6f 19633 "proxyto" : "node",
7aacca6f 19634 "returns" : {
44660702 19635 "type" : "object"
7aacca6f
DM
19636 }
19637 },
19638 "POST" : {
44660702
DM
19639 "description" : "Copy a volume. This is experimental code - do not use.",
19640 "method" : "POST",
19641 "name" : "copy",
7aacca6f
DM
19642 "parameters" : {
19643 "additionalProperties" : 0,
19644 "properties" : {
44660702
DM
19645 "node" : {
19646 "description" : "The cluster node name.",
19647 "format" : "pve-node",
19648 "type" : "string"
19649 },
19650 "storage" : {
19651 "description" : "The storage identifier.",
19652 "format" : "pve-storage-id",
19653 "optional" : 1,
19654 "type" : "string"
19655 },
7aacca6f 19656 "target" : {
44660702
DM
19657 "description" : "Target volume identifier",
19658 "type" : "string"
7aacca6f
DM
19659 },
19660 "target_node" : {
7aacca6f 19661 "description" : "Target node. Default is local node.",
44660702
DM
19662 "format" : "pve-node",
19663 "optional" : 1,
19664 "type" : "string"
7aacca6f
DM
19665 },
19666 "volume" : {
44660702
DM
19667 "description" : "Source volume identifier",
19668 "type" : "string"
7aacca6f
DM
19669 }
19670 }
19671 },
7aacca6f
DM
19672 "protected" : 1,
19673 "proxyto" : "node",
19674 "returns" : {
19675 "type" : "string"
44660702 19676 }
7aacca6f
DM
19677 }
19678 },
7aacca6f 19679 "leaf" : 1,
44660702
DM
19680 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
19681 "text" : "{volume}"
7aacca6f
DM
19682 }
19683 ],
56122987
DM
19684 "info" : {
19685 "GET" : {
44660702
DM
19686 "description" : "List storage content.",
19687 "method" : "GET",
19688 "name" : "index",
19689 "parameters" : {
19690 "additionalProperties" : 0,
19691 "properties" : {
19692 "content" : {
19693 "description" : "Only list content of this type.",
19694 "format" : "pve-storage-content",
19695 "optional" : 1,
19696 "type" : "string"
19697 },
19698 "node" : {
19699 "description" : "The cluster node name.",
19700 "format" : "pve-node",
19701 "type" : "string"
19702 },
19703 "storage" : {
19704 "description" : "The storage identifier.",
19705 "format" : "pve-storage-id",
19706 "type" : "string"
19707 },
19708 "vmid" : {
19709 "description" : "Only list images for this VM",
19710 "format" : "pve-vmid",
19711 "minimum" : 1,
19712 "optional" : 1,
4bd7df8b 19713 "type" : "integer",
2c0dde61 19714 "typetext" : "integer (1 - N)"
44660702
DM
19715 }
19716 }
19717 },
7aacca6f
DM
19718 "permissions" : {
19719 "check" : [
19720 "perm",
19721 "/storage/{storage}",
19722 [
19723 "Datastore.Audit",
19724 "Datastore.AllocateSpace"
19725 ],
19726 "any",
19727 1
19728 ]
19729 },
44660702 19730 "protected" : 1,
7aacca6f 19731 "proxyto" : "node",
56122987 19732 "returns" : {
44660702
DM
19733 "items" : {
19734 "properties" : {
19735 "volid" : {
19736 "type" : "string"
19737 }
19738 },
19739 "type" : "object"
19740 },
19741 "links" : [
19742 {
19743 "href" : "{volid}",
19744 "rel" : "child"
19745 }
19746 ],
19747 "type" : "array"
19748 }
19749 },
19750 "POST" : {
19751 "description" : "Allocate disk images.",
19752 "method" : "POST",
19753 "name" : "create",
56122987 19754 "parameters" : {
44660702 19755 "additionalProperties" : 0,
56122987 19756 "properties" : {
44660702
DM
19757 "filename" : {
19758 "description" : "The name of the file to create.",
19759 "type" : "string"
19760 },
19761 "format" : {
19762 "enum" : [
19763 "raw",
19764 "qcow2",
19765 "subvol"
19766 ],
19767 "optional" : 1,
19768 "requires" : "size",
19769 "type" : "string"
19770 },
19771 "node" : {
19772 "description" : "The cluster node name.",
19773 "format" : "pve-node",
19774 "type" : "string"
19775 },
19776 "size" : {
19777 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
19778 "pattern" : "\\d+[MG]?",
19779 "type" : "string"
19780 },
56122987
DM
19781 "storage" : {
19782 "description" : "The storage identifier.",
44660702
DM
19783 "format" : "pve-storage-id",
19784 "type" : "string"
56122987 19785 },
44660702
DM
19786 "vmid" : {
19787 "description" : "Specify owner VM",
19788 "format" : "pve-vmid",
19789 "minimum" : 1,
4bd7df8b 19790 "type" : "integer",
2c0dde61 19791 "typetext" : "integer (1 - N)"
44660702
DM
19792 }
19793 }
19794 },
19795 "permissions" : {
19796 "check" : [
19797 "perm",
19798 "/storage/{storage}",
19799 [
19800 "Datastore.AllocateSpace"
19801 ]
19802 ]
19803 },
19804 "protected" : 1,
19805 "proxyto" : "node",
19806 "returns" : {
19807 "description" : "Volume identifier",
19808 "type" : "string"
19809 }
19810 }
19811 },
19812 "leaf" : 0,
19813 "path" : "/nodes/{node}/storage/{storage}/content",
19814 "text" : "content"
19815 },
19816 {
19817 "info" : {
19818 "GET" : {
19819 "description" : "Read storage status.",
19820 "method" : "GET",
19821 "name" : "read_status",
19822 "parameters" : {
19823 "additionalProperties" : 0,
19824 "properties" : {
56122987
DM
19825 "node" : {
19826 "description" : "The cluster node name.",
44660702
DM
19827 "format" : "pve-node",
19828 "type" : "string"
19829 },
19830 "storage" : {
19831 "description" : "The storage identifier.",
19832 "format" : "pve-storage-id",
19833 "type" : "string"
56122987 19834 }
44660702
DM
19835 }
19836 },
19837 "permissions" : {
19838 "check" : [
19839 "perm",
19840 "/storage/{storage}",
19841 [
19842 "Datastore.Audit",
19843 "Datastore.AllocateSpace"
19844 ],
19845 "any",
19846 1
19847 ]
56122987
DM
19848 },
19849 "protected" : 1,
44660702
DM
19850 "proxyto" : "node",
19851 "returns" : {
19852 "properties" : {},
19853 "type" : "object"
19854 }
56122987
DM
19855 }
19856 },
44660702
DM
19857 "leaf" : 1,
19858 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 19859 "text" : "status"
56122987
DM
19860 },
19861 {
56122987
DM
19862 "info" : {
19863 "GET" : {
44660702
DM
19864 "description" : "Read storage RRD statistics (returns PNG).",
19865 "method" : "GET",
19866 "name" : "rrd",
56122987 19867 "parameters" : {
44660702 19868 "additionalProperties" : 0,
56122987 19869 "properties" : {
44660702
DM
19870 "cf" : {
19871 "description" : "The RRD consolidation function",
19872 "enum" : [
19873 "AVERAGE",
19874 "MAX"
19875 ],
19876 "optional" : 1,
19877 "type" : "string"
19878 },
7aacca6f 19879 "ds" : {
7aacca6f 19880 "description" : "The list of datasources you want to display.",
44660702
DM
19881 "format" : "pve-configid-list",
19882 "type" : "string"
56122987 19883 },
7aacca6f
DM
19884 "node" : {
19885 "description" : "The cluster node name.",
44660702
DM
19886 "format" : "pve-node",
19887 "type" : "string"
56122987 19888 },
7aacca6f 19889 "storage" : {
7aacca6f 19890 "description" : "The storage identifier.",
44660702
DM
19891 "format" : "pve-storage-id",
19892 "type" : "string"
19893 },
19894 "timeframe" : {
19895 "description" : "Specify the time frame you are interested in.",
7aacca6f 19896 "enum" : [
44660702
DM
19897 "hour",
19898 "day",
19899 "week",
19900 "month",
19901 "year"
7aacca6f 19902 ],
44660702 19903 "type" : "string"
56122987 19904 }
44660702 19905 }
56122987
DM
19906 },
19907 "permissions" : {
19908 "check" : [
19909 "perm",
19910 "/storage/{storage}",
19911 [
19912 "Datastore.Audit",
19913 "Datastore.AllocateSpace"
19914 ],
19915 "any",
19916 1
19917 ]
19918 },
44660702
DM
19919 "protected" : 1,
19920 "proxyto" : "node",
7aacca6f
DM
19921 "returns" : {
19922 "properties" : {
19923 "filename" : {
19924 "type" : "string"
19925 }
19926 },
19927 "type" : "object"
19928 }
56122987
DM
19929 }
19930 },
19931 "leaf" : 1,
44660702
DM
19932 "path" : "/nodes/{node}/storage/{storage}/rrd",
19933 "text" : "rrd"
56122987
DM
19934 },
19935 {
56122987
DM
19936 "info" : {
19937 "GET" : {
44660702
DM
19938 "description" : "Read storage RRD statistics.",
19939 "method" : "GET",
19940 "name" : "rrddata",
56122987 19941 "parameters" : {
44660702 19942 "additionalProperties" : 0,
56122987 19943 "properties" : {
44660702
DM
19944 "cf" : {
19945 "description" : "The RRD consolidation function",
19946 "enum" : [
19947 "AVERAGE",
19948 "MAX"
19949 ],
19950 "optional" : 1,
19951 "type" : "string"
19952 },
7aacca6f 19953 "node" : {
7aacca6f 19954 "description" : "The cluster node name.",
44660702
DM
19955 "format" : "pve-node",
19956 "type" : "string"
19957 },
19958 "storage" : {
19959 "description" : "The storage identifier.",
19960 "format" : "pve-storage-id",
7aacca6f
DM
19961 "type" : "string"
19962 },
56122987 19963 "timeframe" : {
7aacca6f 19964 "description" : "Specify the time frame you are interested in.",
56122987
DM
19965 "enum" : [
19966 "hour",
19967 "day",
19968 "week",
19969 "month",
19970 "year"
56122987 19971 ],
44660702 19972 "type" : "string"
56122987 19973 }
44660702 19974 }
7aacca6f 19975 },
7aacca6f
DM
19976 "permissions" : {
19977 "check" : [
19978 "perm",
19979 "/storage/{storage}",
19980 [
19981 "Datastore.Audit",
19982 "Datastore.AllocateSpace"
19983 ],
19984 "any",
19985 1
19986 ]
19987 },
44660702
DM
19988 "protected" : 1,
19989 "proxyto" : "node",
7aacca6f
DM
19990 "returns" : {
19991 "items" : {
44660702
DM
19992 "properties" : {},
19993 "type" : "object"
7aacca6f
DM
19994 },
19995 "type" : "array"
56122987
DM
19996 }
19997 }
7aacca6f 19998 },
7aacca6f 19999 "leaf" : 1,
44660702
DM
20000 "path" : "/nodes/{node}/storage/{storage}/rrddata",
20001 "text" : "rrddata"
56122987
DM
20002 },
20003 {
56122987
DM
20004 "info" : {
20005 "POST" : {
7aacca6f 20006 "description" : "Upload templates and ISO images.",
44660702
DM
20007 "method" : "POST",
20008 "name" : "upload",
56122987 20009 "parameters" : {
7aacca6f 20010 "additionalProperties" : 0,
56122987 20011 "properties" : {
56122987 20012 "content" : {
7aacca6f 20013 "description" : "Content type.",
44660702
DM
20014 "format" : "pve-storage-content",
20015 "type" : "string"
56122987
DM
20016 },
20017 "filename" : {
44660702
DM
20018 "description" : "The name of the file to create.",
20019 "type" : "string"
56122987
DM
20020 },
20021 "node" : {
20022 "description" : "The cluster node name.",
44660702
DM
20023 "format" : "pve-node",
20024 "type" : "string"
20025 },
20026 "storage" : {
20027 "description" : "The storage identifier.",
20028 "format" : "pve-storage-id",
20029 "type" : "string"
20030 },
20031 "tmpfilename" : {
20032 "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.",
20033 "optional" : 1,
20034 "type" : "string"
56122987 20035 }
7aacca6f 20036 }
56122987 20037 },
56122987
DM
20038 "permissions" : {
20039 "check" : [
20040 "perm",
20041 "/storage/{storage}",
20042 [
20043 "Datastore.AllocateTemplate"
20044 ]
20045 ]
44660702
DM
20046 },
20047 "protected" : 1,
20048 "returns" : {
20049 "type" : "string"
20050 }
20051 }
20052 },
20053 "leaf" : 1,
20054 "path" : "/nodes/{node}/storage/{storage}/upload",
20055 "text" : "upload"
20056 }
20057 ],
20058 "info" : {
20059 "GET" : {
20060 "description" : "",
20061 "method" : "GET",
20062 "name" : "diridx",
20063 "parameters" : {
20064 "additionalProperties" : 0,
20065 "properties" : {
20066 "node" : {
20067 "description" : "The cluster node name.",
20068 "format" : "pve-node",
20069 "type" : "string"
20070 },
20071 "storage" : {
20072 "description" : "The storage identifier.",
20073 "format" : "pve-storage-id",
20074 "type" : "string"
56122987
DM
20075 }
20076 }
44660702
DM
20077 },
20078 "permissions" : {
20079 "check" : [
20080 "perm",
20081 "/storage/{storage}",
20082 [
20083 "Datastore.Audit",
20084 "Datastore.AllocateSpace"
20085 ],
20086 "any",
20087 1
20088 ]
20089 },
20090 "returns" : {
20091 "items" : {
20092 "properties" : {
20093 "subdir" : {
20094 "type" : "string"
20095 }
20096 },
20097 "type" : "object"
20098 },
20099 "links" : [
20100 {
20101 "href" : "{subdir}",
20102 "rel" : "child"
20103 }
20104 ],
20105 "type" : "array"
56122987
DM
20106 }
20107 }
44660702
DM
20108 },
20109 "leaf" : 0,
20110 "path" : "/nodes/{node}/storage/{storage}",
20111 "text" : "{storage}"
56122987
DM
20112 }
20113 ],
56122987
DM
20114 "info" : {
20115 "GET" : {
44660702
DM
20116 "description" : "Get status for all datastores.",
20117 "method" : "GET",
20118 "name" : "index",
20119 "parameters" : {
20120 "additionalProperties" : 0,
20121 "properties" : {
20122 "content" : {
20123 "description" : "Only list stores which support this content type.",
20124 "format" : "pve-storage-content-list",
20125 "optional" : 1,
20126 "type" : "string"
20127 },
20128 "enabled" : {
20129 "default" : 0,
20130 "description" : "Only list stores which are enabled (not disabled in config).",
20131 "optional" : 1,
20132 "type" : "boolean"
20133 },
20134 "node" : {
20135 "description" : "The cluster node name.",
20136 "format" : "pve-node",
20137 "type" : "string"
20138 },
20139 "storage" : {
20140 "description" : "Only list status for specified storage",
20141 "format" : "pve-storage-id",
20142 "optional" : 1,
20143 "type" : "string"
20144 },
20145 "target" : {
20146 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
20147 "format" : "pve-node",
20148 "optional" : 1,
20149 "type" : "string"
20150 }
20151 }
20152 },
7aacca6f
DM
20153 "permissions" : {
20154 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
20155 "user" : "all"
20156 },
44660702 20157 "protected" : 1,
7aacca6f 20158 "proxyto" : "node",
56122987
DM
20159 "returns" : {
20160 "items" : {
56122987
DM
20161 "properties" : {
20162 "storage" : {
20163 "type" : "string"
20164 }
44660702
DM
20165 },
20166 "type" : "object"
56122987 20167 },
56122987
DM
20168 "links" : [
20169 {
7aacca6f
DM
20170 "href" : "{storage}",
20171 "rel" : "child"
56122987 20172 }
44660702
DM
20173 ],
20174 "type" : "array"
20175 }
56122987 20176 }
44660702
DM
20177 },
20178 "leaf" : 0,
20179 "path" : "/nodes/{node}/storage",
20180 "text" : "storage"
56122987 20181 },
2c0dde61
DM
20182 {
20183 "children" : [
20184 {
20185 "info" : {
20186 "GET" : {
20187 "description" : "List local disks.",
20188 "method" : "GET",
20189 "name" : "list",
20190 "parameters" : {
20191 "additionalProperties" : 0,
20192 "properties" : {
20193 "node" : {
20194 "description" : "The cluster node name.",
20195 "format" : "pve-node",
20196 "type" : "string"
20197 }
20198 }
20199 },
20200 "permissions" : {
20201 "check" : [
20202 "perm",
20203 "/",
20204 [
20205 "Sys.Audit",
20206 "Datastore.Audit"
20207 ],
20208 "any",
20209 1
20210 ]
20211 },
20212 "protected" : 1,
20213 "proxyto" : "node",
20214 "returns" : {
20215 "items" : {
20216 "properties" : {
20217 "devpath" : {
20218 "description" : "The device path",
20219 "type" : "string"
20220 },
20221 "gpt" : {
20222 "type" : "boolean"
20223 },
20224 "health" : {
20225 "optional" : 1,
20226 "type" : "string"
20227 },
20228 "model" : {
20229 "optional" : 1,
20230 "type" : "string"
20231 },
20232 "osdid" : {
20233 "type" : "integer"
20234 },
20235 "serial" : {
20236 "optional" : 1,
20237 "type" : "string"
20238 },
20239 "size" : {
20240 "type" : "integer"
20241 },
20242 "used" : {
20243 "optional" : 1,
20244 "type" : "string"
20245 },
20246 "vendor" : {
20247 "optional" : 1,
20248 "type" : "string"
20249 },
20250 "wwn" : {
20251 "optional" : 1,
20252 "type" : "string"
20253 }
20254 },
20255 "type" : "object"
20256 },
20257 "type" : "array"
20258 }
20259 }
20260 },
20261 "leaf" : 1,
20262 "path" : "/nodes/{node}/disks/list",
20263 "text" : "list"
20264 },
20265 {
20266 "info" : {
20267 "GET" : {
20268 "description" : "Get SMART Health of a disk.",
20269 "method" : "GET",
20270 "name" : "smart",
20271 "parameters" : {
20272 "additionalProperties" : 0,
20273 "properties" : {
20274 "disk" : {
20275 "description" : "Block device name",
20276 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
20277 "type" : "string"
20278 },
20279 "healthonly" : {
20280 "description" : "If true returns only the health status",
20281 "optional" : 1,
20282 "type" : "boolean"
20283 },
20284 "node" : {
20285 "description" : "The cluster node name.",
20286 "format" : "pve-node",
20287 "type" : "string"
20288 }
20289 }
20290 },
20291 "permissions" : {
20292 "check" : [
20293 "perm",
20294 "/",
20295 [
20296 "Sys.Audit",
20297 "Datastore.Audit"
20298 ],
20299 "any",
20300 1
20301 ]
20302 },
20303 "protected" : 1,
20304 "proxyto" : "node",
20305 "returns" : {
de0983cb
DM
20306 "properties" : {
20307 "attributes" : {
20308 "optional" : 1,
20309 "type" : "array"
20310 },
20311 "health" : {
20312 "type" : "string"
20313 },
20314 "text" : {
20315 "optional" : 1,
20316 "type" : "string"
20317 },
20318 "type" : {
20319 "optional" : 1,
20320 "type" : "string"
20321 }
20322 },
2c0dde61
DM
20323 "type" : "object"
20324 }
20325 }
20326 },
20327 "leaf" : 1,
20328 "path" : "/nodes/{node}/disks/smart",
20329 "text" : "smart"
20330 },
20331 {
20332 "info" : {
20333 "POST" : {
20334 "description" : "Initialize Disk with GPT",
20335 "method" : "POST",
20336 "name" : "initgpt",
20337 "parameters" : {
20338 "additionalProperties" : 0,
20339 "properties" : {
20340 "disk" : {
20341 "description" : "Block device name",
20342 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
20343 "type" : "string"
20344 },
20345 "node" : {
20346 "description" : "The cluster node name.",
20347 "format" : "pve-node",
20348 "type" : "string"
20349 },
20350 "uuid" : {
20351 "description" : "UUID for the GPT table",
20352 "maxLength" : 36,
20353 "optional" : 1,
20354 "pattern" : "[a-fA-F0-9\\-]+",
20355 "type" : "string"
20356 }
20357 }
20358 },
20359 "permissions" : {
20360 "check" : [
20361 "perm",
20362 "/",
20363 [
20364 "Sys.Modify"
20365 ]
20366 ]
20367 },
20368 "protected" : 1,
20369 "proxyto" : "node",
20370 "returns" : {
20371 "type" : "string"
20372 }
20373 }
20374 },
20375 "leaf" : 1,
20376 "path" : "/nodes/{node}/disks/initgpt",
20377 "text" : "initgpt"
20378 }
20379 ],
20380 "info" : {
20381 "GET" : {
20382 "description" : "Node index.",
20383 "method" : "GET",
20384 "name" : "index",
20385 "parameters" : {
20386 "additionalProperties" : 0,
20387 "properties" : {
20388 "node" : {
20389 "description" : "The cluster node name.",
20390 "format" : "pve-node",
20391 "type" : "string"
20392 }
20393 }
20394 },
20395 "permissions" : {
20396 "user" : "all"
20397 },
20398 "proxyto" : "node",
20399 "returns" : {
20400 "items" : {
20401 "properties" : {},
20402 "type" : "object"
20403 },
20404 "links" : [
20405 {
20406 "href" : "{name}",
20407 "rel" : "child"
20408 }
20409 ],
20410 "type" : "array"
20411 }
20412 }
20413 },
20414 "leaf" : 0,
20415 "path" : "/nodes/{node}/disks",
20416 "text" : "disks"
20417 },
56122987 20418 {
56122987
DM
20419 "children" : [
20420 {
20421 "info" : {
44660702
DM
20422 "GET" : {
20423 "description" : "List available updates.",
20424 "method" : "GET",
20425 "name" : "list_updates",
20426 "parameters" : {
20427 "additionalProperties" : 0,
20428 "properties" : {
20429 "node" : {
20430 "description" : "The cluster node name.",
20431 "format" : "pve-node",
20432 "type" : "string"
20433 }
20434 }
7aacca6f
DM
20435 },
20436 "permissions" : {
20437 "check" : [
20438 "perm",
20439 "/nodes/{node}",
20440 [
20441 "Sys.Modify"
20442 ]
20443 ]
20444 },
44660702 20445 "protected" : 1,
56122987 20446 "proxyto" : "node",
44660702
DM
20447 "returns" : {
20448 "items" : {
20449 "properties" : {},
20450 "type" : "object"
20451 },
20452 "type" : "array"
20453 }
20454 },
20455 "POST" : {
20456 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
20457 "method" : "POST",
20458 "name" : "update_database",
56122987
DM
20459 "parameters" : {
20460 "additionalProperties" : 0,
20461 "properties" : {
44660702
DM
20462 "node" : {
20463 "description" : "The cluster node name.",
20464 "format" : "pve-node",
20465 "type" : "string"
20466 },
56122987 20467 "notify" : {
56122987 20468 "default" : 0,
44660702
DM
20469 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
20470 "optional" : 1,
20471 "type" : "boolean"
56122987
DM
20472 },
20473 "quiet" : {
56122987 20474 "default" : 0,
44660702 20475 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 20476 "optional" : 1,
44660702 20477 "type" : "boolean"
56122987 20478 }
7aacca6f
DM
20479 }
20480 },
20481 "permissions" : {
20482 "check" : [
20483 "perm",
20484 "/nodes/{node}",
20485 [
20486 "Sys.Modify"
20487 ]
20488 ]
20489 },
44660702
DM
20490 "protected" : 1,
20491 "proxyto" : "node",
20492 "returns" : {
20493 "type" : "string"
20494 }
56122987
DM
20495 }
20496 },
7aacca6f 20497 "leaf" : 1,
44660702
DM
20498 "path" : "/nodes/{node}/apt/update",
20499 "text" : "update"
56122987
DM
20500 },
20501 {
56122987
DM
20502 "info" : {
20503 "GET" : {
44660702 20504 "description" : "Get package changelogs.",
56122987 20505 "method" : "GET",
7aacca6f 20506 "name" : "changelog",
56122987 20507 "parameters" : {
44660702 20508 "additionalProperties" : 0,
56122987
DM
20509 "properties" : {
20510 "name" : {
20511 "description" : "Package name.",
20512 "type" : "string"
20513 },
44660702
DM
20514 "node" : {
20515 "description" : "The cluster node name.",
20516 "format" : "pve-node",
20517 "type" : "string"
20518 },
56122987 20519 "version" : {
7aacca6f 20520 "description" : "Package version.",
44660702
DM
20521 "optional" : 1,
20522 "type" : "string"
56122987 20523 }
44660702 20524 }
56122987 20525 },
44660702
DM
20526 "permissions" : {
20527 "check" : [
20528 "perm",
20529 "/nodes/{node}",
20530 [
20531 "Sys.Modify"
20532 ]
20533 ]
20534 },
20535 "proxyto" : "node",
20536 "returns" : {
20537 "type" : "string"
20538 }
56122987
DM
20539 }
20540 },
44660702
DM
20541 "leaf" : 1,
20542 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 20543 "text" : "changelog"
56122987
DM
20544 },
20545 {
56122987
DM
20546 "info" : {
20547 "GET" : {
44660702
DM
20548 "description" : "Get package information for important Proxmox packages.",
20549 "method" : "GET",
7aacca6f
DM
20550 "name" : "versions",
20551 "parameters" : {
44660702 20552 "additionalProperties" : 0,
7aacca6f
DM
20553 "properties" : {
20554 "node" : {
44660702 20555 "description" : "The cluster node name.",
7aacca6f 20556 "format" : "pve-node",
44660702 20557 "type" : "string"
7aacca6f 20558 }
44660702 20559 }
7aacca6f 20560 },
56122987
DM
20561 "permissions" : {
20562 "check" : [
20563 "perm",
20564 "/nodes/{node}",
20565 [
20566 "Sys.Audit"
20567 ]
20568 ]
20569 },
7aacca6f 20570 "proxyto" : "node",
56122987
DM
20571 "returns" : {
20572 "items" : {
7aacca6f
DM
20573 "properties" : {},
20574 "type" : "object"
44660702
DM
20575 },
20576 "type" : "array"
56122987
DM
20577 }
20578 }
20579 },
44660702 20580 "leaf" : 1,
7aacca6f 20581 "path" : "/nodes/{node}/apt/versions",
44660702 20582 "text" : "versions"
56122987
DM
20583 }
20584 ],
56122987
DM
20585 "info" : {
20586 "GET" : {
44660702 20587 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 20588 "method" : "GET",
44660702 20589 "name" : "index",
7aacca6f
DM
20590 "parameters" : {
20591 "additionalProperties" : 0,
20592 "properties" : {
20593 "node" : {
44660702 20594 "description" : "The cluster node name.",
7aacca6f 20595 "format" : "pve-node",
44660702 20596 "type" : "string"
7aacca6f
DM
20597 }
20598 }
20599 },
7aacca6f
DM
20600 "permissions" : {
20601 "user" : "all"
20602 },
44660702
DM
20603 "returns" : {
20604 "items" : {
20605 "properties" : {
20606 "id" : {
20607 "type" : "string"
20608 }
20609 },
20610 "type" : "object"
20611 },
20612 "links" : [
20613 {
20614 "href" : "{id}",
20615 "rel" : "child"
20616 }
20617 ],
20618 "type" : "array"
20619 }
56122987 20620 }
7aacca6f 20621 },
44660702 20622 "leaf" : 0,
7aacca6f 20623 "path" : "/nodes/{node}/apt",
44660702 20624 "text" : "apt"
56122987
DM
20625 },
20626 {
56122987
DM
20627 "children" : [
20628 {
20629 "children" : [
20630 {
56122987
DM
20631 "info" : {
20632 "DELETE" : {
44660702 20633 "description" : "Delete rule.",
7aacca6f 20634 "method" : "DELETE",
44660702 20635 "name" : "delete_rule",
56122987
DM
20636 "parameters" : {
20637 "additionalProperties" : 0,
20638 "properties" : {
56122987
DM
20639 "digest" : {
20640 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 20641 "maxLength" : 40,
56122987 20642 "optional" : 1,
56122987
DM
20643 "type" : "string"
20644 },
44660702
DM
20645 "node" : {
20646 "description" : "The cluster node name.",
20647 "format" : "pve-node",
20648 "type" : "string"
20649 },
7aacca6f 20650 "pos" : {
7aacca6f 20651 "description" : "Update rule at position <pos>.",
44660702
DM
20652 "minimum" : 0,
20653 "optional" : 1,
4bd7df8b 20654 "type" : "integer",
2c0dde61 20655 "typetext" : "integer (0 - N)"
56122987
DM
20656 }
20657 }
20658 },
44660702
DM
20659 "permissions" : {
20660 "check" : [
20661 "perm",
20662 "/nodes/{node}",
20663 [
20664 "Sys.Modify"
20665 ]
20666 ]
20667 },
20668 "protected" : 1,
20669 "proxyto" : "node",
56122987
DM
20670 "returns" : {
20671 "type" : "null"
44660702
DM
20672 }
20673 },
20674 "GET" : {
20675 "description" : "Get single rule data.",
20676 "method" : "GET",
20677 "name" : "get_rule",
20678 "parameters" : {
20679 "additionalProperties" : 0,
20680 "properties" : {
20681 "node" : {
20682 "description" : "The cluster node name.",
20683 "format" : "pve-node",
20684 "type" : "string"
20685 },
20686 "pos" : {
20687 "description" : "Update rule at position <pos>.",
20688 "minimum" : 0,
20689 "optional" : 1,
4bd7df8b 20690 "type" : "integer",
2c0dde61 20691 "typetext" : "integer (0 - N)"
44660702
DM
20692 }
20693 }
56122987 20694 },
56122987
DM
20695 "permissions" : {
20696 "check" : [
20697 "perm",
20698 "/nodes/{node}",
20699 [
44660702 20700 "Sys.Audit"
56122987
DM
20701 ]
20702 ]
44660702
DM
20703 },
20704 "proxyto" : "node",
20705 "returns" : {
20706 "properties" : {
20707 "pos" : {
20708 "type" : "integer"
20709 }
20710 },
20711 "type" : "object"
7aacca6f 20712 }
56122987
DM
20713 },
20714 "PUT" : {
44660702
DM
20715 "description" : "Modify rule data.",
20716 "method" : "PUT",
56122987 20717 "name" : "update_rule",
56122987 20718 "parameters" : {
44660702 20719 "additionalProperties" : 0,
56122987 20720 "properties" : {
44660702
DM
20721 "action" : {
20722 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
20723 "maxLength" : 20,
20724 "minLength" : 2,
56122987 20725 "optional" : 1,
44660702
DM
20726 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20727 "type" : "string"
56122987 20728 },
7aacca6f 20729 "comment" : {
e94f0d56 20730 "description" : "Descriptive comment.",
56122987 20731 "optional" : 1,
56122987
DM
20732 "type" : "string"
20733 },
44660702
DM
20734 "delete" : {
20735 "description" : "A list of settings you want to delete.",
20736 "format" : "pve-configid-list",
56122987 20737 "optional" : 1,
44660702 20738 "type" : "string"
56122987 20739 },
44660702
DM
20740 "dest" : {
20741 "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.",
20742 "format" : "pve-fw-addr-spec",
56122987 20743 "optional" : 1,
44660702 20744 "type" : "string"
56122987 20745 },
44660702
DM
20746 "digest" : {
20747 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20748 "maxLength" : 40,
56122987 20749 "optional" : 1,
44660702 20750 "type" : "string"
56122987 20751 },
7aacca6f 20752 "dport" : {
7aacca6f 20753 "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
20754 "format" : "pve-fw-dport-spec",
20755 "optional" : 1,
20756 "type" : "string"
7aacca6f 20757 },
44660702 20758 "enable" : {
e94f0d56 20759 "description" : "Flag to enable/disable a rule.",
44660702 20760 "minimum" : 0,
56122987 20761 "optional" : 1,
4bd7df8b 20762 "type" : "integer",
2c0dde61 20763 "typetext" : "integer (0 - N)"
56122987 20764 },
7aacca6f 20765 "iface" : {
44660702 20766 "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 20767 "format" : "pve-iface",
44660702 20768 "maxLength" : 20,
56122987 20769 "minLength" : 2,
44660702
DM
20770 "optional" : 1,
20771 "type" : "string"
56122987 20772 },
44660702 20773 "macro" : {
e94f0d56 20774 "description" : "Use predefined standard macro.",
44660702
DM
20775 "maxLength" : 128,
20776 "optional" : 1,
20777 "type" : "string"
20778 },
20779 "moveto" : {
20780 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
20781 "minimum" : 0,
7aacca6f 20782 "optional" : 1,
4bd7df8b 20783 "type" : "integer",
2c0dde61 20784 "typetext" : "integer (0 - N)"
44660702
DM
20785 },
20786 "node" : {
20787 "description" : "The cluster node name.",
20788 "format" : "pve-node",
20789 "type" : "string"
56122987
DM
20790 },
20791 "pos" : {
44660702 20792 "description" : "Update rule at position <pos>.",
7aacca6f 20793 "minimum" : 0,
7aacca6f 20794 "optional" : 1,
4bd7df8b 20795 "type" : "integer",
2c0dde61 20796 "typetext" : "integer (0 - N)"
7aacca6f 20797 },
44660702
DM
20798 "proto" : {
20799 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20800 "format" : "pve-fw-protocol-spec",
7aacca6f
DM
20801 "optional" : 1,
20802 "type" : "string"
20803 },
44660702
DM
20804 "source" : {
20805 "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.",
20806 "format" : "pve-fw-addr-spec",
56122987 20807 "optional" : 1,
44660702 20808 "type" : "string"
7aacca6f 20809 },
44660702
DM
20810 "sport" : {
20811 "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.",
20812 "format" : "pve-fw-sport-spec",
20813 "optional" : 1,
20814 "type" : "string"
20815 },
20816 "type" : {
e94f0d56 20817 "description" : "Rule type.",
44660702
DM
20818 "enum" : [
20819 "in",
20820 "out",
20821 "group"
20822 ],
20823 "optional" : 1,
20824 "type" : "string"
56122987 20825 }
44660702 20826 }
56122987 20827 },
56122987
DM
20828 "permissions" : {
20829 "check" : [
20830 "perm",
20831 "/nodes/{node}",
20832 [
20833 "Sys.Modify"
20834 ]
20835 ]
7aacca6f 20836 },
44660702 20837 "protected" : 1,
7aacca6f 20838 "proxyto" : "node",
7aacca6f
DM
20839 "returns" : {
20840 "type" : "null"
56122987
DM
20841 }
20842 }
7aacca6f 20843 },
44660702 20844 "leaf" : 1,
7aacca6f 20845 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 20846 "text" : "{pos}"
56122987
DM
20847 }
20848 ],
56122987
DM
20849 "info" : {
20850 "GET" : {
44660702
DM
20851 "description" : "List rules.",
20852 "method" : "GET",
20853 "name" : "get_rules",
20854 "parameters" : {
20855 "additionalProperties" : 0,
20856 "properties" : {
20857 "node" : {
20858 "description" : "The cluster node name.",
20859 "format" : "pve-node",
20860 "type" : "string"
20861 }
20862 }
20863 },
20864 "permissions" : {
20865 "check" : [
20866 "perm",
20867 "/nodes/{node}",
20868 [
20869 "Sys.Audit"
20870 ]
20871 ]
20872 },
20873 "proxyto" : "node",
56122987 20874 "returns" : {
56122987
DM
20875 "items" : {
20876 "properties" : {
20877 "pos" : {
20878 "type" : "integer"
20879 }
44660702
DM
20880 },
20881 "type" : "object"
56122987 20882 },
7aacca6f
DM
20883 "links" : [
20884 {
20885 "href" : "{pos}",
20886 "rel" : "child"
20887 }
20888 ],
20889 "type" : "array"
44660702 20890 }
56122987
DM
20891 },
20892 "POST" : {
44660702 20893 "description" : "Create new rule.",
7aacca6f
DM
20894 "method" : "POST",
20895 "name" : "create_rule",
56122987 20896 "parameters" : {
44660702 20897 "additionalProperties" : 0,
56122987 20898 "properties" : {
7aacca6f 20899 "action" : {
7aacca6f 20900 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 20901 "maxLength" : 20,
7aacca6f
DM
20902 "minLength" : 2,
20903 "optional" : 0,
44660702
DM
20904 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
20905 "type" : "string"
56122987 20906 },
44660702 20907 "comment" : {
e94f0d56 20908 "description" : "Descriptive comment.",
56122987 20909 "optional" : 1,
44660702 20910 "type" : "string"
56122987 20911 },
44660702
DM
20912 "dest" : {
20913 "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.",
20914 "format" : "pve-fw-addr-spec",
7aacca6f 20915 "optional" : 1,
44660702 20916 "type" : "string"
56122987 20917 },
44660702
DM
20918 "digest" : {
20919 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
20920 "maxLength" : 40,
20921 "optional" : 1,
20922 "type" : "string"
56122987 20923 },
44660702
DM
20924 "dport" : {
20925 "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.",
20926 "format" : "pve-fw-dport-spec",
7aacca6f
DM
20927 "optional" : 1,
20928 "type" : "string"
56122987 20929 },
44660702 20930 "enable" : {
e94f0d56 20931 "description" : "Flag to enable/disable a rule.",
44660702
DM
20932 "minimum" : 0,
20933 "optional" : 1,
4bd7df8b 20934 "type" : "integer",
2c0dde61 20935 "typetext" : "integer (0 - N)"
44660702 20936 },
7aacca6f 20937 "iface" : {
44660702 20938 "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 20939 "format" : "pve-iface",
56122987 20940 "maxLength" : 20,
7aacca6f 20941 "minLength" : 2,
7aacca6f 20942 "optional" : 1,
56122987
DM
20943 "type" : "string"
20944 },
44660702 20945 "macro" : {
e94f0d56 20946 "description" : "Use predefined standard macro.",
44660702 20947 "maxLength" : 128,
7aacca6f
DM
20948 "optional" : 1,
20949 "type" : "string"
56122987 20950 },
44660702
DM
20951 "node" : {
20952 "description" : "The cluster node name.",
20953 "format" : "pve-node",
20954 "type" : "string"
20955 },
20956 "pos" : {
20957 "description" : "Update rule at position <pos>.",
20958 "minimum" : 0,
20959 "optional" : 1,
4bd7df8b 20960 "type" : "integer",
2c0dde61 20961 "typetext" : "integer (0 - N)"
44660702
DM
20962 },
20963 "proto" : {
20964 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
20965 "format" : "pve-fw-protocol-spec",
56122987 20966 "optional" : 1,
44660702 20967 "type" : "string"
56122987 20968 },
7aacca6f 20969 "source" : {
7aacca6f 20970 "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
20971 "format" : "pve-fw-addr-spec",
20972 "optional" : 1,
20973 "type" : "string"
7aacca6f 20974 },
44660702
DM
20975 "sport" : {
20976 "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.",
20977 "format" : "pve-fw-sport-spec",
7aacca6f 20978 "optional" : 1,
44660702
DM
20979 "type" : "string"
20980 },
20981 "type" : {
e94f0d56 20982 "description" : "Rule type.",
44660702
DM
20983 "enum" : [
20984 "in",
20985 "out",
20986 "group"
20987 ],
20988 "optional" : 0,
20989 "type" : "string"
56122987 20990 }
44660702 20991 }
7aacca6f 20992 },
56122987
DM
20993 "permissions" : {
20994 "check" : [
20995 "perm",
20996 "/nodes/{node}",
20997 [
20998 "Sys.Modify"
20999 ]
21000 ]
21001 },
44660702
DM
21002 "protected" : 1,
21003 "proxyto" : "node",
21004 "returns" : {
21005 "type" : "null"
21006 }
56122987
DM
21007 }
21008 },
44660702 21009 "leaf" : 0,
7aacca6f 21010 "path" : "/nodes/{node}/firewall/rules",
44660702 21011 "text" : "rules"
56122987
DM
21012 },
21013 {
56122987 21014 "info" : {
44660702
DM
21015 "GET" : {
21016 "description" : "Get host firewall options.",
21017 "method" : "GET",
21018 "name" : "get_options",
56122987 21019 "parameters" : {
7aacca6f 21020 "additionalProperties" : 0,
56122987 21021 "properties" : {
44660702
DM
21022 "node" : {
21023 "description" : "The cluster node name.",
21024 "format" : "pve-node",
21025 "type" : "string"
21026 }
21027 }
21028 },
21029 "permissions" : {
21030 "check" : [
21031 "perm",
21032 "/nodes/{node}",
21033 [
21034 "Sys.Audit"
21035 ]
21036 ]
21037 },
21038 "proxyto" : "node",
21039 "returns" : {
21040 "properties" : {
21041 "enable" : {
21042 "description" : "Enable host firewall rules.",
7aacca6f 21043 "optional" : 1,
44660702 21044 "type" : "boolean"
7aacca6f 21045 },
44660702
DM
21046 "log_level_in" : {
21047 "description" : "Log level for incoming traffic.",
56122987
DM
21048 "enum" : [
21049 "emerg",
21050 "alert",
21051 "crit",
21052 "err",
21053 "warning",
21054 "notice",
21055 "info",
21056 "debug",
21057 "nolog"
21058 ],
56122987 21059 "optional" : 1,
44660702
DM
21060 "type" : "string"
21061 },
21062 "log_level_out" : {
21063 "description" : "Log level for outgoing traffic.",
56122987
DM
21064 "enum" : [
21065 "emerg",
21066 "alert",
21067 "crit",
21068 "err",
21069 "warning",
21070 "notice",
21071 "info",
21072 "debug",
21073 "nolog"
21074 ],
44660702
DM
21075 "optional" : 1,
21076 "type" : "string"
21077 },
21078 "ndp" : {
21079 "description" : "Enable NDP.",
21080 "optional" : 1,
21081 "type" : "boolean"
21082 },
21083 "nf_conntrack_max" : {
21084 "description" : "Maximum number of tracked connections.",
21085 "minimum" : 32768,
21086 "optional" : 1,
21087 "type" : "integer"
21088 },
21089 "nf_conntrack_tcp_timeout_established" : {
21090 "description" : "Conntrack established timeout.",
21091 "minimum" : 7875,
21092 "optional" : 1,
21093 "type" : "integer"
21094 },
21095 "nosmurfs" : {
21096 "description" : "Enable SMURFS filter.",
21097 "optional" : 1,
21098 "type" : "boolean"
56122987 21099 },
7aacca6f 21100 "smurf_log_level" : {
44660702 21101 "description" : "Log level for SMURFS filter.",
56122987
DM
21102 "enum" : [
21103 "emerg",
21104 "alert",
21105 "crit",
21106 "err",
21107 "warning",
21108 "notice",
21109 "info",
21110 "debug",
21111 "nolog"
7aacca6f 21112 ],
7aacca6f
DM
21113 "optional" : 1,
21114 "type" : "string"
56122987 21115 },
44660702
DM
21116 "tcp_flags_log_level" : {
21117 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21118 "enum" : [
21119 "emerg",
21120 "alert",
21121 "crit",
21122 "err",
21123 "warning",
21124 "notice",
21125 "info",
21126 "debug",
21127 "nolog"
21128 ],
44660702
DM
21129 "optional" : 1,
21130 "type" : "string"
7aacca6f 21131 },
44660702
DM
21132 "tcpflags" : {
21133 "description" : "Filter illegal combinations of TCP flags.",
56122987 21134 "optional" : 1,
44660702 21135 "type" : "boolean"
56122987 21136 }
44660702
DM
21137 },
21138 "type" : "object"
7aacca6f 21139 }
56122987 21140 },
44660702
DM
21141 "PUT" : {
21142 "description" : "Set Firewall options.",
21143 "method" : "PUT",
21144 "name" : "set_options",
7aacca6f 21145 "parameters" : {
44660702 21146 "additionalProperties" : 0,
7aacca6f 21147 "properties" : {
44660702
DM
21148 "delete" : {
21149 "description" : "A list of settings you want to delete.",
21150 "format" : "pve-configid-list",
7aacca6f 21151 "optional" : 1,
44660702 21152 "type" : "string"
56122987 21153 },
44660702
DM
21154 "digest" : {
21155 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21156 "maxLength" : 40,
21157 "optional" : 1,
21158 "type" : "string"
56122987 21159 },
44660702
DM
21160 "enable" : {
21161 "description" : "Enable host firewall rules.",
7aacca6f 21162 "optional" : 1,
44660702
DM
21163 "type" : "boolean"
21164 },
21165 "log_level_in" : {
21166 "description" : "Log level for incoming traffic.",
56122987
DM
21167 "enum" : [
21168 "emerg",
21169 "alert",
21170 "crit",
21171 "err",
21172 "warning",
21173 "notice",
21174 "info",
21175 "debug",
21176 "nolog"
44660702 21177 ],
7aacca6f 21178 "optional" : 1,
44660702 21179 "type" : "string"
7aacca6f 21180 },
44660702
DM
21181 "log_level_out" : {
21182 "description" : "Log level for outgoing traffic.",
56122987
DM
21183 "enum" : [
21184 "emerg",
21185 "alert",
21186 "crit",
21187 "err",
21188 "warning",
21189 "notice",
21190 "info",
21191 "debug",
21192 "nolog"
21193 ],
21194 "optional" : 1,
7aacca6f 21195 "type" : "string"
56122987 21196 },
44660702
DM
21197 "ndp" : {
21198 "description" : "Enable NDP.",
7aacca6f 21199 "optional" : 1,
44660702
DM
21200 "type" : "boolean"
21201 },
21202 "nf_conntrack_max" : {
21203 "description" : "Maximum number of tracked connections.",
21204 "minimum" : 32768,
21205 "optional" : 1,
4bd7df8b 21206 "type" : "integer",
2c0dde61 21207 "typetext" : "integer (32768 - N)"
44660702
DM
21208 },
21209 "nf_conntrack_tcp_timeout_established" : {
21210 "description" : "Conntrack established timeout.",
21211 "minimum" : 7875,
21212 "optional" : 1,
4bd7df8b 21213 "type" : "integer",
2c0dde61 21214 "typetext" : "integer (7875 - N)"
44660702
DM
21215 },
21216 "node" : {
21217 "description" : "The cluster node name.",
21218 "format" : "pve-node",
21219 "type" : "string"
21220 },
21221 "nosmurfs" : {
21222 "description" : "Enable SMURFS filter.",
21223 "optional" : 1,
21224 "type" : "boolean"
21225 },
21226 "smurf_log_level" : {
21227 "description" : "Log level for SMURFS filter.",
56122987
DM
21228 "enum" : [
21229 "emerg",
21230 "alert",
21231 "crit",
21232 "err",
21233 "warning",
21234 "notice",
21235 "info",
21236 "debug",
21237 "nolog"
44660702
DM
21238 ],
21239 "optional" : 1,
21240 "type" : "string"
56122987 21241 },
44660702
DM
21242 "tcp_flags_log_level" : {
21243 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21244 "enum" : [
21245 "emerg",
21246 "alert",
21247 "crit",
21248 "err",
21249 "warning",
21250 "notice",
21251 "info",
21252 "debug",
21253 "nolog"
21254 ],
44660702
DM
21255 "optional" : 1,
21256 "type" : "string"
7aacca6f 21257 },
44660702
DM
21258 "tcpflags" : {
21259 "description" : "Filter illegal combinations of TCP flags.",
56122987 21260 "optional" : 1,
7aacca6f 21261 "type" : "boolean"
56122987 21262 }
7aacca6f 21263 }
56122987 21264 },
44660702
DM
21265 "permissions" : {
21266 "check" : [
21267 "perm",
21268 "/nodes/{node}",
21269 [
21270 "Sys.Modify"
21271 ]
21272 ]
21273 },
21274 "protected" : 1,
21275 "proxyto" : "node",
21276 "returns" : {
21277 "type" : "null"
21278 }
7aacca6f
DM
21279 }
21280 },
44660702
DM
21281 "leaf" : 1,
21282 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
21283 "text" : "options"
21284 },
21285 {
7aacca6f
DM
21286 "info" : {
21287 "GET" : {
44660702
DM
21288 "description" : "Read firewall log",
21289 "method" : "GET",
7aacca6f 21290 "name" : "log",
56122987 21291 "parameters" : {
44660702 21292 "additionalProperties" : 0,
56122987 21293 "properties" : {
7aacca6f 21294 "limit" : {
44660702 21295 "minimum" : 0,
7aacca6f 21296 "optional" : 1,
4bd7df8b 21297 "type" : "integer",
2c0dde61 21298 "typetext" : "integer (0 - N)"
7aacca6f 21299 },
56122987 21300 "node" : {
7aacca6f 21301 "description" : "The cluster node name.",
44660702 21302 "format" : "pve-node",
7aacca6f 21303 "type" : "string"
44660702
DM
21304 },
21305 "start" : {
21306 "minimum" : 0,
21307 "optional" : 1,
4bd7df8b 21308 "type" : "integer",
2c0dde61 21309 "typetext" : "integer (0 - N)"
56122987 21310 }
44660702 21311 }
7aacca6f 21312 },
56122987
DM
21313 "permissions" : {
21314 "check" : [
21315 "perm",
21316 "/nodes/{node}",
21317 [
21318 "Sys.Syslog"
21319 ]
21320 ]
21321 },
44660702
DM
21322 "protected" : 1,
21323 "proxyto" : "node",
56122987
DM
21324 "returns" : {
21325 "items" : {
56122987 21326 "properties" : {
56122987 21327 "n" : {
44660702
DM
21328 "description" : "Line number",
21329 "type" : "integer"
7aacca6f
DM
21330 },
21331 "t" : {
44660702
DM
21332 "description" : "Line text",
21333 "type" : "string"
56122987 21334 }
44660702
DM
21335 },
21336 "type" : "object"
56122987
DM
21337 },
21338 "type" : "array"
7aacca6f 21339 }
56122987
DM
21340 }
21341 },
44660702
DM
21342 "leaf" : 1,
21343 "path" : "/nodes/{node}/firewall/log",
7aacca6f 21344 "text" : "log"
56122987
DM
21345 }
21346 ],
21347 "info" : {
21348 "GET" : {
44660702
DM
21349 "description" : "Directory index.",
21350 "method" : "GET",
21351 "name" : "index",
56122987 21352 "parameters" : {
44660702 21353 "additionalProperties" : 0,
56122987
DM
21354 "properties" : {
21355 "node" : {
21356 "description" : "The cluster node name.",
44660702
DM
21357 "format" : "pve-node",
21358 "type" : "string"
56122987 21359 }
44660702 21360 }
56122987 21361 },
7aacca6f
DM
21362 "permissions" : {
21363 "user" : "all"
21364 },
56122987
DM
21365 "returns" : {
21366 "items" : {
21367 "properties" : {},
21368 "type" : "object"
21369 },
56122987
DM
21370 "links" : [
21371 {
44660702
DM
21372 "href" : "{name}",
21373 "rel" : "child"
56122987 21374 }
44660702
DM
21375 ],
21376 "type" : "array"
21377 }
56122987 21378 }
7aacca6f 21379 },
44660702 21380 "leaf" : 0,
7aacca6f 21381 "path" : "/nodes/{node}/firewall",
44660702 21382 "text" : "firewall"
56122987
DM
21383 },
21384 {
56122987
DM
21385 "info" : {
21386 "GET" : {
44660702
DM
21387 "description" : "API version details",
21388 "method" : "GET",
21389 "name" : "version",
56122987 21390 "parameters" : {
44660702 21391 "additionalProperties" : 0,
56122987
DM
21392 "properties" : {
21393 "node" : {
56122987 21394 "description" : "The cluster node name.",
44660702 21395 "format" : "pve-node",
7aacca6f 21396 "type" : "string"
56122987 21397 }
44660702 21398 }
56122987 21399 },
56122987 21400 "permissions" : {
7aacca6f 21401 "user" : "all"
56122987 21402 },
56122987 21403 "proxyto" : "node",
56122987 21404 "returns" : {
56122987 21405 "properties" : {
44660702 21406 "release" : {
56122987
DM
21407 "type" : "string"
21408 },
44660702 21409 "repoid" : {
7aacca6f
DM
21410 "type" : "string"
21411 },
21412 "version" : {
21413 "type" : "string"
21414 }
44660702
DM
21415 },
21416 "type" : "object"
7aacca6f 21417 }
56122987
DM
21418 }
21419 },
56122987 21420 "leaf" : 1,
44660702
DM
21421 "path" : "/nodes/{node}/version",
21422 "text" : "version"
56122987
DM
21423 },
21424 {
56122987
DM
21425 "info" : {
21426 "GET" : {
7aacca6f 21427 "description" : "Read node status",
44660702 21428 "method" : "GET",
7aacca6f 21429 "name" : "status",
56122987 21430 "parameters" : {
44660702 21431 "additionalProperties" : 0,
56122987
DM
21432 "properties" : {
21433 "node" : {
7aacca6f 21434 "description" : "The cluster node name.",
44660702
DM
21435 "format" : "pve-node",
21436 "type" : "string"
56122987 21437 }
44660702 21438 }
56122987 21439 },
56122987
DM
21440 "permissions" : {
21441 "check" : [
21442 "perm",
21443 "/nodes/{node}",
21444 [
21445 "Sys.Audit"
21446 ]
21447 ]
44660702
DM
21448 },
21449 "proxyto" : "node",
21450 "returns" : {
21451 "properties" : {},
21452 "type" : "object"
7aacca6f
DM
21453 }
21454 },
21455 "POST" : {
44660702
DM
21456 "description" : "Reboot or shutdown a node.",
21457 "method" : "POST",
7aacca6f 21458 "name" : "node_cmd",
56122987 21459 "parameters" : {
44660702 21460 "additionalProperties" : 0,
56122987 21461 "properties" : {
7aacca6f
DM
21462 "command" : {
21463 "description" : "Specify the command.",
56122987 21464 "enum" : [
7aacca6f
DM
21465 "reboot",
21466 "shutdown"
56122987
DM
21467 ],
21468 "type" : "string"
44660702
DM
21469 },
21470 "node" : {
21471 "description" : "The cluster node name.",
21472 "format" : "pve-node",
21473 "type" : "string"
56122987 21474 }
44660702 21475 }
7aacca6f 21476 },
7aacca6f
DM
21477 "permissions" : {
21478 "check" : [
21479 "perm",
21480 "/nodes/{node}",
21481 [
21482 "Sys.PowerMgmt"
21483 ]
21484 ]
21485 },
44660702 21486 "protected" : 1,
7aacca6f 21487 "proxyto" : "node",
7aacca6f
DM
21488 "returns" : {
21489 "type" : "null"
56122987
DM
21490 }
21491 }
21492 },
7aacca6f 21493 "leaf" : 1,
44660702
DM
21494 "path" : "/nodes/{node}/status",
21495 "text" : "status"
56122987
DM
21496 },
21497 {
56122987
DM
21498 "info" : {
21499 "GET" : {
44660702
DM
21500 "description" : "Read tap/vm network device interface counters",
21501 "method" : "GET",
21502 "name" : "netstat",
21503 "parameters" : {
21504 "additionalProperties" : 0,
21505 "properties" : {
21506 "node" : {
21507 "description" : "The cluster node name.",
21508 "format" : "pve-node",
21509 "type" : "string"
21510 }
56122987
DM
21511 }
21512 },
21513 "permissions" : {
21514 "check" : [
21515 "perm",
21516 "/nodes/{node}",
21517 [
7aacca6f 21518 "Sys.Audit"
56122987
DM
21519 ]
21520 ]
21521 },
7aacca6f 21522 "proxyto" : "node",
44660702
DM
21523 "returns" : {
21524 "items" : {
21525 "properties" : {},
21526 "type" : "object"
21527 },
21528 "type" : "array"
21529 }
7aacca6f
DM
21530 }
21531 },
44660702
DM
21532 "leaf" : 1,
21533 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
21534 "text" : "netstat"
21535 },
21536 {
21537 "info" : {
21538 "POST" : {
7aacca6f 21539 "description" : "Execute multiple commands in order.",
7aacca6f 21540 "method" : "POST",
7aacca6f 21541 "name" : "execute",
56122987
DM
21542 "parameters" : {
21543 "additionalProperties" : 0,
21544 "properties" : {
7aacca6f
DM
21545 "commands" : {
21546 "description" : "JSON encoded array of commands.",
56122987
DM
21547 "type" : "string"
21548 },
21549 "node" : {
44660702 21550 "description" : "The cluster node name.",
56122987 21551 "format" : "pve-node",
44660702 21552 "type" : "string"
56122987
DM
21553 }
21554 }
44660702
DM
21555 },
21556 "permissions" : {
21557 "check" : [
21558 "perm",
21559 "/nodes/{node}",
21560 [
21561 "Sys.Audit"
21562 ]
21563 ]
21564 },
21565 "protected" : 1,
21566 "proxyto" : "node",
21567 "returns" : {
21568 "properties" : {},
21569 "type" : "array"
56122987
DM
21570 }
21571 }
21572 },
56122987 21573 "leaf" : 1,
44660702
DM
21574 "path" : "/nodes/{node}/execute",
21575 "text" : "execute"
56122987
DM
21576 },
21577 {
21578 "info" : {
7aacca6f 21579 "GET" : {
44660702
DM
21580 "description" : "Read node RRD statistics (returns PNG)",
21581 "method" : "GET",
7aacca6f 21582 "name" : "rrd",
56122987 21583 "parameters" : {
7aacca6f 21584 "additionalProperties" : 0,
56122987 21585 "properties" : {
44660702
DM
21586 "cf" : {
21587 "description" : "The RRD consolidation function",
21588 "enum" : [
21589 "AVERAGE",
21590 "MAX"
21591 ],
21592 "optional" : 1,
21593 "type" : "string"
21594 },
7aacca6f 21595 "ds" : {
7aacca6f 21596 "description" : "The list of datasources you want to display.",
44660702
DM
21597 "format" : "pve-configid-list",
21598 "type" : "string"
21599 },
21600 "node" : {
21601 "description" : "The cluster node name.",
21602 "format" : "pve-node",
21603 "type" : "string"
7aacca6f
DM
21604 },
21605 "timeframe" : {
21606 "description" : "Specify the time frame you are interested in.",
21607 "enum" : [
21608 "hour",
21609 "day",
21610 "week",
21611 "month",
21612 "year"
21613 ],
21614 "type" : "string"
56122987 21615 }
7aacca6f 21616 }
56122987 21617 },
56122987 21618 "permissions" : {
56122987
DM
21619 "check" : [
21620 "perm",
21621 "/nodes/{node}",
21622 [
7aacca6f 21623 "Sys.Audit"
56122987
DM
21624 ]
21625 ]
21626 },
7aacca6f 21627 "protected" : 1,
56122987 21628 "returns" : {
56122987 21629 "properties" : {
7aacca6f 21630 "filename" : {
56122987
DM
21631 "type" : "string"
21632 }
44660702
DM
21633 },
21634 "type" : "object"
21635 }
56122987
DM
21636 }
21637 },
44660702 21638 "leaf" : 1,
7aacca6f 21639 "path" : "/nodes/{node}/rrd",
44660702 21640 "text" : "rrd"
56122987
DM
21641 },
21642 {
21643 "info" : {
7aacca6f 21644 "GET" : {
44660702
DM
21645 "description" : "Read node RRD statistics",
21646 "method" : "GET",
7aacca6f 21647 "name" : "rrddata",
56122987 21648 "parameters" : {
44660702 21649 "additionalProperties" : 0,
56122987 21650 "properties" : {
7aacca6f 21651 "cf" : {
7aacca6f
DM
21652 "description" : "The RRD consolidation function",
21653 "enum" : [
21654 "AVERAGE",
21655 "MAX"
44660702
DM
21656 ],
21657 "optional" : 1,
21658 "type" : "string"
56122987
DM
21659 },
21660 "node" : {
44660702 21661 "description" : "The cluster node name.",
56122987 21662 "format" : "pve-node",
44660702 21663 "type" : "string"
56122987 21664 },
7aacca6f 21665 "timeframe" : {
7aacca6f
DM
21666 "description" : "Specify the time frame you are interested in.",
21667 "enum" : [
21668 "hour",
21669 "day",
21670 "week",
21671 "month",
21672 "year"
44660702
DM
21673 ],
21674 "type" : "string"
56122987 21675 }
56122987
DM
21676 }
21677 },
56122987
DM
21678 "permissions" : {
21679 "check" : [
21680 "perm",
21681 "/nodes/{node}",
21682 [
44660702 21683 "Sys.Audit"
56122987
DM
21684 ]
21685 ]
7aacca6f 21686 },
44660702 21687 "protected" : 1,
56122987 21688 "returns" : {
7aacca6f 21689 "items" : {
44660702 21690 "properties" : {},
7aacca6f
DM
21691 "type" : "object"
21692 },
21693 "type" : "array"
44660702
DM
21694 }
21695 }
21696 },
21697 "leaf" : 1,
21698 "path" : "/nodes/{node}/rrddata",
21699 "text" : "rrddata"
21700 },
21701 {
21702 "info" : {
21703 "GET" : {
21704 "description" : "Read system log",
21705 "method" : "GET",
21706 "name" : "syslog",
56122987 21707 "parameters" : {
44660702 21708 "additionalProperties" : 0,
56122987 21709 "properties" : {
44660702
DM
21710 "limit" : {
21711 "minimum" : 0,
7aacca6f 21712 "optional" : 1,
4bd7df8b 21713 "type" : "integer",
2c0dde61 21714 "typetext" : "integer (0 - N)"
7aacca6f 21715 },
56122987 21716 "node" : {
7aacca6f 21717 "description" : "The cluster node name.",
44660702
DM
21718 "format" : "pve-node",
21719 "type" : "string"
56122987 21720 },
44660702
DM
21721 "since" : {
21722 "description" : "Display all log since this date-time string.",
21723 "optional" : 1,
21724 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
21725 "type" : "string"
21726 },
21727 "start" : {
7aacca6f
DM
21728 "minimum" : 0,
21729 "optional" : 1,
4bd7df8b 21730 "type" : "integer",
2c0dde61 21731 "typetext" : "integer (0 - N)"
7aacca6f
DM
21732 },
21733 "until" : {
21734 "description" : "Display all log until this date-time string.",
7aacca6f 21735 "optional" : 1,
44660702 21736 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
21737 "type" : "string"
21738 }
44660702 21739 }
56122987 21740 },
44660702
DM
21741 "permissions" : {
21742 "check" : [
21743 "perm",
21744 "/nodes/{node}",
21745 [
21746 "Sys.Syslog"
21747 ]
21748 ]
21749 },
21750 "protected" : 1,
21751 "proxyto" : "node",
21752 "returns" : {
21753 "items" : {
21754 "properties" : {
21755 "n" : {
21756 "description" : "Line number",
21757 "type" : "integer"
21758 },
21759 "t" : {
21760 "description" : "Line text",
21761 "type" : "string"
21762 }
21763 },
21764 "type" : "object"
21765 },
21766 "type" : "array"
21767 }
56122987
DM
21768 }
21769 },
44660702
DM
21770 "leaf" : 1,
21771 "path" : "/nodes/{node}/syslog",
7aacca6f 21772 "text" : "syslog"
56122987
DM
21773 },
21774 {
56122987
DM
21775 "info" : {
21776 "POST" : {
44660702
DM
21777 "description" : "Creates a VNC Shell proxy.",
21778 "method" : "POST",
21779 "name" : "vncshell",
21780 "parameters" : {
21781 "additionalProperties" : 0,
56122987 21782 "properties" : {
44660702
DM
21783 "node" : {
21784 "description" : "The cluster node name.",
21785 "format" : "pve-node",
7aacca6f
DM
21786 "type" : "string"
21787 },
44660702
DM
21788 "upgrade" : {
21789 "default" : 0,
21790 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
21791 "optional" : 1,
21792 "type" : "boolean"
7aacca6f 21793 },
44660702
DM
21794 "websocket" : {
21795 "description" : "use websocket instead of standard vnc.",
21796 "optional" : 1,
21797 "type" : "boolean"
56122987 21798 }
44660702 21799 }
56122987 21800 },
56122987
DM
21801 "permissions" : {
21802 "check" : [
21803 "perm",
7aacca6f 21804 "/nodes/{node}",
56122987 21805 [
7aacca6f 21806 "Sys.Console"
56122987 21807 ]
44660702
DM
21808 ],
21809 "description" : "Restricted to users on realm 'pam'"
56122987 21810 },
44660702
DM
21811 "protected" : 1,
21812 "returns" : {
21813 "additionalProperties" : 0,
56122987 21814 "properties" : {
44660702
DM
21815 "cert" : {
21816 "type" : "string"
7aacca6f 21817 },
44660702
DM
21818 "port" : {
21819 "type" : "integer"
7aacca6f 21820 },
44660702
DM
21821 "ticket" : {
21822 "type" : "string"
21823 },
21824 "upid" : {
21825 "type" : "string"
21826 },
21827 "user" : {
21828 "type" : "string"
56122987 21829 }
44660702
DM
21830 }
21831 }
56122987
DM
21832 }
21833 },
7aacca6f 21834 "leaf" : 1,
44660702
DM
21835 "path" : "/nodes/{node}/vncshell",
21836 "text" : "vncshell"
56122987
DM
21837 },
21838 {
21839 "info" : {
21840 "GET" : {
7aacca6f 21841 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
21842 "method" : "GET",
21843 "name" : "vncwebsocket",
56122987 21844 "parameters" : {
44660702 21845 "additionalProperties" : 0,
56122987
DM
21846 "properties" : {
21847 "node" : {
21848 "description" : "The cluster node name.",
44660702 21849 "format" : "pve-node",
7aacca6f
DM
21850 "type" : "string"
21851 },
21852 "port" : {
7aacca6f
DM
21853 "description" : "Port number returned by previous vncproxy call.",
21854 "maximum" : 5999,
44660702 21855 "minimum" : 5900,
4bd7df8b 21856 "type" : "integer",
2c0dde61 21857 "typetext" : "integer (5900 - 5999)"
44660702
DM
21858 },
21859 "vncticket" : {
21860 "description" : "Ticket from previous call to vncproxy.",
21861 "maxLength" : 512,
21862 "type" : "string"
56122987 21863 }
44660702 21864 }
56122987 21865 },
56122987
DM
21866 "permissions" : {
21867 "check" : [
21868 "perm",
21869 "/nodes/{node}",
21870 [
7aacca6f 21871 "Sys.Console"
56122987 21872 ]
44660702
DM
21873 ],
21874 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
21875 },
21876 "returns" : {
21877 "properties" : {
21878 "port" : {
21879 "type" : "string"
21880 }
21881 },
21882 "type" : "object"
7aacca6f 21883 }
56122987
DM
21884 }
21885 },
44660702 21886 "leaf" : 1,
7aacca6f 21887 "path" : "/nodes/{node}/vncwebsocket",
44660702 21888 "text" : "vncwebsocket"
56122987
DM
21889 },
21890 {
21891 "info" : {
21892 "POST" : {
44660702 21893 "description" : "Creates a SPICE shell.",
7aacca6f 21894 "method" : "POST",
44660702 21895 "name" : "spiceshell",
56122987 21896 "parameters" : {
7aacca6f 21897 "additionalProperties" : 0,
56122987 21898 "properties" : {
7aacca6f 21899 "node" : {
44660702 21900 "description" : "The cluster node name.",
56122987 21901 "format" : "pve-node",
7aacca6f
DM
21902 "type" : "string"
21903 },
44660702
DM
21904 "proxy" : {
21905 "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).",
21906 "format" : "address",
21907 "optional" : 1,
7aacca6f
DM
21908 "type" : "string"
21909 },
44660702
DM
21910 "upgrade" : {
21911 "default" : 0,
21912 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
21913 "optional" : 1,
21914 "type" : "boolean"
56122987 21915 }
7aacca6f 21916 }
56122987 21917 },
56122987
DM
21918 "permissions" : {
21919 "check" : [
21920 "perm",
7aacca6f 21921 "/nodes/{node}",
56122987 21922 [
7aacca6f 21923 "Sys.Console"
56122987 21924 ]
7aacca6f
DM
21925 ],
21926 "description" : "Restricted to users on realm 'pam'"
44660702
DM
21927 },
21928 "protected" : 1,
21929 "proxyto" : "node",
21930 "returns" : {
21931 "additionalProperties" : 1,
21932 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
21933 "properties" : {
21934 "host" : {
21935 "type" : "string"
21936 },
21937 "password" : {
21938 "type" : "string"
21939 },
21940 "proxy" : {
21941 "type" : "string"
21942 },
21943 "tls-port" : {
21944 "type" : "integer"
21945 },
21946 "type" : {
21947 "type" : "string"
21948 }
21949 }
7aacca6f 21950 }
56122987
DM
21951 }
21952 },
56122987 21953 "leaf" : 1,
44660702
DM
21954 "path" : "/nodes/{node}/spiceshell",
21955 "text" : "spiceshell"
56122987
DM
21956 },
21957 {
56122987 21958 "info" : {
7aacca6f 21959 "GET" : {
44660702 21960 "description" : "Read DNS settings.",
7aacca6f 21961 "method" : "GET",
44660702
DM
21962 "name" : "dns",
21963 "parameters" : {
7aacca6f
DM
21964 "additionalProperties" : 0,
21965 "properties" : {
44660702
DM
21966 "node" : {
21967 "description" : "The cluster node name.",
21968 "format" : "pve-node",
21969 "type" : "string"
7aacca6f
DM
21970 }
21971 }
21972 },
7aacca6f
DM
21973 "permissions" : {
21974 "check" : [
21975 "perm",
21976 "/nodes/{node}",
21977 [
21978 "Sys.Audit"
21979 ]
21980 ]
21981 },
44660702
DM
21982 "proxyto" : "node",
21983 "returns" : {
56122987
DM
21984 "additionalProperties" : 0,
21985 "properties" : {
44660702
DM
21986 "dns1" : {
21987 "description" : "First name server IP address.",
21988 "optional" : 1,
21989 "type" : "string"
21990 },
21991 "dns2" : {
21992 "description" : "Second name server IP address.",
21993 "optional" : 1,
21994 "type" : "string"
21995 },
21996 "dns3" : {
21997 "description" : "Third name server IP address.",
21998 "optional" : 1,
21999 "type" : "string"
22000 },
22001 "search" : {
22002 "description" : "Search domain for host-name lookup.",
22003 "optional" : 1,
22004 "type" : "string"
7aacca6f 22005 }
44660702
DM
22006 },
22007 "type" : "object"
22008 }
7aacca6f
DM
22009 },
22010 "PUT" : {
44660702
DM
22011 "description" : "Write DNS settings.",
22012 "method" : "PUT",
7aacca6f
DM
22013 "name" : "update_dns",
22014 "parameters" : {
22015 "additionalProperties" : 0,
22016 "properties" : {
44660702
DM
22017 "dns1" : {
22018 "description" : "First name server IP address.",
22019 "format" : "ip",
22020 "optional" : 1,
7aacca6f
DM
22021 "type" : "string"
22022 },
44660702
DM
22023 "dns2" : {
22024 "description" : "Second name server IP address.",
22025 "format" : "ip",
7aacca6f 22026 "optional" : 1,
44660702 22027 "type" : "string"
7aacca6f 22028 },
44660702
DM
22029 "dns3" : {
22030 "description" : "Third name server IP address.",
22031 "format" : "ip",
7aacca6f 22032 "optional" : 1,
44660702 22033 "type" : "string"
7aacca6f
DM
22034 },
22035 "node" : {
44660702 22036 "description" : "The cluster node name.",
56122987 22037 "format" : "pve-node",
44660702 22038 "type" : "string"
7aacca6f 22039 },
44660702
DM
22040 "search" : {
22041 "description" : "Search domain for host-name lookup.",
22042 "type" : "string"
56122987
DM
22043 }
22044 }
22045 },
22046 "permissions" : {
22047 "check" : [
22048 "perm",
7aacca6f 22049 "/nodes/{node}",
56122987 22050 [
7aacca6f 22051 "Sys.Modify"
56122987
DM
22052 ]
22053 ]
22054 },
44660702 22055 "protected" : 1,
7aacca6f 22056 "proxyto" : "node",
56122987 22057 "returns" : {
7aacca6f
DM
22058 "type" : "null"
22059 }
56122987 22060 }
44660702
DM
22061 },
22062 "leaf" : 1,
22063 "path" : "/nodes/{node}/dns",
22064 "text" : "dns"
56122987
DM
22065 },
22066 {
22067 "info" : {
7aacca6f 22068 "GET" : {
7aacca6f 22069 "description" : "Read server time and time zone settings.",
44660702
DM
22070 "method" : "GET",
22071 "name" : "time",
56122987 22072 "parameters" : {
44660702 22073 "additionalProperties" : 0,
56122987
DM
22074 "properties" : {
22075 "node" : {
44660702 22076 "description" : "The cluster node name.",
56122987 22077 "format" : "pve-node",
44660702 22078 "type" : "string"
56122987 22079 }
44660702 22080 }
56122987
DM
22081 },
22082 "permissions" : {
22083 "check" : [
22084 "perm",
7aacca6f 22085 "/nodes/{node}",
56122987 22086 [
7aacca6f 22087 "Sys.Audit"
56122987
DM
22088 ]
22089 ]
44660702
DM
22090 },
22091 "proxyto" : "node",
22092 "returns" : {
22093 "additionalProperties" : 0,
22094 "properties" : {
22095 "localtime" : {
22096 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
22097 "minimum" : 1297163644,
22098 "type" : "integer"
22099 },
22100 "time" : {
22101 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
22102 "minimum" : 1297163644,
22103 "type" : "integer"
22104 },
22105 "timezone" : {
22106 "description" : "Time zone",
22107 "type" : "string"
22108 }
22109 },
22110 "type" : "object"
7aacca6f
DM
22111 }
22112 },
22113 "PUT" : {
7aacca6f 22114 "description" : "Set time zone.",
44660702
DM
22115 "method" : "PUT",
22116 "name" : "set_timezone",
22117 "parameters" : {
22118 "additionalProperties" : 0,
22119 "properties" : {
22120 "node" : {
22121 "description" : "The cluster node name.",
22122 "format" : "pve-node",
22123 "type" : "string"
22124 },
22125 "timezone" : {
22126 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
22127 "type" : "string"
22128 }
22129 }
22130 },
7aacca6f
DM
22131 "permissions" : {
22132 "check" : [
22133 "perm",
22134 "/nodes/{node}",
22135 [
22136 "Sys.Modify"
22137 ]
22138 ]
56122987 22139 },
7aacca6f 22140 "protected" : 1,
44660702
DM
22141 "proxyto" : "node",
22142 "returns" : {
22143 "type" : "null"
22144 }
7aacca6f
DM
22145 }
22146 },
7aacca6f 22147 "leaf" : 1,
44660702
DM
22148 "path" : "/nodes/{node}/time",
22149 "text" : "time"
7aacca6f
DM
22150 },
22151 {
22152 "info" : {
44660702
DM
22153 "GET" : {
22154 "description" : "Get list of appliances.",
22155 "method" : "GET",
22156 "name" : "aplinfo",
7aacca6f
DM
22157 "parameters" : {
22158 "additionalProperties" : 0,
22159 "properties" : {
7aacca6f 22160 "node" : {
44660702 22161 "description" : "The cluster node name.",
7aacca6f 22162 "format" : "pve-node",
44660702 22163 "type" : "string"
7aacca6f
DM
22164 }
22165 }
56122987 22166 },
7aacca6f 22167 "permissions" : {
44660702 22168 "user" : "all"
56122987 22169 },
44660702 22170 "proxyto" : "node",
7aacca6f
DM
22171 "returns" : {
22172 "items" : {
44660702
DM
22173 "properties" : {},
22174 "type" : "object"
7aacca6f
DM
22175 },
22176 "type" : "array"
44660702
DM
22177 }
22178 },
22179 "POST" : {
22180 "description" : "Download appliance templates.",
22181 "method" : "POST",
22182 "name" : "apl_download",
7aacca6f
DM
22183 "parameters" : {
22184 "additionalProperties" : 0,
22185 "properties" : {
22186 "node" : {
7aacca6f 22187 "description" : "The cluster node name.",
44660702
DM
22188 "format" : "pve-node",
22189 "type" : "string"
22190 },
22191 "storage" : {
4bd7df8b 22192 "description" : "The storage where the template will be stored",
44660702
DM
22193 "format" : "pve-storage-id",
22194 "type" : "string"
22195 },
22196 "template" : {
22197 "description" : "The template wich will downloaded",
22198 "maxLength" : 255,
7aacca6f
DM
22199 "type" : "string"
22200 }
22201 }
56122987 22202 },
7aacca6f 22203 "permissions" : {
44660702
DM
22204 "check" : [
22205 "perm",
22206 "/storage/{storage}",
22207 [
22208 "Datastore.AllocateTemplate"
22209 ]
22210 ]
22211 },
22212 "protected" : 1,
22213 "proxyto" : "node",
22214 "returns" : {
22215 "type" : "string"
7aacca6f
DM
22216 }
22217 }
22218 },
7aacca6f 22219 "leaf" : 1,
44660702
DM
22220 "path" : "/nodes/{node}/aplinfo",
22221 "text" : "aplinfo"
7aacca6f
DM
22222 },
22223 {
22224 "info" : {
22225 "GET" : {
44660702
DM
22226 "description" : "Gather various systems information about a node",
22227 "method" : "GET",
22228 "name" : "report",
7aacca6f 22229 "parameters" : {
44660702 22230 "additionalProperties" : 0,
7aacca6f
DM
22231 "properties" : {
22232 "node" : {
7aacca6f 22233 "description" : "The cluster node name.",
44660702 22234 "format" : "pve-node",
7aacca6f
DM
22235 "type" : "string"
22236 }
44660702 22237 }
56122987 22238 },
7aacca6f
DM
22239 "permissions" : {
22240 "check" : [
22241 "perm",
22242 "/nodes/{node}",
22243 [
22244 "Sys.Audit"
22245 ]
22246 ]
56122987 22247 },
44660702 22248 "protected" : 1,
7aacca6f
DM
22249 "proxyto" : "node",
22250 "returns" : {
56122987 22251 "type" : "string"
7aacca6f
DM
22252 }
22253 }
22254 },
7aacca6f 22255 "leaf" : 1,
44660702
DM
22256 "path" : "/nodes/{node}/report",
22257 "text" : "report"
7aacca6f
DM
22258 },
22259 {
7aacca6f
DM
22260 "info" : {
22261 "POST" : {
44660702 22262 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 22263 "method" : "POST",
44660702 22264 "name" : "startall",
7aacca6f 22265 "parameters" : {
44660702 22266 "additionalProperties" : 0,
7aacca6f
DM
22267 "properties" : {
22268 "force" : {
44660702 22269 "description" : "force if onboot=0.",
7aacca6f 22270 "optional" : 1,
44660702 22271 "type" : "boolean"
7aacca6f
DM
22272 },
22273 "node" : {
7aacca6f 22274 "description" : "The cluster node name.",
44660702
DM
22275 "format" : "pve-node",
22276 "type" : "string"
7aacca6f 22277 }
44660702 22278 }
56122987 22279 },
7aacca6f
DM
22280 "permissions" : {
22281 "check" : [
22282 "perm",
22283 "/",
22284 [
22285 "VM.PowerMgmt"
22286 ]
22287 ]
44660702
DM
22288 },
22289 "protected" : 1,
22290 "proxyto" : "node",
22291 "returns" : {
22292 "type" : "string"
7aacca6f
DM
22293 }
22294 }
22295 },
44660702 22296 "leaf" : 1,
7aacca6f 22297 "path" : "/nodes/{node}/startall",
44660702 22298 "text" : "startall"
7aacca6f
DM
22299 },
22300 {
7aacca6f
DM
22301 "info" : {
22302 "POST" : {
22303 "description" : "Stop all VMs and Containers.",
44660702
DM
22304 "method" : "POST",
22305 "name" : "stopall",
7aacca6f 22306 "parameters" : {
44660702 22307 "additionalProperties" : 0,
7aacca6f
DM
22308 "properties" : {
22309 "node" : {
44660702 22310 "description" : "The cluster node name.",
7aacca6f 22311 "format" : "pve-node",
44660702 22312 "type" : "string"
7aacca6f 22313 }
44660702 22314 }
56122987 22315 },
7aacca6f
DM
22316 "permissions" : {
22317 "check" : [
22318 "perm",
22319 "/",
22320 [
44660702 22321 "VM.PowerMgmt"
7aacca6f
DM
22322 ]
22323 ]
56122987 22324 },
44660702 22325 "protected" : 1,
7aacca6f 22326 "proxyto" : "node",
44660702
DM
22327 "returns" : {
22328 "type" : "string"
22329 }
22330 }
56122987 22331 },
44660702
DM
22332 "leaf" : 1,
22333 "path" : "/nodes/{node}/stopall",
22334 "text" : "stopall"
22335 },
22336 {
22337 "info" : {
22338 "POST" : {
22339 "description" : "Migrate all VMs and Containers.",
22340 "method" : "POST",
22341 "name" : "migrateall",
22342 "parameters" : {
22343 "additionalProperties" : 0,
22344 "properties" : {
22345 "maxworkers" : {
22346 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
22347 "minimum" : 1,
22348 "optional" : 1,
4bd7df8b 22349 "type" : "integer",
2c0dde61 22350 "typetext" : "integer (1 - N)"
44660702
DM
22351 },
22352 "node" : {
22353 "description" : "The cluster node name.",
22354 "format" : "pve-node",
22355 "type" : "string"
22356 },
22357 "target" : {
22358 "description" : "Target node.",
22359 "format" : "pve-node",
22360 "type" : "string"
22361 }
22362 }
22363 },
22364 "permissions" : {
22365 "check" : [
22366 "perm",
22367 "/",
22368 [
22369 "VM.Migrate"
22370 ]
22371 ]
22372 },
22373 "protected" : 1,
22374 "proxyto" : "node",
22375 "returns" : {
22376 "type" : "string"
22377 }
22378 }
56122987 22379 },
44660702
DM
22380 "leaf" : 1,
22381 "path" : "/nodes/{node}/migrateall",
22382 "text" : "migrateall"
22383 }
22384 ],
22385 "info" : {
22386 "GET" : {
22387 "description" : "Node index.",
22388 "method" : "GET",
22389 "name" : "index",
22390 "parameters" : {
22391 "additionalProperties" : 0,
22392 "properties" : {
22393 "node" : {
22394 "description" : "The cluster node name.",
22395 "format" : "pve-node",
22396 "type" : "string"
22397 }
22398 }
56122987 22399 },
44660702
DM
22400 "permissions" : {
22401 "user" : "all"
56122987 22402 },
44660702
DM
22403 "returns" : {
22404 "items" : {
22405 "properties" : {},
22406 "type" : "object"
22407 },
22408 "links" : [
22409 {
22410 "href" : "{name}",
22411 "rel" : "child"
22412 }
56122987 22413 ],
44660702 22414 "type" : "array"
7aacca6f
DM
22415 }
22416 }
22417 },
44660702
DM
22418 "leaf" : 0,
22419 "path" : "/nodes/{node}",
22420 "text" : "{node}"
22421 }
22422 ],
22423 "info" : {
7aacca6f 22424 "GET" : {
44660702 22425 "description" : "Cluster node index.",
7aacca6f 22426 "method" : "GET",
44660702 22427 "name" : "index",
7aacca6f 22428 "parameters" : {
7aacca6f
DM
22429 "additionalProperties" : 0
22430 },
22431 "permissions" : {
7aacca6f
DM
22432 "user" : "all"
22433 },
44660702
DM
22434 "returns" : {
22435 "items" : {
22436 "properties" : {},
22437 "type" : "object"
22438 },
22439 "links" : [
22440 {
22441 "href" : "{node}",
22442 "rel" : "child"
22443 }
22444 ],
22445 "type" : "array"
22446 }
7aacca6f
DM
22447 }
22448 },
44660702
DM
22449 "leaf" : 0,
22450 "path" : "/nodes",
22451 "text" : "nodes"
22452 },
22453 {
7aacca6f
DM
22454 "children" : [
22455 {
7aacca6f 22456 "info" : {
44660702
DM
22457 "DELETE" : {
22458 "description" : "Delete storage configuration.",
22459 "method" : "DELETE",
22460 "name" : "delete",
7aacca6f
DM
22461 "parameters" : {
22462 "additionalProperties" : 0,
22463 "properties" : {
22464 "storage" : {
7aacca6f 22465 "description" : "The storage identifier.",
44660702 22466 "format" : "pve-storage-id",
7aacca6f
DM
22467 "type" : "string"
22468 }
22469 }
56122987 22470 },
7aacca6f
DM
22471 "permissions" : {
22472 "check" : [
22473 "perm",
22474 "/storage",
22475 [
22476 "Datastore.Allocate"
22477 ]
22478 ]
56122987 22479 },
44660702
DM
22480 "protected" : 1,
22481 "returns" : {
22482 "type" : "null"
22483 }
22484 },
22485 "GET" : {
22486 "description" : "Read storage configuration.",
22487 "method" : "GET",
22488 "name" : "read",
7aacca6f
DM
22489 "parameters" : {
22490 "additionalProperties" : 0,
22491 "properties" : {
22492 "storage" : {
44660702 22493 "description" : "The storage identifier.",
7aacca6f 22494 "format" : "pve-storage-id",
44660702 22495 "type" : "string"
7aacca6f
DM
22496 }
22497 }
22498 },
44660702
DM
22499 "permissions" : {
22500 "check" : [
22501 "perm",
22502 "/storage/{storage}",
22503 [
22504 "Datastore.Allocate"
22505 ]
22506 ]
22507 },
22508 "returns" : {}
7aacca6f
DM
22509 },
22510 "PUT" : {
44660702
DM
22511 "description" : "Update storage configuration.",
22512 "method" : "PUT",
22513 "name" : "update",
22514 "parameters" : {
22515 "additionalProperties" : 0,
22516 "properties" : {
22517 "blocksize" : {
22518 "description" : "block size",
7aacca6f 22519 "optional" : 1,
44660702 22520 "type" : "string"
7aacca6f 22521 },
44660702
DM
22522 "comstar_hg" : {
22523 "description" : "host group for comstar views",
22524 "optional" : 1,
22525 "type" : "string"
7aacca6f 22526 },
44660702
DM
22527 "comstar_tg" : {
22528 "description" : "target group for comstar views",
7aacca6f 22529 "optional" : 1,
44660702 22530 "type" : "string"
7aacca6f 22531 },
44660702
DM
22532 "content" : {
22533 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
22534 "format" : "pve-storage-content-list",
7aacca6f 22535 "optional" : 1,
44660702 22536 "type" : "string"
7aacca6f 22537 },
44660702
DM
22538 "delete" : {
22539 "description" : "A list of settings you want to delete.",
22540 "format" : "pve-configid-list",
22541 "maxLength" : 4096,
7aacca6f 22542 "optional" : 1,
44660702 22543 "type" : "string"
7aacca6f
DM
22544 },
22545 "digest" : {
44660702 22546 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 22547 "maxLength" : 40,
7aacca6f 22548 "optional" : 1,
7aacca6f
DM
22549 "type" : "string"
22550 },
44660702
DM
22551 "disable" : {
22552 "description" : "Flag to disable the storage.",
22553 "optional" : 1,
22554 "type" : "boolean"
7aacca6f
DM
22555 },
22556 "format" : {
22557 "description" : "Default image format.",
44660702 22558 "format" : "pve-storage-format",
7aacca6f 22559 "optional" : 1,
44660702 22560 "type" : "string"
7aacca6f 22561 },
2c0dde61
DM
22562 "is_mountpoint" : {
22563 "default" : "no",
22564 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
22565 "optional" : 1,
22566 "type" : "boolean"
22567 },
44660702
DM
22568 "krbd" : {
22569 "description" : "Access rbd through krbd kernel module.",
7aacca6f 22570 "optional" : 1,
44660702 22571 "type" : "boolean"
7aacca6f 22572 },
44660702
DM
22573 "maxfiles" : {
22574 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
22575 "minimum" : 0,
22576 "optional" : 1,
4bd7df8b 22577 "type" : "integer",
2c0dde61 22578 "typetext" : "integer (0 - N)"
4bd7df8b
DM
22579 },
22580 "mkdir" : {
22581 "default" : "yes",
22582 "description" : "Create the directory if it doesn't exist.",
22583 "optional" : 1,
22584 "type" : "boolean"
7aacca6f
DM
22585 },
22586 "nodes" : {
44660702 22587 "description" : "List of cluster node names.",
7aacca6f
DM
22588 "format" : "pve-node-list",
22589 "optional" : 1,
44660702 22590 "type" : "string"
7aacca6f 22591 },
44660702
DM
22592 "nowritecache" : {
22593 "description" : "disable write caching on the target",
7aacca6f 22594 "optional" : 1,
44660702 22595 "type" : "boolean"
7aacca6f
DM
22596 },
22597 "options" : {
7aacca6f 22598 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
22599 "format" : "pve-storage-options",
22600 "optional" : 1,
22601 "type" : "string"
22602 },
22603 "pool" : {
22604 "description" : "Pool.",
22605 "optional" : 1,
22606 "type" : "string"
22607 },
22608 "redundancy" : {
22609 "default" : 2,
22610 "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.",
22611 "maximum" : 16,
22612 "minimum" : 1,
22613 "optional" : 1,
4bd7df8b 22614 "type" : "integer",
2c0dde61 22615 "typetext" : "integer (1 - 16)"
44660702
DM
22616 },
22617 "saferemove" : {
22618 "description" : "Zero-out data when removing LVs.",
22619 "optional" : 1,
22620 "type" : "boolean"
7aacca6f
DM
22621 },
22622 "saferemove_throughput" : {
44660702 22623 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 22624 "optional" : 1,
44660702 22625 "type" : "string"
7aacca6f 22626 },
44660702
DM
22627 "server" : {
22628 "description" : "Server IP or DNS name.",
22629 "format" : "pve-storage-server",
7aacca6f 22630 "optional" : 1,
44660702 22631 "type" : "string"
7aacca6f 22632 },
44660702
DM
22633 "server2" : {
22634 "description" : "Backup volfile server IP or DNS name.",
22635 "format" : "pve-storage-server",
7aacca6f 22636 "optional" : 1,
44660702
DM
22637 "requires" : "server",
22638 "type" : "string"
22639 },
22640 "shared" : {
22641 "description" : "Mark storage as shared.",
22642 "optional" : 1,
22643 "type" : "boolean"
22644 },
22645 "sparse" : {
22646 "description" : "use sparse volumes",
22647 "optional" : 1,
22648 "type" : "boolean"
22649 },
22650 "storage" : {
22651 "description" : "The storage identifier.",
22652 "format" : "pve-storage-id",
22653 "type" : "string"
22654 },
4bd7df8b
DM
22655 "tagged_only" : {
22656 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
22657 "optional" : 1,
22658 "type" : "boolean"
22659 },
44660702
DM
22660 "transport" : {
22661 "description" : "Gluster transport: tcp or rdma",
22662 "enum" : [
22663 "tcp",
22664 "rdma",
22665 "unix"
22666 ],
22667 "optional" : 1,
22668 "type" : "string"
7aacca6f
DM
22669 },
22670 "username" : {
22671 "description" : "RBD Id.",
44660702
DM
22672 "optional" : 1,
22673 "type" : "string"
7aacca6f 22674 }
44660702
DM
22675 },
22676 "type" : "object"
22677 },
22678 "permissions" : {
22679 "check" : [
22680 "perm",
22681 "/storage",
22682 [
22683 "Datastore.Allocate"
22684 ]
22685 ]
22686 },
22687 "protected" : 1,
22688 "returns" : {
22689 "type" : "null"
22690 }
22691 }
22692 },
22693 "leaf" : 1,
22694 "path" : "/storage/{storage}",
22695 "text" : "{storage}"
22696 }
22697 ],
22698 "info" : {
22699 "GET" : {
22700 "description" : "Storage index.",
22701 "method" : "GET",
22702 "name" : "index",
22703 "parameters" : {
22704 "additionalProperties" : 0,
22705 "properties" : {
22706 "type" : {
22707 "description" : "Only list storage of specific type",
22708 "enum" : [
22709 "dir",
22710 "drbd",
22711 "glusterfs",
22712 "iscsi",
22713 "iscsidirect",
22714 "lvm",
22715 "lvmthin",
22716 "nfs",
22717 "rbd",
22718 "sheepdog",
22719 "zfs",
22720 "zfspool"
22721 ],
22722 "optional" : 1,
22723 "type" : "string"
22724 }
22725 }
22726 },
22727 "permissions" : {
22728 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
22729 "user" : "all"
22730 },
22731 "returns" : {
22732 "items" : {
22733 "properties" : {
22734 "storage" : {
22735 "type" : "string"
7aacca6f 22736 }
56122987 22737 },
44660702
DM
22738 "type" : "object"
22739 },
22740 "links" : [
22741 {
22742 "href" : "{storage}",
22743 "rel" : "child"
22744 }
22745 ],
22746 "type" : "array"
22747 }
22748 },
22749 "POST" : {
22750 "description" : "Create a new storage.",
22751 "method" : "POST",
22752 "name" : "create",
22753 "parameters" : {
22754 "additionalProperties" : 0,
22755 "properties" : {
22756 "authsupported" : {
22757 "description" : "Authsupported.",
22758 "optional" : 1,
22759 "type" : "string"
22760 },
22761 "base" : {
22762 "description" : "Base volume. This volume is automatically activated.",
22763 "format" : "pve-volume-id",
22764 "optional" : 1,
22765 "type" : "string"
22766 },
22767 "blocksize" : {
22768 "description" : "block size",
22769 "optional" : 1,
22770 "type" : "string"
22771 },
22772 "comstar_hg" : {
22773 "description" : "host group for comstar views",
22774 "optional" : 1,
22775 "type" : "string"
22776 },
22777 "comstar_tg" : {
22778 "description" : "target group for comstar views",
22779 "optional" : 1,
22780 "type" : "string"
22781 },
22782 "content" : {
22783 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
22784 "format" : "pve-storage-content-list",
22785 "optional" : 1,
22786 "type" : "string"
22787 },
22788 "disable" : {
22789 "description" : "Flag to disable the storage.",
22790 "optional" : 1,
22791 "type" : "boolean"
22792 },
22793 "export" : {
22794 "description" : "NFS export path.",
22795 "format" : "pve-storage-path",
22796 "optional" : 1,
22797 "type" : "string"
22798 },
22799 "format" : {
22800 "description" : "Default image format.",
22801 "format" : "pve-storage-format",
22802 "optional" : 1,
22803 "type" : "string"
22804 },
2c0dde61
DM
22805 "is_mountpoint" : {
22806 "default" : "no",
22807 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
22808 "optional" : 1,
22809 "type" : "boolean"
22810 },
44660702
DM
22811 "iscsiprovider" : {
22812 "description" : "iscsi provider",
22813 "optional" : 1,
22814 "type" : "string"
22815 },
22816 "krbd" : {
22817 "description" : "Access rbd through krbd kernel module.",
22818 "optional" : 1,
22819 "type" : "boolean"
56122987 22820 },
44660702
DM
22821 "maxfiles" : {
22822 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
22823 "minimum" : 0,
22824 "optional" : 1,
4bd7df8b 22825 "type" : "integer",
2c0dde61 22826 "typetext" : "integer (0 - N)"
4bd7df8b
DM
22827 },
22828 "mkdir" : {
22829 "default" : "yes",
22830 "description" : "Create the directory if it doesn't exist.",
22831 "optional" : 1,
22832 "type" : "boolean"
7aacca6f 22833 },
44660702
DM
22834 "monhost" : {
22835 "description" : "Monitors daemon ips.",
4bd7df8b 22836 "format" : "pve-storage-portal-dns-list",
44660702
DM
22837 "optional" : 1,
22838 "type" : "string"
7aacca6f 22839 },
44660702
DM
22840 "nodes" : {
22841 "description" : "List of cluster node names.",
22842 "format" : "pve-node-list",
22843 "optional" : 1,
22844 "type" : "string"
7aacca6f 22845 },
44660702
DM
22846 "nowritecache" : {
22847 "description" : "disable write caching on the target",
22848 "optional" : 1,
22849 "type" : "boolean"
22850 },
22851 "options" : {
22852 "description" : "NFS mount options (see 'man nfs')",
22853 "format" : "pve-storage-options",
22854 "optional" : 1,
22855 "type" : "string"
22856 },
22857 "path" : {
22858 "description" : "File system path.",
22859 "format" : "pve-storage-path",
22860 "optional" : 1,
22861 "type" : "string"
22862 },
22863 "pool" : {
22864 "description" : "Pool.",
22865 "optional" : 1,
22866 "type" : "string"
22867 },
22868 "portal" : {
22869 "description" : "iSCSI portal (IP or DNS name with optional port).",
22870 "format" : "pve-storage-portal-dns",
22871 "optional" : 1,
22872 "type" : "string"
22873 },
22874 "redundancy" : {
22875 "default" : 2,
22876 "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.",
22877 "maximum" : 16,
22878 "minimum" : 1,
22879 "optional" : 1,
4bd7df8b 22880 "type" : "integer",
2c0dde61 22881 "typetext" : "integer (1 - 16)"
44660702
DM
22882 },
22883 "saferemove" : {
22884 "description" : "Zero-out data when removing LVs.",
22885 "optional" : 1,
22886 "type" : "boolean"
22887 },
22888 "saferemove_throughput" : {
22889 "description" : "Wipe throughput (cstream -t parameter value).",
22890 "optional" : 1,
22891 "type" : "string"
22892 },
22893 "server" : {
22894 "description" : "Server IP or DNS name.",
22895 "format" : "pve-storage-server",
22896 "optional" : 1,
22897 "type" : "string"
22898 },
22899 "server2" : {
22900 "description" : "Backup volfile server IP or DNS name.",
22901 "format" : "pve-storage-server",
22902 "optional" : 1,
22903 "requires" : "server",
22904 "type" : "string"
22905 },
22906 "shared" : {
22907 "description" : "Mark storage as shared.",
22908 "optional" : 1,
22909 "type" : "boolean"
22910 },
22911 "sparse" : {
22912 "description" : "use sparse volumes",
22913 "optional" : 1,
22914 "type" : "boolean"
22915 },
22916 "storage" : {
22917 "description" : "The storage identifier.",
22918 "format" : "pve-storage-id",
22919 "type" : "string"
22920 },
4bd7df8b
DM
22921 "tagged_only" : {
22922 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
22923 "optional" : 1,
22924 "type" : "boolean"
22925 },
44660702
DM
22926 "target" : {
22927 "description" : "iSCSI target.",
22928 "optional" : 1,
22929 "type" : "string"
22930 },
22931 "thinpool" : {
22932 "description" : "LVM thin pool LV name.",
22933 "format" : "pve-storage-vgname",
22934 "optional" : 1,
22935 "type" : "string"
22936 },
22937 "transport" : {
22938 "description" : "Gluster transport: tcp or rdma",
22939 "enum" : [
22940 "tcp",
22941 "rdma",
22942 "unix"
7aacca6f 22943 ],
44660702
DM
22944 "optional" : 1,
22945 "type" : "string"
56122987 22946 },
44660702
DM
22947 "type" : {
22948 "description" : "Storage type.",
22949 "enum" : [
22950 "dir",
22951 "drbd",
22952 "glusterfs",
22953 "iscsi",
22954 "iscsidirect",
22955 "lvm",
22956 "lvmthin",
22957 "nfs",
22958 "rbd",
22959 "sheepdog",
22960 "zfs",
22961 "zfspool"
22962 ],
22963 "type" : "string"
56122987 22964 },
44660702
DM
22965 "username" : {
22966 "description" : "RBD Id.",
22967 "optional" : 1,
22968 "type" : "string"
7aacca6f 22969 },
44660702
DM
22970 "vgname" : {
22971 "description" : "Volume group name.",
22972 "format" : "pve-storage-vgname",
22973 "optional" : 1,
22974 "type" : "string"
22975 },
22976 "volume" : {
22977 "description" : "Glusterfs Volume.",
22978 "optional" : 1,
22979 "type" : "string"
22980 }
22981 },
22982 "type" : "object"
22983 },
22984 "permissions" : {
22985 "check" : [
22986 "perm",
22987 "/storage",
22988 [
22989 "Datastore.Allocate"
22990 ]
22991 ]
56122987 22992 },
44660702
DM
22993 "protected" : 1,
22994 "returns" : {
22995 "type" : "null"
22996 }
22997 }
22998 },
22999 "leaf" : 0,
23000 "path" : "/storage",
23001 "text" : "storage"
23002 },
23003 {
23004 "children" : [
23005 {
56122987
DM
23006 "children" : [
23007 {
56122987 23008 "info" : {
44660702
DM
23009 "DELETE" : {
23010 "description" : "Delete user.",
23011 "method" : "DELETE",
23012 "name" : "delete_user",
56122987 23013 "parameters" : {
7aacca6f 23014 "additionalProperties" : 0,
56122987 23015 "properties" : {
56122987 23016 "userid" : {
56122987
DM
23017 "description" : "User ID",
23018 "format" : "pve-userid",
44660702 23019 "maxLength" : 64,
56122987
DM
23020 "type" : "string"
23021 }
7aacca6f 23022 }
56122987 23023 },
56122987
DM
23024 "permissions" : {
23025 "check" : [
44660702 23026 "and",
56122987 23027 [
44660702
DM
23028 "userid-param",
23029 "Realm.AllocateUser"
56122987 23030 ],
44660702
DM
23031 [
23032 "userid-group",
23033 [
23034 "User.Modify"
23035 ]
23036 ]
56122987 23037 ]
7aacca6f 23038 },
44660702 23039 "protected" : 1,
56122987
DM
23040 "returns" : {
23041 "type" : "null"
44660702 23042 }
7aacca6f 23043 },
44660702
DM
23044 "GET" : {
23045 "description" : "Get user configuration.",
23046 "method" : "GET",
23047 "name" : "read_user",
56122987
DM
23048 "parameters" : {
23049 "additionalProperties" : 0,
23050 "properties" : {
23051 "userid" : {
44660702 23052 "description" : "User ID",
56122987 23053 "format" : "pve-userid",
44660702
DM
23054 "maxLength" : 64,
23055 "type" : "string"
56122987
DM
23056 }
23057 }
23058 },
56122987
DM
23059 "permissions" : {
23060 "check" : [
44660702 23061 "userid-group",
56122987 23062 [
44660702
DM
23063 "User.Modify",
23064 "Sys.Audit"
56122987
DM
23065 ]
23066 ]
23067 },
56122987 23068 "returns" : {
7aacca6f 23069 "additionalProperties" : 0,
56122987 23070 "properties" : {
44660702
DM
23071 "comment" : {
23072 "optional" : 1,
23073 "type" : "string"
56122987 23074 },
44660702
DM
23075 "email" : {
23076 "optional" : 1,
23077 "type" : "string"
7aacca6f
DM
23078 },
23079 "enable" : {
23080 "type" : "boolean"
23081 },
44660702
DM
23082 "expire" : {
23083 "optional" : 1,
23084 "type" : "integer"
23085 },
23086 "firstname" : {
56122987
DM
23087 "optional" : 1,
23088 "type" : "string"
23089 },
44660702
DM
23090 "groups" : {
23091 "type" : "array"
56122987 23092 },
44660702
DM
23093 "keys" : {
23094 "optional" : 1,
23095 "type" : "string"
7aacca6f 23096 },
44660702
DM
23097 "lastname" : {
23098 "optional" : 1,
23099 "type" : "string"
56122987 23100 }
7aacca6f 23101 }
44660702
DM
23102 }
23103 },
23104 "PUT" : {
23105 "description" : "Update user configuration.",
23106 "method" : "PUT",
23107 "name" : "update_user",
56122987 23108 "parameters" : {
44660702 23109 "additionalProperties" : 0,
56122987 23110 "properties" : {
44660702
DM
23111 "append" : {
23112 "optional" : 1,
23113 "requires" : "groups",
23114 "type" : "boolean"
23115 },
23116 "comment" : {
23117 "optional" : 1,
23118 "type" : "string"
23119 },
23120 "email" : {
23121 "format" : "email-opt",
23122 "optional" : 1,
23123 "type" : "string"
23124 },
23125 "enable" : {
23126 "description" : "Enable/disable the account.",
23127 "optional" : 1,
23128 "type" : "boolean"
23129 },
23130 "expire" : {
23131 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
23132 "minimum" : 0,
23133 "optional" : 1,
4bd7df8b 23134 "type" : "integer",
2c0dde61 23135 "typetext" : "integer (0 - N)"
44660702
DM
23136 },
23137 "firstname" : {
23138 "optional" : 1,
23139 "type" : "string"
23140 },
23141 "groups" : {
23142 "format" : "pve-groupid-list",
23143 "optional" : 1,
23144 "type" : "string"
23145 },
23146 "keys" : {
23147 "description" : "Keys for two factor auth (yubico).",
23148 "optional" : 1,
23149 "type" : "string"
23150 },
23151 "lastname" : {
23152 "optional" : 1,
23153 "type" : "string"
23154 },
56122987 23155 "userid" : {
56122987
DM
23156 "description" : "User ID",
23157 "format" : "pve-userid",
44660702
DM
23158 "maxLength" : 64,
23159 "type" : "string"
56122987 23160 }
44660702 23161 }
56122987 23162 },
56122987
DM
23163 "permissions" : {
23164 "check" : [
23165 "userid-group",
23166 [
44660702
DM
23167 "User.Modify"
23168 ],
23169 "groups_param",
23170 1
56122987
DM
23171 ]
23172 },
44660702
DM
23173 "protected" : 1,
23174 "returns" : {
23175 "type" : "null"
23176 }
56122987
DM
23177 }
23178 },
44660702
DM
23179 "leaf" : 1,
23180 "path" : "/access/users/{userid}",
7aacca6f 23181 "text" : "{userid}"
56122987 23182 }
7aacca6f 23183 ],
56122987 23184 "info" : {
7aacca6f 23185 "GET" : {
44660702
DM
23186 "description" : "User index.",
23187 "method" : "GET",
7aacca6f 23188 "name" : "index",
56122987 23189 "parameters" : {
44660702
DM
23190 "additionalProperties" : 0,
23191 "properties" : {
23192 "enabled" : {
23193 "description" : "Optional filter for enable property.",
23194 "optional" : 1,
23195 "type" : "boolean"
23196 }
23197 }
23198 },
23199 "permissions" : {
23200 "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.",
23201 "user" : "all"
56122987 23202 },
7aacca6f 23203 "returns" : {
7aacca6f
DM
23204 "items" : {
23205 "properties" : {
44660702 23206 "userid" : {
7aacca6f
DM
23207 "type" : "string"
23208 }
23209 },
23210 "type" : "object"
23211 },
44660702
DM
23212 "links" : [
23213 {
23214 "href" : "{userid}",
23215 "rel" : "child"
23216 }
23217 ],
7aacca6f
DM
23218 "type" : "array"
23219 }
23220 },
23221 "POST" : {
44660702 23222 "description" : "Create new user.",
7aacca6f 23223 "method" : "POST",
44660702 23224 "name" : "create_user",
56122987 23225 "parameters" : {
7aacca6f
DM
23226 "additionalProperties" : 0,
23227 "properties" : {
44660702
DM
23228 "comment" : {
23229 "optional" : 1,
7aacca6f
DM
23230 "type" : "string"
23231 },
44660702
DM
23232 "email" : {
23233 "format" : "email-opt",
23234 "optional" : 1,
23235 "type" : "string"
23236 },
23237 "enable" : {
23238 "default" : 1,
23239 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
23240 "optional" : 1,
23241 "type" : "boolean"
23242 },
23243 "expire" : {
23244 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
23245 "minimum" : 0,
23246 "optional" : 1,
4bd7df8b 23247 "type" : "integer",
2c0dde61 23248 "typetext" : "integer (0 - N)"
44660702
DM
23249 },
23250 "firstname" : {
23251 "optional" : 1,
23252 "type" : "string"
23253 },
23254 "groups" : {
23255 "format" : "pve-groupid-list",
23256 "optional" : 1,
23257 "type" : "string"
23258 },
23259 "keys" : {
23260 "description" : "Keys for two factor auth (yubico).",
23261 "optional" : 1,
23262 "type" : "string"
23263 },
23264 "lastname" : {
7aacca6f
DM
23265 "optional" : 1,
23266 "type" : "string"
44660702
DM
23267 },
23268 "password" : {
23269 "description" : "Initial password.",
23270 "maxLength" : 64,
23271 "minLength" : 5,
23272 "optional" : 1,
23273 "type" : "string"
23274 },
23275 "userid" : {
23276 "description" : "User ID",
23277 "format" : "pve-userid",
23278 "maxLength" : 64,
23279 "type" : "string"
56122987 23280 }
7aacca6f 23281 }
56122987 23282 },
44660702
DM
23283 "permissions" : {
23284 "check" : [
23285 "and",
23286 [
23287 "userid-param",
23288 "Realm.AllocateUser"
23289 ],
23290 [
23291 "userid-group",
23292 [
23293 "User.Modify"
23294 ],
23295 "groups_param",
23296 1
23297 ]
23298 ],
23299 "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."
23300 },
23301 "protected" : 1,
23302 "returns" : {
23303 "type" : "null"
23304 }
56122987
DM
23305 }
23306 },
44660702
DM
23307 "leaf" : 0,
23308 "path" : "/access/users",
23309 "text" : "users"
23310 },
23311 {
56122987
DM
23312 "children" : [
23313 {
56122987
DM
23314 "info" : {
23315 "DELETE" : {
44660702
DM
23316 "description" : "Delete group.",
23317 "method" : "DELETE",
23318 "name" : "delete_group",
23319 "parameters" : {
23320 "additionalProperties" : 0,
23321 "properties" : {
23322 "groupid" : {
23323 "format" : "pve-groupid",
23324 "type" : "string"
23325 }
23326 }
23327 },
7aacca6f
DM
23328 "permissions" : {
23329 "check" : [
23330 "perm",
23331 "/access/groups",
23332 [
23333 "Group.Allocate"
23334 ]
23335 ]
23336 },
7aacca6f 23337 "protected" : 1,
7aacca6f
DM
23338 "returns" : {
23339 "type" : "null"
44660702 23340 }
7aacca6f 23341 },
44660702
DM
23342 "GET" : {
23343 "description" : "Get group configuration.",
23344 "method" : "GET",
23345 "name" : "read_group",
23346 "parameters" : {
23347 "additionalProperties" : 0,
23348 "properties" : {
23349 "groupid" : {
23350 "format" : "pve-groupid",
23351 "type" : "string"
23352 }
23353 }
56122987 23354 },
7aacca6f
DM
23355 "permissions" : {
23356 "check" : [
23357 "perm",
23358 "/access/groups",
23359 [
44660702 23360 "Sys.Audit",
7aacca6f 23361 "Group.Allocate"
44660702
DM
23362 ],
23363 "any",
23364 1
7aacca6f
DM
23365 ]
23366 },
7aacca6f 23367 "returns" : {
44660702 23368 "additionalProperties" : 0,
7aacca6f
DM
23369 "properties" : {
23370 "comment" : {
44660702
DM
23371 "optional" : 1,
23372 "type" : "string"
7aacca6f
DM
23373 },
23374 "members" : {
23375 "items" : {
23376 "type" : "string"
23377 },
23378 "type" : "array"
23379 }
23380 },
44660702
DM
23381 "type" : "object"
23382 }
23383 },
23384 "PUT" : {
23385 "description" : "Update group data.",
23386 "method" : "PUT",
23387 "name" : "update_group",
56122987 23388 "parameters" : {
44660702 23389 "additionalProperties" : 0,
56122987 23390 "properties" : {
44660702
DM
23391 "comment" : {
23392 "optional" : 1,
23393 "type" : "string"
23394 },
56122987
DM
23395 "groupid" : {
23396 "format" : "pve-groupid",
23397 "type" : "string"
23398 }
44660702 23399 }
56122987 23400 },
56122987
DM
23401 "permissions" : {
23402 "check" : [
23403 "perm",
23404 "/access/groups",
23405 [
23406 "Group.Allocate"
44660702 23407 ]
56122987
DM
23408 ]
23409 },
44660702
DM
23410 "protected" : 1,
23411 "returns" : {
23412 "type" : "null"
23413 }
7aacca6f
DM
23414 }
23415 },
7aacca6f 23416 "leaf" : 1,
44660702
DM
23417 "path" : "/access/groups/{groupid}",
23418 "text" : "{groupid}"
23419 }
23420 ],
23421 "info" : {
23422 "GET" : {
23423 "description" : "Group index.",
23424 "method" : "GET",
23425 "name" : "index",
23426 "parameters" : {
23427 "additionalProperties" : 0
23428 },
23429 "permissions" : {
23430 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
23431 "user" : "all"
23432 },
23433 "returns" : {
23434 "items" : {
23435 "properties" : {
23436 "groupid" : {
23437 "type" : "string"
23438 }
23439 },
23440 "type" : "object"
23441 },
23442 "links" : [
23443 {
23444 "href" : "{groupid}",
23445 "rel" : "child"
23446 }
23447 ],
23448 "type" : "array"
23449 }
23450 },
23451 "POST" : {
23452 "description" : "Create new group.",
23453 "method" : "POST",
23454 "name" : "create_group",
23455 "parameters" : {
23456 "additionalProperties" : 0,
23457 "properties" : {
23458 "comment" : {
23459 "optional" : 1,
23460 "type" : "string"
23461 },
23462 "groupid" : {
23463 "format" : "pve-groupid",
23464 "type" : "string"
23465 }
23466 }
23467 },
23468 "permissions" : {
23469 "check" : [
23470 "perm",
23471 "/access/groups",
23472 [
23473 "Group.Allocate"
23474 ]
23475 ]
23476 },
23477 "protected" : 1,
23478 "returns" : {
23479 "type" : "null"
23480 }
7aacca6f 23481 }
44660702 23482 },
7aacca6f 23483 "leaf" : 0,
44660702
DM
23484 "path" : "/access/groups",
23485 "text" : "groups"
7aacca6f
DM
23486 },
23487 {
23488 "children" : [
23489 {
7aacca6f 23490 "info" : {
7aacca6f 23491 "DELETE" : {
7aacca6f 23492 "description" : "Delete role.",
44660702 23493 "method" : "DELETE",
7aacca6f 23494 "name" : "delete_role",
56122987
DM
23495 "parameters" : {
23496 "additionalProperties" : 0,
23497 "properties" : {
7aacca6f
DM
23498 "roleid" : {
23499 "format" : "pve-roleid",
23500 "type" : "string"
56122987
DM
23501 }
23502 }
23503 },
56122987
DM
23504 "permissions" : {
23505 "check" : [
23506 "perm",
7aacca6f 23507 "/access",
56122987 23508 [
7aacca6f
DM
23509 "Sys.Modify"
23510 ]
56122987 23511 ]
44660702
DM
23512 },
23513 "protected" : 1,
23514 "returns" : {
23515 "type" : "null"
56122987
DM
23516 }
23517 },
44660702
DM
23518 "GET" : {
23519 "description" : "Get role configuration.",
23520 "method" : "GET",
23521 "name" : "read_role",
23522 "parameters" : {
23523 "additionalProperties" : 0,
23524 "properties" : {
23525 "roleid" : {
23526 "format" : "pve-roleid",
23527 "type" : "string"
23528 }
23529 }
23530 },
7aacca6f 23531 "permissions" : {
44660702 23532 "user" : "all"
56122987 23533 },
44660702
DM
23534 "returns" : {}
23535 },
23536 "PUT" : {
23537 "description" : "Create new role.",
23538 "method" : "PUT",
23539 "name" : "update_role",
56122987
DM
23540 "parameters" : {
23541 "additionalProperties" : 0,
23542 "properties" : {
7aacca6f 23543 "append" : {
44660702 23544 "optional" : 1,
7aacca6f 23545 "requires" : "privs",
44660702 23546 "type" : "boolean"
7aacca6f
DM
23547 },
23548 "privs" : {
23549 "format" : "pve-priv-list",
56122987 23550 "type" : "string"
44660702
DM
23551 },
23552 "roleid" : {
23553 "format" : "pve-roleid",
23554 "type" : "string"
56122987
DM
23555 }
23556 }
23557 },
44660702
DM
23558 "permissions" : {
23559 "check" : [
23560 "perm",
23561 "/access",
23562 [
23563 "Sys.Modify"
23564 ]
23565 ]
23566 },
56122987 23567 "protected" : 1,
7aacca6f
DM
23568 "returns" : {
23569 "type" : "null"
56122987
DM
23570 }
23571 }
23572 },
44660702 23573 "leaf" : 1,
7aacca6f 23574 "path" : "/access/roles/{roleid}",
44660702 23575 "text" : "{roleid}"
56122987
DM
23576 }
23577 ],
56122987 23578 "info" : {
7aacca6f
DM
23579 "GET" : {
23580 "description" : "Role index.",
44660702 23581 "method" : "GET",
7aacca6f 23582 "name" : "index",
56122987 23583 "parameters" : {
56122987
DM
23584 "additionalProperties" : 0
23585 },
7aacca6f
DM
23586 "permissions" : {
23587 "user" : "all"
23588 },
56122987 23589 "returns" : {
7aacca6f 23590 "items" : {
7aacca6f
DM
23591 "properties" : {
23592 "roleid" : {
23593 "type" : "string"
23594 }
44660702
DM
23595 },
23596 "type" : "object"
23597 },
23598 "links" : [
23599 {
23600 "href" : "{roleid}",
23601 "rel" : "child"
7aacca6f 23602 }
44660702
DM
23603 ],
23604 "type" : "array"
23605 }
7aacca6f
DM
23606 },
23607 "POST" : {
23608 "description" : "Create new role.",
44660702
DM
23609 "method" : "POST",
23610 "name" : "create_role",
7aacca6f
DM
23611 "parameters" : {
23612 "additionalProperties" : 0,
23613 "properties" : {
7aacca6f
DM
23614 "privs" : {
23615 "format" : "pve-priv-list",
23616 "optional" : 1,
23617 "type" : "string"
44660702
DM
23618 },
23619 "roleid" : {
23620 "format" : "pve-roleid",
23621 "type" : "string"
7aacca6f
DM
23622 }
23623 }
23624 },
44660702
DM
23625 "permissions" : {
23626 "check" : [
23627 "perm",
23628 "/access",
23629 [
23630 "Sys.Modify"
23631 ]
23632 ]
23633 },
23634 "protected" : 1,
7aacca6f
DM
23635 "returns" : {
23636 "type" : "null"
23637 }
23638 }
23639 },
44660702 23640 "leaf" : 0,
7aacca6f 23641 "path" : "/access/roles",
44660702 23642 "text" : "roles"
7aacca6f
DM
23643 },
23644 {
23645 "info" : {
56122987 23646 "GET" : {
44660702
DM
23647 "description" : "Get Access Control List (ACLs).",
23648 "method" : "GET",
23649 "name" : "read_acl",
7aacca6f
DM
23650 "parameters" : {
23651 "additionalProperties" : 0
23652 },
44660702
DM
23653 "permissions" : {
23654 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
23655 "user" : "all"
23656 },
56122987 23657 "returns" : {
56122987 23658 "items" : {
44660702 23659 "additionalProperties" : 0,
56122987 23660 "properties" : {
7aacca6f
DM
23661 "path" : {
23662 "type" : "string"
23663 },
44660702
DM
23664 "propagate" : {
23665 "type" : "boolean"
23666 },
23667 "roleid" : {
23668 "type" : "string"
23669 },
7aacca6f
DM
23670 "type" : {
23671 "enum" : [
23672 "user",
23673 "group"
23674 ],
23675 "type" : "string"
23676 },
7aacca6f
DM
23677 "ugid" : {
23678 "type" : "string"
56122987 23679 }
7aacca6f 23680 },
44660702 23681 "type" : "object"
7aacca6f
DM
23682 },
23683 "type" : "array"
44660702 23684 }
7aacca6f
DM
23685 },
23686 "PUT" : {
44660702
DM
23687 "description" : "Update Access Control List (add or remove permissions).",
23688 "method" : "PUT",
7aacca6f
DM
23689 "name" : "update_acl",
23690 "parameters" : {
23691 "additionalProperties" : 0,
23692 "properties" : {
23693 "delete" : {
44660702 23694 "description" : "Remove permissions (instead of adding it).",
7aacca6f 23695 "optional" : 1,
44660702 23696 "type" : "boolean"
7aacca6f 23697 },
44660702
DM
23698 "groups" : {
23699 "description" : "List of groups.",
23700 "format" : "pve-groupid-list",
7aacca6f 23701 "optional" : 1,
44660702 23702 "type" : "string"
7aacca6f
DM
23703 },
23704 "path" : {
23705 "description" : "Access control path",
23706 "type" : "string"
23707 },
7aacca6f 23708 "propagate" : {
44660702 23709 "default" : 1,
7aacca6f 23710 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 23711 "optional" : 1,
44660702 23712 "type" : "boolean"
7aacca6f 23713 },
44660702
DM
23714 "roles" : {
23715 "description" : "List of roles.",
23716 "format" : "pve-roleid-list",
23717 "type" : "string"
23718 },
23719 "users" : {
23720 "description" : "List of users.",
23721 "format" : "pve-userid-list",
7aacca6f 23722 "optional" : 1,
44660702 23723 "type" : "string"
56122987
DM
23724 }
23725 }
23726 },
56122987 23727 "permissions" : {
7aacca6f
DM
23728 "check" : [
23729 "perm-modify",
23730 "{path}"
23731 ]
23732 },
7aacca6f
DM
23733 "protected" : 1,
23734 "returns" : {
23735 "type" : "null"
44660702 23736 }
56122987
DM
23737 }
23738 },
7aacca6f 23739 "leaf" : 1,
44660702
DM
23740 "path" : "/access/acl",
23741 "text" : "acl"
7aacca6f
DM
23742 },
23743 {
56122987
DM
23744 "children" : [
23745 {
56122987 23746 "info" : {
44660702
DM
23747 "DELETE" : {
23748 "description" : "Delete an authentication server.",
23749 "method" : "DELETE",
23750 "name" : "delete",
23751 "parameters" : {
23752 "additionalProperties" : 0,
23753 "properties" : {
23754 "realm" : {
23755 "description" : "Authentication domain ID",
23756 "format" : "pve-realm",
23757 "maxLength" : 32,
23758 "type" : "string"
56122987 23759 }
44660702 23760 }
56122987 23761 },
56122987
DM
23762 "permissions" : {
23763 "check" : [
23764 "perm",
7aacca6f 23765 "/access/realm",
56122987 23766 [
7aacca6f 23767 "Realm.Allocate"
56122987
DM
23768 ]
23769 ]
23770 },
7aacca6f 23771 "protected" : 1,
7aacca6f
DM
23772 "returns" : {
23773 "type" : "null"
44660702 23774 }
7aacca6f 23775 },
44660702
DM
23776 "GET" : {
23777 "description" : "Get auth server configuration.",
23778 "method" : "GET",
23779 "name" : "read",
56122987 23780 "parameters" : {
44660702 23781 "additionalProperties" : 0,
56122987 23782 "properties" : {
7aacca6f 23783 "realm" : {
44660702 23784 "description" : "Authentication domain ID",
7aacca6f
DM
23785 "format" : "pve-realm",
23786 "maxLength" : 32,
44660702 23787 "type" : "string"
56122987 23788 }
44660702 23789 }
7aacca6f 23790 },
7aacca6f
DM
23791 "permissions" : {
23792 "check" : [
23793 "perm",
23794 "/access/realm",
23795 [
44660702
DM
23796 "Realm.Allocate",
23797 "Sys.Audit"
23798 ],
23799 "any",
23800 1
7aacca6f 23801 ]
44660702
DM
23802 },
23803 "returns" : {}
7aacca6f 23804 },
44660702
DM
23805 "PUT" : {
23806 "description" : "Update authentication server settings.",
23807 "method" : "PUT",
23808 "name" : "update",
7aacca6f 23809 "parameters" : {
44660702 23810 "additionalProperties" : 0,
7aacca6f 23811 "properties" : {
44660702
DM
23812 "base_dn" : {
23813 "description" : "LDAP base domain name",
23814 "maxLength" : 256,
23815 "optional" : 1,
23816 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
23817 "type" : "string"
23818 },
4bd7df8b
DM
23819 "bind_dn" : {
23820 "description" : "LDAP bind domain name",
23821 "maxLength" : 256,
23822 "optional" : 1,
23823 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
23824 "type" : "string"
23825 },
44660702
DM
23826 "comment" : {
23827 "description" : "Description.",
23828 "maxLength" : 4096,
23829 "optional" : 1,
23830 "type" : "string"
23831 },
23832 "default" : {
23833 "description" : "Use this as default realm",
23834 "optional" : 1,
23835 "type" : "boolean"
23836 },
23837 "delete" : {
23838 "description" : "A list of settings you want to delete.",
23839 "format" : "pve-configid-list",
23840 "maxLength" : 4096,
23841 "optional" : 1,
23842 "type" : "string"
23843 },
23844 "digest" : {
23845 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
23846 "maxLength" : 40,
23847 "optional" : 1,
23848 "type" : "string"
23849 },
23850 "domain" : {
23851 "description" : "AD domain name",
23852 "maxLength" : 256,
23853 "optional" : 1,
23854 "pattern" : "\\S+",
23855 "type" : "string"
23856 },
23857 "port" : {
23858 "description" : "Server port.",
23859 "maximum" : 65535,
23860 "minimum" : 1,
23861 "optional" : 1,
4bd7df8b 23862 "type" : "integer",
2c0dde61 23863 "typetext" : "integer (1 - 65535)"
44660702 23864 },
7aacca6f 23865 "realm" : {
7aacca6f
DM
23866 "description" : "Authentication domain ID",
23867 "format" : "pve-realm",
44660702
DM
23868 "maxLength" : 32,
23869 "type" : "string"
23870 },
23871 "secure" : {
23872 "description" : "Use secure LDAPS protocol.",
23873 "optional" : 1,
23874 "type" : "boolean"
23875 },
23876 "server1" : {
23877 "description" : "Server IP address (or DNS name)",
23878 "format" : "address",
23879 "maxLength" : 256,
23880 "optional" : 1,
23881 "type" : "string"
23882 },
23883 "server2" : {
23884 "description" : "Fallback Server IP address (or DNS name)",
23885 "format" : "address",
23886 "maxLength" : 256,
23887 "optional" : 1,
23888 "type" : "string"
23889 },
23890 "tfa" : {
23891 "description" : "Use Two-factor authentication.",
23892 "format" : "pve-tfa-config",
23893 "maxLength" : 128,
23894 "optional" : 1,
23895 "type" : "string"
23896 },
23897 "user_attr" : {
23898 "description" : "LDAP user attribute name",
23899 "maxLength" : 256,
23900 "optional" : 1,
23901 "pattern" : "\\S{2,}",
23902 "type" : "string"
7aacca6f 23903 }
56122987 23904 },
44660702 23905 "type" : "object"
56122987 23906 },
7aacca6f
DM
23907 "permissions" : {
23908 "check" : [
23909 "perm",
23910 "/access/realm",
23911 [
44660702
DM
23912 "Realm.Allocate"
23913 ]
7aacca6f
DM
23914 ]
23915 },
44660702
DM
23916 "protected" : 1,
23917 "returns" : {
23918 "type" : "null"
23919 }
56122987 23920 }
44660702
DM
23921 },
23922 "leaf" : 1,
23923 "path" : "/access/domains/{realm}",
23924 "text" : "{realm}"
56122987 23925 }
7aacca6f 23926 ],
56122987
DM
23927 "info" : {
23928 "GET" : {
44660702
DM
23929 "description" : "Authentication domain index.",
23930 "method" : "GET",
23931 "name" : "index",
23932 "parameters" : {
23933 "additionalProperties" : 0
23934 },
23935 "permissions" : {
23936 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
23937 "user" : "world"
23938 },
56122987 23939 "returns" : {
56122987
DM
23940 "items" : {
23941 "properties" : {
7aacca6f
DM
23942 "comment" : {
23943 "optional" : 1,
23944 "type" : "string"
23945 },
56122987
DM
23946 "realm" : {
23947 "type" : "string"
23948 },
23949 "tfa" : {
7aacca6f 23950 "description" : "Two-factor authentication provider.",
56122987
DM
23951 "enum" : [
23952 "yubico",
23953 "oath"
23954 ],
44660702
DM
23955 "optional" : 1,
23956 "type" : "string"
56122987
DM
23957 }
23958 },
23959 "type" : "object"
44660702
DM
23960 },
23961 "links" : [
23962 {
23963 "href" : "{realm}",
23964 "rel" : "child"
23965 }
23966 ],
23967 "type" : "array"
23968 }
56122987
DM
23969 },
23970 "POST" : {
7aacca6f 23971 "description" : "Add an authentication server.",
44660702 23972 "method" : "POST",
7aacca6f 23973 "name" : "create",
56122987 23974 "parameters" : {
44660702 23975 "additionalProperties" : 0,
56122987 23976 "properties" : {
44660702
DM
23977 "base_dn" : {
23978 "description" : "LDAP base domain name",
56122987 23979 "maxLength" : 256,
44660702
DM
23980 "optional" : 1,
23981 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 23982 "type" : "string"
56122987 23983 },
4bd7df8b
DM
23984 "bind_dn" : {
23985 "description" : "LDAP bind domain name",
23986 "maxLength" : 256,
23987 "optional" : 1,
23988 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
23989 "type" : "string"
23990 },
44660702
DM
23991 "comment" : {
23992 "description" : "Description.",
23993 "maxLength" : 4096,
56122987 23994 "optional" : 1,
44660702 23995 "type" : "string"
56122987 23996 },
44660702
DM
23997 "default" : {
23998 "description" : "Use this as default realm",
7aacca6f 23999 "optional" : 1,
44660702 24000 "type" : "boolean"
56122987 24001 },
44660702
DM
24002 "domain" : {
24003 "description" : "AD domain name",
24004 "maxLength" : 256,
7aacca6f 24005 "optional" : 1,
44660702
DM
24006 "pattern" : "\\S+",
24007 "type" : "string"
56122987 24008 },
7aacca6f 24009 "port" : {
44660702 24010 "description" : "Server port.",
7aacca6f 24011 "maximum" : 65535,
44660702 24012 "minimum" : 1,
7aacca6f 24013 "optional" : 1,
4bd7df8b 24014 "type" : "integer",
2c0dde61 24015 "typetext" : "integer (1 - 65535)"
56122987 24016 },
44660702
DM
24017 "realm" : {
24018 "description" : "Authentication domain ID",
24019 "format" : "pve-realm",
24020 "maxLength" : 32,
24021 "type" : "string"
24022 },
24023 "secure" : {
24024 "description" : "Use secure LDAPS protocol.",
7aacca6f 24025 "optional" : 1,
44660702 24026 "type" : "boolean"
56122987 24027 },
44660702
DM
24028 "server1" : {
24029 "description" : "Server IP address (or DNS name)",
24030 "format" : "address",
24031 "maxLength" : 256,
24032 "optional" : 1,
24033 "type" : "string"
56122987 24034 },
44660702
DM
24035 "server2" : {
24036 "description" : "Fallback Server IP address (or DNS name)",
24037 "format" : "address",
7aacca6f 24038 "maxLength" : 256,
7aacca6f 24039 "optional" : 1,
44660702 24040 "type" : "string"
7aacca6f 24041 },
44660702
DM
24042 "tfa" : {
24043 "description" : "Use Two-factor authentication.",
24044 "format" : "pve-tfa-config",
24045 "maxLength" : 128,
24046 "optional" : 1,
24047 "type" : "string"
24048 },
24049 "type" : {
24050 "description" : "Realm type.",
24051 "enum" : [
24052 "ad",
24053 "ldap",
24054 "pam",
24055 "pve"
24056 ],
24057 "type" : "string"
24058 },
24059 "user_attr" : {
24060 "description" : "LDAP user attribute name",
7aacca6f 24061 "maxLength" : 256,
7aacca6f 24062 "optional" : 1,
44660702
DM
24063 "pattern" : "\\S{2,}",
24064 "type" : "string"
7aacca6f
DM
24065 }
24066 },
7aacca6f 24067 "type" : "object"
56122987 24068 },
7aacca6f
DM
24069 "permissions" : {
24070 "check" : [
24071 "perm",
24072 "/access/realm",
24073 [
24074 "Realm.Allocate"
24075 ]
24076 ]
44660702
DM
24077 },
24078 "protected" : 1,
24079 "returns" : {
24080 "type" : "null"
7aacca6f 24081 }
56122987 24082 }
7aacca6f 24083 },
44660702 24084 "leaf" : 0,
56122987 24085 "path" : "/access/domains",
44660702 24086 "text" : "domains"
56122987
DM
24087 },
24088 {
56122987 24089 "info" : {
44660702
DM
24090 "GET" : {
24091 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
24092 "method" : "GET",
24093 "name" : "get_ticket",
24094 "parameters" : {
24095 "additionalProperties" : 0
24096 },
24097 "permissions" : {
24098 "user" : "world"
24099 },
24100 "returns" : {
24101 "type" : "null"
24102 }
24103 },
56122987 24104 "POST" : {
44660702 24105 "description" : "Create or verify authentication ticket.",
56122987 24106 "method" : "POST",
44660702
DM
24107 "name" : "create_ticket",
24108 "parameters" : {
24109 "additionalProperties" : 0,
56122987 24110 "properties" : {
44660702
DM
24111 "otp" : {
24112 "description" : "One-time password for Two-factor authentication.",
7aacca6f
DM
24113 "optional" : 1,
24114 "type" : "string"
56122987 24115 },
7aacca6f
DM
24116 "password" : {
24117 "description" : "The secret password. This can also be a valid ticket.",
24118 "type" : "string"
24119 },
44660702
DM
24120 "path" : {
24121 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 24122 "maxLength" : 64,
56122987 24123 "optional" : 1,
56122987 24124 "requires" : "privs",
44660702
DM
24125 "type" : "string"
24126 },
24127 "privs" : {
7aacca6f 24128 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
24129 "format" : "pve-priv-list",
24130 "maxLength" : 64,
56122987 24131 "optional" : 1,
44660702
DM
24132 "requires" : "path",
24133 "type" : "string"
56122987
DM
24134 },
24135 "realm" : {
56122987 24136 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 24137 "format" : "pve-realm",
7aacca6f 24138 "maxLength" : 32,
44660702
DM
24139 "optional" : 1,
24140 "type" : "string"
56122987
DM
24141 },
24142 "username" : {
24143 "description" : "User name",
44660702
DM
24144 "maxLength" : 64,
24145 "type" : "string"
56122987 24146 }
44660702 24147 }
7aacca6f 24148 },
56122987 24149 "permissions" : {
44660702 24150 "description" : "You need to pass valid credientials.",
56122987
DM
24151 "user" : "world"
24152 },
44660702 24153 "protected" : 1,
7aacca6f 24154 "returns" : {
56122987 24155 "properties" : {
44660702
DM
24156 "CSRFPreventionToken" : {
24157 "optional" : 1,
24158 "type" : "string"
56122987 24159 },
44660702
DM
24160 "ticket" : {
24161 "optional" : 1,
24162 "type" : "string"
24163 },
24164 "username" : {
56122987
DM
24165 "type" : "string"
24166 }
24167 },
44660702 24168 "type" : "object"
7aacca6f 24169 }
7aacca6f
DM
24170 }
24171 },
44660702
DM
24172 "leaf" : 1,
24173 "path" : "/access/ticket",
24174 "text" : "ticket"
7aacca6f 24175 },
56122987 24176 {
56122987 24177 "info" : {
7aacca6f 24178 "PUT" : {
44660702 24179 "description" : "Change user password.",
7aacca6f 24180 "method" : "PUT",
44660702 24181 "name" : "change_passsword",
56122987
DM
24182 "parameters" : {
24183 "additionalProperties" : 0,
24184 "properties" : {
44660702
DM
24185 "password" : {
24186 "description" : "The new password.",
24187 "maxLength" : 64,
24188 "minLength" : 5,
24189 "type" : "string"
7aacca6f 24190 },
44660702
DM
24191 "userid" : {
24192 "description" : "User ID",
24193 "format" : "pve-userid",
24194 "maxLength" : 64,
7aacca6f 24195 "type" : "string"
56122987 24196 }
7aacca6f 24197 }
56122987
DM
24198 },
24199 "permissions" : {
24200 "check" : [
44660702 24201 "or",
56122987 24202 [
44660702
DM
24203 "userid-param",
24204 "self"
24205 ],
24206 [
24207 "and",
24208 [
24209 "userid-param",
24210 "Realm.AllocateUser"
24211 ],
24212 [
24213 "userid-group",
24214 [
24215 "User.Modify"
24216 ]
24217 ]
56122987 24218 ]
7aacca6f 24219 ],
44660702 24220 "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 24221 },
44660702 24222 "protected" : 1,
7aacca6f
DM
24223 "returns" : {
24224 "type" : "null"
44660702
DM
24225 }
24226 }
24227 },
24228 "leaf" : 1,
24229 "path" : "/access/password",
24230 "text" : "password"
24231 }
24232 ],
24233 "info" : {
24234 "GET" : {
24235 "description" : "Directory index.",
24236 "method" : "GET",
24237 "name" : "index",
24238 "parameters" : {
24239 "additionalProperties" : 0
24240 },
24241 "permissions" : {
24242 "user" : "all"
24243 },
24244 "returns" : {
24245 "items" : {
24246 "properties" : {
24247 "subdir" : {
24248 "type" : "string"
24249 }
7aacca6f 24250 },
44660702
DM
24251 "type" : "object"
24252 },
24253 "links" : [
24254 {
24255 "href" : "{subdir}",
24256 "rel" : "child"
24257 }
24258 ],
24259 "type" : "array"
24260 }
24261 }
24262 },
24263 "leaf" : 0,
24264 "path" : "/access",
24265 "text" : "access"
24266 },
24267 {
24268 "children" : [
24269 {
24270 "info" : {
24271 "DELETE" : {
7aacca6f 24272 "description" : "Delete pool.",
44660702
DM
24273 "method" : "DELETE",
24274 "name" : "delete_pool",
7aacca6f
DM
24275 "parameters" : {
24276 "additionalProperties" : 0,
24277 "properties" : {
24278 "poolid" : {
24279 "format" : "pve-poolid",
24280 "type" : "string"
24281 }
24282 }
24283 },
56122987
DM
24284 "permissions" : {
24285 "check" : [
24286 "perm",
24287 "/pool/{poolid}",
24288 [
24289 "Pool.Allocate"
24290 ]
44660702
DM
24291 ],
24292 "description" : "You can only delete empty pools (no members)."
24293 },
24294 "protected" : 1,
24295 "returns" : {
24296 "type" : "null"
7aacca6f
DM
24297 }
24298 },
24299 "GET" : {
24300 "description" : "Get pool configuration.",
44660702 24301 "method" : "GET",
7aacca6f 24302 "name" : "read_pool",
56122987 24303 "parameters" : {
44660702 24304 "additionalProperties" : 0,
56122987
DM
24305 "properties" : {
24306 "poolid" : {
44660702
DM
24307 "format" : "pve-poolid",
24308 "type" : "string"
56122987 24309 }
44660702 24310 }
56122987 24311 },
56122987 24312 "permissions" : {
56122987
DM
24313 "check" : [
24314 "perm",
24315 "/pool/{poolid}",
24316 [
24317 "Pool.Allocate"
24318 ]
24319 ]
24320 },
7aacca6f 24321 "returns" : {
44660702 24322 "additionalProperties" : 0,
56122987 24323 "properties" : {
44660702
DM
24324 "comment" : {
24325 "optional" : 1,
24326 "type" : "string"
24327 },
7aacca6f 24328 "members" : {
7aacca6f
DM
24329 "items" : {
24330 "additionalProperties" : 1,
7aacca6f 24331 "properties" : {
7aacca6f
DM
24332 "id" : {
24333 "type" : "string"
24334 },
24335 "node" : {
24336 "type" : "string"
24337 },
44660702
DM
24338 "storage" : {
24339 "optional" : 1,
24340 "type" : "string"
24341 },
7aacca6f 24342 "type" : {
7aacca6f
DM
24343 "enum" : [
24344 "qemu",
24345 "lxc",
24346 "openvz",
24347 "storage"
44660702
DM
24348 ],
24349 "type" : "string"
24350 },
24351 "vmid" : {
24352 "optional" : 1,
24353 "type" : "integer"
7aacca6f 24354 }
44660702
DM
24355 },
24356 "type" : "object"
24357 },
24358 "type" : "array"
24359 }
24360 },
24361 "type" : "object"
24362 }
24363 },
24364 "PUT" : {
24365 "description" : "Update pool data.",
24366 "method" : "PUT",
24367 "name" : "update_pool",
24368 "parameters" : {
24369 "additionalProperties" : 0,
24370 "properties" : {
56122987
DM
24371 "comment" : {
24372 "optional" : 1,
24373 "type" : "string"
44660702
DM
24374 },
24375 "delete" : {
24376 "description" : "Remove vms/storage (instead of adding it).",
24377 "optional" : 1,
24378 "type" : "boolean"
24379 },
24380 "poolid" : {
24381 "format" : "pve-poolid",
24382 "type" : "string"
24383 },
24384 "storage" : {
24385 "description" : "List of storage IDs.",
24386 "format" : "pve-storage-id-list",
24387 "optional" : 1,
24388 "type" : "string"
24389 },
24390 "vms" : {
24391 "description" : "List of virtual machines.",
24392 "format" : "pve-vmid-list",
24393 "optional" : 1,
24394 "type" : "string"
56122987 24395 }
44660702
DM
24396 }
24397 },
24398 "permissions" : {
24399 "check" : [
24400 "perm",
24401 "/pool/{poolid}",
24402 [
24403 "Pool.Allocate"
24404 ]
24405 ],
24406 "description" : "You also need the right to modify permissions on any object you add/delete."
24407 },
24408 "protected" : 1,
24409 "returns" : {
24410 "type" : "null"
56122987
DM
24411 }
24412 }
24413 },
44660702
DM
24414 "leaf" : 1,
24415 "path" : "/pools/{poolid}",
7aacca6f 24416 "text" : "{poolid}"
56122987 24417 }
7aacca6f 24418 ],
56122987
DM
24419 "info" : {
24420 "GET" : {
44660702
DM
24421 "description" : "Pool index.",
24422 "method" : "GET",
24423 "name" : "index",
24424 "parameters" : {
24425 "additionalProperties" : 0
24426 },
24427 "permissions" : {
24428 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
24429 "user" : "all"
24430 },
56122987 24431 "returns" : {
44660702
DM
24432 "items" : {
24433 "properties" : {
24434 "poolid" : {
24435 "type" : "string"
24436 }
56122987 24437 },
44660702
DM
24438 "type" : "object"
24439 },
24440 "links" : [
24441 {
24442 "href" : "{poolid}",
24443 "rel" : "child"
24444 }
24445 ],
24446 "type" : "array"
24447 }
24448 },
24449 "POST" : {
24450 "description" : "Create new pool.",
24451 "method" : "POST",
24452 "name" : "create_pool",
24453 "parameters" : {
24454 "additionalProperties" : 0,
24455 "properties" : {
24456 "comment" : {
24457 "optional" : 1,
56122987 24458 "type" : "string"
7aacca6f 24459 },
44660702
DM
24460 "poolid" : {
24461 "format" : "pve-poolid",
7aacca6f 24462 "type" : "string"
56122987
DM
24463 }
24464 }
24465 },
56122987 24466 "permissions" : {
44660702
DM
24467 "check" : [
24468 "perm",
24469 "/pool/{poolid}",
24470 [
24471 "Pool.Allocate"
24472 ]
24473 ]
56122987 24474 },
44660702
DM
24475 "protected" : 1,
24476 "returns" : {
24477 "type" : "null"
24478 }
24479 }
24480 },
24481 "leaf" : 0,
24482 "path" : "/pools",
24483 "text" : "pools"
24484 },
24485 {
24486 "info" : {
24487 "GET" : {
24488 "description" : "API version details. The result also includes the global datacenter confguration.",
24489 "method" : "GET",
24490 "name" : "version",
7aacca6f
DM
24491 "parameters" : {
24492 "additionalProperties" : 0
24493 },
44660702
DM
24494 "permissions" : {
24495 "user" : "all"
24496 },
24497 "returns" : {
24498 "properties" : {
24499 "release" : {
24500 "type" : "string"
24501 },
24502 "repoid" : {
24503 "type" : "string"
24504 },
24505 "version" : {
24506 "type" : "string"
24507 }
24508 },
24509 "type" : "object"
24510 }
56122987
DM
24511 }
24512 },
44660702
DM
24513 "leaf" : 1,
24514 "path" : "/version",
56122987
DM
24515 "text" : "version"
24516 }
24517]
24518;
24519