]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
ha-manager.adoc: cleanup fencing introduction
[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,
013dc89f
DM
23 "type" : "string",
24 "typetext" : "<string>"
44660702
DM
25 },
26 "group" : {
27 "description" : "Security Group name.",
4bd7df8b 28 "maxLength" : 18,
44660702
DM
29 "minLength" : 2,
30 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
31 "type" : "string"
32 },
33 "pos" : {
34 "description" : "Update rule at position <pos>.",
35 "minimum" : 0,
36 "optional" : 1,
4bd7df8b 37 "type" : "integer",
013dc89f 38 "typetext" : "<integer> (0 - N)"
44660702
DM
39 }
40 }
41 },
42 "permissions" : {
43 "check" : [
44 "perm",
45 "/",
46 [
47 "Sys.Modify"
48 ]
49 ]
50 },
51 "protected" : 1,
52 "proxyto" : null,
53 "returns" : {
54 "type" : "null"
7aacca6f
DM
55 }
56 },
44660702
DM
57 "GET" : {
58 "description" : "Get single rule data.",
59 "method" : "GET",
60 "name" : "get_rule",
61 "parameters" : {
62 "additionalProperties" : 0,
63 "properties" : {
64 "group" : {
65 "description" : "Security Group name.",
4bd7df8b 66 "maxLength" : 18,
44660702
DM
67 "minLength" : 2,
68 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
69 "type" : "string"
70 },
71 "pos" : {
72 "description" : "Update rule at position <pos>.",
73 "minimum" : 0,
74 "optional" : 1,
4bd7df8b 75 "type" : "integer",
013dc89f 76 "typetext" : "<integer> (0 - N)"
44660702 77 }
7aacca6f 78 }
56122987 79 },
44660702
DM
80 "permissions" : {
81 "check" : [
82 "perm",
83 "/",
84 [
85 "Sys.Audit"
86 ]
87 ]
88 },
89 "proxyto" : null,
90 "returns" : {
91 "properties" : {
92 "pos" : {
93 "type" : "integer"
94 }
95 },
96 "type" : "object"
56122987 97 }
44660702 98 },
7aacca6f 99 "PUT" : {
44660702
DM
100 "description" : "Modify rule data.",
101 "method" : "PUT",
102 "name" : "update_rule",
7aacca6f
DM
103 "parameters" : {
104 "additionalProperties" : 0,
105 "properties" : {
44660702
DM
106 "action" : {
107 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 108 "maxLength" : 20,
44660702 109 "minLength" : 2,
7aacca6f 110 "optional" : 1,
44660702 111 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
112 "type" : "string"
113 },
44660702 114 "comment" : {
e94f0d56 115 "description" : "Descriptive comment.",
7aacca6f 116 "optional" : 1,
013dc89f
DM
117 "type" : "string",
118 "typetext" : "<string>"
7aacca6f 119 },
44660702
DM
120 "delete" : {
121 "description" : "A list of settings you want to delete.",
122 "format" : "pve-configid-list",
7aacca6f 123 "optional" : 1,
013dc89f
DM
124 "type" : "string",
125 "typetext" : "<string>"
7aacca6f 126 },
44660702
DM
127 "dest" : {
128 "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.",
129 "format" : "pve-fw-addr-spec",
7aacca6f 130 "optional" : 1,
013dc89f
DM
131 "type" : "string",
132 "typetext" : "<string>"
7aacca6f
DM
133 },
134 "digest" : {
135 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 136 "maxLength" : 40,
7aacca6f 137 "optional" : 1,
013dc89f
DM
138 "type" : "string",
139 "typetext" : "<string>"
7aacca6f 140 },
44660702
DM
141 "dport" : {
142 "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.",
143 "format" : "pve-fw-dport-spec",
7aacca6f 144 "optional" : 1,
013dc89f
DM
145 "type" : "string",
146 "typetext" : "<string>"
7aacca6f 147 },
44660702 148 "enable" : {
e94f0d56 149 "description" : "Flag to enable/disable a rule.",
44660702 150 "minimum" : 0,
7aacca6f 151 "optional" : 1,
4bd7df8b 152 "type" : "integer",
013dc89f 153 "typetext" : "<integer> (0 - N)"
7aacca6f 154 },
44660702
DM
155 "group" : {
156 "description" : "Security Group name.",
4bd7df8b 157 "maxLength" : 18,
44660702
DM
158 "minLength" : 2,
159 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
160 "type" : "string"
161 },
162 "iface" : {
163 "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.",
164 "format" : "pve-iface",
165 "maxLength" : 20,
166 "minLength" : 2,
7aacca6f 167 "optional" : 1,
013dc89f
DM
168 "type" : "string",
169 "typetext" : "<string>"
7aacca6f 170 },
44660702 171 "macro" : {
e94f0d56 172 "description" : "Use predefined standard macro.",
44660702
DM
173 "maxLength" : 128,
174 "optional" : 1,
013dc89f
DM
175 "type" : "string",
176 "typetext" : "<string>"
7aacca6f
DM
177 },
178 "moveto" : {
179 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 180 "minimum" : 0,
7aacca6f 181 "optional" : 1,
4bd7df8b 182 "type" : "integer",
013dc89f 183 "typetext" : "<integer> (0 - N)"
7aacca6f 184 },
44660702
DM
185 "pos" : {
186 "description" : "Update rule at position <pos>.",
187 "minimum" : 0,
188 "optional" : 1,
4bd7df8b 189 "type" : "integer",
013dc89f 190 "typetext" : "<integer> (0 - N)"
7aacca6f 191 },
44660702
DM
192 "proto" : {
193 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
194 "format" : "pve-fw-protocol-spec",
7aacca6f 195 "optional" : 1,
013dc89f
DM
196 "type" : "string",
197 "typetext" : "<string>"
44660702
DM
198 },
199 "source" : {
200 "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.",
201 "format" : "pve-fw-addr-spec",
202 "optional" : 1,
013dc89f
DM
203 "type" : "string",
204 "typetext" : "<string>"
44660702
DM
205 },
206 "sport" : {
207 "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.",
208 "format" : "pve-fw-sport-spec",
209 "optional" : 1,
013dc89f
DM
210 "type" : "string",
211 "typetext" : "<string>"
7aacca6f
DM
212 },
213 "type" : {
e94f0d56 214 "description" : "Rule type.",
7aacca6f
DM
215 "enum" : [
216 "in",
217 "out",
218 "group"
219 ],
220 "optional" : 1,
221 "type" : "string"
222 }
223 }
224 },
7aacca6f
DM
225 "permissions" : {
226 "check" : [
227 "perm",
228 "/",
229 [
230 "Sys.Modify"
231 ]
232 ]
233 },
44660702 234 "protected" : 1,
7aacca6f
DM
235 "proxyto" : null,
236 "returns" : {
237 "type" : "null"
238 }
7aacca6f
DM
239 }
240 },
44660702 241 "leaf" : 1,
7aacca6f 242 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 243 "text" : "{pos}"
7aacca6f
DM
244 }
245 ],
44660702
DM
246 "info" : {
247 "DELETE" : {
248 "description" : "Delete security group.",
249 "method" : "DELETE",
250 "name" : "delete_security_group",
251 "parameters" : {
252 "additionalProperties" : 0,
253 "properties" : {
254 "group" : {
255 "description" : "Security Group name.",
4bd7df8b 256 "maxLength" : 18,
44660702
DM
257 "minLength" : 2,
258 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
259 "type" : "string"
260 }
56122987 261 }
7aacca6f 262 },
44660702
DM
263 "permissions" : {
264 "check" : [
265 "perm",
266 "/",
267 [
268 "Sys.Modify"
269 ]
7aacca6f 270 ]
56122987 271 },
44660702
DM
272 "protected" : 1,
273 "returns" : {
274 "type" : "null"
56122987 275 }
7aacca6f 276 },
7aacca6f 277 "GET" : {
44660702 278 "description" : "List rules.",
7aacca6f 279 "method" : "GET",
44660702
DM
280 "name" : "get_rules",
281 "parameters" : {
282 "additionalProperties" : 0,
7aacca6f 283 "properties" : {
44660702
DM
284 "group" : {
285 "description" : "Security Group name.",
4bd7df8b 286 "maxLength" : 18,
44660702
DM
287 "minLength" : 2,
288 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
289 "type" : "string"
7aacca6f 290 }
44660702 291 }
7aacca6f
DM
292 },
293 "permissions" : {
294 "check" : [
295 "perm",
296 "/",
297 [
298 "Sys.Audit"
299 ]
300 ]
301 },
44660702
DM
302 "proxyto" : null,
303 "returns" : {
304 "items" : {
305 "properties" : {
306 "pos" : {
307 "type" : "integer"
308 }
309 },
310 "type" : "object"
311 },
312 "links" : [
313 {
314 "href" : "{pos}",
315 "rel" : "child"
316 }
317 ],
318 "type" : "array"
319 }
320 },
321 "POST" : {
322 "description" : "Create new rule.",
323 "method" : "POST",
324 "name" : "create_rule",
7aacca6f
DM
325 "parameters" : {
326 "additionalProperties" : 0,
327 "properties" : {
44660702
DM
328 "action" : {
329 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
330 "maxLength" : 20,
56122987 331 "minLength" : 2,
44660702
DM
332 "optional" : 0,
333 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 334 "type" : "string"
56122987 335 },
44660702 336 "comment" : {
e94f0d56 337 "description" : "Descriptive comment.",
56122987 338 "optional" : 1,
013dc89f
DM
339 "type" : "string",
340 "typetext" : "<string>"
56122987 341 },
44660702
DM
342 "dest" : {
343 "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
344 "format" : "pve-fw-addr-spec",
345 "optional" : 1,
013dc89f
DM
346 "type" : "string",
347 "typetext" : "<string>"
56122987 348 },
44660702
DM
349 "digest" : {
350 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
351 "maxLength" : 40,
7aacca6f 352 "optional" : 1,
013dc89f
DM
353 "type" : "string",
354 "typetext" : "<string>"
56122987 355 },
44660702
DM
356 "dport" : {
357 "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.",
358 "format" : "pve-fw-dport-spec",
56122987 359 "optional" : 1,
013dc89f
DM
360 "type" : "string",
361 "typetext" : "<string>"
56122987 362 },
7aacca6f 363 "enable" : {
e94f0d56 364 "description" : "Flag to enable/disable a rule.",
44660702 365 "minimum" : 0,
7aacca6f 366 "optional" : 1,
4bd7df8b 367 "type" : "integer",
013dc89f 368 "typetext" : "<integer> (0 - N)"
56122987 369 },
44660702
DM
370 "group" : {
371 "description" : "Security Group name.",
4bd7df8b 372 "maxLength" : 18,
44660702 373 "minLength" : 2,
7aacca6f 374 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
375 "type" : "string"
376 },
377 "iface" : {
378 "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.",
379 "format" : "pve-iface",
380 "maxLength" : 20,
7aacca6f 381 "minLength" : 2,
44660702 382 "optional" : 1,
013dc89f
DM
383 "type" : "string",
384 "typetext" : "<string>"
56122987 385 },
7aacca6f 386 "macro" : {
e94f0d56 387 "description" : "Use predefined standard macro.",
44660702 388 "maxLength" : 128,
7aacca6f 389 "optional" : 1,
013dc89f
DM
390 "type" : "string",
391 "typetext" : "<string>"
7aacca6f
DM
392 },
393 "pos" : {
394 "description" : "Update rule at position <pos>.",
44660702 395 "minimum" : 0,
56122987 396 "optional" : 1,
4bd7df8b 397 "type" : "integer",
013dc89f 398 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
399 },
400 "proto" : {
401 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 402 "format" : "pve-fw-protocol-spec",
7aacca6f 403 "optional" : 1,
013dc89f
DM
404 "type" : "string",
405 "typetext" : "<string>"
44660702
DM
406 },
407 "source" : {
408 "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.",
409 "format" : "pve-fw-addr-spec",
410 "optional" : 1,
013dc89f
DM
411 "type" : "string",
412 "typetext" : "<string>"
44660702
DM
413 },
414 "sport" : {
415 "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.",
416 "format" : "pve-fw-sport-spec",
417 "optional" : 1,
013dc89f
DM
418 "type" : "string",
419 "typetext" : "<string>"
44660702
DM
420 },
421 "type" : {
e94f0d56 422 "description" : "Rule type.",
44660702
DM
423 "enum" : [
424 "in",
425 "out",
426 "group"
427 ],
428 "optional" : 0,
429 "type" : "string"
56122987 430 }
44660702 431 }
56122987 432 },
56122987
DM
433 "permissions" : {
434 "check" : [
435 "perm",
436 "/",
437 [
438 "Sys.Modify"
439 ]
440 ]
441 },
44660702
DM
442 "protected" : 1,
443 "proxyto" : null,
56122987
DM
444 "returns" : {
445 "type" : "null"
7aacca6f 446 }
44660702
DM
447 }
448 },
449 "leaf" : 0,
450 "path" : "/cluster/firewall/groups/{group}",
451 "text" : "{group}"
452 }
453 ],
454 "info" : {
455 "GET" : {
456 "description" : "List security groups.",
457 "method" : "GET",
458 "name" : "list_security_groups",
459 "parameters" : {
460 "additionalProperties" : 0
461 },
462 "permissions" : {
463 "user" : "all"
464 },
465 "returns" : {
466 "items" : {
467 "properties" : {
468 "comment" : {
469 "optional" : 1,
470 "type" : "string"
471 },
472 "digest" : {
473 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
474 "maxLength" : 40,
475 "optional" : 0,
476 "type" : "string"
477 },
478 "group" : {
479 "description" : "Security Group name.",
4bd7df8b 480 "maxLength" : 18,
44660702
DM
481 "minLength" : 2,
482 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
483 "type" : "string"
484 }
485 },
486 "type" : "object"
56122987 487 },
44660702
DM
488 "links" : [
489 {
490 "href" : "{group}",
491 "rel" : "child"
492 }
493 ],
494 "type" : "array"
495 }
496 },
497 "POST" : {
498 "description" : "Create new security group.",
499 "method" : "POST",
500 "name" : "create_security_group",
501 "parameters" : {
502 "additionalProperties" : 0,
503 "properties" : {
504 "comment" : {
505 "optional" : 1,
013dc89f
DM
506 "type" : "string",
507 "typetext" : "<string>"
44660702
DM
508 },
509 "digest" : {
510 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
511 "maxLength" : 40,
512 "optional" : 1,
013dc89f
DM
513 "type" : "string",
514 "typetext" : "<string>"
44660702
DM
515 },
516 "group" : {
517 "description" : "Security Group name.",
4bd7df8b 518 "maxLength" : 18,
44660702
DM
519 "minLength" : 2,
520 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
521 "type" : "string"
522 },
523 "rename" : {
524 "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 525 "maxLength" : 18,
44660702
DM
526 "minLength" : 2,
527 "optional" : 1,
528 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
529 "type" : "string"
530 }
531 }
532 },
533 "permissions" : {
534 "check" : [
535 "perm",
536 "/",
537 [
538 "Sys.Modify"
539 ]
540 ]
541 },
542 "protected" : 1,
543 "returns" : {
544 "type" : "null"
545 }
546 }
547 },
548 "leaf" : 0,
549 "path" : "/cluster/firewall/groups",
550 "text" : "groups"
551 },
552 {
553 "children" : [
554 {
555 "info" : {
7aacca6f 556 "DELETE" : {
44660702
DM
557 "description" : "Delete rule.",
558 "method" : "DELETE",
559 "name" : "delete_rule",
560 "parameters" : {
561 "additionalProperties" : 0,
562 "properties" : {
563 "digest" : {
564 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
565 "maxLength" : 40,
566 "optional" : 1,
013dc89f
DM
567 "type" : "string",
568 "typetext" : "<string>"
44660702
DM
569 },
570 "pos" : {
571 "description" : "Update rule at position <pos>.",
572 "minimum" : 0,
573 "optional" : 1,
4bd7df8b 574 "type" : "integer",
013dc89f 575 "typetext" : "<integer> (0 - N)"
44660702
DM
576 }
577 }
578 },
56122987
DM
579 "permissions" : {
580 "check" : [
581 "perm",
582 "/",
583 [
7aacca6f 584 "Sys.Modify"
56122987
DM
585 ]
586 ]
587 },
44660702 588 "protected" : 1,
56122987
DM
589 "proxyto" : null,
590 "returns" : {
7aacca6f 591 "type" : "null"
44660702
DM
592 }
593 },
594 "GET" : {
595 "description" : "Get single rule data.",
596 "method" : "GET",
597 "name" : "get_rule",
56122987
DM
598 "parameters" : {
599 "additionalProperties" : 0,
600 "properties" : {
601 "pos" : {
7aacca6f 602 "description" : "Update rule at position <pos>.",
44660702 603 "minimum" : 0,
56122987 604 "optional" : 1,
4bd7df8b 605 "type" : "integer",
013dc89f 606 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
607 }
608 }
609 },
7aacca6f
DM
610 "permissions" : {
611 "check" : [
612 "perm",
613 "/",
614 [
615 "Sys.Audit"
616 ]
617 ]
56122987 618 },
44660702
DM
619 "proxyto" : null,
620 "returns" : {
7aacca6f 621 "properties" : {
44660702
DM
622 "pos" : {
623 "type" : "integer"
7aacca6f 624 }
44660702
DM
625 },
626 "type" : "object"
627 }
56122987 628 },
44660702
DM
629 "PUT" : {
630 "description" : "Modify rule data.",
631 "method" : "PUT",
632 "name" : "update_rule",
7aacca6f
DM
633 "parameters" : {
634 "additionalProperties" : 0,
635 "properties" : {
44660702
DM
636 "action" : {
637 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
638 "maxLength" : 20,
639 "minLength" : 2,
640 "optional" : 1,
641 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
642 "type" : "string"
7aacca6f 643 },
44660702 644 "comment" : {
e94f0d56 645 "description" : "Descriptive comment.",
44660702 646 "optional" : 1,
013dc89f
DM
647 "type" : "string",
648 "typetext" : "<string>"
7aacca6f 649 },
44660702
DM
650 "delete" : {
651 "description" : "A list of settings you want to delete.",
652 "format" : "pve-configid-list",
653 "optional" : 1,
013dc89f
DM
654 "type" : "string",
655 "typetext" : "<string>"
44660702
DM
656 },
657 "dest" : {
658 "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.",
659 "format" : "pve-fw-addr-spec",
660 "optional" : 1,
013dc89f
DM
661 "type" : "string",
662 "typetext" : "<string>"
44660702
DM
663 },
664 "digest" : {
665 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
666 "maxLength" : 40,
667 "optional" : 1,
013dc89f
DM
668 "type" : "string",
669 "typetext" : "<string>"
44660702
DM
670 },
671 "dport" : {
672 "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.",
673 "format" : "pve-fw-dport-spec",
674 "optional" : 1,
013dc89f
DM
675 "type" : "string",
676 "typetext" : "<string>"
44660702
DM
677 },
678 "enable" : {
e94f0d56 679 "description" : "Flag to enable/disable a rule.",
44660702
DM
680 "minimum" : 0,
681 "optional" : 1,
4bd7df8b 682 "type" : "integer",
013dc89f 683 "typetext" : "<integer> (0 - N)"
44660702
DM
684 },
685 "iface" : {
686 "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.",
687 "format" : "pve-iface",
688 "maxLength" : 20,
7aacca6f 689 "minLength" : 2,
44660702 690 "optional" : 1,
013dc89f
DM
691 "type" : "string",
692 "typetext" : "<string>"
7aacca6f 693 },
44660702 694 "macro" : {
e94f0d56 695 "description" : "Use predefined standard macro.",
44660702
DM
696 "maxLength" : 128,
697 "optional" : 1,
013dc89f
DM
698 "type" : "string",
699 "typetext" : "<string>"
44660702
DM
700 },
701 "moveto" : {
702 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
703 "minimum" : 0,
704 "optional" : 1,
4bd7df8b 705 "type" : "integer",
013dc89f 706 "typetext" : "<integer> (0 - N)"
44660702
DM
707 },
708 "pos" : {
709 "description" : "Update rule at position <pos>.",
710 "minimum" : 0,
711 "optional" : 1,
4bd7df8b 712 "type" : "integer",
013dc89f 713 "typetext" : "<integer> (0 - N)"
44660702
DM
714 },
715 "proto" : {
716 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
717 "format" : "pve-fw-protocol-spec",
718 "optional" : 1,
013dc89f
DM
719 "type" : "string",
720 "typetext" : "<string>"
44660702
DM
721 },
722 "source" : {
723 "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.",
724 "format" : "pve-fw-addr-spec",
725 "optional" : 1,
013dc89f
DM
726 "type" : "string",
727 "typetext" : "<string>"
44660702
DM
728 },
729 "sport" : {
730 "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.",
731 "format" : "pve-fw-sport-spec",
732 "optional" : 1,
013dc89f
DM
733 "type" : "string",
734 "typetext" : "<string>"
44660702
DM
735 },
736 "type" : {
e94f0d56 737 "description" : "Rule type.",
44660702
DM
738 "enum" : [
739 "in",
740 "out",
741 "group"
742 ],
743 "optional" : 1,
744 "type" : "string"
7aacca6f 745 }
56122987
DM
746 }
747 },
7aacca6f
DM
748 "permissions" : {
749 "check" : [
750 "perm",
751 "/",
752 [
753 "Sys.Modify"
754 ]
755 ]
756 },
44660702
DM
757 "protected" : 1,
758 "proxyto" : null,
759 "returns" : {
760 "type" : "null"
761 }
7aacca6f 762 }
56122987 763 },
44660702
DM
764 "leaf" : 1,
765 "path" : "/cluster/firewall/rules/{pos}",
766 "text" : "{pos}"
7aacca6f
DM
767 }
768 ],
7aacca6f 769 "info" : {
44660702
DM
770 "GET" : {
771 "description" : "List rules.",
772 "method" : "GET",
773 "name" : "get_rules",
7aacca6f 774 "parameters" : {
44660702 775 "additionalProperties" : 0
7aacca6f
DM
776 },
777 "permissions" : {
778 "check" : [
779 "perm",
780 "/",
781 [
44660702 782 "Sys.Audit"
7aacca6f
DM
783 ]
784 ]
785 },
44660702 786 "proxyto" : null,
7aacca6f 787 "returns" : {
7aacca6f
DM
788 "items" : {
789 "properties" : {
44660702
DM
790 "pos" : {
791 "type" : "integer"
7aacca6f
DM
792 }
793 },
794 "type" : "object"
56122987 795 },
7aacca6f
DM
796 "links" : [
797 {
44660702 798 "href" : "{pos}",
7aacca6f
DM
799 "rel" : "child"
800 }
44660702
DM
801 ],
802 "type" : "array"
7aacca6f 803 }
44660702 804 },
7aacca6f 805 "POST" : {
44660702 806 "description" : "Create new rule.",
7aacca6f 807 "method" : "POST",
44660702 808 "name" : "create_rule",
7aacca6f
DM
809 "parameters" : {
810 "additionalProperties" : 0,
811 "properties" : {
44660702
DM
812 "action" : {
813 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
814 "maxLength" : 20,
7aacca6f 815 "minLength" : 2,
44660702
DM
816 "optional" : 0,
817 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
818 "type" : "string"
7aacca6f
DM
819 },
820 "comment" : {
e94f0d56 821 "description" : "Descriptive comment.",
7aacca6f 822 "optional" : 1,
013dc89f
DM
823 "type" : "string",
824 "typetext" : "<string>"
44660702
DM
825 },
826 "dest" : {
827 "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.",
828 "format" : "pve-fw-addr-spec",
829 "optional" : 1,
013dc89f
DM
830 "type" : "string",
831 "typetext" : "<string>"
44660702
DM
832 },
833 "digest" : {
834 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
835 "maxLength" : 40,
836 "optional" : 1,
013dc89f
DM
837 "type" : "string",
838 "typetext" : "<string>"
44660702
DM
839 },
840 "dport" : {
841 "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.",
842 "format" : "pve-fw-dport-spec",
843 "optional" : 1,
013dc89f
DM
844 "type" : "string",
845 "typetext" : "<string>"
44660702
DM
846 },
847 "enable" : {
e94f0d56 848 "description" : "Flag to enable/disable a rule.",
44660702
DM
849 "minimum" : 0,
850 "optional" : 1,
4bd7df8b 851 "type" : "integer",
013dc89f 852 "typetext" : "<integer> (0 - N)"
44660702
DM
853 },
854 "iface" : {
855 "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.",
856 "format" : "pve-iface",
857 "maxLength" : 20,
858 "minLength" : 2,
859 "optional" : 1,
013dc89f
DM
860 "type" : "string",
861 "typetext" : "<string>"
44660702
DM
862 },
863 "macro" : {
e94f0d56 864 "description" : "Use predefined standard macro.",
44660702
DM
865 "maxLength" : 128,
866 "optional" : 1,
013dc89f
DM
867 "type" : "string",
868 "typetext" : "<string>"
44660702
DM
869 },
870 "pos" : {
871 "description" : "Update rule at position <pos>.",
872 "minimum" : 0,
873 "optional" : 1,
4bd7df8b 874 "type" : "integer",
013dc89f 875 "typetext" : "<integer> (0 - N)"
44660702
DM
876 },
877 "proto" : {
878 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
879 "format" : "pve-fw-protocol-spec",
880 "optional" : 1,
013dc89f
DM
881 "type" : "string",
882 "typetext" : "<string>"
44660702
DM
883 },
884 "source" : {
885 "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.",
886 "format" : "pve-fw-addr-spec",
887 "optional" : 1,
013dc89f
DM
888 "type" : "string",
889 "typetext" : "<string>"
44660702
DM
890 },
891 "sport" : {
892 "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.",
893 "format" : "pve-fw-sport-spec",
894 "optional" : 1,
013dc89f
DM
895 "type" : "string",
896 "typetext" : "<string>"
44660702
DM
897 },
898 "type" : {
e94f0d56 899 "description" : "Rule type.",
44660702
DM
900 "enum" : [
901 "in",
902 "out",
903 "group"
904 ],
905 "optional" : 0,
906 "type" : "string"
7aacca6f
DM
907 }
908 }
909 },
910 "permissions" : {
911 "check" : [
912 "perm",
913 "/",
914 [
915 "Sys.Modify"
916 ]
917 ]
918 },
44660702
DM
919 "protected" : 1,
920 "proxyto" : null,
7aacca6f 921 "returns" : {
44660702
DM
922 "type" : "null"
923 }
924 }
925 },
926 "leaf" : 0,
927 "path" : "/cluster/firewall/rules",
928 "text" : "rules"
929 },
930 {
931 "children" : [
932 {
933 "children" : [
934 {
935 "info" : {
936 "DELETE" : {
937 "description" : "Remove IP or Network from IPSet.",
938 "method" : "DELETE",
939 "name" : "remove_ip",
940 "parameters" : {
941 "additionalProperties" : 0,
942 "properties" : {
943 "cidr" : {
944 "description" : "Network/IP specification in CIDR format.",
945 "format" : "IPorCIDRorAlias",
013dc89f
DM
946 "type" : "string",
947 "typetext" : "<string>"
44660702
DM
948 },
949 "digest" : {
950 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
951 "maxLength" : 40,
952 "optional" : 1,
013dc89f
DM
953 "type" : "string",
954 "typetext" : "<string>"
44660702
DM
955 },
956 "name" : {
957 "description" : "IP set name.",
958 "maxLength" : 64,
959 "minLength" : 2,
960 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
961 "type" : "string"
962 }
963 }
964 },
965 "permissions" : {
966 "check" : [
967 "perm",
968 "/",
969 [
970 "Sys.Modify"
971 ]
972 ]
973 },
974 "protected" : 1,
975 "returns" : {
976 "type" : "null"
977 }
7aacca6f 978 },
44660702
DM
979 "GET" : {
980 "description" : "Read IP or Network settings from IPSet.",
981 "method" : "GET",
982 "name" : "read_ip",
983 "parameters" : {
984 "additionalProperties" : 0,
985 "properties" : {
986 "cidr" : {
987 "description" : "Network/IP specification in CIDR format.",
988 "format" : "IPorCIDRorAlias",
013dc89f
DM
989 "type" : "string",
990 "typetext" : "<string>"
44660702
DM
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 }
1000 },
1001 "permissions" : {
1002 "check" : [
1003 "perm",
1004 "/",
1005 [
1006 "Sys.Audit"
1007 ]
1008 ]
1009 },
1010 "protected" : 1,
1011 "returns" : {
1012 "type" : "object"
1013 }
7aacca6f 1014 },
44660702
DM
1015 "PUT" : {
1016 "description" : "Update IP or Network settings",
1017 "method" : "PUT",
1018 "name" : "update_ip",
1019 "parameters" : {
1020 "additionalProperties" : 0,
1021 "properties" : {
1022 "cidr" : {
1023 "description" : "Network/IP specification in CIDR format.",
1024 "format" : "IPorCIDRorAlias",
013dc89f
DM
1025 "type" : "string",
1026 "typetext" : "<string>"
44660702
DM
1027 },
1028 "comment" : {
1029 "optional" : 1,
013dc89f
DM
1030 "type" : "string",
1031 "typetext" : "<string>"
44660702
DM
1032 },
1033 "digest" : {
1034 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1035 "maxLength" : 40,
1036 "optional" : 1,
013dc89f
DM
1037 "type" : "string",
1038 "typetext" : "<string>"
44660702
DM
1039 },
1040 "name" : {
1041 "description" : "IP set name.",
1042 "maxLength" : 64,
1043 "minLength" : 2,
1044 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1045 "type" : "string"
1046 },
1047 "nomatch" : {
1048 "optional" : 1,
013dc89f
DM
1049 "type" : "boolean",
1050 "typetext" : "<boolean>"
44660702
DM
1051 }
1052 }
1053 },
1054 "permissions" : {
1055 "check" : [
1056 "perm",
1057 "/",
1058 [
1059 "Sys.Modify"
1060 ]
1061 ]
1062 },
1063 "protected" : 1,
1064 "returns" : {
1065 "type" : "null"
1066 }
7aacca6f
DM
1067 }
1068 },
44660702
DM
1069 "leaf" : 1,
1070 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1071 "text" : "{cidr}"
7aacca6f 1072 }
44660702 1073 ],
7aacca6f
DM
1074 "info" : {
1075 "DELETE" : {
44660702
DM
1076 "description" : "Delete IPSet",
1077 "method" : "DELETE",
1078 "name" : "delete_ipset",
56122987 1079 "parameters" : {
44660702 1080 "additionalProperties" : 0,
56122987
DM
1081 "properties" : {
1082 "name" : {
44660702 1083 "description" : "IP set name.",
56122987 1084 "maxLength" : 64,
44660702 1085 "minLength" : 2,
56122987 1086 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1087 "type" : "string"
56122987 1088 }
44660702 1089 }
7aacca6f 1090 },
56122987
DM
1091 "permissions" : {
1092 "check" : [
1093 "perm",
1094 "/",
1095 [
1096 "Sys.Modify"
1097 ]
1098 ]
1099 },
7aacca6f
DM
1100 "protected" : 1,
1101 "returns" : {
1102 "type" : "null"
44660702 1103 }
7aacca6f 1104 },
44660702
DM
1105 "GET" : {
1106 "description" : "List IPSet content",
1107 "method" : "GET",
1108 "name" : "get_ipset",
56122987
DM
1109 "parameters" : {
1110 "additionalProperties" : 0,
1111 "properties" : {
7aacca6f 1112 "name" : {
44660702 1113 "description" : "IP set name.",
7aacca6f 1114 "maxLength" : 64,
7aacca6f 1115 "minLength" : 2,
44660702 1116 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1117 "type" : "string"
56122987 1118 }
7aacca6f 1119 }
56122987 1120 },
56122987
DM
1121 "permissions" : {
1122 "check" : [
1123 "perm",
1124 "/",
1125 [
44660702 1126 "Sys.Audit"
56122987
DM
1127 ]
1128 ]
44660702
DM
1129 },
1130 "returns" : {
1131 "items" : {
1132 "properties" : {
1133 "cidr" : {
1134 "type" : "string"
1135 },
1136 "comment" : {
1137 "optional" : 1,
1138 "type" : "string"
1139 },
1140 "digest" : {
1141 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1142 "maxLength" : 40,
1143 "optional" : 0,
1144 "type" : "string"
1145 },
1146 "nomatch" : {
1147 "optional" : 1,
1148 "type" : "boolean"
1149 }
1150 },
1151 "type" : "object"
1152 },
1153 "links" : [
1154 {
1155 "href" : "{cidr}",
1156 "rel" : "child"
1157 }
1158 ],
1159 "type" : "array"
7aacca6f
DM
1160 }
1161 },
44660702
DM
1162 "POST" : {
1163 "description" : "Add IP or Network to IPSet.",
1164 "method" : "POST",
1165 "name" : "create_ip",
56122987
DM
1166 "parameters" : {
1167 "additionalProperties" : 0,
1168 "properties" : {
44660702
DM
1169 "cidr" : {
1170 "description" : "Network/IP specification in CIDR format.",
1171 "format" : "IPorCIDRorAlias",
013dc89f
DM
1172 "type" : "string",
1173 "typetext" : "<string>"
44660702
DM
1174 },
1175 "comment" : {
1176 "optional" : 1,
013dc89f
DM
1177 "type" : "string",
1178 "typetext" : "<string>"
44660702
DM
1179 },
1180 "name" : {
1181 "description" : "IP set name.",
1182 "maxLength" : 64,
1183 "minLength" : 2,
1184 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1185 "type" : "string"
1186 },
1187 "nomatch" : {
1188 "optional" : 1,
013dc89f
DM
1189 "type" : "boolean",
1190 "typetext" : "<boolean>"
56122987
DM
1191 }
1192 }
1193 },
56122987
DM
1194 "permissions" : {
1195 "check" : [
1196 "perm",
1197 "/",
1198 [
44660702 1199 "Sys.Modify"
56122987
DM
1200 ]
1201 ]
1202 },
44660702 1203 "protected" : 1,
56122987 1204 "returns" : {
44660702
DM
1205 "type" : "null"
1206 }
56122987
DM
1207 }
1208 },
44660702
DM
1209 "leaf" : 0,
1210 "path" : "/cluster/firewall/ipset/{name}",
1211 "text" : "{name}"
56122987
DM
1212 }
1213 ],
56122987 1214 "info" : {
44660702
DM
1215 "GET" : {
1216 "description" : "List IPSets",
1217 "method" : "GET",
1218 "name" : "ipset_index",
56122987 1219 "parameters" : {
7aacca6f 1220 "additionalProperties" : 0
56122987 1221 },
56122987
DM
1222 "permissions" : {
1223 "check" : [
1224 "perm",
1225 "/",
1226 [
7aacca6f 1227 "Sys.Audit"
56122987
DM
1228 ]
1229 ]
1230 },
56122987
DM
1231 "returns" : {
1232 "items" : {
1233 "properties" : {
44660702
DM
1234 "comment" : {
1235 "optional" : 1,
1236 "type" : "string"
56122987 1237 },
44660702
DM
1238 "digest" : {
1239 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1240 "maxLength" : 40,
1241 "optional" : 0,
1242 "type" : "string"
1243 },
1244 "name" : {
1245 "description" : "IP set name.",
1246 "maxLength" : 64,
1247 "minLength" : 2,
1248 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1249 "type" : "string"
56122987
DM
1250 }
1251 },
1252 "type" : "object"
44660702
DM
1253 },
1254 "links" : [
1255 {
1256 "href" : "{name}",
1257 "rel" : "child"
1258 }
1259 ],
1260 "type" : "array"
56122987 1261 }
44660702
DM
1262 },
1263 "POST" : {
1264 "description" : "Create new IPSet",
1265 "method" : "POST",
1266 "name" : "create_ipset",
7aacca6f
DM
1267 "parameters" : {
1268 "additionalProperties" : 0,
1269 "properties" : {
44660702
DM
1270 "comment" : {
1271 "optional" : 1,
013dc89f
DM
1272 "type" : "string",
1273 "typetext" : "<string>"
44660702
DM
1274 },
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,
013dc89f
DM
1279 "type" : "string",
1280 "typetext" : "<string>"
44660702
DM
1281 },
1282 "name" : {
1283 "description" : "IP set name.",
1284 "maxLength" : 64,
1285 "minLength" : 2,
1286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1287 "type" : "string"
1288 },
1289 "rename" : {
1290 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1291 "maxLength" : 64,
1292 "minLength" : 2,
1293 "optional" : 1,
1294 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1295 "type" : "string"
7aacca6f
DM
1296 }
1297 }
1298 },
56122987
DM
1299 "permissions" : {
1300 "check" : [
1301 "perm",
1302 "/",
1303 [
44660702 1304 "Sys.Modify"
56122987
DM
1305 ]
1306 ]
1307 },
44660702 1308 "protected" : 1,
56122987 1309 "returns" : {
44660702
DM
1310 "type" : "null"
1311 }
56122987 1312 }
7aacca6f 1313 },
44660702
DM
1314 "leaf" : 0,
1315 "path" : "/cluster/firewall/ipset",
1316 "text" : "ipset"
1317 },
56122987 1318 {
44660702
DM
1319 "children" : [
1320 {
1321 "info" : {
1322 "DELETE" : {
1323 "description" : "Remove IP or Network alias.",
1324 "method" : "DELETE",
1325 "name" : "remove_alias",
1326 "parameters" : {
1327 "additionalProperties" : 0,
1328 "properties" : {
1329 "digest" : {
1330 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1331 "maxLength" : 40,
1332 "optional" : 1,
013dc89f
DM
1333 "type" : "string",
1334 "typetext" : "<string>"
44660702
DM
1335 },
1336 "name" : {
1337 "description" : "Alias name.",
1338 "maxLength" : 64,
1339 "minLength" : 2,
1340 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1341 "type" : "string"
1342 }
1343 }
1344 },
1345 "permissions" : {
1346 "check" : [
1347 "perm",
1348 "/",
1349 [
1350 "Sys.Modify"
1351 ]
1352 ]
1353 },
1354 "protected" : 1,
1355 "returns" : {
1356 "type" : "null"
1357 }
1358 },
1359 "GET" : {
1360 "description" : "Read alias.",
1361 "method" : "GET",
1362 "name" : "read_alias",
1363 "parameters" : {
1364 "additionalProperties" : 0,
1365 "properties" : {
1366 "name" : {
1367 "description" : "Alias name.",
1368 "maxLength" : 64,
1369 "minLength" : 2,
1370 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1371 "type" : "string"
1372 }
1373 }
1374 },
1375 "permissions" : {
1376 "check" : [
1377 "perm",
1378 "/",
1379 [
1380 "Sys.Audit"
1381 ]
1382 ]
1383 },
1384 "returns" : {
1385 "type" : "object"
1386 }
1387 },
1388 "PUT" : {
1389 "description" : "Update IP or Network alias.",
1390 "method" : "PUT",
1391 "name" : "update_alias",
1392 "parameters" : {
1393 "additionalProperties" : 0,
1394 "properties" : {
1395 "cidr" : {
1396 "description" : "Network/IP specification in CIDR format.",
1397 "format" : "IPorCIDR",
013dc89f
DM
1398 "type" : "string",
1399 "typetext" : "<string>"
44660702
DM
1400 },
1401 "comment" : {
1402 "optional" : 1,
013dc89f
DM
1403 "type" : "string",
1404 "typetext" : "<string>"
44660702
DM
1405 },
1406 "digest" : {
1407 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1408 "maxLength" : 40,
1409 "optional" : 1,
013dc89f
DM
1410 "type" : "string",
1411 "typetext" : "<string>"
44660702
DM
1412 },
1413 "name" : {
1414 "description" : "Alias name.",
1415 "maxLength" : 64,
1416 "minLength" : 2,
1417 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1418 "type" : "string"
1419 },
1420 "rename" : {
1421 "description" : "Rename an existing alias.",
1422 "maxLength" : 64,
1423 "minLength" : 2,
1424 "optional" : 1,
1425 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1426 "type" : "string"
1427 }
1428 }
1429 },
1430 "permissions" : {
1431 "check" : [
1432 "perm",
1433 "/",
1434 [
1435 "Sys.Modify"
1436 ]
1437 ]
1438 },
1439 "protected" : 1,
1440 "returns" : {
1441 "type" : "null"
1442 }
1443 }
1444 },
1445 "leaf" : 1,
1446 "path" : "/cluster/firewall/aliases/{name}",
1447 "text" : "{name}"
1448 }
1449 ],
1450 "info" : {
1451 "GET" : {
1452 "description" : "List aliases",
1453 "method" : "GET",
1454 "name" : "get_aliases",
1455 "parameters" : {
1456 "additionalProperties" : 0
1457 },
1458 "permissions" : {
1459 "check" : [
1460 "perm",
1461 "/",
1462 [
1463 "Sys.Audit"
1464 ]
1465 ]
1466 },
1467 "returns" : {
1468 "items" : {
1469 "properties" : {
1470 "cidr" : {
1471 "type" : "string"
1472 },
1473 "comment" : {
1474 "optional" : 1,
1475 "type" : "string"
1476 },
1477 "digest" : {
1478 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1479 "maxLength" : 40,
1480 "optional" : 0,
1481 "type" : "string"
1482 },
1483 "name" : {
1484 "type" : "string"
1485 }
1486 },
1487 "type" : "object"
1488 },
1489 "links" : [
1490 {
1491 "href" : "{name}",
1492 "rel" : "child"
1493 }
1494 ],
1495 "type" : "array"
1496 }
1497 },
1498 "POST" : {
1499 "description" : "Create IP or Network Alias.",
1500 "method" : "POST",
1501 "name" : "create_alias",
56122987
DM
1502 "parameters" : {
1503 "additionalProperties" : 0,
1504 "properties" : {
44660702
DM
1505 "cidr" : {
1506 "description" : "Network/IP specification in CIDR format.",
1507 "format" : "IPorCIDR",
013dc89f
DM
1508 "type" : "string",
1509 "typetext" : "<string>"
44660702
DM
1510 },
1511 "comment" : {
1512 "optional" : 1,
013dc89f
DM
1513 "type" : "string",
1514 "typetext" : "<string>"
44660702
DM
1515 },
1516 "name" : {
1517 "description" : "Alias name.",
1518 "maxLength" : 64,
1519 "minLength" : 2,
1520 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1521 "type" : "string"
56122987
DM
1522 }
1523 }
1524 },
56122987
DM
1525 "permissions" : {
1526 "check" : [
1527 "perm",
1528 "/",
1529 [
1530 "Sys.Modify"
1531 ]
1532 ]
1533 },
44660702 1534 "protected" : 1,
56122987
DM
1535 "returns" : {
1536 "type" : "null"
1537 }
44660702
DM
1538 }
1539 },
1540 "leaf" : 0,
1541 "path" : "/cluster/firewall/aliases",
1542 "text" : "aliases"
1543 },
1544 {
1545 "info" : {
1546 "GET" : {
1547 "description" : "Get Firewall options.",
1548 "method" : "GET",
1549 "name" : "get_options",
1550 "parameters" : {
1551 "additionalProperties" : 0
7aacca6f 1552 },
56122987
DM
1553 "permissions" : {
1554 "check" : [
1555 "perm",
1556 "/",
1557 [
44660702 1558 "Sys.Audit"
56122987
DM
1559 ]
1560 ]
1561 },
44660702 1562 "returns" : {
56122987 1563 "properties" : {
44660702
DM
1564 "enable" : {
1565 "description" : "Enable or disable the firewall cluster wide.",
1566 "minimum" : 0,
56122987 1567 "optional" : 1,
7aacca6f 1568 "type" : "integer"
56122987 1569 },
44660702
DM
1570 "policy_in" : {
1571 "description" : "Input policy.",
1572 "enum" : [
1573 "ACCEPT",
1574 "REJECT",
1575 "DROP"
1576 ],
56122987 1577 "optional" : 1,
44660702 1578 "type" : "string"
7aacca6f 1579 },
44660702
DM
1580 "policy_out" : {
1581 "description" : "Output policy.",
1582 "enum" : [
1583 "ACCEPT",
1584 "REJECT",
1585 "DROP"
1586 ],
7aacca6f 1587 "optional" : 1,
44660702
DM
1588 "type" : "string"
1589 }
1590 },
1591 "type" : "object"
1592 }
1593 },
1594 "PUT" : {
1595 "description" : "Set Firewall options.",
1596 "method" : "PUT",
1597 "name" : "set_options",
1598 "parameters" : {
1599 "additionalProperties" : 0,
1600 "properties" : {
1601 "delete" : {
1602 "description" : "A list of settings you want to delete.",
1603 "format" : "pve-configid-list",
56122987 1604 "optional" : 1,
013dc89f
DM
1605 "type" : "string",
1606 "typetext" : "<string>"
56122987 1607 },
44660702
DM
1608 "digest" : {
1609 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1610 "maxLength" : 40,
56122987 1611 "optional" : 1,
013dc89f
DM
1612 "type" : "string",
1613 "typetext" : "<string>"
56122987 1614 },
44660702
DM
1615 "enable" : {
1616 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 1617 "minimum" : 0,
56122987 1618 "optional" : 1,
4bd7df8b 1619 "type" : "integer",
013dc89f 1620 "typetext" : "<integer> (0 - N)"
56122987 1621 },
44660702
DM
1622 "policy_in" : {
1623 "description" : "Input policy.",
56122987 1624 "enum" : [
44660702
DM
1625 "ACCEPT",
1626 "REJECT",
1627 "DROP"
56122987 1628 ],
56122987 1629 "optional" : 1,
44660702 1630 "type" : "string"
56122987 1631 },
44660702
DM
1632 "policy_out" : {
1633 "description" : "Output policy.",
56122987 1634 "enum" : [
44660702
DM
1635 "ACCEPT",
1636 "REJECT",
1637 "DROP"
56122987 1638 ],
7aacca6f 1639 "optional" : 1,
44660702 1640 "type" : "string"
56122987 1641 }
44660702
DM
1642 }
1643 },
1644 "permissions" : {
1645 "check" : [
1646 "perm",
1647 "/",
1648 [
1649 "Sys.Modify"
1650 ]
1651 ]
7aacca6f
DM
1652 },
1653 "protected" : 1,
44660702
DM
1654 "returns" : {
1655 "type" : "null"
1656 }
1657 }
1658 },
1659 "leaf" : 1,
1660 "path" : "/cluster/firewall/options",
1661 "text" : "options"
1662 },
1663 {
1664 "info" : {
7aacca6f 1665 "GET" : {
44660702 1666 "description" : "List available macros",
7aacca6f 1667 "method" : "GET",
44660702
DM
1668 "name" : "get_macros",
1669 "parameters" : {
1670 "additionalProperties" : 0
7aacca6f 1671 },
44660702
DM
1672 "permissions" : {
1673 "user" : "all"
1674 },
1675 "returns" : {
1676 "items" : {
1677 "properties" : {
1678 "descr" : {
1679 "description" : "More verbose description (if available).",
1680 "type" : "string"
1681 },
1682 "macro" : {
1683 "description" : "Macro name.",
1684 "type" : "string"
1685 }
1686 },
1687 "type" : "object"
1688 },
1689 "type" : "array"
1690 }
1691 }
1692 },
1693 "leaf" : 1,
1694 "path" : "/cluster/firewall/macros",
1695 "text" : "macros"
1696 },
1697 {
1698 "info" : {
1699 "GET" : {
1700 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
1701 "method" : "GET",
1702 "name" : "refs",
7aacca6f 1703 "parameters" : {
44660702 1704 "additionalProperties" : 0,
7aacca6f 1705 "properties" : {
44660702
DM
1706 "type" : {
1707 "description" : "Only list references of specified type.",
1708 "enum" : [
1709 "alias",
1710 "ipset"
1711 ],
1712 "optional" : 1,
1713 "type" : "string"
7aacca6f 1714 }
44660702 1715 }
7aacca6f
DM
1716 },
1717 "permissions" : {
1718 "check" : [
1719 "perm",
1720 "/",
1721 [
1722 "Sys.Audit"
1723 ]
1724 ]
1725 },
44660702
DM
1726 "returns" : {
1727 "items" : {
1728 "properties" : {
1729 "comment" : {
1730 "optional" : 1,
1731 "type" : "string"
1732 },
1733 "name" : {
1734 "type" : "string"
1735 },
1736 "ref" : {
1737 "type" : "string"
1738 },
1739 "type" : {
1740 "enum" : [
1741 "alias",
1742 "ipset"
1743 ],
1744 "type" : "string"
1745 }
1746 },
1747 "type" : "object"
1748 },
1749 "type" : "array"
1750 }
56122987
DM
1751 }
1752 },
7aacca6f 1753 "leaf" : 1,
44660702
DM
1754 "path" : "/cluster/firewall/refs",
1755 "text" : "refs"
56122987
DM
1756 }
1757 ],
56122987 1758 "info" : {
44660702
DM
1759 "GET" : {
1760 "description" : "Directory index.",
1761 "method" : "GET",
1762 "name" : "index",
56122987 1763 "parameters" : {
56122987
DM
1764 "additionalProperties" : 0
1765 },
44660702
DM
1766 "permissions" : {
1767 "user" : "all"
1768 },
56122987 1769 "returns" : {
44660702
DM
1770 "items" : {
1771 "properties" : {},
1772 "type" : "object"
1773 },
7aacca6f
DM
1774 "links" : [
1775 {
44660702
DM
1776 "href" : "{name}",
1777 "rel" : "child"
7aacca6f
DM
1778 }
1779 ],
7aacca6f 1780 "type" : "array"
7aacca6f 1781 }
56122987
DM
1782 }
1783 },
44660702
DM
1784 "leaf" : 0,
1785 "path" : "/cluster/firewall",
1786 "text" : "firewall"
7aacca6f
DM
1787 },
1788 {
56122987
DM
1789 "children" : [
1790 {
56122987 1791 "info" : {
44660702
DM
1792 "DELETE" : {
1793 "description" : "Delete vzdump backup job definition.",
1794 "method" : "DELETE",
1795 "name" : "delete_job",
1796 "parameters" : {
1797 "additionalProperties" : 0,
1798 "properties" : {
1799 "id" : {
1800 "description" : "The job ID.",
1801 "maxLength" : 50,
013dc89f
DM
1802 "type" : "string",
1803 "typetext" : "<string>"
44660702
DM
1804 }
1805 }
1806 },
1807 "permissions" : {
1808 "check" : [
1809 "perm",
1810 "/",
1811 [
1812 "Sys.Modify"
1813 ]
1814 ]
1815 },
1816 "protected" : 1,
56122987
DM
1817 "returns" : {
1818 "type" : "null"
44660702
DM
1819 }
1820 },
1821 "GET" : {
1822 "description" : "Read vzdump backup job definition.",
1823 "method" : "GET",
1824 "name" : "read_job",
1825 "parameters" : {
1826 "additionalProperties" : 0,
1827 "properties" : {
1828 "id" : {
1829 "description" : "The job ID.",
1830 "maxLength" : 50,
013dc89f
DM
1831 "type" : "string",
1832 "typetext" : "<string>"
44660702
DM
1833 }
1834 }
56122987 1835 },
7aacca6f
DM
1836 "permissions" : {
1837 "check" : [
1838 "perm",
1839 "/",
1840 [
44660702 1841 "Sys.Audit"
7aacca6f
DM
1842 ]
1843 ]
1844 },
44660702
DM
1845 "returns" : {
1846 "type" : "object"
1847 }
1848 },
1849 "PUT" : {
1850 "description" : "Update vzdump backup job definition.",
1851 "method" : "PUT",
1852 "name" : "update_job",
56122987 1853 "parameters" : {
44660702 1854 "additionalProperties" : 0,
56122987 1855 "properties" : {
44660702
DM
1856 "all" : {
1857 "default" : 0,
1858 "description" : "Backup all known guest systems on this host.",
7aacca6f 1859 "optional" : 1,
013dc89f
DM
1860 "type" : "boolean",
1861 "typetext" : "<boolean>"
7aacca6f 1862 },
44660702
DM
1863 "bwlimit" : {
1864 "default" : 0,
1865 "description" : "Limit I/O bandwidth (KBytes per second).",
1866 "minimum" : 0,
1867 "optional" : 1,
4bd7df8b 1868 "type" : "integer",
013dc89f 1869 "typetext" : "<integer> (0 - N)"
44660702
DM
1870 },
1871 "compress" : {
1872 "default" : "0",
1873 "description" : "Compress dump file.",
7aacca6f 1874 "enum" : [
44660702
DM
1875 "0",
1876 "1",
1877 "gzip",
1878 "lzo"
7aacca6f 1879 ],
44660702
DM
1880 "optional" : 1,
1881 "type" : "string"
7aacca6f 1882 },
44660702
DM
1883 "delete" : {
1884 "description" : "A list of settings you want to delete.",
1885 "format" : "pve-configid-list",
7aacca6f 1886 "optional" : 1,
013dc89f
DM
1887 "type" : "string",
1888 "typetext" : "<string>"
56122987 1889 },
44660702
DM
1890 "dow" : {
1891 "description" : "Day of week selection.",
1892 "format" : "pve-day-of-week-list",
7aacca6f 1893 "optional" : 1,
013dc89f
DM
1894 "type" : "string",
1895 "typetext" : "<string>"
56122987 1896 },
44660702
DM
1897 "dumpdir" : {
1898 "description" : "Store resulting files to specified directory.",
56122987 1899 "optional" : 1,
013dc89f
DM
1900 "type" : "string",
1901 "typetext" : "<string>"
56122987 1902 },
44660702
DM
1903 "enabled" : {
1904 "default" : "1",
1905 "description" : "Enable or disable the job.",
1906 "optional" : 1,
013dc89f
DM
1907 "type" : "boolean",
1908 "typetext" : "<boolean>"
44660702
DM
1909 },
1910 "exclude" : {
1911 "description" : "Exclude specified guest systems (assumes --all)",
1912 "format" : "pve-vmid-list",
1913 "optional" : 1,
013dc89f
DM
1914 "type" : "string",
1915 "typetext" : "<string>"
44660702
DM
1916 },
1917 "exclude-path" : {
1918 "description" : "Exclude certain files/directories (shell globs).",
1919 "format" : "string-alist",
1920 "optional" : 1,
013dc89f
DM
1921 "type" : "string",
1922 "typetext" : "<string>"
44660702
DM
1923 },
1924 "id" : {
1925 "description" : "The job ID.",
1926 "maxLength" : 50,
013dc89f
DM
1927 "type" : "string",
1928 "typetext" : "<string>"
44660702
DM
1929 },
1930 "ionice" : {
1931 "default" : 7,
1932 "description" : "Set CFQ ionice priority.",
1933 "maximum" : 8,
1934 "minimum" : 0,
1935 "optional" : 1,
4bd7df8b 1936 "type" : "integer",
013dc89f 1937 "typetext" : "<integer> (0 - 8)"
44660702
DM
1938 },
1939 "lockwait" : {
1940 "default" : 180,
1941 "description" : "Maximal time to wait for the global lock (minutes).",
1942 "minimum" : 0,
1943 "optional" : 1,
4bd7df8b 1944 "type" : "integer",
013dc89f 1945 "typetext" : "<integer> (0 - N)"
44660702
DM
1946 },
1947 "mailnotification" : {
1948 "default" : "always",
1949 "description" : "Specify when to send an email",
56122987 1950 "enum" : [
44660702
DM
1951 "always",
1952 "failure"
56122987 1953 ],
44660702
DM
1954 "optional" : 1,
1955 "type" : "string"
1956 },
1957 "mailto" : {
1958 "description" : "Comma-separated list of email addresses that should receive email notifications.",
1959 "format" : "string-list",
1960 "optional" : 1,
013dc89f
DM
1961 "type" : "string",
1962 "typetext" : "<string>"
44660702
DM
1963 },
1964 "maxfiles" : {
1965 "default" : 1,
1966 "description" : "Maximal number of backup files per guest system.",
1967 "minimum" : 1,
1968 "optional" : 1,
4bd7df8b 1969 "type" : "integer",
013dc89f 1970 "typetext" : "<integer> (1 - N)"
44660702
DM
1971 },
1972 "mode" : {
1973 "default" : "snapshot",
1974 "description" : "Backup mode.",
1975 "enum" : [
1976 "snapshot",
1977 "suspend",
1978 "stop"
1979 ],
1980 "optional" : 1,
1981 "type" : "string"
1982 },
1983 "node" : {
1984 "description" : "Only run if executed on this node.",
1985 "format" : "pve-node",
1986 "optional" : 1,
013dc89f
DM
1987 "type" : "string",
1988 "typetext" : "<string>"
44660702
DM
1989 },
1990 "pigz" : {
1991 "default" : 0,
1992 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
1993 "optional" : 1,
013dc89f
DM
1994 "type" : "integer",
1995 "typetext" : "<integer>"
44660702
DM
1996 },
1997 "quiet" : {
1998 "default" : 0,
1999 "description" : "Be quiet.",
2000 "optional" : 1,
013dc89f
DM
2001 "type" : "boolean",
2002 "typetext" : "<boolean>"
44660702
DM
2003 },
2004 "remove" : {
2005 "default" : 1,
2006 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2007 "optional" : 1,
013dc89f
DM
2008 "type" : "boolean",
2009 "typetext" : "<boolean>"
44660702
DM
2010 },
2011 "script" : {
2012 "description" : "Use specified hook script.",
2013 "optional" : 1,
013dc89f
DM
2014 "type" : "string",
2015 "typetext" : "<string>"
44660702
DM
2016 },
2017 "size" : {
2018 "default" : 1024,
2019 "description" : "Unused, will be removed in a future release.",
2020 "minimum" : 500,
2021 "optional" : 1,
4bd7df8b 2022 "type" : "integer",
013dc89f 2023 "typetext" : "<integer> (500 - N)"
44660702
DM
2024 },
2025 "starttime" : {
2026 "description" : "Job Start time.",
2027 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2028 "type" : "string",
44660702 2029 "typetext" : "HH:MM"
7aacca6f 2030 },
44660702
DM
2031 "stdexcludes" : {
2032 "default" : 1,
2033 "description" : "Exclude temporary files and logs.",
2034 "optional" : 1,
013dc89f
DM
2035 "type" : "boolean",
2036 "typetext" : "<boolean>"
44660702
DM
2037 },
2038 "stop" : {
2039 "default" : 0,
2040 "description" : "Stop runnig backup jobs on this host.",
2041 "optional" : 1,
013dc89f
DM
2042 "type" : "boolean",
2043 "typetext" : "<boolean>"
44660702
DM
2044 },
2045 "stopwait" : {
2046 "default" : 10,
2047 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2048 "minimum" : 0,
2049 "optional" : 1,
4bd7df8b 2050 "type" : "integer",
013dc89f 2051 "typetext" : "<integer> (0 - N)"
44660702
DM
2052 },
2053 "storage" : {
2054 "description" : "Store resulting file to this storage.",
2055 "format" : "pve-storage-id",
2056 "optional" : 1,
013dc89f
DM
2057 "type" : "string",
2058 "typetext" : "<string>"
56122987 2059 },
44660702
DM
2060 "tmpdir" : {
2061 "description" : "Store temporary files to specified directory.",
2062 "optional" : 1,
013dc89f
DM
2063 "type" : "string",
2064 "typetext" : "<string>"
44660702
DM
2065 },
2066 "vmid" : {
2067 "description" : "The ID of the guest system you want to backup.",
2068 "format" : "pve-vmid-list",
2069 "optional" : 1,
013dc89f
DM
2070 "type" : "string",
2071 "typetext" : "<string>"
56122987 2072 }
44660702 2073 }
56122987
DM
2074 },
2075 "permissions" : {
2076 "check" : [
2077 "perm",
2078 "/",
2079 [
44660702 2080 "Sys.Modify"
56122987
DM
2081 ]
2082 ]
2083 },
44660702
DM
2084 "protected" : 1,
2085 "returns" : {
2086 "type" : "null"
7aacca6f 2087 }
56122987
DM
2088 }
2089 },
44660702
DM
2090 "leaf" : 1,
2091 "path" : "/cluster/backup/{id}",
2092 "text" : "{id}"
2093 }
2094 ],
2095 "info" : {
2096 "GET" : {
2097 "description" : "List vzdump backup schedule.",
2098 "method" : "GET",
2099 "name" : "index",
2100 "parameters" : {
2101 "additionalProperties" : 0
2102 },
2103 "permissions" : {
2104 "check" : [
2105 "perm",
2106 "/",
2107 [
2108 "Sys.Audit"
2109 ]
2110 ]
2111 },
2112 "returns" : {
2113 "items" : {
2114 "properties" : {
2115 "id" : {
2116 "type" : "string"
2117 }
2118 },
2119 "type" : "object"
2120 },
2121 "links" : [
2122 {
2123 "href" : "{id}",
2124 "rel" : "child"
2125 }
2126 ],
2127 "type" : "array"
2128 }
2129 },
2130 "POST" : {
2131 "description" : "Create new vzdump backup job.",
2132 "method" : "POST",
2133 "name" : "create_job",
2134 "parameters" : {
2135 "additionalProperties" : 0,
2136 "properties" : {
2137 "all" : {
2138 "default" : 0,
2139 "description" : "Backup all known guest systems on this host.",
2140 "optional" : 1,
013dc89f
DM
2141 "type" : "boolean",
2142 "typetext" : "<boolean>"
44660702
DM
2143 },
2144 "bwlimit" : {
2145 "default" : 0,
2146 "description" : "Limit I/O bandwidth (KBytes per second).",
2147 "minimum" : 0,
2148 "optional" : 1,
4bd7df8b 2149 "type" : "integer",
013dc89f 2150 "typetext" : "<integer> (0 - N)"
44660702
DM
2151 },
2152 "compress" : {
2153 "default" : "0",
2154 "description" : "Compress dump file.",
2155 "enum" : [
2156 "0",
2157 "1",
2158 "gzip",
2159 "lzo"
2160 ],
2161 "optional" : 1,
2162 "type" : "string"
2163 },
2164 "dow" : {
2165 "default" : "mon,tue,wed,thu,fri,sat,sun",
2166 "description" : "Day of week selection.",
2167 "format" : "pve-day-of-week-list",
2168 "optional" : 1,
013dc89f
DM
2169 "type" : "string",
2170 "typetext" : "<string>"
44660702
DM
2171 },
2172 "dumpdir" : {
2173 "description" : "Store resulting files to specified directory.",
2174 "optional" : 1,
013dc89f
DM
2175 "type" : "string",
2176 "typetext" : "<string>"
44660702
DM
2177 },
2178 "enabled" : {
2179 "default" : "1",
2180 "description" : "Enable or disable the job.",
2181 "optional" : 1,
013dc89f
DM
2182 "type" : "boolean",
2183 "typetext" : "<boolean>"
44660702
DM
2184 },
2185 "exclude" : {
2186 "description" : "Exclude specified guest systems (assumes --all)",
2187 "format" : "pve-vmid-list",
2188 "optional" : 1,
013dc89f
DM
2189 "type" : "string",
2190 "typetext" : "<string>"
44660702
DM
2191 },
2192 "exclude-path" : {
2193 "description" : "Exclude certain files/directories (shell globs).",
2194 "format" : "string-alist",
2195 "optional" : 1,
013dc89f
DM
2196 "type" : "string",
2197 "typetext" : "<string>"
44660702
DM
2198 },
2199 "ionice" : {
2200 "default" : 7,
2201 "description" : "Set CFQ ionice priority.",
2202 "maximum" : 8,
2203 "minimum" : 0,
2204 "optional" : 1,
4bd7df8b 2205 "type" : "integer",
013dc89f 2206 "typetext" : "<integer> (0 - 8)"
44660702
DM
2207 },
2208 "lockwait" : {
2209 "default" : 180,
2210 "description" : "Maximal time to wait for the global lock (minutes).",
2211 "minimum" : 0,
2212 "optional" : 1,
4bd7df8b 2213 "type" : "integer",
013dc89f 2214 "typetext" : "<integer> (0 - N)"
44660702
DM
2215 },
2216 "mailnotification" : {
2217 "default" : "always",
2218 "description" : "Specify when to send an email",
2219 "enum" : [
2220 "always",
2221 "failure"
2222 ],
2223 "optional" : 1,
2224 "type" : "string"
2225 },
2226 "mailto" : {
2227 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2228 "format" : "string-list",
2229 "optional" : 1,
013dc89f
DM
2230 "type" : "string",
2231 "typetext" : "<string>"
44660702
DM
2232 },
2233 "maxfiles" : {
2234 "default" : 1,
2235 "description" : "Maximal number of backup files per guest system.",
2236 "minimum" : 1,
2237 "optional" : 1,
4bd7df8b 2238 "type" : "integer",
013dc89f 2239 "typetext" : "<integer> (1 - N)"
44660702
DM
2240 },
2241 "mode" : {
2242 "default" : "snapshot",
2243 "description" : "Backup mode.",
2244 "enum" : [
2245 "snapshot",
2246 "suspend",
2247 "stop"
2248 ],
2249 "optional" : 1,
2250 "type" : "string"
2251 },
2252 "node" : {
2253 "description" : "Only run if executed on this node.",
2254 "format" : "pve-node",
2255 "optional" : 1,
013dc89f
DM
2256 "type" : "string",
2257 "typetext" : "<string>"
44660702
DM
2258 },
2259 "pigz" : {
2260 "default" : 0,
2261 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2262 "optional" : 1,
013dc89f
DM
2263 "type" : "integer",
2264 "typetext" : "<integer>"
44660702
DM
2265 },
2266 "quiet" : {
2267 "default" : 0,
2268 "description" : "Be quiet.",
2269 "optional" : 1,
013dc89f
DM
2270 "type" : "boolean",
2271 "typetext" : "<boolean>"
44660702
DM
2272 },
2273 "remove" : {
2274 "default" : 1,
2275 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2276 "optional" : 1,
013dc89f
DM
2277 "type" : "boolean",
2278 "typetext" : "<boolean>"
44660702
DM
2279 },
2280 "script" : {
2281 "description" : "Use specified hook script.",
2282 "optional" : 1,
013dc89f
DM
2283 "type" : "string",
2284 "typetext" : "<string>"
44660702
DM
2285 },
2286 "size" : {
2287 "default" : 1024,
2288 "description" : "Unused, will be removed in a future release.",
2289 "minimum" : 500,
2290 "optional" : 1,
4bd7df8b 2291 "type" : "integer",
013dc89f 2292 "typetext" : "<integer> (500 - N)"
44660702
DM
2293 },
2294 "starttime" : {
2295 "description" : "Job Start time.",
2296 "pattern" : "\\d{1,2}:\\d{1,2}",
2297 "type" : "string",
2298 "typetext" : "HH:MM"
2299 },
2300 "stdexcludes" : {
2301 "default" : 1,
2302 "description" : "Exclude temporary files and logs.",
2303 "optional" : 1,
013dc89f
DM
2304 "type" : "boolean",
2305 "typetext" : "<boolean>"
44660702
DM
2306 },
2307 "stop" : {
2308 "default" : 0,
2309 "description" : "Stop runnig backup jobs on this host.",
2310 "optional" : 1,
013dc89f
DM
2311 "type" : "boolean",
2312 "typetext" : "<boolean>"
44660702
DM
2313 },
2314 "stopwait" : {
2315 "default" : 10,
2316 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2317 "minimum" : 0,
2318 "optional" : 1,
4bd7df8b 2319 "type" : "integer",
013dc89f 2320 "typetext" : "<integer> (0 - N)"
44660702
DM
2321 },
2322 "storage" : {
2323 "description" : "Store resulting file to this storage.",
2324 "format" : "pve-storage-id",
2325 "optional" : 1,
013dc89f
DM
2326 "type" : "string",
2327 "typetext" : "<string>"
44660702
DM
2328 },
2329 "tmpdir" : {
2330 "description" : "Store temporary files to specified directory.",
2331 "optional" : 1,
013dc89f
DM
2332 "type" : "string",
2333 "typetext" : "<string>"
44660702
DM
2334 },
2335 "vmid" : {
2336 "description" : "The ID of the guest system you want to backup.",
2337 "format" : "pve-vmid-list",
2338 "optional" : 1,
013dc89f
DM
2339 "type" : "string",
2340 "typetext" : "<string>"
44660702
DM
2341 }
2342 }
2343 },
2344 "permissions" : {
2345 "check" : [
2346 "perm",
2347 "/",
2348 [
2349 "Sys.Modify"
2350 ]
de0983cb
DM
2351 ],
2352 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
2353 },
2354 "protected" : 1,
2355 "returns" : {
2356 "type" : "null"
2357 }
2358 }
2359 },
2360 "leaf" : 0,
2361 "path" : "/cluster/backup",
2362 "text" : "backup"
2363 },
2364 {
2365 "children" : [
2366 {
2367 "children" : [
2368 {
2369 "children" : [
56122987 2370 {
56122987
DM
2371 "info" : {
2372 "POST" : {
44660702
DM
2373 "description" : "Request resource migration (online) to another node.",
2374 "method" : "POST",
2375 "name" : "migrate",
56122987 2376 "parameters" : {
7aacca6f 2377 "additionalProperties" : 0,
56122987
DM
2378 "properties" : {
2379 "node" : {
7aacca6f 2380 "description" : "The cluster node name.",
44660702 2381 "format" : "pve-node",
013dc89f
DM
2382 "type" : "string",
2383 "typetext" : "<string>"
56122987
DM
2384 },
2385 "sid" : {
44660702 2386 "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 2387 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2388 "type" : "string",
44660702 2389 "typetext" : "<type>:<name>"
56122987 2390 }
7aacca6f 2391 }
56122987 2392 },
56122987
DM
2393 "permissions" : {
2394 "check" : [
2395 "perm",
2396 "/",
2397 [
2398 "Sys.Console"
2399 ]
2400 ]
2401 },
7aacca6f 2402 "protected" : 1,
7aacca6f
DM
2403 "returns" : {
2404 "type" : "null"
44660702 2405 }
56122987 2406 }
44660702
DM
2407 },
2408 "leaf" : 1,
2409 "path" : "/cluster/ha/resources/{sid}/migrate",
2410 "text" : "migrate"
2411 },
2412 {
2413 "info" : {
2414 "POST" : {
2415 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2416 "method" : "POST",
2417 "name" : "relocate",
2418 "parameters" : {
2419 "additionalProperties" : 0,
2420 "properties" : {
2421 "node" : {
2422 "description" : "The cluster node name.",
2423 "format" : "pve-node",
013dc89f
DM
2424 "type" : "string",
2425 "typetext" : "<string>"
44660702
DM
2426 },
2427 "sid" : {
2428 "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).",
2429 "format" : "pve-ha-resource-or-vm-id",
2430 "type" : "string",
2431 "typetext" : "<type>:<name>"
2432 }
2433 }
2434 },
2435 "permissions" : {
2436 "check" : [
2437 "perm",
2438 "/",
2439 [
2440 "Sys.Console"
2441 ]
2442 ]
2443 },
2444 "protected" : 1,
2445 "returns" : {
2446 "type" : "null"
2447 }
2448 }
2449 },
2450 "leaf" : 1,
2451 "path" : "/cluster/ha/resources/{sid}/relocate",
2452 "text" : "relocate"
2453 }
2454 ],
2455 "info" : {
2456 "DELETE" : {
2457 "description" : "Delete resource configuration.",
2458 "method" : "DELETE",
2459 "name" : "delete",
7aacca6f 2460 "parameters" : {
44660702 2461 "additionalProperties" : 0,
7aacca6f
DM
2462 "properties" : {
2463 "sid" : {
2464 "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 2465 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2466 "type" : "string",
44660702
DM
2467 "typetext" : "<type>:<name>"
2468 }
2469 }
2470 },
2471 "permissions" : {
2472 "check" : [
2473 "perm",
2474 "/",
2475 [
2476 "Sys.Console"
2477 ]
2478 ]
2479 },
2480 "protected" : 1,
2481 "returns" : {
2482 "type" : "null"
2483 }
2484 },
2485 "GET" : {
2486 "description" : "Read resource configuration.",
2487 "method" : "GET",
2488 "name" : "read",
2489 "parameters" : {
2490 "additionalProperties" : 0,
2491 "properties" : {
2492 "sid" : {
2493 "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 2494 "format" : "pve-ha-resource-or-vm-id",
44660702 2495 "type" : "string",
7aacca6f
DM
2496 "typetext" : "<type>:<name>"
2497 }
44660702 2498 }
7aacca6f
DM
2499 },
2500 "permissions" : {
2501 "check" : [
2502 "perm",
2503 "/",
2504 [
2505 "Sys.Audit"
2506 ]
2507 ]
2508 },
44660702 2509 "returns" : {}
7aacca6f 2510 },
56122987 2511 "PUT" : {
44660702 2512 "description" : "Update resource configuration.",
7aacca6f 2513 "method" : "PUT",
44660702 2514 "name" : "update",
56122987
DM
2515 "parameters" : {
2516 "additionalProperties" : 0,
2517 "properties" : {
44660702
DM
2518 "comment" : {
2519 "description" : "Description.",
2520 "maxLength" : 4096,
56122987 2521 "optional" : 1,
013dc89f
DM
2522 "type" : "string",
2523 "typetext" : "<string>"
56122987 2524 },
7aacca6f
DM
2525 "delete" : {
2526 "description" : "A list of settings you want to delete.",
7aacca6f 2527 "format" : "pve-configid-list",
44660702
DM
2528 "maxLength" : 4096,
2529 "optional" : 1,
013dc89f
DM
2530 "type" : "string",
2531 "typetext" : "<string>"
56122987 2532 },
44660702
DM
2533 "digest" : {
2534 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2535 "maxLength" : 40,
2536 "optional" : 1,
013dc89f
DM
2537 "type" : "string",
2538 "typetext" : "<string>"
56122987 2539 },
44660702
DM
2540 "group" : {
2541 "description" : "The HA group identifier.",
2542 "format" : "pve-configid",
7aacca6f 2543 "optional" : 1,
013dc89f
DM
2544 "type" : "string",
2545 "typetext" : "<string>"
56122987
DM
2546 },
2547 "max_relocate" : {
7aacca6f 2548 "default" : 1,
56122987 2549 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
2550 "minimum" : 0,
2551 "optional" : 1,
4bd7df8b 2552 "type" : "integer",
013dc89f 2553 "typetext" : "<integer> (0 - N)"
7aacca6f 2554 },
44660702
DM
2555 "max_restart" : {
2556 "default" : 1,
2557 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2558 "minimum" : 0,
7aacca6f 2559 "optional" : 1,
4bd7df8b 2560 "type" : "integer",
013dc89f 2561 "typetext" : "<integer> (0 - N)"
44660702
DM
2562 },
2563 "sid" : {
2564 "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).",
2565 "format" : "pve-ha-resource-or-vm-id",
2566 "type" : "string",
2567 "typetext" : "<type>:<name>"
7aacca6f
DM
2568 },
2569 "state" : {
f13c1238
DM
2570 "default" : "started",
2571 "description" : "Requested resource state.",
7aacca6f 2572 "enum" : [
f13c1238
DM
2573 "started",
2574 "stopped",
7aacca6f
DM
2575 "enabled",
2576 "disabled"
2577 ],
7aacca6f 2578 "optional" : 1,
f13c1238
DM
2579 "type" : "string",
2580 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
56122987 2581 }
44660702
DM
2582 },
2583 "type" : "object"
56122987 2584 },
56122987
DM
2585 "permissions" : {
2586 "check" : [
2587 "perm",
2588 "/",
2589 [
2590 "Sys.Console"
2591 ]
2592 ]
2593 },
7aacca6f 2594 "protected" : 1,
56122987
DM
2595 "returns" : {
2596 "type" : "null"
2597 }
2598 }
2599 },
44660702 2600 "leaf" : 0,
7aacca6f 2601 "path" : "/cluster/ha/resources/{sid}",
44660702 2602 "text" : "{sid}"
56122987
DM
2603 }
2604 ],
7aacca6f
DM
2605 "info" : {
2606 "GET" : {
44660702
DM
2607 "description" : "List HA resources.",
2608 "method" : "GET",
2609 "name" : "index",
7aacca6f 2610 "parameters" : {
44660702
DM
2611 "additionalProperties" : 0,
2612 "properties" : {
2613 "type" : {
2614 "description" : "Only list resources of specific type",
2615 "enum" : [
2616 "ct",
2617 "vm"
2618 ],
2619 "optional" : 1,
2620 "type" : "string"
2621 }
2622 }
7aacca6f 2623 },
7aacca6f
DM
2624 "permissions" : {
2625 "check" : [
2626 "perm",
2627 "/",
2628 [
2629 "Sys.Audit"
2630 ]
2631 ]
2632 },
7aacca6f 2633 "returns" : {
7aacca6f 2634 "items" : {
7aacca6f 2635 "properties" : {
44660702 2636 "sid" : {
7aacca6f
DM
2637 "type" : "string"
2638 }
44660702
DM
2639 },
2640 "type" : "object"
7aacca6f
DM
2641 },
2642 "links" : [
2643 {
44660702 2644 "href" : "{sid}",
7aacca6f
DM
2645 "rel" : "child"
2646 }
44660702
DM
2647 ],
2648 "type" : "array"
7aacca6f
DM
2649 }
2650 },
2651 "POST" : {
44660702 2652 "description" : "Create a new HA resource.",
7aacca6f 2653 "method" : "POST",
44660702 2654 "name" : "create",
7aacca6f 2655 "parameters" : {
44660702 2656 "additionalProperties" : 0,
7aacca6f
DM
2657 "properties" : {
2658 "comment" : {
7aacca6f 2659 "description" : "Description.",
44660702 2660 "maxLength" : 4096,
7aacca6f 2661 "optional" : 1,
013dc89f
DM
2662 "type" : "string",
2663 "typetext" : "<string>"
7aacca6f 2664 },
44660702
DM
2665 "group" : {
2666 "description" : "The HA group identifier.",
2667 "format" : "pve-configid",
7aacca6f 2668 "optional" : 1,
013dc89f
DM
2669 "type" : "string",
2670 "typetext" : "<string>"
7aacca6f 2671 },
44660702
DM
2672 "max_relocate" : {
2673 "default" : 1,
2674 "description" : "Maximal number of service relocate tries when a service failes to start.",
2675 "minimum" : 0,
7aacca6f 2676 "optional" : 1,
4bd7df8b 2677 "type" : "integer",
013dc89f 2678 "typetext" : "<integer> (0 - N)"
7aacca6f 2679 },
44660702
DM
2680 "max_restart" : {
2681 "default" : 1,
2682 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2683 "minimum" : 0,
2684 "optional" : 1,
4bd7df8b 2685 "type" : "integer",
013dc89f 2686 "typetext" : "<integer> (0 - N)"
44660702
DM
2687 },
2688 "sid" : {
2689 "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).",
2690 "format" : "pve-ha-resource-or-vm-id",
2691 "type" : "string",
2692 "typetext" : "<type>:<name>"
2693 },
2694 "state" : {
f13c1238
DM
2695 "default" : "started",
2696 "description" : "Requested resource state.",
7aacca6f 2697 "enum" : [
f13c1238
DM
2698 "started",
2699 "stopped",
44660702
DM
2700 "enabled",
2701 "disabled"
7aacca6f 2702 ],
7aacca6f 2703 "optional" : 1,
f13c1238
DM
2704 "type" : "string",
2705 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
7aacca6f 2706 },
44660702
DM
2707 "type" : {
2708 "description" : "Resource type.",
2709 "enum" : [
2710 "ct",
2711 "vm"
2712 ],
2713 "optional" : 1,
2714 "type" : "string"
2715 }
7aacca6f 2716 },
44660702 2717 "type" : "object"
7aacca6f
DM
2718 },
2719 "permissions" : {
2720 "check" : [
2721 "perm",
2722 "/",
2723 [
2724 "Sys.Console"
2725 ]
2726 ]
2727 },
44660702
DM
2728 "protected" : 1,
2729 "returns" : {
2730 "type" : "null"
2731 }
7aacca6f
DM
2732 }
2733 },
44660702
DM
2734 "leaf" : 0,
2735 "path" : "/cluster/ha/resources",
2736 "text" : "resources"
2737 },
2738 {
56122987
DM
2739 "children" : [
2740 {
56122987 2741 "info" : {
44660702
DM
2742 "DELETE" : {
2743 "description" : "Delete ha group configuration.",
2744 "method" : "DELETE",
2745 "name" : "delete",
56122987 2746 "parameters" : {
7aacca6f 2747 "additionalProperties" : 0,
56122987 2748 "properties" : {
7aacca6f
DM
2749 "group" : {
2750 "description" : "The HA group identifier.",
44660702 2751 "format" : "pve-configid",
013dc89f
DM
2752 "type" : "string",
2753 "typetext" : "<string>"
56122987 2754 }
7aacca6f 2755 }
56122987 2756 },
56122987
DM
2757 "permissions" : {
2758 "check" : [
2759 "perm",
2760 "/",
2761 [
7aacca6f 2762 "Sys.Console"
56122987
DM
2763 ]
2764 ]
2765 },
44660702 2766 "protected" : 1,
7aacca6f
DM
2767 "returns" : {
2768 "type" : "null"
56122987
DM
2769 }
2770 },
44660702
DM
2771 "GET" : {
2772 "description" : "Read ha group configuration.",
2773 "method" : "GET",
2774 "name" : "read",
56122987 2775 "parameters" : {
44660702 2776 "additionalProperties" : 0,
56122987
DM
2777 "properties" : {
2778 "group" : {
2779 "description" : "The HA group identifier.",
44660702 2780 "format" : "pve-configid",
013dc89f
DM
2781 "type" : "string",
2782 "typetext" : "<string>"
56122987 2783 }
44660702 2784 }
56122987 2785 },
56122987
DM
2786 "permissions" : {
2787 "check" : [
2788 "perm",
2789 "/",
2790 [
44660702 2791 "Sys.Audit"
56122987
DM
2792 ]
2793 ]
2794 },
44660702 2795 "returns" : {}
7aacca6f 2796 },
44660702
DM
2797 "PUT" : {
2798 "description" : "Update ha group configuration.",
2799 "method" : "PUT",
2800 "name" : "update",
7aacca6f 2801 "parameters" : {
44660702 2802 "additionalProperties" : 0,
7aacca6f 2803 "properties" : {
44660702
DM
2804 "comment" : {
2805 "description" : "Description.",
2806 "maxLength" : 4096,
2807 "optional" : 1,
013dc89f
DM
2808 "type" : "string",
2809 "typetext" : "<string>"
44660702
DM
2810 },
2811 "delete" : {
2812 "description" : "A list of settings you want to delete.",
2813 "format" : "pve-configid-list",
2814 "maxLength" : 4096,
2815 "optional" : 1,
013dc89f
DM
2816 "type" : "string",
2817 "typetext" : "<string>"
44660702
DM
2818 },
2819 "digest" : {
2820 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2821 "maxLength" : 40,
2822 "optional" : 1,
013dc89f
DM
2823 "type" : "string",
2824 "typetext" : "<string>"
44660702 2825 },
7aacca6f
DM
2826 "group" : {
2827 "description" : "The HA group identifier.",
44660702 2828 "format" : "pve-configid",
013dc89f
DM
2829 "type" : "string",
2830 "typetext" : "<string>"
44660702
DM
2831 },
2832 "nodes" : {
f13c1238 2833 "description" : "List of cluster node names with optional priority.",
44660702
DM
2834 "format" : "pve-ha-group-node-list",
2835 "optional" : 1,
7aacca6f 2836 "type" : "string",
f13c1238
DM
2837 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
2838 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
2839 },
2840 "nofailback" : {
2841 "default" : 0,
2842 "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.",
2843 "optional" : 1,
013dc89f
DM
2844 "type" : "boolean",
2845 "typetext" : "<boolean>"
44660702
DM
2846 },
2847 "restricted" : {
2848 "default" : 0,
c4808e75 2849 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 2850 "optional" : 1,
013dc89f 2851 "type" : "boolean",
c4808e75
DM
2852 "typetext" : "<boolean>",
2853 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
7aacca6f
DM
2854 }
2855 },
44660702 2856 "type" : "object"
7aacca6f 2857 },
7aacca6f
DM
2858 "permissions" : {
2859 "check" : [
2860 "perm",
2861 "/",
2862 [
44660702 2863 "Sys.Console"
7aacca6f
DM
2864 ]
2865 ]
2866 },
44660702
DM
2867 "protected" : 1,
2868 "returns" : {
2869 "type" : "null"
2870 }
56122987
DM
2871 }
2872 },
2873 "leaf" : 1,
44660702
DM
2874 "path" : "/cluster/ha/groups/{group}",
2875 "text" : "{group}"
56122987 2876 }
44660702
DM
2877 ],
2878 "info" : {
2879 "GET" : {
2880 "description" : "Get HA groups.",
2881 "method" : "GET",
2882 "name" : "index",
2883 "parameters" : {
2884 "additionalProperties" : 0
2885 },
2886 "permissions" : {
2887 "check" : [
2888 "perm",
2889 "/",
2890 [
2891 "Sys.Audit"
2892 ]
2893 ]
2894 },
2895 "returns" : {
2896 "items" : {
2897 "properties" : {
2898 "group" : {
2899 "type" : "string"
2900 }
2901 },
2902 "type" : "object"
2903 },
2904 "links" : [
2905 {
2906 "href" : "{group}",
2907 "rel" : "child"
2908 }
2909 ],
2910 "type" : "array"
2911 }
2912 },
2913 "POST" : {
2914 "description" : "Create a new HA group.",
2915 "method" : "POST",
2916 "name" : "create",
2917 "parameters" : {
2918 "additionalProperties" : 0,
2919 "properties" : {
2920 "comment" : {
2921 "description" : "Description.",
2922 "maxLength" : 4096,
2923 "optional" : 1,
013dc89f
DM
2924 "type" : "string",
2925 "typetext" : "<string>"
44660702
DM
2926 },
2927 "group" : {
2928 "description" : "The HA group identifier.",
2929 "format" : "pve-configid",
013dc89f
DM
2930 "type" : "string",
2931 "typetext" : "<string>"
44660702
DM
2932 },
2933 "nodes" : {
f13c1238 2934 "description" : "List of cluster node names with optional priority.",
44660702
DM
2935 "format" : "pve-ha-group-node-list",
2936 "optional" : 0,
2937 "type" : "string",
f13c1238
DM
2938 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
2939 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
2940 },
2941 "nofailback" : {
2942 "default" : 0,
2943 "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.",
2944 "optional" : 1,
013dc89f
DM
2945 "type" : "boolean",
2946 "typetext" : "<boolean>"
44660702
DM
2947 },
2948 "restricted" : {
2949 "default" : 0,
c4808e75 2950 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 2951 "optional" : 1,
013dc89f 2952 "type" : "boolean",
c4808e75
DM
2953 "typetext" : "<boolean>",
2954 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
44660702
DM
2955 },
2956 "type" : {
2957 "description" : "Group type.",
2958 "enum" : [
2959 "group"
2960 ],
2961 "optional" : 1,
2962 "type" : "string"
2963 }
2964 },
2965 "type" : "object"
2966 },
2967 "permissions" : {
2968 "check" : [
2969 "perm",
2970 "/",
2971 [
2972 "Sys.Console"
2973 ]
2974 ]
2975 },
2976 "protected" : 1,
2977 "returns" : {
2978 "type" : "null"
2979 }
2980 }
2981 },
2982 "leaf" : 0,
2983 "path" : "/cluster/ha/groups",
2984 "text" : "groups"
7aacca6f
DM
2985 },
2986 {
7aacca6f
DM
2987 "children" : [
2988 {
2989 "info" : {
2990 "GET" : {
56122987 2991 "description" : "Get HA manger status.",
44660702 2992 "method" : "GET",
7aacca6f 2993 "name" : "status",
44660702
DM
2994 "parameters" : {
2995 "additionalProperties" : 0
2996 },
56122987
DM
2997 "permissions" : {
2998 "check" : [
2999 "perm",
3000 "/",
3001 [
3002 "Sys.Audit"
3003 ]
3004 ]
7aacca6f 3005 },
44660702
DM
3006 "returns" : {
3007 "type" : "array"
56122987
DM
3008 }
3009 }
7aacca6f 3010 },
7aacca6f 3011 "leaf" : 1,
44660702
DM
3012 "path" : "/cluster/ha/status/current",
3013 "text" : "current"
56122987
DM
3014 },
3015 {
3016 "info" : {
3017 "GET" : {
7aacca6f 3018 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3019 "method" : "GET",
3020 "name" : "manager_status",
7aacca6f
DM
3021 "parameters" : {
3022 "additionalProperties" : 0
3023 },
56122987
DM
3024 "permissions" : {
3025 "check" : [
3026 "perm",
3027 "/",
3028 [
3029 "Sys.Audit"
3030 ]
3031 ]
44660702
DM
3032 },
3033 "returns" : {
3034 "type" : "object"
7aacca6f 3035 }
56122987
DM
3036 }
3037 },
56122987 3038 "leaf" : 1,
44660702
DM
3039 "path" : "/cluster/ha/status/manager_status",
3040 "text" : "manager_status"
56122987
DM
3041 }
3042 ],
56122987
DM
3043 "info" : {
3044 "GET" : {
44660702 3045 "description" : "Directory index.",
7aacca6f 3046 "method" : "GET",
44660702
DM
3047 "name" : "index",
3048 "parameters" : {
3049 "additionalProperties" : 0
3050 },
3051 "permissions" : {
3052 "user" : "all"
3053 },
56122987 3054 "returns" : {
56122987
DM
3055 "items" : {
3056 "properties" : {},
3057 "type" : "object"
3058 },
3059 "links" : [
3060 {
44660702
DM
3061 "href" : "{name}",
3062 "rel" : "child"
56122987 3063 }
7aacca6f
DM
3064 ],
3065 "type" : "array"
44660702 3066 }
56122987 3067 }
7aacca6f 3068 },
44660702 3069 "leaf" : 0,
7aacca6f 3070 "path" : "/cluster/ha/status",
44660702 3071 "text" : "status"
56122987
DM
3072 }
3073 ],
56122987
DM
3074 "info" : {
3075 "GET" : {
7aacca6f 3076 "description" : "Directory index.",
44660702
DM
3077 "method" : "GET",
3078 "name" : "index",
3079 "parameters" : {
3080 "additionalProperties" : 0
3081 },
7aacca6f
DM
3082 "permissions" : {
3083 "check" : [
3084 "perm",
3085 "/",
3086 [
3087 "Sys.Audit"
3088 ]
3089 ]
3090 },
56122987 3091 "returns" : {
56122987 3092 "items" : {
7aacca6f
DM
3093 "properties" : {
3094 "id" : {
3095 "type" : "string"
3096 }
44660702
DM
3097 },
3098 "type" : "object"
7aacca6f
DM
3099 },
3100 "links" : [
3101 {
3102 "href" : "{id}",
3103 "rel" : "child"
3104 }
44660702
DM
3105 ],
3106 "type" : "array"
7aacca6f
DM
3107 }
3108 }
44660702
DM
3109 },
3110 "leaf" : 0,
3111 "path" : "/cluster/ha",
3112 "text" : "ha"
7aacca6f
DM
3113 },
3114 {
7aacca6f
DM
3115 "info" : {
3116 "GET" : {
3117 "description" : "Read cluster log",
44660702
DM
3118 "method" : "GET",
3119 "name" : "log",
56122987 3120 "parameters" : {
7aacca6f 3121 "additionalProperties" : 0,
56122987
DM
3122 "properties" : {
3123 "max" : {
7aacca6f 3124 "description" : "Maximum number of entries.",
44660702
DM
3125 "minimum" : 1,
3126 "optional" : 1,
4bd7df8b 3127 "type" : "integer",
013dc89f 3128 "typetext" : "<integer> (1 - N)"
56122987 3129 }
7aacca6f 3130 }
56122987 3131 },
44660702
DM
3132 "permissions" : {
3133 "user" : "all"
3134 },
7aacca6f 3135 "returns" : {
7aacca6f 3136 "items" : {
44660702
DM
3137 "properties" : {},
3138 "type" : "object"
3139 },
3140 "type" : "array"
7aacca6f 3141 }
56122987 3142 }
44660702
DM
3143 },
3144 "leaf" : 1,
3145 "path" : "/cluster/log",
3146 "text" : "log"
56122987
DM
3147 },
3148 {
56122987
DM
3149 "info" : {
3150 "GET" : {
44660702 3151 "description" : "Resources index (cluster wide).",
7aacca6f 3152 "method" : "GET",
7aacca6f 3153 "name" : "resources",
56122987
DM
3154 "parameters" : {
3155 "additionalProperties" : 0,
3156 "properties" : {
3157 "type" : {
3158 "enum" : [
3159 "vm",
3160 "storage",
3161 "node"
44660702
DM
3162 ],
3163 "optional" : 1,
3164 "type" : "string"
56122987
DM
3165 }
3166 }
3167 },
44660702
DM
3168 "permissions" : {
3169 "user" : "all"
3170 },
3171 "returns" : {
3172 "items" : {
3173 "properties" : {},
3174 "type" : "object"
3175 },
3176 "type" : "array"
3177 }
56122987
DM
3178 }
3179 },
7aacca6f 3180 "leaf" : 1,
44660702
DM
3181 "path" : "/cluster/resources",
3182 "text" : "resources"
56122987
DM
3183 },
3184 {
56122987
DM
3185 "info" : {
3186 "GET" : {
7aacca6f 3187 "description" : "List recent tasks (cluster wide).",
44660702 3188 "method" : "GET",
7aacca6f 3189 "name" : "tasks",
56122987
DM
3190 "parameters" : {
3191 "additionalProperties" : 0
3192 },
44660702
DM
3193 "permissions" : {
3194 "user" : "all"
3195 },
56122987
DM
3196 "returns" : {
3197 "items" : {
3198 "properties" : {
3199 "upid" : {
3200 "type" : "string"
3201 }
44660702
DM
3202 },
3203 "type" : "object"
3204 },
3205 "type" : "array"
7aacca6f 3206 }
56122987
DM
3207 }
3208 },
7aacca6f 3209 "leaf" : 1,
44660702
DM
3210 "path" : "/cluster/tasks",
3211 "text" : "tasks"
56122987
DM
3212 },
3213 {
56122987 3214 "info" : {
7aacca6f 3215 "GET" : {
44660702
DM
3216 "description" : "Get datacenter options.",
3217 "method" : "GET",
3218 "name" : "get_options",
56122987 3219 "parameters" : {
7aacca6f
DM
3220 "additionalProperties" : 0
3221 },
3222 "permissions" : {
3223 "check" : [
3224 "perm",
3225 "/",
3226 [
3227 "Sys.Audit"
3228 ]
3229 ]
3230 },
7aacca6f 3231 "returns" : {
44660702
DM
3232 "properties" : {},
3233 "type" : "object"
7aacca6f
DM
3234 }
3235 },
3236 "PUT" : {
44660702
DM
3237 "description" : "Set datacenter options.",
3238 "method" : "PUT",
7aacca6f
DM
3239 "name" : "set_options",
3240 "parameters" : {
3241 "additionalProperties" : 0,
3242 "properties" : {
56122987 3243 "console" : {
56122987 3244 "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
3245 "enum" : [
3246 "applet",
3247 "vv",
3248 "html5"
44660702
DM
3249 ],
3250 "optional" : 1,
3251 "type" : "string"
56122987 3252 },
7aacca6f 3253 "delete" : {
7aacca6f 3254 "description" : "A list of settings you want to delete.",
44660702 3255 "format" : "pve-configid-list",
7aacca6f 3256 "optional" : 1,
013dc89f
DM
3257 "type" : "string",
3258 "typetext" : "<string>"
7aacca6f 3259 },
44660702
DM
3260 "email_from" : {
3261 "description" : "Specify email address to send notification from (default is root@$hostname)",
3262 "format" : "email-opt",
7aacca6f 3263 "optional" : 1,
013dc89f
DM
3264 "type" : "string",
3265 "typetext" : "<string>"
44660702
DM
3266 },
3267 "fencing" : {
3268 "default" : "watchdog",
3269 "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 3270 "enum" : [
44660702
DM
3271 "watchdog",
3272 "hardware",
3273 "both"
7aacca6f 3274 ],
44660702
DM
3275 "optional" : 1,
3276 "type" : "string"
3277 },
3278 "http_proxy" : {
3279 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3280 "optional" : 1,
3281 "pattern" : "http://.*",
3282 "type" : "string"
7aacca6f 3283 },
56122987 3284 "keyboard" : {
44660702 3285 "description" : "Default keybord layout for vnc server.",
56122987 3286 "enum" : [
44660702
DM
3287 "de",
3288 "de-ch",
7aacca6f 3289 "da",
56122987 3290 "en-gb",
44660702
DM
3291 "en-us",
3292 "es",
3293 "fi",
3294 "fr",
3295 "fr-be",
3296 "fr-ca",
3297 "fr-ch",
3298 "hu",
7aacca6f 3299 "is",
44660702
DM
3300 "it",
3301 "ja",
3302 "lt",
56122987 3303 "mk",
7aacca6f 3304 "nl",
56122987 3305 "no",
44660702 3306 "pl",
7aacca6f 3307 "pt",
44660702
DM
3308 "pt-br",
3309 "sv",
3310 "sl",
3311 "tr"
56122987 3312 ],
56122987
DM
3313 "optional" : 1,
3314 "type" : "string"
3315 },
44660702
DM
3316 "language" : {
3317 "description" : "Default GUI language.",
3318 "enum" : [
3319 "en",
3320 "de"
3321 ],
56122987 3322 "optional" : 1,
44660702 3323 "type" : "string"
56122987 3324 },
4bd7df8b
DM
3325 "mac_prefix" : {
3326 "description" : "Prefix for autogenerated MAC addresses.",
3327 "optional" : 1,
3328 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3329 "type" : "string"
3330 },
44660702
DM
3331 "max_workers" : {
3332 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3333 "minimum" : 1,
56122987 3334 "optional" : 1,
4bd7df8b 3335 "type" : "integer",
013dc89f 3336 "typetext" : "<integer> (1 - N)"
56122987 3337 },
de0983cb
DM
3338 "migration" : {
3339 "description" : "For cluster wide migration settings.",
3340 "format" : {
3341 "network" : {
3342 "description" : "CIDR of the (sub) network that is used for migration.",
3343 "format" : "CIDR",
3344 "format_description" : "CIDR",
3345 "optional" : 1,
3346 "type" : "string"
3347 },
3348 "type" : {
3349 "default" : "secure",
3350 "default_key" : 1,
3351 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3352 "enum" : [
3353 "secure",
3354 "insecure"
3355 ],
3356 "type" : "string"
3357 }
3358 },
3359 "optional" : 1,
3360 "type" : "string",
3361 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3362 },
7aacca6f 3363 "migration_unsecure" : {
de0983cb 3364 "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 3365 "optional" : 1,
013dc89f
DM
3366 "type" : "boolean",
3367 "typetext" : "<boolean>"
56122987
DM
3368 }
3369 }
3370 },
44660702
DM
3371 "permissions" : {
3372 "check" : [
3373 "perm",
3374 "/",
3375 [
3376 "Sys.Modify"
3377 ]
3378 ]
3379 },
56122987 3380 "protected" : 1,
7aacca6f
DM
3381 "returns" : {
3382 "type" : "null"
44660702 3383 }
7aacca6f
DM
3384 }
3385 },
44660702
DM
3386 "leaf" : 1,
3387 "path" : "/cluster/options",
7aacca6f
DM
3388 "text" : "options"
3389 },
3390 {
7aacca6f 3391 "info" : {
56122987 3392 "GET" : {
44660702
DM
3393 "description" : "Get cluster status informations.",
3394 "method" : "GET",
3395 "name" : "get_status",
56122987
DM
3396 "parameters" : {
3397 "additionalProperties" : 0
3398 },
56122987
DM
3399 "permissions" : {
3400 "check" : [
3401 "perm",
3402 "/",
3403 [
3404 "Sys.Audit"
3405 ]
3406 ]
3407 },
7aacca6f 3408 "protected" : 1,
56122987 3409 "returns" : {
56122987 3410 "items" : {
56122987
DM
3411 "properties" : {
3412 "type" : {
3413 "type" : "string"
3414 }
44660702
DM
3415 },
3416 "type" : "object"
7aacca6f
DM
3417 },
3418 "type" : "array"
56122987
DM
3419 }
3420 }
3421 },
44660702 3422 "leaf" : 1,
7aacca6f 3423 "path" : "/cluster/status",
44660702 3424 "text" : "status"
56122987
DM
3425 },
3426 {
56122987
DM
3427 "info" : {
3428 "GET" : {
56122987 3429 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3430 "method" : "GET",
3431 "name" : "nextid",
56122987 3432 "parameters" : {
44660702 3433 "additionalProperties" : 0,
56122987
DM
3434 "properties" : {
3435 "vmid" : {
44660702 3436 "description" : "The (unique) ID of the VM.",
56122987 3437 "format" : "pve-vmid",
7aacca6f 3438 "minimum" : 1,
7aacca6f 3439 "optional" : 1,
4bd7df8b 3440 "type" : "integer",
013dc89f 3441 "typetext" : "<integer> (1 - N)"
56122987 3442 }
44660702 3443 }
56122987 3444 },
7aacca6f
DM
3445 "permissions" : {
3446 "user" : "all"
44660702
DM
3447 },
3448 "returns" : {
3449 "description" : "The next free VMID.",
3450 "type" : "integer"
7aacca6f 3451 }
56122987
DM
3452 }
3453 },
7aacca6f 3454 "leaf" : 1,
44660702
DM
3455 "path" : "/cluster/nextid",
3456 "text" : "nextid"
56122987
DM
3457 }
3458 ],
44660702
DM
3459 "info" : {
3460 "GET" : {
3461 "description" : "Cluster index.",
3462 "method" : "GET",
3463 "name" : "index",
3464 "parameters" : {
3465 "additionalProperties" : 0
3466 },
3467 "permissions" : {
3468 "user" : "all"
3469 },
3470 "returns" : {
3471 "items" : {
3472 "properties" : {},
3473 "type" : "object"
3474 },
3475 "links" : [
3476 {
3477 "href" : "{name}",
3478 "rel" : "child"
3479 }
3480 ],
3481 "type" : "array"
3482 }
3483 }
3484 },
3485 "leaf" : 0,
3486 "path" : "/cluster",
7aacca6f 3487 "text" : "cluster"
56122987
DM
3488 },
3489 {
56122987
DM
3490 "children" : [
3491 {
7aacca6f
DM
3492 "children" : [
3493 {
3494 "children" : [
3495 {
56122987
DM
3496 "children" : [
3497 {
56122987
DM
3498 "children" : [
3499 {
3500 "children" : [
3501 {
56122987
DM
3502 "info" : {
3503 "DELETE" : {
44660702 3504 "description" : "Delete rule.",
7aacca6f 3505 "method" : "DELETE",
44660702 3506 "name" : "delete_rule",
56122987 3507 "parameters" : {
44660702 3508 "additionalProperties" : 0,
56122987 3509 "properties" : {
44660702
DM
3510 "digest" : {
3511 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3512 "maxLength" : 40,
3513 "optional" : 1,
013dc89f
DM
3514 "type" : "string",
3515 "typetext" : "<string>"
44660702 3516 },
56122987 3517 "node" : {
7aacca6f 3518 "description" : "The cluster node name.",
44660702 3519 "format" : "pve-node",
013dc89f
DM
3520 "type" : "string",
3521 "typetext" : "<string>"
7aacca6f 3522 },
56122987 3523 "pos" : {
7aacca6f 3524 "description" : "Update rule at position <pos>.",
44660702 3525 "minimum" : 0,
56122987 3526 "optional" : 1,
4bd7df8b 3527 "type" : "integer",
013dc89f 3528 "typetext" : "<integer> (0 - N)"
44660702
DM
3529 },
3530 "vmid" : {
3531 "description" : "The (unique) ID of the VM.",
3532 "format" : "pve-vmid",
3533 "minimum" : 1,
4bd7df8b 3534 "type" : "integer",
013dc89f 3535 "typetext" : "<integer> (1 - N)"
56122987 3536 }
44660702 3537 }
7aacca6f 3538 },
56122987
DM
3539 "permissions" : {
3540 "check" : [
3541 "perm",
3542 "/vms/{vmid}",
3543 [
3544 "VM.Config.Network"
3545 ]
3546 ]
3547 },
44660702
DM
3548 "protected" : 1,
3549 "proxyto" : null,
56122987
DM
3550 "returns" : {
3551 "type" : "null"
44660702
DM
3552 }
3553 },
3554 "GET" : {
3555 "description" : "Get single rule data.",
3556 "method" : "GET",
3557 "name" : "get_rule",
3558 "parameters" : {
3559 "additionalProperties" : 0,
3560 "properties" : {
3561 "node" : {
3562 "description" : "The cluster node name.",
3563 "format" : "pve-node",
013dc89f
DM
3564 "type" : "string",
3565 "typetext" : "<string>"
44660702
DM
3566 },
3567 "pos" : {
3568 "description" : "Update rule at position <pos>.",
3569 "minimum" : 0,
3570 "optional" : 1,
4bd7df8b 3571 "type" : "integer",
013dc89f 3572 "typetext" : "<integer> (0 - N)"
44660702
DM
3573 },
3574 "vmid" : {
3575 "description" : "The (unique) ID of the VM.",
3576 "format" : "pve-vmid",
3577 "minimum" : 1,
4bd7df8b 3578 "type" : "integer",
013dc89f 3579 "typetext" : "<integer> (1 - N)"
44660702
DM
3580 }
3581 }
56122987 3582 },
56122987
DM
3583 "permissions" : {
3584 "check" : [
3585 "perm",
3586 "/vms/{vmid}",
3587 [
44660702 3588 "VM.Audit"
56122987
DM
3589 ]
3590 ]
3591 },
56122987 3592 "proxyto" : null,
44660702
DM
3593 "returns" : {
3594 "properties" : {
3595 "pos" : {
3596 "type" : "integer"
3597 }
3598 },
3599 "type" : "object"
3600 }
3601 },
3602 "PUT" : {
7aacca6f
DM
3603 "description" : "Modify rule data.",
3604 "method" : "PUT",
44660702 3605 "name" : "update_rule",
56122987 3606 "parameters" : {
44660702 3607 "additionalProperties" : 0,
56122987 3608 "properties" : {
44660702
DM
3609 "action" : {
3610 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3611 "maxLength" : 20,
3612 "minLength" : 2,
56122987 3613 "optional" : 1,
44660702 3614 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3615 "type" : "string"
3616 },
7aacca6f 3617 "comment" : {
e94f0d56 3618 "description" : "Descriptive comment.",
7aacca6f 3619 "optional" : 1,
013dc89f
DM
3620 "type" : "string",
3621 "typetext" : "<string>"
7aacca6f
DM
3622 },
3623 "delete" : {
7aacca6f 3624 "description" : "A list of settings you want to delete.",
44660702
DM
3625 "format" : "pve-configid-list",
3626 "optional" : 1,
013dc89f
DM
3627 "type" : "string",
3628 "typetext" : "<string>"
7aacca6f
DM
3629 },
3630 "dest" : {
44660702 3631 "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 3632 "format" : "pve-fw-addr-spec",
56122987 3633 "optional" : 1,
013dc89f
DM
3634 "type" : "string",
3635 "typetext" : "<string>"
56122987 3636 },
7aacca6f 3637 "digest" : {
44660702 3638 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 3639 "maxLength" : 40,
56122987 3640 "optional" : 1,
013dc89f
DM
3641 "type" : "string",
3642 "typetext" : "<string>"
44660702
DM
3643 },
3644 "dport" : {
3645 "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.",
3646 "format" : "pve-fw-dport-spec",
3647 "optional" : 1,
013dc89f
DM
3648 "type" : "string",
3649 "typetext" : "<string>"
56122987 3650 },
7aacca6f 3651 "enable" : {
e94f0d56 3652 "description" : "Flag to enable/disable a rule.",
44660702 3653 "minimum" : 0,
56122987 3654 "optional" : 1,
4bd7df8b 3655 "type" : "integer",
013dc89f 3656 "typetext" : "<integer> (0 - N)"
7aacca6f 3657 },
44660702
DM
3658 "iface" : {
3659 "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.",
3660 "format" : "pve-iface",
3661 "maxLength" : 20,
7aacca6f 3662 "minLength" : 2,
56122987 3663 "optional" : 1,
013dc89f
DM
3664 "type" : "string",
3665 "typetext" : "<string>"
56122987 3666 },
44660702 3667 "macro" : {
e94f0d56 3668 "description" : "Use predefined standard macro.",
44660702 3669 "maxLength" : 128,
56122987 3670 "optional" : 1,
013dc89f
DM
3671 "type" : "string",
3672 "typetext" : "<string>"
56122987 3673 },
44660702
DM
3674 "moveto" : {
3675 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
3676 "minimum" : 0,
56122987 3677 "optional" : 1,
4bd7df8b 3678 "type" : "integer",
013dc89f 3679 "typetext" : "<integer> (0 - N)"
56122987 3680 },
44660702
DM
3681 "node" : {
3682 "description" : "The cluster node name.",
3683 "format" : "pve-node",
013dc89f
DM
3684 "type" : "string",
3685 "typetext" : "<string>"
44660702
DM
3686 },
3687 "pos" : {
3688 "description" : "Update rule at position <pos>.",
3689 "minimum" : 0,
3690 "optional" : 1,
4bd7df8b 3691 "type" : "integer",
013dc89f 3692 "typetext" : "<integer> (0 - N)"
56122987 3693 },
44660702
DM
3694 "proto" : {
3695 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3696 "format" : "pve-fw-protocol-spec",
3697 "optional" : 1,
013dc89f
DM
3698 "type" : "string",
3699 "typetext" : "<string>"
7aacca6f 3700 },
44660702
DM
3701 "source" : {
3702 "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.",
3703 "format" : "pve-fw-addr-spec",
56122987 3704 "optional" : 1,
013dc89f
DM
3705 "type" : "string",
3706 "typetext" : "<string>"
56122987
DM
3707 },
3708 "sport" : {
3709 "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
3710 "format" : "pve-fw-sport-spec",
3711 "optional" : 1,
013dc89f
DM
3712 "type" : "string",
3713 "typetext" : "<string>"
44660702
DM
3714 },
3715 "type" : {
e94f0d56 3716 "description" : "Rule type.",
44660702
DM
3717 "enum" : [
3718 "in",
3719 "out",
3720 "group"
3721 ],
56122987 3722 "optional" : 1,
56122987 3723 "type" : "string"
44660702
DM
3724 },
3725 "vmid" : {
3726 "description" : "The (unique) ID of the VM.",
3727 "format" : "pve-vmid",
3728 "minimum" : 1,
4bd7df8b 3729 "type" : "integer",
013dc89f 3730 "typetext" : "<integer> (1 - N)"
56122987 3731 }
44660702 3732 }
56122987 3733 },
56122987
DM
3734 "permissions" : {
3735 "check" : [
3736 "perm",
3737 "/vms/{vmid}",
3738 [
44660702 3739 "VM.Config.Network"
56122987
DM
3740 ]
3741 ]
7aacca6f 3742 },
44660702 3743 "protected" : 1,
7aacca6f 3744 "proxyto" : null,
7aacca6f 3745 "returns" : {
44660702
DM
3746 "type" : "null"
3747 }
56122987 3748 }
7aacca6f 3749 },
44660702 3750 "leaf" : 1,
7aacca6f 3751 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 3752 "text" : "{pos}"
56122987
DM
3753 }
3754 ],
56122987 3755 "info" : {
44660702
DM
3756 "GET" : {
3757 "description" : "List rules.",
3758 "method" : "GET",
3759 "name" : "get_rules",
3760 "parameters" : {
3761 "additionalProperties" : 0,
3762 "properties" : {
3763 "node" : {
3764 "description" : "The cluster node name.",
3765 "format" : "pve-node",
013dc89f
DM
3766 "type" : "string",
3767 "typetext" : "<string>"
44660702
DM
3768 },
3769 "vmid" : {
3770 "description" : "The (unique) ID of the VM.",
3771 "format" : "pve-vmid",
3772 "minimum" : 1,
4bd7df8b 3773 "type" : "integer",
013dc89f 3774 "typetext" : "<integer> (1 - N)"
44660702
DM
3775 }
3776 }
56122987 3777 },
56122987
DM
3778 "permissions" : {
3779 "check" : [
3780 "perm",
3781 "/vms/{vmid}",
3782 [
44660702 3783 "VM.Audit"
56122987
DM
3784 ]
3785 ]
7aacca6f 3786 },
44660702
DM
3787 "proxyto" : null,
3788 "returns" : {
3789 "items" : {
3790 "properties" : {
3791 "pos" : {
3792 "type" : "integer"
3793 }
3794 },
3795 "type" : "object"
3796 },
3797 "links" : [
3798 {
3799 "href" : "{pos}",
3800 "rel" : "child"
3801 }
3802 ],
3803 "type" : "array"
3804 }
3805 },
3806 "POST" : {
3807 "description" : "Create new rule.",
7aacca6f 3808 "method" : "POST",
44660702 3809 "name" : "create_rule",
56122987 3810 "parameters" : {
44660702 3811 "additionalProperties" : 0,
56122987 3812 "properties" : {
44660702
DM
3813 "action" : {
3814 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3815 "maxLength" : 20,
3816 "minLength" : 2,
3817 "optional" : 0,
3818 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3819 "type" : "string"
56122987 3820 },
44660702 3821 "comment" : {
e94f0d56 3822 "description" : "Descriptive comment.",
56122987 3823 "optional" : 1,
013dc89f
DM
3824 "type" : "string",
3825 "typetext" : "<string>"
56122987 3826 },
44660702
DM
3827 "dest" : {
3828 "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.",
3829 "format" : "pve-fw-addr-spec",
3830 "optional" : 1,
013dc89f
DM
3831 "type" : "string",
3832 "typetext" : "<string>"
56122987 3833 },
44660702
DM
3834 "digest" : {
3835 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3836 "maxLength" : 40,
56122987 3837 "optional" : 1,
013dc89f
DM
3838 "type" : "string",
3839 "typetext" : "<string>"
56122987 3840 },
7aacca6f
DM
3841 "dport" : {
3842 "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 3843 "format" : "pve-fw-dport-spec",
7aacca6f 3844 "optional" : 1,
013dc89f
DM
3845 "type" : "string",
3846 "typetext" : "<string>"
56122987
DM
3847 },
3848 "enable" : {
e94f0d56 3849 "description" : "Flag to enable/disable a rule.",
56122987 3850 "minimum" : 0,
44660702 3851 "optional" : 1,
4bd7df8b 3852 "type" : "integer",
013dc89f 3853 "typetext" : "<integer> (0 - N)"
56122987 3854 },
44660702
DM
3855 "iface" : {
3856 "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.",
3857 "format" : "pve-iface",
3858 "maxLength" : 20,
7aacca6f 3859 "minLength" : 2,
44660702 3860 "optional" : 1,
013dc89f
DM
3861 "type" : "string",
3862 "typetext" : "<string>"
56122987 3863 },
44660702 3864 "macro" : {
e94f0d56 3865 "description" : "Use predefined standard macro.",
44660702 3866 "maxLength" : 128,
56122987 3867 "optional" : 1,
013dc89f
DM
3868 "type" : "string",
3869 "typetext" : "<string>"
7aacca6f 3870 },
44660702
DM
3871 "node" : {
3872 "description" : "The cluster node name.",
3873 "format" : "pve-node",
013dc89f
DM
3874 "type" : "string",
3875 "typetext" : "<string>"
44660702
DM
3876 },
3877 "pos" : {
3878 "description" : "Update rule at position <pos>.",
3879 "minimum" : 0,
3880 "optional" : 1,
4bd7df8b 3881 "type" : "integer",
013dc89f 3882 "typetext" : "<integer> (0 - N)"
44660702
DM
3883 },
3884 "proto" : {
3885 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3886 "format" : "pve-fw-protocol-spec",
7aacca6f 3887 "optional" : 1,
013dc89f
DM
3888 "type" : "string",
3889 "typetext" : "<string>"
7aacca6f
DM
3890 },
3891 "source" : {
3892 "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 3893 "format" : "pve-fw-addr-spec",
7aacca6f 3894 "optional" : 1,
013dc89f
DM
3895 "type" : "string",
3896 "typetext" : "<string>"
7aacca6f 3897 },
44660702
DM
3898 "sport" : {
3899 "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.",
3900 "format" : "pve-fw-sport-spec",
7aacca6f 3901 "optional" : 1,
013dc89f
DM
3902 "type" : "string",
3903 "typetext" : "<string>"
7aacca6f 3904 },
44660702 3905 "type" : {
e94f0d56 3906 "description" : "Rule type.",
44660702
DM
3907 "enum" : [
3908 "in",
3909 "out",
3910 "group"
3911 ],
3912 "optional" : 0,
3913 "type" : "string"
7aacca6f 3914 },
7aacca6f 3915 "vmid" : {
44660702 3916 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
3917 "format" : "pve-vmid",
3918 "minimum" : 1,
4bd7df8b 3919 "type" : "integer",
013dc89f 3920 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
3921 }
3922 }
3923 },
56122987
DM
3924 "permissions" : {
3925 "check" : [
3926 "perm",
3927 "/vms/{vmid}",
3928 [
44660702 3929 "VM.Config.Network"
56122987
DM
3930 ]
3931 ]
3932 },
44660702
DM
3933 "protected" : 1,
3934 "proxyto" : null,
56122987 3935 "returns" : {
44660702
DM
3936 "type" : "null"
3937 }
56122987
DM
3938 }
3939 },
44660702 3940 "leaf" : 0,
7aacca6f 3941 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 3942 "text" : "rules"
56122987
DM
3943 },
3944 {
3945 "children" : [
3946 {
56122987 3947 "info" : {
44660702
DM
3948 "DELETE" : {
3949 "description" : "Remove IP or Network alias.",
3950 "method" : "DELETE",
3951 "name" : "remove_alias",
56122987 3952 "parameters" : {
44660702 3953 "additionalProperties" : 0,
56122987 3954 "properties" : {
44660702
DM
3955 "digest" : {
3956 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3957 "maxLength" : 40,
3958 "optional" : 1,
013dc89f
DM
3959 "type" : "string",
3960 "typetext" : "<string>"
56122987
DM
3961 },
3962 "name" : {
56122987 3963 "description" : "Alias name.",
44660702 3964 "maxLength" : 64,
7aacca6f 3965 "minLength" : 2,
44660702 3966 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
3967 "type" : "string"
3968 },
7aacca6f 3969 "node" : {
44660702 3970 "description" : "The cluster node name.",
7aacca6f 3971 "format" : "pve-node",
013dc89f
DM
3972 "type" : "string",
3973 "typetext" : "<string>"
44660702
DM
3974 },
3975 "vmid" : {
3976 "description" : "The (unique) ID of the VM.",
3977 "format" : "pve-vmid",
3978 "minimum" : 1,
4bd7df8b 3979 "type" : "integer",
013dc89f 3980 "typetext" : "<integer> (1 - N)"
56122987 3981 }
44660702 3982 }
56122987 3983 },
7aacca6f
DM
3984 "permissions" : {
3985 "check" : [
3986 "perm",
3987 "/vms/{vmid}",
3988 [
3989 "VM.Config.Network"
3990 ]
3991 ]
56122987 3992 },
44660702
DM
3993 "protected" : 1,
3994 "returns" : {
3995 "type" : "null"
3996 }
3997 },
3998 "GET" : {
3999 "description" : "Read alias.",
4000 "method" : "GET",
4001 "name" : "read_alias",
56122987 4002 "parameters" : {
44660702 4003 "additionalProperties" : 0,
56122987 4004 "properties" : {
56122987 4005 "name" : {
7aacca6f 4006 "description" : "Alias name.",
44660702 4007 "maxLength" : 64,
56122987 4008 "minLength" : 2,
44660702 4009 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4010 "type" : "string"
7aacca6f
DM
4011 },
4012 "node" : {
4013 "description" : "The cluster node name.",
44660702 4014 "format" : "pve-node",
013dc89f
DM
4015 "type" : "string",
4016 "typetext" : "<string>"
44660702
DM
4017 },
4018 "vmid" : {
4019 "description" : "The (unique) ID of the VM.",
4020 "format" : "pve-vmid",
4021 "minimum" : 1,
4bd7df8b 4022 "type" : "integer",
013dc89f 4023 "typetext" : "<integer> (1 - N)"
56122987 4024 }
44660702 4025 }
56122987 4026 },
44660702
DM
4027 "permissions" : {
4028 "check" : [
4029 "perm",
4030 "/vms/{vmid}",
4031 [
4032 "VM.Audit"
4033 ]
4034 ]
56122987 4035 },
44660702
DM
4036 "returns" : {
4037 "type" : "object"
4038 }
7aacca6f 4039 },
44660702
DM
4040 "PUT" : {
4041 "description" : "Update IP or Network alias.",
4042 "method" : "PUT",
4043 "name" : "update_alias",
56122987
DM
4044 "parameters" : {
4045 "additionalProperties" : 0,
4046 "properties" : {
44660702
DM
4047 "cidr" : {
4048 "description" : "Network/IP specification in CIDR format.",
4049 "format" : "IPorCIDR",
013dc89f
DM
4050 "type" : "string",
4051 "typetext" : "<string>"
44660702
DM
4052 },
4053 "comment" : {
4054 "optional" : 1,
013dc89f
DM
4055 "type" : "string",
4056 "typetext" : "<string>"
56122987
DM
4057 },
4058 "digest" : {
44660702 4059 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4060 "maxLength" : 40,
4061 "optional" : 1,
013dc89f
DM
4062 "type" : "string",
4063 "typetext" : "<string>"
56122987 4064 },
7aacca6f 4065 "name" : {
44660702 4066 "description" : "Alias name.",
56122987
DM
4067 "maxLength" : 64,
4068 "minLength" : 2,
4069 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4070 "type" : "string"
7aacca6f
DM
4071 },
4072 "node" : {
7aacca6f 4073 "description" : "The cluster node name.",
44660702 4074 "format" : "pve-node",
013dc89f
DM
4075 "type" : "string",
4076 "typetext" : "<string>"
44660702
DM
4077 },
4078 "rename" : {
4079 "description" : "Rename an existing alias.",
4080 "maxLength" : 64,
4081 "minLength" : 2,
4082 "optional" : 1,
4083 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4084 "type" : "string"
4085 },
4086 "vmid" : {
4087 "description" : "The (unique) ID of the VM.",
4088 "format" : "pve-vmid",
4089 "minimum" : 1,
4bd7df8b 4090 "type" : "integer",
013dc89f 4091 "typetext" : "<integer> (1 - N)"
56122987
DM
4092 }
4093 }
4094 },
7aacca6f
DM
4095 "permissions" : {
4096 "check" : [
4097 "perm",
4098 "/vms/{vmid}",
4099 [
4100 "VM.Config.Network"
4101 ]
4102 ]
4103 },
4104 "protected" : 1,
7aacca6f
DM
4105 "returns" : {
4106 "type" : "null"
44660702 4107 }
56122987
DM
4108 }
4109 },
44660702 4110 "leaf" : 1,
7aacca6f 4111 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4112 "text" : "{name}"
56122987
DM
4113 }
4114 ],
4115 "info" : {
44660702
DM
4116 "GET" : {
4117 "description" : "List aliases",
4118 "method" : "GET",
4119 "name" : "get_aliases",
56122987 4120 "parameters" : {
44660702 4121 "additionalProperties" : 0,
56122987 4122 "properties" : {
7aacca6f 4123 "node" : {
7aacca6f 4124 "description" : "The cluster node name.",
44660702 4125 "format" : "pve-node",
013dc89f
DM
4126 "type" : "string",
4127 "typetext" : "<string>"
56122987 4128 },
44660702
DM
4129 "vmid" : {
4130 "description" : "The (unique) ID of the VM.",
4131 "format" : "pve-vmid",
4132 "minimum" : 1,
4bd7df8b 4133 "type" : "integer",
013dc89f 4134 "typetext" : "<integer> (1 - N)"
56122987 4135 }
44660702 4136 }
56122987 4137 },
56122987
DM
4138 "permissions" : {
4139 "check" : [
4140 "perm",
4141 "/vms/{vmid}",
4142 [
44660702 4143 "VM.Audit"
56122987
DM
4144 ]
4145 ]
4146 },
56122987
DM
4147 "returns" : {
4148 "items" : {
4149 "properties" : {
44660702 4150 "cidr" : {
56122987
DM
4151 "type" : "string"
4152 },
44660702
DM
4153 "comment" : {
4154 "optional" : 1,
7aacca6f 4155 "type" : "string"
56122987
DM
4156 },
4157 "digest" : {
56122987 4158 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4159 "maxLength" : 40,
56122987
DM
4160 "optional" : 0,
4161 "type" : "string"
4162 },
44660702 4163 "name" : {
56122987
DM
4164 "type" : "string"
4165 }
44660702
DM
4166 },
4167 "type" : "object"
56122987 4168 },
56122987
DM
4169 "links" : [
4170 {
4171 "href" : "{name}",
4172 "rel" : "child"
4173 }
44660702
DM
4174 ],
4175 "type" : "array"
4176 }
4177 },
4178 "POST" : {
4179 "description" : "Create IP or Network Alias.",
4180 "method" : "POST",
4181 "name" : "create_alias",
56122987 4182 "parameters" : {
7aacca6f 4183 "additionalProperties" : 0,
56122987 4184 "properties" : {
44660702
DM
4185 "cidr" : {
4186 "description" : "Network/IP specification in CIDR format.",
4187 "format" : "IPorCIDR",
013dc89f
DM
4188 "type" : "string",
4189 "typetext" : "<string>"
44660702
DM
4190 },
4191 "comment" : {
4192 "optional" : 1,
013dc89f
DM
4193 "type" : "string",
4194 "typetext" : "<string>"
44660702
DM
4195 },
4196 "name" : {
4197 "description" : "Alias name.",
4198 "maxLength" : 64,
4199 "minLength" : 2,
4200 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4201 "type" : "string"
56122987
DM
4202 },
4203 "node" : {
7aacca6f 4204 "description" : "The cluster node name.",
44660702 4205 "format" : "pve-node",
013dc89f
DM
4206 "type" : "string",
4207 "typetext" : "<string>"
44660702
DM
4208 },
4209 "vmid" : {
4210 "description" : "The (unique) ID of the VM.",
4211 "format" : "pve-vmid",
4212 "minimum" : 1,
4bd7df8b 4213 "type" : "integer",
013dc89f 4214 "typetext" : "<integer> (1 - N)"
56122987 4215 }
7aacca6f 4216 }
56122987 4217 },
44660702
DM
4218 "permissions" : {
4219 "check" : [
4220 "perm",
4221 "/vms/{vmid}",
4222 [
4223 "VM.Config.Network"
4224 ]
4225 ]
4226 },
4227 "protected" : 1,
4228 "returns" : {
4229 "type" : "null"
4230 }
56122987 4231 }
44660702
DM
4232 },
4233 "leaf" : 0,
4234 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4235 "text" : "aliases"
56122987
DM
4236 },
4237 {
56122987
DM
4238 "children" : [
4239 {
7aacca6f
DM
4240 "children" : [
4241 {
4242 "info" : {
4243 "DELETE" : {
44660702 4244 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4245 "method" : "DELETE",
44660702 4246 "name" : "remove_ip",
7aacca6f 4247 "parameters" : {
44660702 4248 "additionalProperties" : 0,
7aacca6f 4249 "properties" : {
44660702
DM
4250 "cidr" : {
4251 "description" : "Network/IP specification in CIDR format.",
4252 "format" : "IPorCIDRorAlias",
013dc89f
DM
4253 "type" : "string",
4254 "typetext" : "<string>"
44660702
DM
4255 },
4256 "digest" : {
4257 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4258 "maxLength" : 40,
4259 "optional" : 1,
013dc89f
DM
4260 "type" : "string",
4261 "typetext" : "<string>"
44660702 4262 },
7aacca6f 4263 "name" : {
7aacca6f 4264 "description" : "IP set name.",
44660702
DM
4265 "maxLength" : 64,
4266 "minLength" : 2,
7aacca6f 4267 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4268 "type" : "string"
7aacca6f
DM
4269 },
4270 "node" : {
4271 "description" : "The cluster node name.",
44660702 4272 "format" : "pve-node",
013dc89f
DM
4273 "type" : "string",
4274 "typetext" : "<string>"
7aacca6f
DM
4275 },
4276 "vmid" : {
44660702 4277 "description" : "The (unique) ID of the VM.",
7aacca6f 4278 "format" : "pve-vmid",
44660702 4279 "minimum" : 1,
4bd7df8b 4280 "type" : "integer",
013dc89f 4281 "typetext" : "<integer> (1 - N)"
7aacca6f 4282 }
44660702 4283 }
7aacca6f 4284 },
7aacca6f
DM
4285 "permissions" : {
4286 "check" : [
4287 "perm",
4288 "/vms/{vmid}",
4289 [
4290 "VM.Config.Network"
4291 ]
4292 ]
4293 },
4294 "protected" : 1,
44660702
DM
4295 "returns" : {
4296 "type" : "null"
4297 }
56122987 4298 },
44660702
DM
4299 "GET" : {
4300 "description" : "Read IP or Network settings from IPSet.",
4301 "method" : "GET",
4302 "name" : "read_ip",
7aacca6f 4303 "parameters" : {
44660702 4304 "additionalProperties" : 0,
7aacca6f 4305 "properties" : {
7aacca6f 4306 "cidr" : {
44660702 4307 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4308 "format" : "IPorCIDRorAlias",
013dc89f
DM
4309 "type" : "string",
4310 "typetext" : "<string>"
7aacca6f
DM
4311 },
4312 "name" : {
7aacca6f 4313 "description" : "IP set name.",
44660702 4314 "maxLength" : 64,
7aacca6f 4315 "minLength" : 2,
44660702
DM
4316 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4317 "type" : "string"
7aacca6f 4318 },
44660702
DM
4319 "node" : {
4320 "description" : "The cluster node name.",
4321 "format" : "pve-node",
013dc89f
DM
4322 "type" : "string",
4323 "typetext" : "<string>"
7aacca6f 4324 },
44660702
DM
4325 "vmid" : {
4326 "description" : "The (unique) ID of the VM.",
4327 "format" : "pve-vmid",
4328 "minimum" : 1,
4bd7df8b 4329 "type" : "integer",
013dc89f 4330 "typetext" : "<integer> (1 - N)"
7aacca6f 4331 }
44660702 4332 }
7aacca6f 4333 },
44660702
DM
4334 "permissions" : {
4335 "check" : [
4336 "perm",
4337 "/vms/{vmid}",
4338 [
4339 "VM.Audit"
4340 ]
4341 ]
4342 },
4343 "protected" : 1,
7aacca6f 4344 "returns" : {
44660702 4345 "type" : "object"
7aacca6f 4346 }
56122987 4347 },
44660702
DM
4348 "PUT" : {
4349 "description" : "Update IP or Network settings",
4350 "method" : "PUT",
4351 "name" : "update_ip",
7aacca6f
DM
4352 "parameters" : {
4353 "additionalProperties" : 0,
4354 "properties" : {
44660702
DM
4355 "cidr" : {
4356 "description" : "Network/IP specification in CIDR format.",
4357 "format" : "IPorCIDRorAlias",
013dc89f
DM
4358 "type" : "string",
4359 "typetext" : "<string>"
44660702
DM
4360 },
4361 "comment" : {
4362 "optional" : 1,
013dc89f
DM
4363 "type" : "string",
4364 "typetext" : "<string>"
44660702
DM
4365 },
4366 "digest" : {
4367 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4368 "maxLength" : 40,
4369 "optional" : 1,
013dc89f
DM
4370 "type" : "string",
4371 "typetext" : "<string>"
44660702 4372 },
7aacca6f 4373 "name" : {
7aacca6f 4374 "description" : "IP set name.",
44660702 4375 "maxLength" : 64,
7aacca6f 4376 "minLength" : 2,
44660702
DM
4377 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4378 "type" : "string"
7aacca6f
DM
4379 },
4380 "node" : {
7aacca6f 4381 "description" : "The cluster node name.",
44660702 4382 "format" : "pve-node",
013dc89f
DM
4383 "type" : "string",
4384 "typetext" : "<string>"
7aacca6f 4385 },
44660702
DM
4386 "nomatch" : {
4387 "optional" : 1,
013dc89f
DM
4388 "type" : "boolean",
4389 "typetext" : "<boolean>"
7aacca6f
DM
4390 },
4391 "vmid" : {
4392 "description" : "The (unique) ID of the VM.",
44660702 4393 "format" : "pve-vmid",
7aacca6f 4394 "minimum" : 1,
4bd7df8b 4395 "type" : "integer",
013dc89f 4396 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4397 }
4398 }
4399 },
4400 "permissions" : {
4401 "check" : [
4402 "perm",
4403 "/vms/{vmid}",
4404 [
44660702 4405 "VM.Config.Network"
7aacca6f
DM
4406 ]
4407 ]
4408 },
7aacca6f 4409 "protected" : 1,
7aacca6f 4410 "returns" : {
44660702 4411 "type" : "null"
7aacca6f 4412 }
56122987 4413 }
7aacca6f 4414 },
7aacca6f 4415 "leaf" : 1,
44660702
DM
4416 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4417 "text" : "{cidr}"
7aacca6f 4418 }
44660702
DM
4419 ],
4420 "info" : {
4421 "DELETE" : {
4422 "description" : "Delete IPSet",
4423 "method" : "DELETE",
4424 "name" : "delete_ipset",
4425 "parameters" : {
4426 "additionalProperties" : 0,
4427 "properties" : {
4428 "name" : {
4429 "description" : "IP set name.",
4430 "maxLength" : 64,
4431 "minLength" : 2,
4432 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4433 "type" : "string"
4434 },
4435 "node" : {
4436 "description" : "The cluster node name.",
4437 "format" : "pve-node",
013dc89f
DM
4438 "type" : "string",
4439 "typetext" : "<string>"
44660702
DM
4440 },
4441 "vmid" : {
4442 "description" : "The (unique) ID of the VM.",
4443 "format" : "pve-vmid",
4444 "minimum" : 1,
4bd7df8b 4445 "type" : "integer",
013dc89f 4446 "typetext" : "<integer> (1 - N)"
44660702
DM
4447 }
4448 }
7aacca6f 4449 },
44660702
DM
4450 "permissions" : {
4451 "check" : [
4452 "perm",
4453 "/vms/{vmid}",
4454 [
4455 "VM.Config.Network"
4456 ]
4457 ]
7aacca6f 4458 },
44660702
DM
4459 "protected" : 1,
4460 "returns" : {
4461 "type" : "null"
4462 }
4463 },
4464 "GET" : {
4465 "description" : "List IPSet content",
4466 "method" : "GET",
4467 "name" : "get_ipset",
4468 "parameters" : {
4469 "additionalProperties" : 0,
4470 "properties" : {
4471 "name" : {
4472 "description" : "IP set name.",
4473 "maxLength" : 64,
4474 "minLength" : 2,
4475 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4476 "type" : "string"
4477 },
4478 "node" : {
4479 "description" : "The cluster node name.",
4480 "format" : "pve-node",
013dc89f
DM
4481 "type" : "string",
4482 "typetext" : "<string>"
44660702
DM
4483 },
4484 "vmid" : {
4485 "description" : "The (unique) ID of the VM.",
4486 "format" : "pve-vmid",
4487 "minimum" : 1,
4bd7df8b 4488 "type" : "integer",
013dc89f 4489 "typetext" : "<integer> (1 - N)"
44660702
DM
4490 }
4491 }
7aacca6f 4492 },
44660702
DM
4493 "permissions" : {
4494 "check" : [
4495 "perm",
4496 "/vms/{vmid}",
4497 [
4498 "VM.Audit"
4499 ]
4500 ]
7aacca6f 4501 },
44660702
DM
4502 "returns" : {
4503 "items" : {
4504 "properties" : {
4505 "cidr" : {
4506 "type" : "string"
4507 },
4508 "comment" : {
4509 "optional" : 1,
4510 "type" : "string"
4511 },
4512 "digest" : {
4513 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4514 "maxLength" : 40,
4515 "optional" : 0,
4516 "type" : "string"
4517 },
4518 "nomatch" : {
4519 "optional" : 1,
4520 "type" : "boolean"
4521 }
4522 },
4523 "type" : "object"
4524 },
4525 "links" : [
4526 {
4527 "href" : "{cidr}",
4528 "rel" : "child"
4529 }
4530 ],
4531 "type" : "array"
56122987
DM
4532 }
4533 },
44660702
DM
4534 "POST" : {
4535 "description" : "Add IP or Network to IPSet.",
4536 "method" : "POST",
4537 "name" : "create_ip",
4538 "parameters" : {
4539 "additionalProperties" : 0,
4540 "properties" : {
4541 "cidr" : {
4542 "description" : "Network/IP specification in CIDR format.",
4543 "format" : "IPorCIDRorAlias",
013dc89f
DM
4544 "type" : "string",
4545 "typetext" : "<string>"
44660702
DM
4546 },
4547 "comment" : {
4548 "optional" : 1,
013dc89f
DM
4549 "type" : "string",
4550 "typetext" : "<string>"
44660702
DM
4551 },
4552 "name" : {
4553 "description" : "IP set name.",
4554 "maxLength" : 64,
4555 "minLength" : 2,
4556 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4557 "type" : "string"
4558 },
4559 "node" : {
4560 "description" : "The cluster node name.",
4561 "format" : "pve-node",
013dc89f
DM
4562 "type" : "string",
4563 "typetext" : "<string>"
44660702
DM
4564 },
4565 "nomatch" : {
4566 "optional" : 1,
013dc89f
DM
4567 "type" : "boolean",
4568 "typetext" : "<boolean>"
44660702
DM
4569 },
4570 "vmid" : {
4571 "description" : "The (unique) ID of the VM.",
4572 "format" : "pve-vmid",
4573 "minimum" : 1,
4bd7df8b 4574 "type" : "integer",
013dc89f 4575 "typetext" : "<integer> (1 - N)"
44660702
DM
4576 }
4577 }
4578 },
4579 "permissions" : {
4580 "check" : [
4581 "perm",
4582 "/vms/{vmid}",
4583 [
4584 "VM.Config.Network"
4585 ]
4586 ]
4587 },
4588 "protected" : 1,
4589 "returns" : {
4590 "type" : "null"
4591 }
4592 }
4593 },
4594 "leaf" : 0,
4595 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4596 "text" : "{name}"
4597 }
4598 ],
4599 "info" : {
4600 "GET" : {
4601 "description" : "List IPSets",
4602 "method" : "GET",
4603 "name" : "ipset_index",
4604 "parameters" : {
4605 "additionalProperties" : 0,
4606 "properties" : {
4607 "node" : {
4608 "description" : "The cluster node name.",
4609 "format" : "pve-node",
013dc89f
DM
4610 "type" : "string",
4611 "typetext" : "<string>"
44660702
DM
4612 },
4613 "vmid" : {
4614 "description" : "The (unique) ID of the VM.",
4615 "format" : "pve-vmid",
4616 "minimum" : 1,
4bd7df8b 4617 "type" : "integer",
013dc89f 4618 "typetext" : "<integer> (1 - N)"
44660702
DM
4619 }
4620 }
56122987
DM
4621 },
4622 "permissions" : {
4623 "check" : [
4624 "perm",
4625 "/vms/{vmid}",
4626 [
44660702 4627 "VM.Audit"
56122987
DM
4628 ]
4629 ]
4630 },
7aacca6f 4631 "returns" : {
7aacca6f
DM
4632 "items" : {
4633 "properties" : {
7aacca6f
DM
4634 "comment" : {
4635 "optional" : 1,
4636 "type" : "string"
4637 },
4638 "digest" : {
7aacca6f 4639 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
4640 "maxLength" : 40,
4641 "optional" : 0,
4642 "type" : "string"
4643 },
4644 "name" : {
4645 "description" : "IP set name.",
4646 "maxLength" : 64,
4647 "minLength" : 2,
4648 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4649 "type" : "string"
7aacca6f
DM
4650 }
4651 },
4652 "type" : "object"
4653 },
4654 "links" : [
4655 {
44660702
DM
4656 "href" : "{name}",
4657 "rel" : "child"
7aacca6f 4658 }
44660702
DM
4659 ],
4660 "type" : "array"
4661 }
4662 },
4663 "POST" : {
4664 "description" : "Create new IPSet",
4665 "method" : "POST",
4666 "name" : "create_ipset",
56122987
DM
4667 "parameters" : {
4668 "additionalProperties" : 0,
4669 "properties" : {
44660702
DM
4670 "comment" : {
4671 "optional" : 1,
013dc89f
DM
4672 "type" : "string",
4673 "typetext" : "<string>"
56122987 4674 },
44660702
DM
4675 "digest" : {
4676 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4677 "maxLength" : 40,
4678 "optional" : 1,
013dc89f
DM
4679 "type" : "string",
4680 "typetext" : "<string>"
44660702
DM
4681 },
4682 "name" : {
4683 "description" : "IP set name.",
4684 "maxLength" : 64,
4685 "minLength" : 2,
4686 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4687 "type" : "string"
4688 },
4689 "node" : {
4690 "description" : "The cluster node name.",
4691 "format" : "pve-node",
013dc89f
DM
4692 "type" : "string",
4693 "typetext" : "<string>"
44660702
DM
4694 },
4695 "rename" : {
4696 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
4697 "maxLength" : 64,
4698 "minLength" : 2,
4699 "optional" : 1,
4700 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4701 "type" : "string"
4702 },
4703 "vmid" : {
4704 "description" : "The (unique) ID of the VM.",
4705 "format" : "pve-vmid",
4706 "minimum" : 1,
4bd7df8b 4707 "type" : "integer",
013dc89f 4708 "typetext" : "<integer> (1 - N)"
44660702
DM
4709 }
4710 }
4711 },
7aacca6f
DM
4712 "permissions" : {
4713 "check" : [
4714 "perm",
4715 "/vms/{vmid}",
4716 [
4717 "VM.Config.Network"
4718 ]
4719 ]
4720 },
44660702 4721 "protected" : 1,
56122987 4722 "returns" : {
7aacca6f 4723 "type" : "null"
44660702
DM
4724 }
4725 }
4726 },
4727 "leaf" : 0,
4728 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
4729 "text" : "ipset"
4730 },
4731 {
4732 "info" : {
4733 "GET" : {
4734 "description" : "Get VM firewall options.",
4735 "method" : "GET",
4736 "name" : "get_options",
7aacca6f
DM
4737 "parameters" : {
4738 "additionalProperties" : 0,
56122987 4739 "properties" : {
7aacca6f
DM
4740 "node" : {
4741 "description" : "The cluster node name.",
44660702 4742 "format" : "pve-node",
013dc89f
DM
4743 "type" : "string",
4744 "typetext" : "<string>"
7aacca6f 4745 },
44660702
DM
4746 "vmid" : {
4747 "description" : "The (unique) ID of the VM.",
4748 "format" : "pve-vmid",
4749 "minimum" : 1,
4bd7df8b 4750 "type" : "integer",
013dc89f 4751 "typetext" : "<integer> (1 - N)"
44660702
DM
4752 }
4753 }
4754 },
4755 "permissions" : {
4756 "check" : [
4757 "perm",
4758 "/vms/{vmid}",
4759 [
4760 "VM.Audit"
4761 ]
4762 ]
4763 },
4764 "proxyto" : "node",
4765 "returns" : {
4766 "properties" : {
4767 "dhcp" : {
4768 "description" : "Enable DHCP.",
56122987 4769 "optional" : 1,
44660702 4770 "type" : "boolean"
56122987 4771 },
44660702
DM
4772 "enable" : {
4773 "description" : "Enable/disable firewall rules.",
7aacca6f 4774 "optional" : 1,
44660702 4775 "type" : "boolean"
56122987 4776 },
44660702
DM
4777 "ipfilter" : {
4778 "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 4779 "optional" : 1,
44660702 4780 "type" : "boolean"
7aacca6f 4781 },
56122987 4782 "log_level_in" : {
7aacca6f 4783 "description" : "Log level for incoming traffic.",
56122987
DM
4784 "enum" : [
4785 "emerg",
4786 "alert",
4787 "crit",
4788 "err",
4789 "warning",
4790 "notice",
4791 "info",
4792 "debug",
4793 "nolog"
4794 ],
56122987
DM
4795 "optional" : 1,
4796 "type" : "string"
4797 },
44660702
DM
4798 "log_level_out" : {
4799 "description" : "Log level for outgoing traffic.",
4800 "enum" : [
4801 "emerg",
4802 "alert",
4803 "crit",
4804 "err",
4805 "warning",
4806 "notice",
4807 "info",
4808 "debug",
4809 "nolog"
4810 ],
4811 "optional" : 1,
4812 "type" : "string"
4813 },
4814 "macfilter" : {
4815 "description" : "Enable/disable MAC address filter.",
56122987 4816 "optional" : 1,
7aacca6f 4817 "type" : "boolean"
56122987
DM
4818 },
4819 "ndp" : {
44660702 4820 "description" : "Enable NDP.",
56122987 4821 "optional" : 1,
44660702 4822 "type" : "boolean"
56122987
DM
4823 },
4824 "policy_in" : {
56122987
DM
4825 "description" : "Input policy.",
4826 "enum" : [
4827 "ACCEPT",
4828 "REJECT",
4829 "DROP"
44660702
DM
4830 ],
4831 "optional" : 1,
4832 "type" : "string"
56122987 4833 },
44660702
DM
4834 "policy_out" : {
4835 "description" : "Output policy.",
4836 "enum" : [
4837 "ACCEPT",
4838 "REJECT",
4839 "DROP"
4840 ],
4841 "optional" : 1,
4842 "type" : "string"
4843 },
4844 "radv" : {
4845 "description" : "Allow sending Router Advertisement.",
4846 "optional" : 1,
4847 "type" : "boolean"
4848 }
4849 },
4850 "type" : "object"
4851 }
4852 },
4853 "PUT" : {
4854 "description" : "Set Firewall options.",
4855 "method" : "PUT",
4856 "name" : "set_options",
4857 "parameters" : {
4858 "additionalProperties" : 0,
4859 "properties" : {
4860 "delete" : {
4861 "description" : "A list of settings you want to delete.",
4862 "format" : "pve-configid-list",
4863 "optional" : 1,
013dc89f
DM
4864 "type" : "string",
4865 "typetext" : "<string>"
44660702
DM
4866 },
4867 "dhcp" : {
4868 "description" : "Enable DHCP.",
7aacca6f 4869 "optional" : 1,
013dc89f
DM
4870 "type" : "boolean",
4871 "typetext" : "<boolean>"
7aacca6f
DM
4872 },
4873 "digest" : {
4874 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4875 "maxLength" : 40,
7aacca6f 4876 "optional" : 1,
013dc89f
DM
4877 "type" : "string",
4878 "typetext" : "<string>"
7aacca6f
DM
4879 },
4880 "enable" : {
4881 "description" : "Enable/disable firewall rules.",
56122987 4882 "optional" : 1,
013dc89f
DM
4883 "type" : "boolean",
4884 "typetext" : "<boolean>"
7aacca6f 4885 },
44660702
DM
4886 "ipfilter" : {
4887 "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.",
4888 "optional" : 1,
013dc89f
DM
4889 "type" : "boolean",
4890 "typetext" : "<boolean>"
44660702
DM
4891 },
4892 "log_level_in" : {
4893 "description" : "Log level for incoming traffic.",
56122987
DM
4894 "enum" : [
4895 "emerg",
4896 "alert",
4897 "crit",
4898 "err",
4899 "warning",
4900 "notice",
4901 "info",
4902 "debug",
4903 "nolog"
7aacca6f 4904 ],
7aacca6f 4905 "optional" : 1,
44660702 4906 "type" : "string"
7aacca6f 4907 },
44660702
DM
4908 "log_level_out" : {
4909 "description" : "Log level for outgoing traffic.",
56122987
DM
4910 "enum" : [
4911 "emerg",
4912 "alert",
4913 "crit",
4914 "err",
4915 "warning",
4916 "notice",
4917 "info",
4918 "debug",
4919 "nolog"
4920 ],
56122987 4921 "optional" : 1,
44660702 4922 "type" : "string"
56122987
DM
4923 },
4924 "macfilter" : {
56122987 4925 "description" : "Enable/disable MAC address filter.",
7aacca6f 4926 "optional" : 1,
013dc89f
DM
4927 "type" : "boolean",
4928 "typetext" : "<boolean>"
56122987 4929 },
44660702
DM
4930 "ndp" : {
4931 "description" : "Enable NDP.",
4932 "optional" : 1,
013dc89f
DM
4933 "type" : "boolean",
4934 "typetext" : "<boolean>"
44660702
DM
4935 },
4936 "node" : {
4937 "description" : "The cluster node name.",
4938 "format" : "pve-node",
013dc89f
DM
4939 "type" : "string",
4940 "typetext" : "<string>"
44660702 4941 },
56122987 4942 "policy_in" : {
44660702 4943 "description" : "Input policy.",
56122987
DM
4944 "enum" : [
4945 "ACCEPT",
4946 "REJECT",
4947 "DROP"
7aacca6f 4948 ],
56122987 4949 "optional" : 1,
7aacca6f 4950 "type" : "string"
56122987 4951 },
44660702
DM
4952 "policy_out" : {
4953 "description" : "Output policy.",
4954 "enum" : [
4955 "ACCEPT",
4956 "REJECT",
4957 "DROP"
4958 ],
56122987 4959 "optional" : 1,
44660702 4960 "type" : "string"
56122987 4961 },
44660702
DM
4962 "radv" : {
4963 "description" : "Allow sending Router Advertisement.",
56122987 4964 "optional" : 1,
013dc89f
DM
4965 "type" : "boolean",
4966 "typetext" : "<boolean>"
7aacca6f
DM
4967 },
4968 "vmid" : {
4969 "description" : "The (unique) ID of the VM.",
44660702 4970 "format" : "pve-vmid",
7aacca6f 4971 "minimum" : 1,
4bd7df8b 4972 "type" : "integer",
013dc89f 4973 "typetext" : "<integer> (1 - N)"
56122987
DM
4974 }
4975 }
4976 },
56122987
DM
4977 "permissions" : {
4978 "check" : [
4979 "perm",
4980 "/vms/{vmid}",
4981 [
44660702 4982 "VM.Config.Network"
56122987
DM
4983 ]
4984 ]
7aacca6f 4985 },
44660702 4986 "protected" : 1,
7aacca6f 4987 "proxyto" : "node",
44660702
DM
4988 "returns" : {
4989 "type" : "null"
4990 }
56122987
DM
4991 }
4992 },
44660702 4993 "leaf" : 1,
7aacca6f 4994 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 4995 "text" : "options"
56122987
DM
4996 },
4997 {
56122987
DM
4998 "info" : {
4999 "GET" : {
44660702
DM
5000 "description" : "Read firewall log",
5001 "method" : "GET",
5002 "name" : "log",
5003 "parameters" : {
5004 "additionalProperties" : 0,
5005 "properties" : {
5006 "limit" : {
5007 "minimum" : 0,
5008 "optional" : 1,
4bd7df8b 5009 "type" : "integer",
013dc89f 5010 "typetext" : "<integer> (0 - N)"
56122987 5011 },
44660702
DM
5012 "node" : {
5013 "description" : "The cluster node name.",
5014 "format" : "pve-node",
013dc89f
DM
5015 "type" : "string",
5016 "typetext" : "<string>"
44660702
DM
5017 },
5018 "start" : {
5019 "minimum" : 0,
5020 "optional" : 1,
4bd7df8b 5021 "type" : "integer",
013dc89f 5022 "typetext" : "<integer> (0 - N)"
44660702
DM
5023 },
5024 "vmid" : {
5025 "description" : "The (unique) ID of the VM.",
5026 "format" : "pve-vmid",
5027 "minimum" : 1,
4bd7df8b 5028 "type" : "integer",
013dc89f 5029 "typetext" : "<integer> (1 - N)"
44660702
DM
5030 }
5031 }
7aacca6f 5032 },
7aacca6f
DM
5033 "permissions" : {
5034 "check" : [
5035 "perm",
5036 "/vms/{vmid}",
5037 [
5038 "VM.Console"
5039 ]
5040 ]
56122987 5041 },
7aacca6f 5042 "protected" : 1,
44660702
DM
5043 "proxyto" : "node",
5044 "returns" : {
5045 "items" : {
5046 "properties" : {
5047 "n" : {
5048 "description" : "Line number",
5049 "type" : "integer"
5050 },
5051 "t" : {
5052 "description" : "Line text",
5053 "type" : "string"
5054 }
56122987 5055 },
44660702 5056 "type" : "object"
7aacca6f 5057 },
44660702 5058 "type" : "array"
7aacca6f
DM
5059 }
5060 }
5061 },
44660702 5062 "leaf" : 1,
7aacca6f 5063 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5064 "text" : "log"
7aacca6f
DM
5065 },
5066 {
7aacca6f
DM
5067 "info" : {
5068 "GET" : {
5069 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5070 "method" : "GET",
5071 "name" : "refs",
56122987 5072 "parameters" : {
44660702 5073 "additionalProperties" : 0,
56122987
DM
5074 "properties" : {
5075 "node" : {
7aacca6f 5076 "description" : "The cluster node name.",
44660702 5077 "format" : "pve-node",
013dc89f
DM
5078 "type" : "string",
5079 "typetext" : "<string>"
56122987
DM
5080 },
5081 "type" : {
56122987
DM
5082 "description" : "Only list references of specified type.",
5083 "enum" : [
5084 "alias",
5085 "ipset"
7aacca6f 5086 ],
44660702
DM
5087 "optional" : 1,
5088 "type" : "string"
5089 },
5090 "vmid" : {
5091 "description" : "The (unique) ID of the VM.",
5092 "format" : "pve-vmid",
5093 "minimum" : 1,
4bd7df8b 5094 "type" : "integer",
013dc89f 5095 "typetext" : "<integer> (1 - N)"
56122987 5096 }
44660702
DM
5097 }
5098 },
5099 "permissions" : {
5100 "check" : [
5101 "perm",
5102 "/vms/{vmid}",
5103 [
5104 "VM.Audit"
5105 ]
5106 ]
56122987
DM
5107 },
5108 "returns" : {
56122987
DM
5109 "items" : {
5110 "properties" : {
44660702
DM
5111 "comment" : {
5112 "optional" : 1,
56122987
DM
5113 "type" : "string"
5114 },
5115 "name" : {
5116 "type" : "string"
5117 },
44660702
DM
5118 "type" : {
5119 "enum" : [
5120 "alias",
5121 "ipset"
5122 ],
7aacca6f 5123 "type" : "string"
56122987
DM
5124 }
5125 },
5126 "type" : "object"
7aacca6f
DM
5127 },
5128 "type" : "array"
5129 }
56122987 5130 }
44660702
DM
5131 },
5132 "leaf" : 1,
5133 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5134 "text" : "refs"
56122987
DM
5135 }
5136 ],
56122987
DM
5137 "info" : {
5138 "GET" : {
44660702 5139 "description" : "Directory index.",
56122987 5140 "method" : "GET",
44660702 5141 "name" : "index",
56122987 5142 "parameters" : {
44660702 5143 "additionalProperties" : 0,
56122987
DM
5144 "properties" : {
5145 "node" : {
5146 "description" : "The cluster node name.",
44660702 5147 "format" : "pve-node",
013dc89f
DM
5148 "type" : "string",
5149 "typetext" : "<string>"
56122987
DM
5150 },
5151 "vmid" : {
44660702 5152 "description" : "The (unique) ID of the VM.",
56122987
DM
5153 "format" : "pve-vmid",
5154 "minimum" : 1,
4bd7df8b 5155 "type" : "integer",
013dc89f 5156 "typetext" : "<integer> (1 - N)"
56122987 5157 }
44660702 5158 }
56122987 5159 },
56122987
DM
5160 "permissions" : {
5161 "user" : "all"
7aacca6f 5162 },
44660702
DM
5163 "returns" : {
5164 "items" : {
5165 "properties" : {},
5166 "type" : "object"
5167 },
5168 "links" : [
5169 {
5170 "href" : "{name}",
5171 "rel" : "child"
5172 }
5173 ],
5174 "type" : "array"
5175 }
56122987 5176 }
44660702
DM
5177 },
5178 "leaf" : 0,
5179 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5180 "text" : "firewall"
56122987
DM
5181 },
5182 {
56122987
DM
5183 "info" : {
5184 "GET" : {
44660702
DM
5185 "description" : "Read VM RRD statistics (returns PNG)",
5186 "method" : "GET",
7aacca6f 5187 "name" : "rrd",
56122987
DM
5188 "parameters" : {
5189 "additionalProperties" : 0,
5190 "properties" : {
7aacca6f 5191 "cf" : {
44660702 5192 "description" : "The RRD consolidation function",
7aacca6f
DM
5193 "enum" : [
5194 "AVERAGE",
5195 "MAX"
5196 ],
7aacca6f
DM
5197 "optional" : 1,
5198 "type" : "string"
5199 },
44660702
DM
5200 "ds" : {
5201 "description" : "The list of datasources you want to display.",
5202 "format" : "pve-configid-list",
013dc89f
DM
5203 "type" : "string",
5204 "typetext" : "<string>"
56122987
DM
5205 },
5206 "node" : {
44660702 5207 "description" : "The cluster node name.",
56122987 5208 "format" : "pve-node",
013dc89f
DM
5209 "type" : "string",
5210 "typetext" : "<string>"
56122987
DM
5211 },
5212 "timeframe" : {
44660702 5213 "description" : "Specify the time frame you are interested in.",
56122987
DM
5214 "enum" : [
5215 "hour",
5216 "day",
5217 "week",
5218 "month",
5219 "year"
5220 ],
56122987
DM
5221 "type" : "string"
5222 },
44660702
DM
5223 "vmid" : {
5224 "description" : "The (unique) ID of the VM.",
5225 "format" : "pve-vmid",
5226 "minimum" : 1,
4bd7df8b 5227 "type" : "integer",
013dc89f 5228 "typetext" : "<integer> (1 - N)"
56122987
DM
5229 }
5230 }
5231 },
56122987
DM
5232 "permissions" : {
5233 "check" : [
5234 "perm",
5235 "/vms/{vmid}",
5236 [
5237 "VM.Audit"
5238 ]
5239 ]
5240 },
7aacca6f
DM
5241 "protected" : 1,
5242 "returns" : {
5243 "properties" : {
5244 "filename" : {
5245 "type" : "string"
5246 }
5247 },
5248 "type" : "object"
44660702 5249 }
56122987 5250 }
44660702
DM
5251 },
5252 "leaf" : 1,
5253 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5254 "text" : "rrd"
56122987
DM
5255 },
5256 {
7aacca6f 5257 "info" : {
56122987 5258 "GET" : {
7aacca6f 5259 "description" : "Read VM RRD statistics",
44660702 5260 "method" : "GET",
56122987 5261 "name" : "rrddata",
56122987 5262 "parameters" : {
44660702 5263 "additionalProperties" : 0,
56122987 5264 "properties" : {
44660702
DM
5265 "cf" : {
5266 "description" : "The RRD consolidation function",
5267 "enum" : [
5268 "AVERAGE",
5269 "MAX"
5270 ],
5271 "optional" : 1,
5272 "type" : "string"
5273 },
56122987 5274 "node" : {
44660702 5275 "description" : "The cluster node name.",
56122987 5276 "format" : "pve-node",
013dc89f
DM
5277 "type" : "string",
5278 "typetext" : "<string>"
56122987
DM
5279 },
5280 "timeframe" : {
44660702 5281 "description" : "Specify the time frame you are interested in.",
56122987
DM
5282 "enum" : [
5283 "hour",
5284 "day",
5285 "week",
5286 "month",
5287 "year"
7aacca6f 5288 ],
44660702 5289 "type" : "string"
7aacca6f
DM
5290 },
5291 "vmid" : {
7aacca6f
DM
5292 "description" : "The (unique) ID of the VM.",
5293 "format" : "pve-vmid",
44660702 5294 "minimum" : 1,
4bd7df8b 5295 "type" : "integer",
013dc89f 5296 "typetext" : "<integer> (1 - N)"
56122987 5297 }
44660702 5298 }
56122987 5299 },
56122987
DM
5300 "permissions" : {
5301 "check" : [
5302 "perm",
5303 "/vms/{vmid}",
5304 [
5305 "VM.Audit"
5306 ]
5307 ]
5308 },
44660702 5309 "protected" : 1,
7aacca6f 5310 "returns" : {
7aacca6f 5311 "items" : {
44660702
DM
5312 "properties" : {},
5313 "type" : "object"
5314 },
5315 "type" : "array"
7aacca6f 5316 }
56122987
DM
5317 }
5318 },
44660702
DM
5319 "leaf" : 1,
5320 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5321 "text" : "rrddata"
5322 },
5323 {
56122987 5324 "info" : {
44660702
DM
5325 "GET" : {
5326 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5327 "method" : "GET",
5328 "name" : "vm_config",
5329 "parameters" : {
5330 "additionalProperties" : 0,
5331 "properties" : {
5332 "current" : {
5333 "default" : 0,
5334 "description" : "Get current values (instead of pending values).",
5335 "optional" : 1,
013dc89f
DM
5336 "type" : "boolean",
5337 "typetext" : "<boolean>"
44660702
DM
5338 },
5339 "node" : {
5340 "description" : "The cluster node name.",
5341 "format" : "pve-node",
013dc89f
DM
5342 "type" : "string",
5343 "typetext" : "<string>"
44660702
DM
5344 },
5345 "vmid" : {
5346 "description" : "The (unique) ID of the VM.",
5347 "format" : "pve-vmid",
5348 "minimum" : 1,
4bd7df8b 5349 "type" : "integer",
013dc89f 5350 "typetext" : "<integer> (1 - N)"
44660702
DM
5351 }
5352 }
7aacca6f 5353 },
56122987
DM
5354 "permissions" : {
5355 "check" : [
5356 "perm",
5357 "/vms/{vmid}",
5358 [
44660702
DM
5359 "VM.Audit"
5360 ]
56122987
DM
5361 ]
5362 },
56122987 5363 "proxyto" : "node",
44660702
DM
5364 "returns" : {
5365 "properties" : {
5366 "digest" : {
5367 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5368 "type" : "string"
5369 }
5370 },
5371 "type" : "object"
5372 }
5373 },
5374 "POST" : {
7aacca6f
DM
5375 "description" : "Set virtual machine options (asynchrounous API).",
5376 "method" : "POST",
44660702 5377 "name" : "update_vm_async",
56122987 5378 "parameters" : {
44660702 5379 "additionalProperties" : 0,
56122987 5380 "properties" : {
44660702
DM
5381 "acpi" : {
5382 "default" : 1,
5383 "description" : "Enable/disable ACPI.",
5384 "optional" : 1,
013dc89f
DM
5385 "type" : "boolean",
5386 "typetext" : "<boolean>"
44660702
DM
5387 },
5388 "agent" : {
7aacca6f 5389 "default" : 0,
44660702 5390 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5391 "optional" : 1,
013dc89f
DM
5392 "type" : "boolean",
5393 "typetext" : "<boolean>"
7aacca6f 5394 },
44660702 5395 "args" : {
c2993fe5 5396 "description" : "Arbitrary arguments passed to kvm.",
44660702 5397 "optional" : 1,
c2993fe5 5398 "type" : "string",
013dc89f 5399 "typetext" : "<string>",
c2993fe5 5400 "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 5401 },
44660702
DM
5402 "autostart" : {
5403 "default" : 0,
5404 "description" : "Automatic restart after crash (currently ignored).",
56122987 5405 "optional" : 1,
013dc89f
DM
5406 "type" : "boolean",
5407 "typetext" : "<boolean>"
56122987 5408 },
44660702
DM
5409 "background_delay" : {
5410 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5411 "maximum" : 30,
5412 "minimum" : 1,
7aacca6f 5413 "optional" : 1,
4bd7df8b 5414 "type" : "integer",
013dc89f 5415 "typetext" : "<integer> (1 - 30)"
56122987 5416 },
44660702
DM
5417 "balloon" : {
5418 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5419 "minimum" : 0,
7aacca6f 5420 "optional" : 1,
4bd7df8b 5421 "type" : "integer",
013dc89f 5422 "typetext" : "<integer> (0 - N)"
7aacca6f 5423 },
44660702
DM
5424 "bios" : {
5425 "default" : "seabios",
5426 "description" : "Select BIOS implementation.",
5427 "enum" : [
5428 "seabios",
5429 "ovmf"
5430 ],
56122987 5431 "optional" : 1,
44660702 5432 "type" : "string"
7aacca6f 5433 },
44660702
DM
5434 "boot" : {
5435 "default" : "cdn",
5436 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5437 "optional" : 1,
5438 "pattern" : "[acdn]{1,4}",
5439 "type" : "string"
5440 },
5441 "bootdisk" : {
5442 "description" : "Enable booting from specified disk.",
5443 "format" : "pve-qm-bootdisk",
5444 "optional" : 1,
5445 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5446 "type" : "string"
5447 },
5448 "cdrom" : {
5449 "description" : "This is an alias for option -ide2",
de0983cb 5450 "format" : "pve-qm-ide",
44660702 5451 "optional" : 1,
7aacca6f 5452 "type" : "string",
013dc89f 5453 "typetext" : "<volume>"
44660702
DM
5454 },
5455 "cores" : {
5456 "default" : 1,
5457 "description" : "The number of cores per socket.",
5458 "minimum" : 1,
7aacca6f 5459 "optional" : 1,
4bd7df8b 5460 "type" : "integer",
013dc89f 5461 "typetext" : "<integer> (1 - N)"
7aacca6f 5462 },
44660702
DM
5463 "cpu" : {
5464 "description" : "Emulated CPU type.",
56122987 5465 "format" : {
44660702
DM
5466 "cputype" : {
5467 "default" : "kvm64",
7aacca6f 5468 "default_key" : 1,
44660702 5469 "description" : "Emulated CPU type.",
56122987 5470 "enum" : [
44660702
DM
5471 "486",
5472 "athlon",
f004f5b9
DM
5473 "Broadwell",
5474 "Broadwell-noTSX",
5475 "Conroe",
44660702 5476 "core2duo",
f004f5b9
DM
5477 "coreduo",
5478 "Haswell",
5479 "Haswell-noTSX",
5480 "host",
5481 "IvyBridge",
44660702
DM
5482 "kvm32",
5483 "kvm64",
44660702 5484 "Nehalem",
44660702
DM
5485 "Opteron_G1",
5486 "Opteron_G2",
5487 "Opteron_G3",
5488 "Opteron_G4",
5489 "Opteron_G5",
f004f5b9
DM
5490 "Penryn",
5491 "pentium",
5492 "pentium2",
5493 "pentium3",
5494 "phenom",
5495 "qemu32",
5496 "qemu64",
5497 "SandyBridge",
5498 "Westmere"
56122987 5499 ],
56122987
DM
5500 "type" : "string"
5501 },
44660702
DM
5502 "hidden" : {
5503 "default" : 0,
5504 "description" : "Do not identify as a KVM virtual machine.",
56122987 5505 "optional" : 1,
44660702
DM
5506 "type" : "boolean"
5507 }
5508 },
5509 "optional" : 1,
4bd7df8b 5510 "type" : "string",
013dc89f 5511 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
5512 },
5513 "cpulimit" : {
5514 "default" : 0,
c2993fe5 5515 "description" : "Limit of CPU usage.",
44660702
DM
5516 "maximum" : 128,
5517 "minimum" : 0,
5518 "optional" : 1,
c2993fe5 5519 "type" : "number",
013dc89f 5520 "typetext" : "<number> (0 - 128)",
c2993fe5 5521 "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
5522 },
5523 "cpuunits" : {
de0983cb 5524 "default" : 1024,
c2993fe5 5525 "description" : "CPU weight for a VM.",
44660702
DM
5526 "maximum" : 500000,
5527 "minimum" : 0,
5528 "optional" : 1,
c2993fe5 5529 "type" : "integer",
013dc89f 5530 "typetext" : "<integer> (0 - 500000)",
c2993fe5 5531 "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
5532 },
5533 "delete" : {
5534 "description" : "A list of settings you want to delete.",
5535 "format" : "pve-configid-list",
5536 "optional" : 1,
013dc89f
DM
5537 "type" : "string",
5538 "typetext" : "<string>"
44660702
DM
5539 },
5540 "description" : {
5541 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5542 "optional" : 1,
013dc89f
DM
5543 "type" : "string",
5544 "typetext" : "<string>"
44660702
DM
5545 },
5546 "digest" : {
5547 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5548 "maxLength" : 40,
5549 "optional" : 1,
013dc89f
DM
5550 "type" : "string",
5551 "typetext" : "<string>"
44660702
DM
5552 },
5553 "force" : {
5554 "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.",
5555 "optional" : 1,
5556 "requires" : "delete",
013dc89f
DM
5557 "type" : "boolean",
5558 "typetext" : "<boolean>"
44660702
DM
5559 },
5560 "freeze" : {
5561 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5562 "optional" : 1,
013dc89f
DM
5563 "type" : "boolean",
5564 "typetext" : "<boolean>"
44660702
DM
5565 },
5566 "hostpci[n]" : {
c2993fe5 5567 "description" : "Map host PCI devices into guest.",
44660702
DM
5568 "format" : "pve-qm-hostpci",
5569 "optional" : 1,
57b78691 5570 "type" : "string",
4bd7df8b 5571 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 5572 "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
5573 },
5574 "hotplug" : {
5575 "default" : "network,disk,usb",
5576 "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'.",
5577 "format" : "pve-hotplug-features",
5578 "optional" : 1,
013dc89f
DM
5579 "type" : "string",
5580 "typetext" : "<string>"
44660702 5581 },
4bd7df8b
DM
5582 "hugepages" : {
5583 "description" : "Enable/disable hugepages memory.",
5584 "enum" : [
5585 "any",
5586 "2",
5587 "1024"
5588 ],
5589 "optional" : 1,
5590 "type" : "string"
5591 },
44660702
DM
5592 "ide[n]" : {
5593 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5594 "format" : {
5595 "aio" : {
5596 "description" : "AIO type to use.",
5597 "enum" : [
5598 "native",
5599 "threads"
56122987 5600 ],
56122987 5601 "optional" : 1,
44660702 5602 "type" : "string"
56122987 5603 },
44660702
DM
5604 "backup" : {
5605 "description" : "Whether the drive should be included when making backups.",
56122987 5606 "optional" : 1,
44660702 5607 "type" : "boolean"
56122987 5608 },
7aacca6f 5609 "bps" : {
de0983cb 5610 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
5611 "format_description" : "bps",
5612 "optional" : 1,
5613 "type" : "integer"
5614 },
de0983cb
DM
5615 "bps_max_length" : {
5616 "description" : "Maximum length of I/O bursts in seconds.",
5617 "format_description" : "seconds",
5618 "minimum" : 1,
5619 "optional" : 1,
5620 "type" : "integer"
5621 },
44660702 5622 "bps_rd" : {
de0983cb 5623 "description" : "Maximum read speed in bytes per second.",
44660702 5624 "format_description" : "bps",
56122987 5625 "optional" : 1,
44660702 5626 "type" : "integer"
56122987 5627 },
de0983cb
DM
5628 "bps_rd_length" : {
5629 "description" : "Maximum length of read I/O bursts in seconds.",
5630 "format_description" : "seconds",
5631 "minimum" : 1,
5632 "optional" : 1,
5633 "type" : "integer"
5634 },
44660702 5635 "bps_wr" : {
de0983cb 5636 "description" : "Maximum write speed in bytes per second.",
44660702
DM
5637 "format_description" : "bps",
5638 "optional" : 1,
5639 "type" : "integer"
5640 },
de0983cb
DM
5641 "bps_wr_length" : {
5642 "description" : "Maximum length of write I/O bursts in seconds.",
5643 "format_description" : "seconds",
5644 "minimum" : 1,
5645 "optional" : 1,
5646 "type" : "integer"
5647 },
44660702
DM
5648 "cache" : {
5649 "description" : "The drive's cache mode",
5650 "enum" : [
5651 "none",
5652 "writethrough",
5653 "writeback",
5654 "unsafe",
5655 "directsync"
5656 ],
44660702
DM
5657 "optional" : 1,
5658 "type" : "string"
5659 },
5660 "cyls" : {
5661 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
5662 "optional" : 1,
5663 "type" : "integer"
5664 },
5665 "detect_zeroes" : {
5666 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5667 "optional" : 1,
5668 "type" : "boolean"
5669 },
5670 "discard" : {
5671 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5672 "enum" : [
5673 "ignore",
5674 "on"
5675 ],
56122987 5676 "optional" : 1,
44660702
DM
5677 "type" : "string"
5678 },
5679 "file" : {
5680 "default_key" : 1,
5681 "description" : "The drive's backing volume.",
5682 "format" : "pve-volume-id-or-qm-path",
5683 "format_description" : "volume",
5684 "type" : "string"
56122987 5685 },
7aacca6f 5686 "format" : {
7aacca6f 5687 "description" : "The drive's backing file's data format.",
56122987 5688 "enum" : [
7aacca6f
DM
5689 "raw",
5690 "cow",
5691 "qcow",
5692 "qed",
5693 "qcow2",
5694 "vmdk",
5695 "cloop"
56122987
DM
5696 ],
5697 "optional" : 1,
56122987
DM
5698 "type" : "string"
5699 },
44660702
DM
5700 "heads" : {
5701 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
5702 "optional" : 1,
5703 "type" : "integer"
7aacca6f 5704 },
44660702 5705 "iops" : {
de0983cb 5706 "description" : "Maximum r/w I/O in operations per second.",
44660702 5707 "format_description" : "iops",
56122987 5708 "optional" : 1,
44660702 5709 "type" : "integer"
56122987 5710 },
44660702 5711 "iops_max" : {
de0983cb 5712 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 5713 "format_description" : "iops",
56122987 5714 "optional" : 1,
44660702 5715 "type" : "integer"
56122987 5716 },
de0983cb
DM
5717 "iops_max_length" : {
5718 "description" : "Maximum length of I/O bursts in seconds.",
5719 "format_description" : "seconds",
5720 "minimum" : 1,
5721 "optional" : 1,
5722 "type" : "integer"
5723 },
44660702 5724 "iops_rd" : {
de0983cb 5725 "description" : "Maximum read I/O in operations per second.",
44660702
DM
5726 "format_description" : "iops",
5727 "optional" : 1,
5728 "type" : "integer"
5729 },
de0983cb
DM
5730 "iops_rd_length" : {
5731 "description" : "Maximum length of read I/O bursts in seconds.",
5732 "format_description" : "seconds",
5733 "minimum" : 1,
5734 "optional" : 1,
5735 "type" : "integer"
5736 },
44660702 5737 "iops_rd_max" : {
de0983cb 5738 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 5739 "format_description" : "iops",
44660702
DM
5740 "optional" : 1,
5741 "type" : "integer"
5742 },
5743 "iops_wr" : {
de0983cb 5744 "description" : "Maximum write I/O in operations per second.",
44660702 5745 "format_description" : "iops",
56122987 5746 "optional" : 1,
7aacca6f 5747 "type" : "integer"
56122987 5748 },
de0983cb
DM
5749 "iops_wr_length" : {
5750 "description" : "Maximum length of write I/O bursts in seconds.",
5751 "format_description" : "seconds",
5752 "minimum" : 1,
5753 "optional" : 1,
5754 "type" : "integer"
5755 },
44660702 5756 "iops_wr_max" : {
de0983cb 5757 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 5758 "format_description" : "iops",
7aacca6f 5759 "optional" : 1,
44660702 5760 "type" : "integer"
56122987 5761 },
44660702 5762 "mbps" : {
de0983cb 5763 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
5764 "format_description" : "mbps",
5765 "optional" : 1,
5766 "type" : "number"
5767 },
5768 "mbps_max" : {
de0983cb 5769 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
5770 "format_description" : "mbps",
5771 "optional" : 1,
5772 "type" : "number"
5773 },
5774 "mbps_rd" : {
de0983cb 5775 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
5776 "format_description" : "mbps",
5777 "optional" : 1,
5778 "type" : "number"
5779 },
5780 "mbps_rd_max" : {
de0983cb 5781 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
5782 "format_description" : "mbps",
5783 "optional" : 1,
5784 "type" : "number"
5785 },
5786 "mbps_wr" : {
de0983cb 5787 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
5788 "format_description" : "mbps",
5789 "optional" : 1,
5790 "type" : "number"
5791 },
5792 "mbps_wr_max" : {
de0983cb 5793 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 5794 "format_description" : "mbps",
56122987 5795 "optional" : 1,
44660702 5796 "type" : "number"
56122987 5797 },
7aacca6f 5798 "media" : {
7aacca6f 5799 "default" : "disk",
7aacca6f
DM
5800 "description" : "The drive's media type.",
5801 "enum" : [
5802 "cdrom",
5803 "disk"
44660702 5804 ],
44660702
DM
5805 "optional" : 1,
5806 "type" : "string"
56122987 5807 },
44660702
DM
5808 "model" : {
5809 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
5810 "format" : "urlencoded",
5811 "format_description" : "model",
5812 "maxLength" : 120,
56122987 5813 "optional" : 1,
44660702 5814 "type" : "string"
56122987 5815 },
44660702
DM
5816 "rerror" : {
5817 "description" : "Read error action.",
5818 "enum" : [
5819 "ignore",
5820 "report",
5821 "stop"
5822 ],
56122987 5823 "optional" : 1,
44660702
DM
5824 "type" : "string"
5825 },
5826 "secs" : {
5827 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
5828 "optional" : 1,
5829 "type" : "integer"
5830 },
5831 "serial" : {
5832 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
5833 "format" : "urlencoded",
5834 "format_description" : "serial",
5835 "maxLength" : 60,
5836 "optional" : 1,
5837 "type" : "string"
5838 },
5839 "size" : {
5840 "description" : "Disk size. This is purely informational and has no effect.",
5841 "format" : "disk-size",
f004f5b9 5842 "format_description" : "DiskSize",
44660702
DM
5843 "optional" : 1,
5844 "type" : "string"
5845 },
5846 "snapshot" : {
5847 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
5848 "optional" : 1,
5849 "type" : "boolean"
5850 },
5851 "trans" : {
5852 "description" : "Force disk geometry bios translation mode.",
5853 "enum" : [
5854 "none",
5855 "lba",
5856 "auto"
5857 ],
44660702
DM
5858 "optional" : 1,
5859 "type" : "string"
5860 },
5861 "volume" : {
5862 "alias" : "file"
5863 },
5864 "werror" : {
5865 "description" : "Write error action.",
5866 "enum" : [
5867 "enospc",
5868 "ignore",
5869 "report",
5870 "stop"
5871 ],
44660702
DM
5872 "optional" : 1,
5873 "type" : "string"
56122987
DM
5874 }
5875 },
44660702 5876 "optional" : 1,
4bd7df8b 5877 "type" : "string",
013dc89f 5878 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
56122987 5879 },
44660702
DM
5880 "keyboard" : {
5881 "default" : "en-us",
c2993fe5 5882 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
5883 "enum" : [
5884 "de",
5885 "de-ch",
5886 "da",
5887 "en-gb",
5888 "en-us",
5889 "es",
5890 "fi",
5891 "fr",
5892 "fr-be",
5893 "fr-ca",
5894 "fr-ch",
5895 "hu",
5896 "is",
5897 "it",
5898 "ja",
5899 "lt",
5900 "mk",
5901 "nl",
5902 "no",
5903 "pl",
5904 "pt",
5905 "pt-br",
5906 "sv",
5907 "sl",
5908 "tr"
5909 ],
56122987 5910 "optional" : 1,
44660702
DM
5911 "type" : "string"
5912 },
5913 "kvm" : {
7aacca6f 5914 "default" : 1,
44660702
DM
5915 "description" : "Enable/disable KVM hardware virtualization.",
5916 "optional" : 1,
013dc89f
DM
5917 "type" : "boolean",
5918 "typetext" : "<boolean>"
56122987 5919 },
44660702
DM
5920 "localtime" : {
5921 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 5922 "optional" : 1,
013dc89f
DM
5923 "type" : "boolean",
5924 "typetext" : "<boolean>"
56122987 5925 },
44660702
DM
5926 "lock" : {
5927 "description" : "Lock/unlock the VM.",
5928 "enum" : [
5929 "migrate",
5930 "backup",
5931 "snapshot",
5932 "rollback"
5933 ],
7aacca6f 5934 "optional" : 1,
44660702
DM
5935 "type" : "string"
5936 },
5937 "machine" : {
5938 "description" : "Specific the Qemu machine type.",
5939 "maxLength" : 40,
5940 "optional" : 1,
5941 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
5942 "type" : "string"
5943 },
5944 "memory" : {
5945 "default" : 512,
5946 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
5947 "minimum" : 16,
5948 "optional" : 1,
4bd7df8b 5949 "type" : "integer",
013dc89f 5950 "typetext" : "<integer> (16 - N)"
44660702
DM
5951 },
5952 "migrate_downtime" : {
5953 "default" : 0.1,
5954 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
5955 "minimum" : 0,
5956 "optional" : 1,
4bd7df8b 5957 "type" : "number",
013dc89f 5958 "typetext" : "<number> (0 - N)"
44660702
DM
5959 },
5960 "migrate_speed" : {
5961 "default" : 0,
5962 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
5963 "minimum" : 0,
5964 "optional" : 1,
4bd7df8b 5965 "type" : "integer",
013dc89f 5966 "typetext" : "<integer> (0 - N)"
44660702
DM
5967 },
5968 "name" : {
5969 "description" : "Set a name for the VM. Only used on the configuration web interface.",
5970 "format" : "dns-name",
5971 "optional" : 1,
013dc89f
DM
5972 "type" : "string",
5973 "typetext" : "<string>"
44660702
DM
5974 },
5975 "net[n]" : {
c2993fe5 5976 "description" : "Specify network devices.",
f004f5b9
DM
5977 "format" : {
5978 "bridge" : {
c2993fe5 5979 "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
5980 "format_description" : "bridge",
5981 "optional" : 1,
5982 "type" : "string"
5983 },
5984 "e1000" : {
5985 "alias" : "macaddr",
5986 "keyAlias" : "model"
5987 },
5988 "e1000-82540em" : {
5989 "alias" : "macaddr",
5990 "keyAlias" : "model"
5991 },
5992 "e1000-82544gc" : {
5993 "alias" : "macaddr",
5994 "keyAlias" : "model"
5995 },
5996 "e1000-82545em" : {
5997 "alias" : "macaddr",
5998 "keyAlias" : "model"
5999 },
6000 "firewall" : {
6001 "description" : "Whether this interface should be protected by the firewall.",
6002 "optional" : 1,
6003 "type" : "boolean"
6004 },
6005 "i82551" : {
6006 "alias" : "macaddr",
6007 "keyAlias" : "model"
6008 },
6009 "i82557b" : {
6010 "alias" : "macaddr",
6011 "keyAlias" : "model"
6012 },
6013 "i82559er" : {
6014 "alias" : "macaddr",
6015 "keyAlias" : "model"
6016 },
6017 "link_down" : {
c2993fe5 6018 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
6019 "optional" : 1,
6020 "type" : "boolean"
6021 },
6022 "macaddr" : {
c2993fe5 6023 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 6024 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
6025 "optional" : 1,
6026 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
6027 "type" : "string"
6028 },
6029 "model" : {
6030 "default_key" : 1,
c2993fe5 6031 "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
6032 "enum" : [
6033 "rtl8139",
6034 "ne2k_pci",
6035 "e1000",
6036 "pcnet",
6037 "virtio",
6038 "ne2k_isa",
6039 "i82551",
6040 "i82557b",
6041 "i82559er",
6042 "vmxnet3",
6043 "e1000-82540em",
6044 "e1000-82544gc",
6045 "e1000-82545em"
6046 ],
f004f5b9
DM
6047 "type" : "string"
6048 },
6049 "ne2k_isa" : {
6050 "alias" : "macaddr",
6051 "keyAlias" : "model"
6052 },
6053 "ne2k_pci" : {
6054 "alias" : "macaddr",
6055 "keyAlias" : "model"
6056 },
6057 "pcnet" : {
6058 "alias" : "macaddr",
6059 "keyAlias" : "model"
6060 },
6061 "queues" : {
6062 "description" : "Number of packet queues to be used on the device.",
6063 "maximum" : 16,
6064 "minimum" : 0,
6065 "optional" : 1,
6066 "type" : "integer"
6067 },
6068 "rate" : {
c2993fe5 6069 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
6070 "minimum" : 0,
6071 "optional" : 1,
6072 "type" : "number"
6073 },
6074 "rtl8139" : {
6075 "alias" : "macaddr",
6076 "keyAlias" : "model"
6077 },
6078 "tag" : {
6079 "description" : "VLAN tag to apply to packets on this interface.",
6080 "maximum" : 4094,
c2993fe5 6081 "minimum" : 1,
f004f5b9
DM
6082 "optional" : 1,
6083 "type" : "integer"
6084 },
6085 "trunks" : {
6086 "description" : "VLAN trunks to pass through this interface.",
6087 "format_description" : "vlanid[;vlanid...]",
6088 "optional" : 1,
6089 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6090 "type" : "string"
6091 },
6092 "virtio" : {
6093 "alias" : "macaddr",
6094 "keyAlias" : "model"
6095 },
6096 "vmxnet3" : {
6097 "alias" : "macaddr",
6098 "keyAlias" : "model"
6099 }
6100 },
44660702 6101 "optional" : 1,
4bd7df8b 6102 "type" : "string",
013dc89f 6103 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
6104 },
6105 "node" : {
6106 "description" : "The cluster node name.",
6107 "format" : "pve-node",
013dc89f
DM
6108 "type" : "string",
6109 "typetext" : "<string>"
44660702
DM
6110 },
6111 "numa" : {
6112 "default" : 0,
6113 "description" : "Enable/disable NUMA.",
6114 "optional" : 1,
013dc89f
DM
6115 "type" : "boolean",
6116 "typetext" : "<boolean>"
44660702
DM
6117 },
6118 "numa[n]" : {
c2993fe5 6119 "description" : "NUMA topology.",
56122987 6120 "format" : {
7aacca6f 6121 "cpus" : {
c2993fe5 6122 "description" : "CPUs accessing this NUMA node.",
44660702
DM
6123 "format_description" : "id[-id];...",
6124 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6125 "type" : "string"
7aacca6f
DM
6126 },
6127 "hostnodes" : {
c2993fe5 6128 "description" : "Host NUMA nodes to use.",
44660702 6129 "format_description" : "id[-id];...",
7aacca6f 6130 "optional" : 1,
7aacca6f 6131 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 6132 "type" : "string"
7aacca6f 6133 },
44660702 6134 "memory" : {
c2993fe5 6135 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 6136 "optional" : 1,
44660702
DM
6137 "type" : "number"
6138 },
6139 "policy" : {
c2993fe5 6140 "description" : "NUMA allocation policy.",
7aacca6f
DM
6141 "enum" : [
6142 "preferred",
6143 "bind",
6144 "interleave"
6145 ],
44660702
DM
6146 "optional" : 1,
6147 "type" : "string"
56122987 6148 }
44660702 6149 },
56122987 6150 "optional" : 1,
4bd7df8b
DM
6151 "type" : "string",
6152 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 6153 },
44660702 6154 "onboot" : {
7aacca6f 6155 "default" : 0,
44660702
DM
6156 "description" : "Specifies whether a VM will be started during system bootup.",
6157 "optional" : 1,
013dc89f
DM
6158 "type" : "boolean",
6159 "typetext" : "<boolean>"
7aacca6f
DM
6160 },
6161 "ostype" : {
c2993fe5 6162 "description" : "Specify guest operating system.",
7aacca6f
DM
6163 "enum" : [
6164 "other",
6165 "wxp",
6166 "w2k",
6167 "w2k3",
6168 "w2k8",
6169 "wvista",
6170 "win7",
6171 "win8",
6172 "l24",
6173 "l26",
6174 "solaris"
6175 ],
7aacca6f 6176 "optional" : 1,
c2993fe5
DM
6177 "type" : "string",
6178 "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 6179 },
44660702 6180 "parallel[n]" : {
c2993fe5 6181 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 6182 "optional" : 1,
44660702 6183 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
6184 "type" : "string",
6185 "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
6186 },
6187 "protection" : {
6188 "default" : 0,
c2993fe5 6189 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 6190 "optional" : 1,
013dc89f
DM
6191 "type" : "boolean",
6192 "typetext" : "<boolean>"
7aacca6f 6193 },
44660702
DM
6194 "reboot" : {
6195 "default" : 1,
6196 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 6197 "optional" : 1,
013dc89f
DM
6198 "type" : "boolean",
6199 "typetext" : "<boolean>"
7aacca6f 6200 },
44660702
DM
6201 "revert" : {
6202 "description" : "Revert a pending change.",
6203 "format" : "pve-configid-list",
7aacca6f 6204 "optional" : 1,
013dc89f
DM
6205 "type" : "string",
6206 "typetext" : "<string>"
44660702
DM
6207 },
6208 "sata[n]" : {
6209 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 6210 "format" : {
44660702
DM
6211 "aio" : {
6212 "description" : "AIO type to use.",
7aacca6f 6213 "enum" : [
44660702
DM
6214 "native",
6215 "threads"
7aacca6f 6216 ],
44660702
DM
6217 "optional" : 1,
6218 "type" : "string"
7aacca6f 6219 },
44660702
DM
6220 "backup" : {
6221 "description" : "Whether the drive should be included when making backups.",
56122987 6222 "optional" : 1,
7aacca6f 6223 "type" : "boolean"
44660702
DM
6224 },
6225 "bps" : {
de0983cb 6226 "description" : "Maximum r/w speed in bytes per second.",
44660702 6227 "format_description" : "bps",
7aacca6f 6228 "optional" : 1,
44660702 6229 "type" : "integer"
56122987 6230 },
de0983cb
DM
6231 "bps_max_length" : {
6232 "description" : "Maximum length of I/O bursts in seconds.",
6233 "format_description" : "seconds",
6234 "minimum" : 1,
6235 "optional" : 1,
6236 "type" : "integer"
6237 },
44660702 6238 "bps_rd" : {
de0983cb 6239 "description" : "Maximum read speed in bytes per second.",
44660702 6240 "format_description" : "bps",
56122987 6241 "optional" : 1,
44660702 6242 "type" : "integer"
56122987 6243 },
de0983cb
DM
6244 "bps_rd_length" : {
6245 "description" : "Maximum length of read I/O bursts in seconds.",
6246 "format_description" : "seconds",
6247 "minimum" : 1,
6248 "optional" : 1,
6249 "type" : "integer"
6250 },
44660702 6251 "bps_wr" : {
de0983cb 6252 "description" : "Maximum write speed in bytes per second.",
44660702 6253 "format_description" : "bps",
56122987 6254 "optional" : 1,
44660702 6255 "type" : "integer"
56122987 6256 },
de0983cb
DM
6257 "bps_wr_length" : {
6258 "description" : "Maximum length of write I/O bursts in seconds.",
6259 "format_description" : "seconds",
6260 "minimum" : 1,
6261 "optional" : 1,
6262 "type" : "integer"
6263 },
56122987 6264 "cache" : {
44660702 6265 "description" : "The drive's cache mode",
56122987
DM
6266 "enum" : [
6267 "none",
6268 "writethrough",
6269 "writeback",
6270 "unsafe",
6271 "directsync"
6272 ],
56122987 6273 "optional" : 1,
44660702 6274 "type" : "string"
56122987 6275 },
44660702
DM
6276 "cyls" : {
6277 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6278 "optional" : 1,
44660702 6279 "type" : "integer"
7aacca6f
DM
6280 },
6281 "detect_zeroes" : {
6282 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6283 "optional" : 1,
44660702 6284 "type" : "boolean"
56122987 6285 },
44660702
DM
6286 "discard" : {
6287 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6288 "enum" : [
6289 "ignore",
6290 "on"
6291 ],
56122987 6292 "optional" : 1,
44660702 6293 "type" : "string"
7aacca6f 6294 },
44660702
DM
6295 "file" : {
6296 "default_key" : 1,
6297 "description" : "The drive's backing volume.",
6298 "format" : "pve-volume-id-or-qm-path",
6299 "format_description" : "volume",
6300 "type" : "string"
56122987 6301 },
7aacca6f 6302 "format" : {
44660702 6303 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6304 "enum" : [
6305 "raw",
6306 "cow",
6307 "qcow",
6308 "qed",
6309 "qcow2",
6310 "vmdk",
6311 "cloop"
6312 ],
7aacca6f 6313 "optional" : 1,
44660702 6314 "type" : "string"
56122987 6315 },
7aacca6f 6316 "heads" : {
7aacca6f 6317 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6318 "optional" : 1,
7aacca6f 6319 "type" : "integer"
56122987 6320 },
44660702 6321 "iops" : {
de0983cb 6322 "description" : "Maximum r/w I/O in operations per second.",
44660702 6323 "format_description" : "iops",
56122987 6324 "optional" : 1,
44660702 6325 "type" : "integer"
56122987 6326 },
44660702 6327 "iops_max" : {
de0983cb 6328 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6329 "format_description" : "iops",
56122987 6330 "optional" : 1,
44660702 6331 "type" : "integer"
56122987 6332 },
de0983cb
DM
6333 "iops_max_length" : {
6334 "description" : "Maximum length of I/O bursts in seconds.",
6335 "format_description" : "seconds",
6336 "minimum" : 1,
6337 "optional" : 1,
6338 "type" : "integer"
6339 },
44660702 6340 "iops_rd" : {
de0983cb 6341 "description" : "Maximum read I/O in operations per second.",
44660702 6342 "format_description" : "iops",
7aacca6f 6343 "optional" : 1,
44660702 6344 "type" : "integer"
56122987 6345 },
de0983cb
DM
6346 "iops_rd_length" : {
6347 "description" : "Maximum length of read I/O bursts in seconds.",
6348 "format_description" : "seconds",
6349 "minimum" : 1,
6350 "optional" : 1,
6351 "type" : "integer"
6352 },
44660702 6353 "iops_rd_max" : {
de0983cb 6354 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6355 "format_description" : "iops",
56122987 6356 "optional" : 1,
44660702 6357 "type" : "integer"
7aacca6f 6358 },
44660702 6359 "iops_wr" : {
de0983cb 6360 "description" : "Maximum write I/O in operations per second.",
44660702 6361 "format_description" : "iops",
56122987 6362 "optional" : 1,
44660702 6363 "type" : "integer"
56122987 6364 },
de0983cb
DM
6365 "iops_wr_length" : {
6366 "description" : "Maximum length of write I/O bursts in seconds.",
6367 "format_description" : "seconds",
6368 "minimum" : 1,
6369 "optional" : 1,
6370 "type" : "integer"
6371 },
56122987 6372 "iops_wr_max" : {
de0983cb 6373 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6374 "format_description" : "iops",
56122987 6375 "optional" : 1,
44660702 6376 "type" : "integer"
56122987 6377 },
44660702 6378 "mbps" : {
de0983cb 6379 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6380 "format_description" : "mbps",
56122987 6381 "optional" : 1,
44660702 6382 "type" : "number"
56122987 6383 },
44660702 6384 "mbps_max" : {
de0983cb 6385 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6386 "format_description" : "mbps",
6387 "optional" : 1,
6388 "type" : "number"
56122987 6389 },
44660702 6390 "mbps_rd" : {
de0983cb 6391 "description" : "Maximum read speed in megabytes per second.",
44660702 6392 "format_description" : "mbps",
56122987 6393 "optional" : 1,
44660702 6394 "type" : "number"
56122987 6395 },
44660702 6396 "mbps_rd_max" : {
de0983cb 6397 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6398 "format_description" : "mbps",
56122987 6399 "optional" : 1,
44660702 6400 "type" : "number"
56122987 6401 },
44660702 6402 "mbps_wr" : {
de0983cb 6403 "description" : "Maximum write speed in megabytes per second.",
56122987 6404 "format_description" : "mbps",
44660702
DM
6405 "optional" : 1,
6406 "type" : "number"
56122987 6407 },
44660702 6408 "mbps_wr_max" : {
de0983cb 6409 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6410 "format_description" : "mbps",
6411 "optional" : 1,
6412 "type" : "number"
7aacca6f 6413 },
44660702
DM
6414 "media" : {
6415 "default" : "disk",
6416 "description" : "The drive's media type.",
6417 "enum" : [
6418 "cdrom",
6419 "disk"
6420 ],
56122987 6421 "optional" : 1,
44660702
DM
6422 "type" : "string"
6423 },
6424 "rerror" : {
6425 "description" : "Read error action.",
7aacca6f 6426 "enum" : [
44660702
DM
6427 "ignore",
6428 "report",
6429 "stop"
6430 ],
7aacca6f 6431 "optional" : 1,
44660702 6432 "type" : "string"
56122987 6433 },
44660702
DM
6434 "secs" : {
6435 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6436 "optional" : 1,
44660702 6437 "type" : "integer"
56122987 6438 },
44660702
DM
6439 "serial" : {
6440 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6441 "format" : "urlencoded",
6442 "format_description" : "serial",
6443 "maxLength" : 60,
56122987 6444 "optional" : 1,
44660702 6445 "type" : "string"
56122987 6446 },
44660702
DM
6447 "size" : {
6448 "description" : "Disk size. This is purely informational and has no effect.",
6449 "format" : "disk-size",
f004f5b9 6450 "format_description" : "DiskSize",
44660702
DM
6451 "optional" : 1,
6452 "type" : "string"
6453 },
6454 "snapshot" : {
6455 "description" : "Whether the drive should be included when making snapshots.",
56122987 6456 "optional" : 1,
44660702
DM
6457 "type" : "boolean"
6458 },
6459 "trans" : {
6460 "description" : "Force disk geometry bios translation mode.",
56122987 6461 "enum" : [
7aacca6f
DM
6462 "none",
6463 "lba",
6464 "auto"
56122987 6465 ],
44660702
DM
6466 "optional" : 1,
6467 "type" : "string"
56122987 6468 },
7aacca6f
DM
6469 "volume" : {
6470 "alias" : "file"
56122987 6471 },
44660702
DM
6472 "werror" : {
6473 "description" : "Write error action.",
6474 "enum" : [
6475 "enospc",
6476 "ignore",
6477 "report",
6478 "stop"
6479 ],
7aacca6f 6480 "optional" : 1,
44660702
DM
6481 "type" : "string"
6482 }
6483 },
6484 "optional" : 1,
4bd7df8b 6485 "type" : "string",
013dc89f 6486 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
44660702
DM
6487 },
6488 "scsi[n]" : {
6489 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6490 "format" : {
56122987 6491 "aio" : {
56122987
DM
6492 "description" : "AIO type to use.",
6493 "enum" : [
6494 "native",
6495 "threads"
6496 ],
7aacca6f 6497 "optional" : 1,
44660702 6498 "type" : "string"
56122987 6499 },
44660702
DM
6500 "backup" : {
6501 "description" : "Whether the drive should be included when making backups.",
56122987 6502 "optional" : 1,
44660702 6503 "type" : "boolean"
56122987 6504 },
44660702 6505 "bps" : {
de0983cb 6506 "description" : "Maximum r/w speed in bytes per second.",
44660702 6507 "format_description" : "bps",
56122987 6508 "optional" : 1,
44660702 6509 "type" : "integer"
56122987 6510 },
de0983cb
DM
6511 "bps_max_length" : {
6512 "description" : "Maximum length of I/O bursts in seconds.",
6513 "format_description" : "seconds",
6514 "minimum" : 1,
6515 "optional" : 1,
6516 "type" : "integer"
6517 },
44660702 6518 "bps_rd" : {
de0983cb 6519 "description" : "Maximum read speed in bytes per second.",
44660702 6520 "format_description" : "bps",
56122987 6521 "optional" : 1,
44660702 6522 "type" : "integer"
56122987 6523 },
de0983cb
DM
6524 "bps_rd_length" : {
6525 "description" : "Maximum length of read I/O bursts in seconds.",
6526 "format_description" : "seconds",
6527 "minimum" : 1,
6528 "optional" : 1,
6529 "type" : "integer"
6530 },
7aacca6f 6531 "bps_wr" : {
de0983cb 6532 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6533 "format_description" : "bps",
56122987 6534 "optional" : 1,
44660702 6535 "type" : "integer"
56122987 6536 },
de0983cb
DM
6537 "bps_wr_length" : {
6538 "description" : "Maximum length of write I/O bursts in seconds.",
6539 "format_description" : "seconds",
6540 "minimum" : 1,
6541 "optional" : 1,
6542 "type" : "integer"
6543 },
44660702
DM
6544 "cache" : {
6545 "description" : "The drive's cache mode",
7aacca6f 6546 "enum" : [
44660702
DM
6547 "none",
6548 "writethrough",
6549 "writeback",
6550 "unsafe",
6551 "directsync"
7aacca6f 6552 ],
56122987 6553 "optional" : 1,
44660702 6554 "type" : "string"
56122987 6555 },
44660702
DM
6556 "cyls" : {
6557 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6558 "optional" : 1,
44660702 6559 "type" : "integer"
56122987 6560 },
44660702
DM
6561 "detect_zeroes" : {
6562 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6563 "optional" : 1,
44660702 6564 "type" : "boolean"
56122987 6565 },
44660702
DM
6566 "discard" : {
6567 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6568 "enum" : [
6569 "ignore",
6570 "on"
6571 ],
7aacca6f 6572 "optional" : 1,
44660702 6573 "type" : "string"
56122987 6574 },
44660702
DM
6575 "file" : {
6576 "default_key" : 1,
6577 "description" : "The drive's backing volume.",
6578 "format" : "pve-volume-id-or-qm-path",
6579 "format_description" : "volume",
6580 "type" : "string"
56122987 6581 },
7aacca6f 6582 "format" : {
44660702 6583 "description" : "The drive's backing file's data format.",
56122987 6584 "enum" : [
7aacca6f
DM
6585 "raw",
6586 "cow",
6587 "qcow",
6588 "qed",
6589 "qcow2",
6590 "vmdk",
6591 "cloop"
6592 ],
44660702
DM
6593 "optional" : 1,
6594 "type" : "string"
56122987 6595 },
44660702
DM
6596 "heads" : {
6597 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6598 "optional" : 1,
7aacca6f 6599 "type" : "integer"
56122987 6600 },
44660702 6601 "iops" : {
de0983cb 6602 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 6603 "format_description" : "iops",
44660702
DM
6604 "optional" : 1,
6605 "type" : "integer"
7aacca6f 6606 },
44660702 6607 "iops_max" : {
de0983cb 6608 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6609 "format_description" : "iops",
56122987 6610 "optional" : 1,
44660702 6611 "type" : "integer"
7aacca6f 6612 },
de0983cb
DM
6613 "iops_max_length" : {
6614 "description" : "Maximum length of I/O bursts in seconds.",
6615 "format_description" : "seconds",
6616 "minimum" : 1,
6617 "optional" : 1,
6618 "type" : "integer"
6619 },
44660702 6620 "iops_rd" : {
de0983cb 6621 "description" : "Maximum read I/O in operations per second.",
44660702 6622 "format_description" : "iops",
7aacca6f 6623 "optional" : 1,
44660702 6624 "type" : "integer"
56122987 6625 },
de0983cb
DM
6626 "iops_rd_length" : {
6627 "description" : "Maximum length of read I/O bursts in seconds.",
6628 "format_description" : "seconds",
6629 "minimum" : 1,
6630 "optional" : 1,
6631 "type" : "integer"
6632 },
44660702 6633 "iops_rd_max" : {
de0983cb 6634 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
6635 "format_description" : "iops",
6636 "optional" : 1,
6637 "type" : "integer"
6638 },
6639 "iops_wr" : {
de0983cb 6640 "description" : "Maximum write I/O in operations per second.",
44660702 6641 "format_description" : "iops",
56122987 6642 "optional" : 1,
44660702
DM
6643 "type" : "integer"
6644 },
de0983cb
DM
6645 "iops_wr_length" : {
6646 "description" : "Maximum length of write I/O bursts in seconds.",
6647 "format_description" : "seconds",
6648 "minimum" : 1,
6649 "optional" : 1,
6650 "type" : "integer"
6651 },
44660702 6652 "iops_wr_max" : {
de0983cb 6653 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
6654 "format_description" : "iops",
6655 "optional" : 1,
6656 "type" : "integer"
56122987 6657 },
7aacca6f 6658 "iothread" : {
7aacca6f 6659 "description" : "Whether to use iothreads for this drive",
56122987 6660 "optional" : 1,
56122987
DM
6661 "type" : "boolean"
6662 },
44660702 6663 "mbps" : {
de0983cb 6664 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6665 "format_description" : "mbps",
6666 "optional" : 1,
6667 "type" : "number"
6668 },
6669 "mbps_max" : {
de0983cb 6670 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6671 "format_description" : "mbps",
6672 "optional" : 1,
6673 "type" : "number"
6674 },
6675 "mbps_rd" : {
de0983cb 6676 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6677 "format_description" : "mbps",
6678 "optional" : 1,
6679 "type" : "number"
6680 },
6681 "mbps_rd_max" : {
de0983cb 6682 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6683 "format_description" : "mbps",
6684 "optional" : 1,
6685 "type" : "number"
6686 },
6687 "mbps_wr" : {
de0983cb 6688 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6689 "format_description" : "mbps",
6690 "optional" : 1,
6691 "type" : "number"
6692 },
6693 "mbps_wr_max" : {
de0983cb 6694 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6695 "format_description" : "mbps",
6696 "optional" : 1,
6697 "type" : "number"
6698 },
7aacca6f 6699 "media" : {
44660702
DM
6700 "default" : "disk",
6701 "description" : "The drive's media type.",
7aacca6f
DM
6702 "enum" : [
6703 "cdrom",
6704 "disk"
6705 ],
56122987 6706 "optional" : 1,
44660702
DM
6707 "type" : "string"
6708 },
6709 "queues" : {
6710 "description" : "Number of queues.",
44660702
DM
6711 "minimum" : 2,
6712 "optional" : 1,
6713 "type" : "integer"
6714 },
6715 "secs" : {
6716 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6717 "optional" : 1,
6718 "type" : "integer"
6719 },
6720 "serial" : {
6721 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6722 "format" : "urlencoded",
6723 "format_description" : "serial",
6724 "maxLength" : 60,
6725 "optional" : 1,
6726 "type" : "string"
6727 },
6728 "size" : {
6729 "description" : "Disk size. This is purely informational and has no effect.",
6730 "format" : "disk-size",
f004f5b9 6731 "format_description" : "DiskSize",
44660702
DM
6732 "optional" : 1,
6733 "type" : "string"
56122987 6734 },
7aacca6f
DM
6735 "snapshot" : {
6736 "description" : "Whether the drive should be included when making snapshots.",
6737 "optional" : 1,
44660702 6738 "type" : "boolean"
7aacca6f 6739 },
44660702
DM
6740 "trans" : {
6741 "description" : "Force disk geometry bios translation mode.",
6742 "enum" : [
6743 "none",
6744 "lba",
6745 "auto"
6746 ],
44660702
DM
6747 "optional" : 1,
6748 "type" : "string"
6749 },
6750 "volume" : {
6751 "alias" : "file"
6752 },
6753 "werror" : {
6754 "description" : "Write error action.",
6755 "enum" : [
6756 "enospc",
6757 "ignore",
6758 "report",
6759 "stop"
6760 ],
56122987 6761 "optional" : 1,
44660702 6762 "type" : "string"
56122987 6763 }
44660702 6764 },
7aacca6f 6765 "optional" : 1,
4bd7df8b 6766 "type" : "string",
013dc89f 6767 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
44660702
DM
6768 },
6769 "scsihw" : {
6770 "default" : "lsi",
c2993fe5 6771 "description" : "SCSI controller model",
7aacca6f 6772 "enum" : [
44660702
DM
6773 "lsi",
6774 "lsi53c810",
6775 "virtio-scsi-pci",
6776 "virtio-scsi-single",
6777 "megasas",
6778 "pvscsi"
7aacca6f 6779 ],
44660702
DM
6780 "optional" : 1,
6781 "type" : "string"
56122987 6782 },
44660702 6783 "serial[n]" : {
c2993fe5 6784 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 6785 "optional" : 1,
44660702 6786 "pattern" : "(/dev/.+|socket)",
c2993fe5 6787 "type" : "string",
57b78691 6788 "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 6789 },
44660702
DM
6790 "shares" : {
6791 "default" : 1000,
6792 "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",
6793 "maximum" : 50000,
6794 "minimum" : 0,
56122987 6795 "optional" : 1,
4bd7df8b 6796 "type" : "integer",
013dc89f 6797 "typetext" : "<integer> (0 - 50000)"
56122987 6798 },
44660702
DM
6799 "skiplock" : {
6800 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 6801 "optional" : 1,
013dc89f
DM
6802 "type" : "boolean",
6803 "typetext" : "<boolean>"
56122987 6804 },
44660702
DM
6805 "smbios1" : {
6806 "description" : "Specify SMBIOS type 1 fields.",
6807 "format" : "pve-qm-smbios1",
6808 "maxLength" : 256,
56122987 6809 "optional" : 1,
4bd7df8b
DM
6810 "type" : "string",
6811 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 6812 },
44660702
DM
6813 "smp" : {
6814 "default" : 1,
6815 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 6816 "minimum" : 1,
7aacca6f 6817 "optional" : 1,
4bd7df8b 6818 "type" : "integer",
013dc89f 6819 "typetext" : "<integer> (1 - N)"
7aacca6f 6820 },
44660702
DM
6821 "sockets" : {
6822 "default" : 1,
6823 "description" : "The number of CPU sockets.",
6824 "minimum" : 1,
7aacca6f 6825 "optional" : 1,
4bd7df8b 6826 "type" : "integer",
013dc89f 6827 "typetext" : "<integer> (1 - N)"
56122987 6828 },
44660702
DM
6829 "startdate" : {
6830 "default" : "now",
6831 "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 6832 "optional" : 1,
44660702 6833 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 6834 "type" : "string",
44660702 6835 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 6836 },
7aacca6f 6837 "startup" : {
7aacca6f 6838 "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 6839 "format" : "pve-startup-order",
56122987 6840 "optional" : 1,
44660702
DM
6841 "type" : "string",
6842 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 6843 },
44660702 6844 "tablet" : {
7aacca6f 6845 "default" : 1,
c2993fe5 6846 "description" : "Enable/disable the USB tablet device.",
7aacca6f 6847 "optional" : 1,
c2993fe5 6848 "type" : "boolean",
013dc89f 6849 "typetext" : "<boolean>",
c2993fe5 6850 "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 6851 },
44660702
DM
6852 "tdf" : {
6853 "default" : 0,
6854 "description" : "Enable/disable time drift fix.",
7aacca6f 6855 "optional" : 1,
013dc89f
DM
6856 "type" : "boolean",
6857 "typetext" : "<boolean>"
7aacca6f 6858 },
44660702
DM
6859 "template" : {
6860 "default" : 0,
6861 "description" : "Enable/disable Template.",
7aacca6f 6862 "optional" : 1,
013dc89f
DM
6863 "type" : "boolean",
6864 "typetext" : "<boolean>"
7aacca6f 6865 },
44660702 6866 "unused[n]" : {
c2993fe5 6867 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 6868 "format" : "pve-volume-id",
7aacca6f 6869 "optional" : 1,
013dc89f
DM
6870 "type" : "string",
6871 "typetext" : "<string>"
7aacca6f 6872 },
44660702 6873 "usb[n]" : {
c2993fe5 6874 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
6875 "format" : {
6876 "host" : {
6877 "default_key" : 1,
c2993fe5 6878 "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
6879 "format" : "pve-qm-usb-device",
6880 "format_description" : "HOSTUSBDEVICE|spice",
6881 "type" : "string"
6882 },
6883 "usb3" : {
c2993fe5
DM
6884 "default" : 0,
6885 "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
6886 "optional" : 1,
6887 "type" : "boolean"
6888 }
6889 },
7aacca6f 6890 "optional" : 1,
4bd7df8b
DM
6891 "type" : "string",
6892 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 6893 },
44660702
DM
6894 "vcpus" : {
6895 "default" : 0,
6896 "description" : "Number of hotplugged vcpus.",
6897 "minimum" : 1,
56122987 6898 "optional" : 1,
4bd7df8b 6899 "type" : "integer",
013dc89f 6900 "typetext" : "<integer> (1 - N)"
56122987 6901 },
44660702 6902 "vga" : {
c2993fe5 6903 "description" : "Select the VGA type.",
44660702
DM
6904 "enum" : [
6905 "std",
6906 "cirrus",
6907 "vmware",
6908 "qxl",
6909 "serial0",
6910 "serial1",
6911 "serial2",
6912 "serial3",
6913 "qxl2",
6914 "qxl3",
6915 "qxl4"
6916 ],
56122987 6917 "optional" : 1,
c2993fe5
DM
6918 "type" : "string",
6919 "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 6920 },
44660702
DM
6921 "virtio[n]" : {
6922 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 6923 "format" : {
44660702
DM
6924 "aio" : {
6925 "description" : "AIO type to use.",
56122987 6926 "enum" : [
44660702
DM
6927 "native",
6928 "threads"
56122987 6929 ],
56122987
DM
6930 "optional" : 1,
6931 "type" : "string"
6932 },
44660702
DM
6933 "backup" : {
6934 "description" : "Whether the drive should be included when making backups.",
44660702
DM
6935 "optional" : 1,
6936 "type" : "boolean"
7aacca6f 6937 },
44660702 6938 "bps" : {
de0983cb 6939 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
6940 "format_description" : "bps",
6941 "optional" : 1,
6942 "type" : "integer"
56122987 6943 },
de0983cb
DM
6944 "bps_max_length" : {
6945 "description" : "Maximum length of I/O bursts in seconds.",
6946 "format_description" : "seconds",
6947 "minimum" : 1,
6948 "optional" : 1,
6949 "type" : "integer"
6950 },
44660702 6951 "bps_rd" : {
de0983cb 6952 "description" : "Maximum read speed in bytes per second.",
44660702 6953 "format_description" : "bps",
56122987 6954 "optional" : 1,
44660702 6955 "type" : "integer"
56122987 6956 },
de0983cb
DM
6957 "bps_rd_length" : {
6958 "description" : "Maximum length of read I/O bursts in seconds.",
6959 "format_description" : "seconds",
6960 "minimum" : 1,
6961 "optional" : 1,
6962 "type" : "integer"
6963 },
44660702 6964 "bps_wr" : {
de0983cb 6965 "description" : "Maximum write speed in bytes per second.",
44660702 6966 "format_description" : "bps",
56122987 6967 "optional" : 1,
44660702
DM
6968 "type" : "integer"
6969 },
de0983cb
DM
6970 "bps_wr_length" : {
6971 "description" : "Maximum length of write I/O bursts in seconds.",
6972 "format_description" : "seconds",
6973 "minimum" : 1,
6974 "optional" : 1,
6975 "type" : "integer"
6976 },
44660702
DM
6977 "cache" : {
6978 "description" : "The drive's cache mode",
56122987 6979 "enum" : [
44660702
DM
6980 "none",
6981 "writethrough",
6982 "writeback",
6983 "unsafe",
6984 "directsync"
56122987 6985 ],
56122987 6986 "optional" : 1,
44660702 6987 "type" : "string"
56122987 6988 },
44660702
DM
6989 "cyls" : {
6990 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 6991 "optional" : 1,
44660702 6992 "type" : "integer"
7aacca6f 6993 },
44660702
DM
6994 "detect_zeroes" : {
6995 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6996 "optional" : 1,
6997 "type" : "boolean"
7aacca6f 6998 },
44660702
DM
6999 "discard" : {
7000 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7001 "enum" : [
7002 "ignore",
7003 "on"
7004 ],
56122987 7005 "optional" : 1,
44660702 7006 "type" : "string"
56122987
DM
7007 },
7008 "file" : {
7aacca6f 7009 "default_key" : 1,
44660702 7010 "description" : "The drive's backing volume.",
7aacca6f 7011 "format" : "pve-volume-id-or-qm-path",
44660702
DM
7012 "format_description" : "volume",
7013 "type" : "string"
7aacca6f
DM
7014 },
7015 "format" : {
7aacca6f
DM
7016 "description" : "The drive's backing file's data format.",
7017 "enum" : [
7018 "raw",
7019 "cow",
7020 "qcow",
7021 "qed",
7022 "qcow2",
7023 "vmdk",
7024 "cloop"
56122987
DM
7025 ],
7026 "optional" : 1,
56122987
DM
7027 "type" : "string"
7028 },
44660702
DM
7029 "heads" : {
7030 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7031 "optional" : 1,
44660702 7032 "type" : "integer"
56122987 7033 },
44660702 7034 "iops" : {
de0983cb 7035 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7036 "format_description" : "iops",
56122987 7037 "optional" : 1,
44660702 7038 "type" : "integer"
56122987 7039 },
44660702 7040 "iops_max" : {
de0983cb 7041 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7042 "format_description" : "iops",
56122987 7043 "optional" : 1,
56122987
DM
7044 "type" : "integer"
7045 },
de0983cb
DM
7046 "iops_max_length" : {
7047 "description" : "Maximum length of I/O bursts in seconds.",
7048 "format_description" : "seconds",
7049 "minimum" : 1,
7050 "optional" : 1,
7051 "type" : "integer"
7052 },
44660702 7053 "iops_rd" : {
de0983cb 7054 "description" : "Maximum read I/O in operations per second.",
44660702 7055 "format_description" : "iops",
56122987 7056 "optional" : 1,
44660702 7057 "type" : "integer"
56122987 7058 },
de0983cb
DM
7059 "iops_rd_length" : {
7060 "description" : "Maximum length of read I/O bursts in seconds.",
7061 "format_description" : "seconds",
7062 "minimum" : 1,
7063 "optional" : 1,
7064 "type" : "integer"
7065 },
44660702 7066 "iops_rd_max" : {
de0983cb 7067 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7068 "format_description" : "iops",
7aacca6f 7069 "optional" : 1,
44660702 7070 "type" : "integer"
56122987 7071 },
44660702 7072 "iops_wr" : {
de0983cb 7073 "description" : "Maximum write I/O in operations per second.",
44660702 7074 "format_description" : "iops",
7aacca6f 7075 "optional" : 1,
44660702 7076 "type" : "integer"
56122987 7077 },
de0983cb
DM
7078 "iops_wr_length" : {
7079 "description" : "Maximum length of write I/O bursts in seconds.",
7080 "format_description" : "seconds",
7081 "minimum" : 1,
7082 "optional" : 1,
7083 "type" : "integer"
7084 },
44660702 7085 "iops_wr_max" : {
de0983cb 7086 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7087 "format_description" : "iops",
56122987
DM
7088 "optional" : 1,
7089 "type" : "integer"
7090 },
44660702
DM
7091 "iothread" : {
7092 "description" : "Whether to use iothreads for this drive",
44660702
DM
7093 "optional" : 1,
7094 "type" : "boolean"
7095 },
7096 "mbps" : {
de0983cb 7097 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7098 "format_description" : "mbps",
44660702
DM
7099 "optional" : 1,
7100 "type" : "number"
7101 },
7102 "mbps_max" : {
de0983cb 7103 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7104 "format_description" : "mbps",
7105 "optional" : 1,
7106 "type" : "number"
7aacca6f 7107 },
44660702 7108 "mbps_rd" : {
de0983cb 7109 "description" : "Maximum read speed in megabytes per second.",
44660702 7110 "format_description" : "mbps",
56122987 7111 "optional" : 1,
44660702 7112 "type" : "number"
56122987 7113 },
44660702 7114 "mbps_rd_max" : {
de0983cb 7115 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 7116 "format_description" : "mbps",
7aacca6f 7117 "optional" : 1,
44660702 7118 "type" : "number"
56122987 7119 },
44660702 7120 "mbps_wr" : {
de0983cb 7121 "description" : "Maximum write speed in megabytes per second.",
44660702 7122 "format_description" : "mbps",
56122987 7123 "optional" : 1,
44660702 7124 "type" : "number"
56122987 7125 },
44660702 7126 "mbps_wr_max" : {
de0983cb 7127 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7128 "format_description" : "mbps",
56122987 7129 "optional" : 1,
44660702 7130 "type" : "number"
56122987
DM
7131 },
7132 "media" : {
7aacca6f 7133 "default" : "disk",
44660702 7134 "description" : "The drive's media type.",
56122987
DM
7135 "enum" : [
7136 "cdrom",
7137 "disk"
7138 ],
44660702
DM
7139 "optional" : 1,
7140 "type" : "string"
56122987 7141 },
7aacca6f 7142 "rerror" : {
44660702 7143 "description" : "Read error action.",
56122987 7144 "enum" : [
7aacca6f
DM
7145 "ignore",
7146 "report",
7147 "stop"
56122987 7148 ],
56122987 7149 "optional" : 1,
44660702 7150 "type" : "string"
56122987 7151 },
44660702
DM
7152 "secs" : {
7153 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7154 "optional" : 1,
7155 "type" : "integer"
7156 },
7157 "serial" : {
7158 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7159 "format" : "urlencoded",
7160 "format_description" : "serial",
7161 "maxLength" : 60,
56122987 7162 "optional" : 1,
7aacca6f 7163 "type" : "string"
56122987 7164 },
44660702
DM
7165 "size" : {
7166 "description" : "Disk size. This is purely informational and has no effect.",
7167 "format" : "disk-size",
f004f5b9 7168 "format_description" : "DiskSize",
56122987 7169 "optional" : 1,
44660702 7170 "type" : "string"
56122987 7171 },
44660702
DM
7172 "snapshot" : {
7173 "description" : "Whether the drive should be included when making snapshots.",
56122987 7174 "optional" : 1,
44660702 7175 "type" : "boolean"
56122987 7176 },
44660702
DM
7177 "trans" : {
7178 "description" : "Force disk geometry bios translation mode.",
7179 "enum" : [
7180 "none",
7181 "lba",
7182 "auto"
7183 ],
44660702
DM
7184 "optional" : 1,
7185 "type" : "string"
7186 },
7187 "volume" : {
7188 "alias" : "file"
7189 },
7190 "werror" : {
7191 "description" : "Write error action.",
7192 "enum" : [
7193 "enospc",
7194 "ignore",
7195 "report",
7196 "stop"
7197 ],
56122987 7198 "optional" : 1,
44660702 7199 "type" : "string"
56122987 7200 }
44660702 7201 },
56122987 7202 "optional" : 1,
4bd7df8b 7203 "type" : "string",
013dc89f 7204 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
56122987 7205 },
7aacca6f
DM
7206 "vmid" : {
7207 "description" : "The (unique) ID of the VM.",
7aacca6f 7208 "format" : "pve-vmid",
44660702 7209 "minimum" : 1,
4bd7df8b 7210 "type" : "integer",
013dc89f 7211 "typetext" : "<integer> (1 - N)"
56122987 7212 },
44660702 7213 "watchdog" : {
c2993fe5 7214 "description" : "Create a virtual hardware watchdog device.",
44660702 7215 "format" : "pve-qm-watchdog",
56122987 7216 "optional" : 1,
c2993fe5 7217 "type" : "string",
013dc89f 7218 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 7219 "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 7220 }
44660702 7221 }
56122987 7222 },
7aacca6f
DM
7223 "permissions" : {
7224 "check" : [
7225 "perm",
7226 "/vms/{vmid}",
7227 [
44660702
DM
7228 "VM.Config.Disk",
7229 "VM.Config.CDROM",
7230 "VM.Config.CPU",
7231 "VM.Config.Memory",
7232 "VM.Config.Network",
7233 "VM.Config.HWType",
7234 "VM.Config.Options"
7235 ],
7236 "any",
7237 1
7aacca6f 7238 ]
56122987 7239 },
44660702 7240 "protected" : 1,
7aacca6f 7241 "proxyto" : "node",
44660702
DM
7242 "returns" : {
7243 "optional" : 1,
7244 "type" : "string"
7245 }
56122987 7246 },
7aacca6f 7247 "PUT" : {
44660702
DM
7248 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7249 "method" : "PUT",
7250 "name" : "update_vm",
56122987 7251 "parameters" : {
7aacca6f 7252 "additionalProperties" : 0,
56122987 7253 "properties" : {
44660702
DM
7254 "acpi" : {
7255 "default" : 1,
7256 "description" : "Enable/disable ACPI.",
7aacca6f 7257 "optional" : 1,
013dc89f
DM
7258 "type" : "boolean",
7259 "typetext" : "<boolean>"
7aacca6f 7260 },
44660702
DM
7261 "agent" : {
7262 "default" : 0,
7263 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7264 "optional" : 1,
013dc89f
DM
7265 "type" : "boolean",
7266 "typetext" : "<boolean>"
56122987 7267 },
44660702 7268 "args" : {
c2993fe5 7269 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7270 "optional" : 1,
c2993fe5 7271 "type" : "string",
013dc89f 7272 "typetext" : "<string>",
c2993fe5 7273 "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 7274 },
44660702
DM
7275 "autostart" : {
7276 "default" : 0,
7277 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 7278 "optional" : 1,
013dc89f
DM
7279 "type" : "boolean",
7280 "typetext" : "<boolean>"
7aacca6f 7281 },
44660702
DM
7282 "balloon" : {
7283 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7284 "minimum" : 0,
7285 "optional" : 1,
4bd7df8b 7286 "type" : "integer",
013dc89f 7287 "typetext" : "<integer> (0 - N)"
44660702
DM
7288 },
7289 "bios" : {
7290 "default" : "seabios",
7291 "description" : "Select BIOS implementation.",
7aacca6f 7292 "enum" : [
44660702
DM
7293 "seabios",
7294 "ovmf"
7aacca6f 7295 ],
56122987 7296 "optional" : 1,
7aacca6f
DM
7297 "type" : "string"
7298 },
44660702
DM
7299 "boot" : {
7300 "default" : "cdn",
7301 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7302 "optional" : 1,
44660702
DM
7303 "pattern" : "[acdn]{1,4}",
7304 "type" : "string"
56122987 7305 },
44660702
DM
7306 "bootdisk" : {
7307 "description" : "Enable booting from specified disk.",
7308 "format" : "pve-qm-bootdisk",
7309 "optional" : 1,
7310 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7311 "type" : "string"
7312 },
7313 "cdrom" : {
7314 "description" : "This is an alias for option -ide2",
de0983cb 7315 "format" : "pve-qm-ide",
56122987 7316 "optional" : 1,
7aacca6f 7317 "type" : "string",
013dc89f 7318 "typetext" : "<volume>"
44660702
DM
7319 },
7320 "cores" : {
7321 "default" : 1,
7322 "description" : "The number of cores per socket.",
7323 "minimum" : 1,
7324 "optional" : 1,
4bd7df8b 7325 "type" : "integer",
013dc89f 7326 "typetext" : "<integer> (1 - N)"
44660702
DM
7327 },
7328 "cpu" : {
7329 "description" : "Emulated CPU type.",
7330 "format" : {
7331 "cputype" : {
7332 "default" : "kvm64",
7333 "default_key" : 1,
7334 "description" : "Emulated CPU type.",
7335 "enum" : [
7336 "486",
7337 "athlon",
f004f5b9
DM
7338 "Broadwell",
7339 "Broadwell-noTSX",
7340 "Conroe",
44660702 7341 "core2duo",
f004f5b9
DM
7342 "coreduo",
7343 "Haswell",
7344 "Haswell-noTSX",
7345 "host",
7346 "IvyBridge",
44660702
DM
7347 "kvm32",
7348 "kvm64",
44660702 7349 "Nehalem",
44660702
DM
7350 "Opteron_G1",
7351 "Opteron_G2",
7352 "Opteron_G3",
7353 "Opteron_G4",
7354 "Opteron_G5",
f004f5b9
DM
7355 "Penryn",
7356 "pentium",
7357 "pentium2",
7358 "pentium3",
7359 "phenom",
7360 "qemu32",
7361 "qemu64",
7362 "SandyBridge",
7363 "Westmere"
44660702 7364 ],
44660702
DM
7365 "type" : "string"
7366 },
7367 "hidden" : {
7368 "default" : 0,
7369 "description" : "Do not identify as a KVM virtual machine.",
7370 "optional" : 1,
7371 "type" : "boolean"
7372 }
7373 },
7374 "optional" : 1,
4bd7df8b 7375 "type" : "string",
013dc89f 7376 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
7377 },
7378 "cpulimit" : {
7379 "default" : 0,
c2993fe5 7380 "description" : "Limit of CPU usage.",
44660702
DM
7381 "maximum" : 128,
7382 "minimum" : 0,
7383 "optional" : 1,
c2993fe5 7384 "type" : "number",
013dc89f 7385 "typetext" : "<number> (0 - 128)",
c2993fe5 7386 "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
7387 },
7388 "cpuunits" : {
de0983cb 7389 "default" : 1024,
c2993fe5 7390 "description" : "CPU weight for a VM.",
44660702
DM
7391 "maximum" : 500000,
7392 "minimum" : 0,
7393 "optional" : 1,
c2993fe5 7394 "type" : "integer",
013dc89f 7395 "typetext" : "<integer> (0 - 500000)",
c2993fe5 7396 "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
7397 },
7398 "delete" : {
7399 "description" : "A list of settings you want to delete.",
7400 "format" : "pve-configid-list",
7401 "optional" : 1,
013dc89f
DM
7402 "type" : "string",
7403 "typetext" : "<string>"
44660702
DM
7404 },
7405 "description" : {
7406 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7407 "optional" : 1,
013dc89f
DM
7408 "type" : "string",
7409 "typetext" : "<string>"
44660702
DM
7410 },
7411 "digest" : {
7412 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7413 "maxLength" : 40,
7414 "optional" : 1,
013dc89f
DM
7415 "type" : "string",
7416 "typetext" : "<string>"
44660702
DM
7417 },
7418 "force" : {
7419 "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.",
7420 "optional" : 1,
7421 "requires" : "delete",
013dc89f
DM
7422 "type" : "boolean",
7423 "typetext" : "<boolean>"
44660702
DM
7424 },
7425 "freeze" : {
7426 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7427 "optional" : 1,
013dc89f
DM
7428 "type" : "boolean",
7429 "typetext" : "<boolean>"
44660702
DM
7430 },
7431 "hostpci[n]" : {
c2993fe5 7432 "description" : "Map host PCI devices into guest.",
44660702
DM
7433 "format" : "pve-qm-hostpci",
7434 "optional" : 1,
57b78691 7435 "type" : "string",
4bd7df8b 7436 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 7437 "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 7438 },
7aacca6f 7439 "hotplug" : {
7aacca6f 7440 "default" : "network,disk,usb",
44660702
DM
7441 "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'.",
7442 "format" : "pve-hotplug-features",
56122987 7443 "optional" : 1,
013dc89f
DM
7444 "type" : "string",
7445 "typetext" : "<string>"
56122987 7446 },
4bd7df8b
DM
7447 "hugepages" : {
7448 "description" : "Enable/disable hugepages memory.",
7449 "enum" : [
7450 "any",
7451 "2",
7452 "1024"
7453 ],
7454 "optional" : 1,
7455 "type" : "string"
7456 },
56122987 7457 "ide[n]" : {
7aacca6f 7458 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7459 "format" : {
44660702
DM
7460 "aio" : {
7461 "description" : "AIO type to use.",
7462 "enum" : [
7463 "native",
7464 "threads"
7465 ],
56122987 7466 "optional" : 1,
44660702 7467 "type" : "string"
56122987 7468 },
44660702
DM
7469 "backup" : {
7470 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7471 "optional" : 1,
7472 "type" : "boolean"
7473 },
7474 "bps" : {
de0983cb 7475 "description" : "Maximum r/w speed in bytes per second.",
44660702 7476 "format_description" : "bps",
56122987 7477 "optional" : 1,
44660702 7478 "type" : "integer"
56122987 7479 },
de0983cb
DM
7480 "bps_max_length" : {
7481 "description" : "Maximum length of I/O bursts in seconds.",
7482 "format_description" : "seconds",
7483 "minimum" : 1,
7484 "optional" : 1,
7485 "type" : "integer"
7486 },
44660702 7487 "bps_rd" : {
de0983cb 7488 "description" : "Maximum read speed in bytes per second.",
44660702 7489 "format_description" : "bps",
56122987 7490 "optional" : 1,
44660702 7491 "type" : "integer"
56122987 7492 },
de0983cb
DM
7493 "bps_rd_length" : {
7494 "description" : "Maximum length of read I/O bursts in seconds.",
7495 "format_description" : "seconds",
7496 "minimum" : 1,
7497 "optional" : 1,
7498 "type" : "integer"
7499 },
7aacca6f 7500 "bps_wr" : {
de0983cb 7501 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7502 "format_description" : "bps",
7503 "optional" : 1,
7504 "type" : "integer"
7aacca6f 7505 },
de0983cb
DM
7506 "bps_wr_length" : {
7507 "description" : "Maximum length of write I/O bursts in seconds.",
7508 "format_description" : "seconds",
7509 "minimum" : 1,
7510 "optional" : 1,
7511 "type" : "integer"
7512 },
44660702
DM
7513 "cache" : {
7514 "description" : "The drive's cache mode",
7515 "enum" : [
7516 "none",
7517 "writethrough",
7518 "writeback",
7519 "unsafe",
7520 "directsync"
7521 ],
56122987 7522 "optional" : 1,
44660702
DM
7523 "type" : "string"
7524 },
7525 "cyls" : {
7526 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7527 "optional" : 1,
7528 "type" : "integer"
7529 },
7530 "detect_zeroes" : {
7531 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7532 "optional" : 1,
7533 "type" : "boolean"
56122987 7534 },
7aacca6f 7535 "discard" : {
7aacca6f 7536 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 7537 "enum" : [
7aacca6f
DM
7538 "ignore",
7539 "on"
56122987
DM
7540 ],
7541 "optional" : 1,
44660702 7542 "type" : "string"
7aacca6f 7543 },
44660702
DM
7544 "file" : {
7545 "default_key" : 1,
7546 "description" : "The drive's backing volume.",
7547 "format" : "pve-volume-id-or-qm-path",
7548 "format_description" : "volume",
7549 "type" : "string"
7aacca6f
DM
7550 },
7551 "format" : {
44660702 7552 "description" : "The drive's backing file's data format.",
7aacca6f
DM
7553 "enum" : [
7554 "raw",
7555 "cow",
7556 "qcow",
7557 "qed",
7558 "qcow2",
7559 "vmdk",
7560 "cloop"
7561 ],
7aacca6f 7562 "optional" : 1,
44660702 7563 "type" : "string"
56122987 7564 },
7aacca6f 7565 "heads" : {
44660702 7566 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7567 "optional" : 1,
44660702 7568 "type" : "integer"
7aacca6f 7569 },
44660702 7570 "iops" : {
de0983cb 7571 "description" : "Maximum r/w I/O in operations per second.",
44660702 7572 "format_description" : "iops",
7aacca6f 7573 "optional" : 1,
44660702 7574 "type" : "integer"
56122987 7575 },
44660702 7576 "iops_max" : {
de0983cb 7577 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7578 "format_description" : "iops",
56122987 7579 "optional" : 1,
44660702 7580 "type" : "integer"
56122987 7581 },
de0983cb
DM
7582 "iops_max_length" : {
7583 "description" : "Maximum length of I/O bursts in seconds.",
7584 "format_description" : "seconds",
7585 "minimum" : 1,
7586 "optional" : 1,
7587 "type" : "integer"
7588 },
44660702 7589 "iops_rd" : {
de0983cb 7590 "description" : "Maximum read I/O in operations per second.",
44660702 7591 "format_description" : "iops",
56122987 7592 "optional" : 1,
44660702 7593 "type" : "integer"
7aacca6f 7594 },
de0983cb
DM
7595 "iops_rd_length" : {
7596 "description" : "Maximum length of read I/O bursts in seconds.",
7597 "format_description" : "seconds",
7598 "minimum" : 1,
7599 "optional" : 1,
7600 "type" : "integer"
7601 },
44660702 7602 "iops_rd_max" : {
de0983cb 7603 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7604 "format_description" : "iops",
7aacca6f 7605 "optional" : 1,
44660702 7606 "type" : "integer"
7aacca6f 7607 },
44660702 7608 "iops_wr" : {
de0983cb 7609 "description" : "Maximum write I/O in operations per second.",
44660702 7610 "format_description" : "iops",
7aacca6f 7611 "optional" : 1,
44660702 7612 "type" : "integer"
56122987 7613 },
de0983cb
DM
7614 "iops_wr_length" : {
7615 "description" : "Maximum length of write I/O bursts in seconds.",
7616 "format_description" : "seconds",
7617 "minimum" : 1,
7618 "optional" : 1,
7619 "type" : "integer"
7620 },
44660702 7621 "iops_wr_max" : {
de0983cb 7622 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7623 "format_description" : "iops",
7aacca6f 7624 "optional" : 1,
44660702 7625 "type" : "integer"
7aacca6f
DM
7626 },
7627 "mbps" : {
de0983cb 7628 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7629 "format_description" : "mbps",
7aacca6f 7630 "optional" : 1,
44660702 7631 "type" : "number"
7aacca6f 7632 },
44660702 7633 "mbps_max" : {
de0983cb 7634 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 7635 "format_description" : "mbps",
7aacca6f 7636 "optional" : 1,
44660702 7637 "type" : "number"
7aacca6f 7638 },
44660702 7639 "mbps_rd" : {
de0983cb 7640 "description" : "Maximum read speed in megabytes per second.",
44660702 7641 "format_description" : "mbps",
7aacca6f 7642 "optional" : 1,
44660702 7643 "type" : "number"
7aacca6f 7644 },
44660702 7645 "mbps_rd_max" : {
de0983cb 7646 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7647 "format_description" : "mbps",
7648 "optional" : 1,
7649 "type" : "number"
7aacca6f 7650 },
44660702 7651 "mbps_wr" : {
de0983cb 7652 "description" : "Maximum write speed in megabytes per second.",
44660702 7653 "format_description" : "mbps",
7aacca6f 7654 "optional" : 1,
44660702
DM
7655 "type" : "number"
7656 },
7657 "mbps_wr_max" : {
de0983cb 7658 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7659 "format_description" : "mbps",
7660 "optional" : 1,
7661 "type" : "number"
7662 },
7663 "media" : {
7664 "default" : "disk",
7665 "description" : "The drive's media type.",
56122987 7666 "enum" : [
44660702
DM
7667 "cdrom",
7668 "disk"
56122987 7669 ],
44660702
DM
7670 "optional" : 1,
7671 "type" : "string"
56122987 7672 },
7aacca6f 7673 "model" : {
44660702 7674 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 7675 "format" : "urlencoded",
7aacca6f 7676 "format_description" : "model",
44660702 7677 "maxLength" : 120,
56122987 7678 "optional" : 1,
44660702 7679 "type" : "string"
56122987 7680 },
44660702
DM
7681 "rerror" : {
7682 "description" : "Read error action.",
7683 "enum" : [
7684 "ignore",
7685 "report",
7686 "stop"
7687 ],
56122987 7688 "optional" : 1,
44660702 7689 "type" : "string"
56122987 7690 },
44660702
DM
7691 "secs" : {
7692 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7693 "optional" : 1,
7694 "type" : "integer"
56122987 7695 },
44660702
DM
7696 "serial" : {
7697 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7698 "format" : "urlencoded",
7699 "format_description" : "serial",
7700 "maxLength" : 60,
56122987 7701 "optional" : 1,
44660702 7702 "type" : "string"
56122987 7703 },
44660702
DM
7704 "size" : {
7705 "description" : "Disk size. This is purely informational and has no effect.",
7706 "format" : "disk-size",
f004f5b9 7707 "format_description" : "DiskSize",
56122987 7708 "optional" : 1,
44660702 7709 "type" : "string"
56122987 7710 },
44660702
DM
7711 "snapshot" : {
7712 "description" : "Whether the drive should be included when making snapshots.",
56122987 7713 "optional" : 1,
44660702 7714 "type" : "boolean"
56122987 7715 },
44660702
DM
7716 "trans" : {
7717 "description" : "Force disk geometry bios translation mode.",
7718 "enum" : [
7719 "none",
7720 "lba",
7721 "auto"
7722 ],
56122987 7723 "optional" : 1,
44660702
DM
7724 "type" : "string"
7725 },
7726 "volume" : {
7727 "alias" : "file"
56122987 7728 },
7aacca6f 7729 "werror" : {
44660702 7730 "description" : "Write error action.",
7aacca6f
DM
7731 "enum" : [
7732 "enospc",
7733 "ignore",
7734 "report",
7735 "stop"
7736 ],
56122987 7737 "optional" : 1,
44660702 7738 "type" : "string"
7aacca6f 7739 }
44660702
DM
7740 },
7741 "optional" : 1,
4bd7df8b 7742 "type" : "string",
013dc89f 7743 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
7aacca6f 7744 },
44660702
DM
7745 "keyboard" : {
7746 "default" : "en-us",
c2993fe5 7747 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
7748 "enum" : [
7749 "de",
7750 "de-ch",
7751 "da",
7752 "en-gb",
7753 "en-us",
7754 "es",
7755 "fi",
7756 "fr",
7757 "fr-be",
7758 "fr-ca",
7759 "fr-ch",
7760 "hu",
7761 "is",
7762 "it",
7763 "ja",
7764 "lt",
7765 "mk",
7766 "nl",
7767 "no",
7768 "pl",
7769 "pt",
7770 "pt-br",
7771 "sv",
7772 "sl",
7773 "tr"
7774 ],
7aacca6f 7775 "optional" : 1,
44660702 7776 "type" : "string"
7aacca6f 7777 },
44660702 7778 "kvm" : {
7aacca6f 7779 "default" : 1,
44660702 7780 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 7781 "optional" : 1,
013dc89f
DM
7782 "type" : "boolean",
7783 "typetext" : "<boolean>"
7aacca6f 7784 },
44660702
DM
7785 "localtime" : {
7786 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 7787 "optional" : 1,
013dc89f
DM
7788 "type" : "boolean",
7789 "typetext" : "<boolean>"
7aacca6f 7790 },
44660702
DM
7791 "lock" : {
7792 "description" : "Lock/unlock the VM.",
7793 "enum" : [
7794 "migrate",
7795 "backup",
7796 "snapshot",
7797 "rollback"
7798 ],
7aacca6f 7799 "optional" : 1,
44660702 7800 "type" : "string"
7aacca6f 7801 },
44660702
DM
7802 "machine" : {
7803 "description" : "Specific the Qemu machine type.",
7804 "maxLength" : 40,
7aacca6f 7805 "optional" : 1,
44660702
DM
7806 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7807 "type" : "string"
7aacca6f 7808 },
44660702
DM
7809 "memory" : {
7810 "default" : 512,
7811 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7812 "minimum" : 16,
7aacca6f 7813 "optional" : 1,
4bd7df8b 7814 "type" : "integer",
013dc89f 7815 "typetext" : "<integer> (16 - N)"
7aacca6f 7816 },
44660702
DM
7817 "migrate_downtime" : {
7818 "default" : 0.1,
7819 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7820 "minimum" : 0,
7aacca6f 7821 "optional" : 1,
4bd7df8b 7822 "type" : "number",
013dc89f 7823 "typetext" : "<number> (0 - N)"
7aacca6f 7824 },
44660702 7825 "migrate_speed" : {
7aacca6f 7826 "default" : 0,
44660702
DM
7827 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7828 "minimum" : 0,
7829 "optional" : 1,
4bd7df8b 7830 "type" : "integer",
013dc89f 7831 "typetext" : "<integer> (0 - N)"
7aacca6f 7832 },
44660702
DM
7833 "name" : {
7834 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7835 "format" : "dns-name",
7aacca6f 7836 "optional" : 1,
013dc89f
DM
7837 "type" : "string",
7838 "typetext" : "<string>"
7aacca6f 7839 },
44660702 7840 "net[n]" : {
c2993fe5 7841 "description" : "Specify network devices.",
f004f5b9
DM
7842 "format" : {
7843 "bridge" : {
c2993fe5 7844 "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
7845 "format_description" : "bridge",
7846 "optional" : 1,
7847 "type" : "string"
7848 },
7849 "e1000" : {
7850 "alias" : "macaddr",
7851 "keyAlias" : "model"
7852 },
7853 "e1000-82540em" : {
7854 "alias" : "macaddr",
7855 "keyAlias" : "model"
7856 },
7857 "e1000-82544gc" : {
7858 "alias" : "macaddr",
7859 "keyAlias" : "model"
7860 },
7861 "e1000-82545em" : {
7862 "alias" : "macaddr",
7863 "keyAlias" : "model"
7864 },
7865 "firewall" : {
7866 "description" : "Whether this interface should be protected by the firewall.",
7867 "optional" : 1,
7868 "type" : "boolean"
7869 },
7870 "i82551" : {
7871 "alias" : "macaddr",
7872 "keyAlias" : "model"
7873 },
7874 "i82557b" : {
7875 "alias" : "macaddr",
7876 "keyAlias" : "model"
7877 },
7878 "i82559er" : {
7879 "alias" : "macaddr",
7880 "keyAlias" : "model"
7881 },
7882 "link_down" : {
c2993fe5 7883 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
7884 "optional" : 1,
7885 "type" : "boolean"
7886 },
7887 "macaddr" : {
c2993fe5 7888 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 7889 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
7890 "optional" : 1,
7891 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7892 "type" : "string"
7893 },
7894 "model" : {
7895 "default_key" : 1,
c2993fe5 7896 "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
7897 "enum" : [
7898 "rtl8139",
7899 "ne2k_pci",
7900 "e1000",
7901 "pcnet",
7902 "virtio",
7903 "ne2k_isa",
7904 "i82551",
7905 "i82557b",
7906 "i82559er",
7907 "vmxnet3",
7908 "e1000-82540em",
7909 "e1000-82544gc",
7910 "e1000-82545em"
7911 ],
f004f5b9
DM
7912 "type" : "string"
7913 },
7914 "ne2k_isa" : {
7915 "alias" : "macaddr",
7916 "keyAlias" : "model"
7917 },
7918 "ne2k_pci" : {
7919 "alias" : "macaddr",
7920 "keyAlias" : "model"
7921 },
7922 "pcnet" : {
7923 "alias" : "macaddr",
7924 "keyAlias" : "model"
7925 },
7926 "queues" : {
7927 "description" : "Number of packet queues to be used on the device.",
7928 "maximum" : 16,
7929 "minimum" : 0,
7930 "optional" : 1,
7931 "type" : "integer"
7932 },
7933 "rate" : {
c2993fe5 7934 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
7935 "minimum" : 0,
7936 "optional" : 1,
7937 "type" : "number"
7938 },
7939 "rtl8139" : {
7940 "alias" : "macaddr",
7941 "keyAlias" : "model"
7942 },
7943 "tag" : {
7944 "description" : "VLAN tag to apply to packets on this interface.",
7945 "maximum" : 4094,
c2993fe5 7946 "minimum" : 1,
f004f5b9
DM
7947 "optional" : 1,
7948 "type" : "integer"
7949 },
7950 "trunks" : {
7951 "description" : "VLAN trunks to pass through this interface.",
7952 "format_description" : "vlanid[;vlanid...]",
7953 "optional" : 1,
7954 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7955 "type" : "string"
7956 },
7957 "virtio" : {
7958 "alias" : "macaddr",
7959 "keyAlias" : "model"
7960 },
7961 "vmxnet3" : {
7962 "alias" : "macaddr",
7963 "keyAlias" : "model"
7964 }
7965 },
7aacca6f 7966 "optional" : 1,
4bd7df8b 7967 "type" : "string",
013dc89f 7968 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
7aacca6f 7969 },
44660702
DM
7970 "node" : {
7971 "description" : "The cluster node name.",
7972 "format" : "pve-node",
013dc89f
DM
7973 "type" : "string",
7974 "typetext" : "<string>"
44660702
DM
7975 },
7976 "numa" : {
7977 "default" : 0,
7978 "description" : "Enable/disable NUMA.",
7aacca6f 7979 "optional" : 1,
013dc89f
DM
7980 "type" : "boolean",
7981 "typetext" : "<boolean>"
7aacca6f 7982 },
44660702 7983 "numa[n]" : {
c2993fe5 7984 "description" : "NUMA topology.",
44660702
DM
7985 "format" : {
7986 "cpus" : {
c2993fe5 7987 "description" : "CPUs accessing this NUMA node.",
44660702
DM
7988 "format_description" : "id[-id];...",
7989 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7990 "type" : "string"
7991 },
7992 "hostnodes" : {
c2993fe5 7993 "description" : "Host NUMA nodes to use.",
44660702
DM
7994 "format_description" : "id[-id];...",
7995 "optional" : 1,
7996 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7997 "type" : "string"
7998 },
7999 "memory" : {
c2993fe5 8000 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
8001 "optional" : 1,
8002 "type" : "number"
8003 },
8004 "policy" : {
c2993fe5 8005 "description" : "NUMA allocation policy.",
44660702
DM
8006 "enum" : [
8007 "preferred",
8008 "bind",
8009 "interleave"
8010 ],
44660702
DM
8011 "optional" : 1,
8012 "type" : "string"
8013 }
8014 },
7aacca6f 8015 "optional" : 1,
4bd7df8b
DM
8016 "type" : "string",
8017 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 8018 },
44660702
DM
8019 "onboot" : {
8020 "default" : 0,
8021 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 8022 "optional" : 1,
013dc89f
DM
8023 "type" : "boolean",
8024 "typetext" : "<boolean>"
7aacca6f 8025 },
44660702 8026 "ostype" : {
c2993fe5 8027 "description" : "Specify guest operating system.",
44660702
DM
8028 "enum" : [
8029 "other",
8030 "wxp",
8031 "w2k",
8032 "w2k3",
8033 "w2k8",
8034 "wvista",
8035 "win7",
8036 "win8",
8037 "l24",
8038 "l26",
8039 "solaris"
8040 ],
7aacca6f 8041 "optional" : 1,
c2993fe5
DM
8042 "type" : "string",
8043 "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 8044 },
44660702 8045 "parallel[n]" : {
c2993fe5 8046 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8047 "optional" : 1,
44660702 8048 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8049 "type" : "string",
8050 "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 8051 },
44660702
DM
8052 "protection" : {
8053 "default" : 0,
c2993fe5 8054 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8055 "optional" : 1,
013dc89f
DM
8056 "type" : "boolean",
8057 "typetext" : "<boolean>"
7aacca6f 8058 },
44660702
DM
8059 "reboot" : {
8060 "default" : 1,
8061 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8062 "optional" : 1,
013dc89f
DM
8063 "type" : "boolean",
8064 "typetext" : "<boolean>"
7aacca6f 8065 },
44660702
DM
8066 "revert" : {
8067 "description" : "Revert a pending change.",
8068 "format" : "pve-configid-list",
7aacca6f 8069 "optional" : 1,
013dc89f
DM
8070 "type" : "string",
8071 "typetext" : "<string>"
7aacca6f 8072 },
44660702
DM
8073 "sata[n]" : {
8074 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 8075 "format" : {
44660702
DM
8076 "aio" : {
8077 "description" : "AIO type to use.",
8078 "enum" : [
8079 "native",
8080 "threads"
8081 ],
44660702
DM
8082 "optional" : 1,
8083 "type" : "string"
8084 },
8085 "backup" : {
8086 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8087 "optional" : 1,
8088 "type" : "boolean"
8089 },
8090 "bps" : {
de0983cb 8091 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 8092 "format_description" : "bps",
7aacca6f
DM
8093 "optional" : 1,
8094 "type" : "integer"
56122987 8095 },
de0983cb
DM
8096 "bps_max_length" : {
8097 "description" : "Maximum length of I/O bursts in seconds.",
8098 "format_description" : "seconds",
8099 "minimum" : 1,
8100 "optional" : 1,
8101 "type" : "integer"
8102 },
44660702 8103 "bps_rd" : {
de0983cb 8104 "description" : "Maximum read speed in bytes per second.",
44660702 8105 "format_description" : "bps",
7aacca6f 8106 "optional" : 1,
44660702 8107 "type" : "integer"
7aacca6f 8108 },
de0983cb
DM
8109 "bps_rd_length" : {
8110 "description" : "Maximum length of read I/O bursts in seconds.",
8111 "format_description" : "seconds",
8112 "minimum" : 1,
8113 "optional" : 1,
8114 "type" : "integer"
8115 },
44660702 8116 "bps_wr" : {
de0983cb 8117 "description" : "Maximum write speed in bytes per second.",
44660702 8118 "format_description" : "bps",
7aacca6f 8119 "optional" : 1,
44660702 8120 "type" : "integer"
7aacca6f 8121 },
de0983cb
DM
8122 "bps_wr_length" : {
8123 "description" : "Maximum length of write I/O bursts in seconds.",
8124 "format_description" : "seconds",
8125 "minimum" : 1,
8126 "optional" : 1,
8127 "type" : "integer"
8128 },
44660702
DM
8129 "cache" : {
8130 "description" : "The drive's cache mode",
8131 "enum" : [
8132 "none",
8133 "writethrough",
8134 "writeback",
8135 "unsafe",
8136 "directsync"
8137 ],
7aacca6f 8138 "optional" : 1,
44660702 8139 "type" : "string"
7aacca6f 8140 },
44660702
DM
8141 "cyls" : {
8142 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8143 "optional" : 1,
44660702 8144 "type" : "integer"
7aacca6f 8145 },
44660702
DM
8146 "detect_zeroes" : {
8147 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 8148 "optional" : 1,
44660702 8149 "type" : "boolean"
7aacca6f 8150 },
44660702
DM
8151 "discard" : {
8152 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8153 "enum" : [
8154 "ignore",
8155 "on"
8156 ],
7aacca6f 8157 "optional" : 1,
44660702
DM
8158 "type" : "string"
8159 },
8160 "file" : {
8161 "default_key" : 1,
8162 "description" : "The drive's backing volume.",
8163 "format" : "pve-volume-id-or-qm-path",
8164 "format_description" : "volume",
8165 "type" : "string"
7aacca6f
DM
8166 },
8167 "format" : {
7aacca6f 8168 "description" : "The drive's backing file's data format.",
56122987
DM
8169 "enum" : [
8170 "raw",
8171 "cow",
8172 "qcow",
8173 "qed",
8174 "qcow2",
8175 "vmdk",
8176 "cloop"
8177 ],
8178 "optional" : 1,
7aacca6f 8179 "type" : "string"
56122987 8180 },
7aacca6f 8181 "heads" : {
7aacca6f 8182 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8183 "optional" : 1,
8184 "type" : "integer"
56122987 8185 },
44660702 8186 "iops" : {
de0983cb 8187 "description" : "Maximum r/w I/O in operations per second.",
44660702 8188 "format_description" : "iops",
56122987 8189 "optional" : 1,
44660702 8190 "type" : "integer"
7aacca6f 8191 },
44660702 8192 "iops_max" : {
de0983cb 8193 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8194 "format_description" : "iops",
7aacca6f 8195 "optional" : 1,
44660702 8196 "type" : "integer"
56122987 8197 },
de0983cb
DM
8198 "iops_max_length" : {
8199 "description" : "Maximum length of I/O bursts in seconds.",
8200 "format_description" : "seconds",
8201 "minimum" : 1,
8202 "optional" : 1,
8203 "type" : "integer"
8204 },
44660702 8205 "iops_rd" : {
de0983cb 8206 "description" : "Maximum read I/O in operations per second.",
44660702 8207 "format_description" : "iops",
56122987 8208 "optional" : 1,
44660702 8209 "type" : "integer"
7aacca6f 8210 },
de0983cb
DM
8211 "iops_rd_length" : {
8212 "description" : "Maximum length of read I/O bursts in seconds.",
8213 "format_description" : "seconds",
8214 "minimum" : 1,
8215 "optional" : 1,
8216 "type" : "integer"
8217 },
44660702 8218 "iops_rd_max" : {
de0983cb 8219 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8220 "format_description" : "iops",
56122987 8221 "optional" : 1,
44660702 8222 "type" : "integer"
56122987 8223 },
44660702 8224 "iops_wr" : {
de0983cb 8225 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8226 "format_description" : "iops",
8227 "optional" : 1,
8228 "type" : "integer"
56122987 8229 },
de0983cb
DM
8230 "iops_wr_length" : {
8231 "description" : "Maximum length of write I/O bursts in seconds.",
8232 "format_description" : "seconds",
8233 "minimum" : 1,
8234 "optional" : 1,
8235 "type" : "integer"
8236 },
44660702 8237 "iops_wr_max" : {
de0983cb 8238 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8239 "format_description" : "iops",
8240 "optional" : 1,
8241 "type" : "integer"
8242 },
8243 "mbps" : {
de0983cb 8244 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8245 "format_description" : "mbps",
8246 "optional" : 1,
8247 "type" : "number"
8248 },
8249 "mbps_max" : {
de0983cb 8250 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8251 "format_description" : "mbps",
8252 "optional" : 1,
8253 "type" : "number"
8254 },
8255 "mbps_rd" : {
de0983cb 8256 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8257 "format_description" : "mbps",
8258 "optional" : 1,
8259 "type" : "number"
8260 },
8261 "mbps_rd_max" : {
de0983cb 8262 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8263 "format_description" : "mbps",
8264 "optional" : 1,
8265 "type" : "number"
8266 },
8267 "mbps_wr" : {
de0983cb 8268 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8269 "format_description" : "mbps",
8270 "optional" : 1,
8271 "type" : "number"
8272 },
8273 "mbps_wr_max" : {
de0983cb 8274 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8275 "format_description" : "mbps",
8276 "optional" : 1,
8277 "type" : "number"
8278 },
8279 "media" : {
8280 "default" : "disk",
8281 "description" : "The drive's media type.",
8282 "enum" : [
8283 "cdrom",
8284 "disk"
8285 ],
56122987 8286 "optional" : 1,
44660702
DM
8287 "type" : "string"
8288 },
8289 "rerror" : {
7aacca6f
DM
8290 "description" : "Read error action.",
8291 "enum" : [
8292 "ignore",
8293 "report",
8294 "stop"
44660702 8295 ],
56122987 8296 "optional" : 1,
44660702 8297 "type" : "string"
56122987 8298 },
7aacca6f 8299 "secs" : {
44660702 8300 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8301 "optional" : 1,
44660702 8302 "type" : "integer"
56122987 8303 },
44660702
DM
8304 "serial" : {
8305 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8306 "format" : "urlencoded",
8307 "format_description" : "serial",
8308 "maxLength" : 60,
56122987 8309 "optional" : 1,
44660702 8310 "type" : "string"
56122987 8311 },
44660702
DM
8312 "size" : {
8313 "description" : "Disk size. This is purely informational and has no effect.",
8314 "format" : "disk-size",
f004f5b9 8315 "format_description" : "DiskSize",
56122987 8316 "optional" : 1,
44660702 8317 "type" : "string"
56122987
DM
8318 },
8319 "snapshot" : {
7aacca6f 8320 "description" : "Whether the drive should be included when making snapshots.",
56122987 8321 "optional" : 1,
44660702 8322 "type" : "boolean"
56122987 8323 },
56122987 8324 "trans" : {
7aacca6f 8325 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8326 "enum" : [
8327 "none",
8328 "lba",
8329 "auto"
8330 ],
8331 "optional" : 1,
44660702 8332 "type" : "string"
56122987 8333 },
44660702
DM
8334 "volume" : {
8335 "alias" : "file"
56122987 8336 },
7aacca6f 8337 "werror" : {
44660702 8338 "description" : "Write error action.",
56122987 8339 "enum" : [
7aacca6f 8340 "enospc",
56122987 8341 "ignore",
7aacca6f
DM
8342 "report",
8343 "stop"
8344 ],
7aacca6f 8345 "optional" : 1,
44660702
DM
8346 "type" : "string"
8347 }
8348 },
8349 "optional" : 1,
4bd7df8b 8350 "type" : "string",
013dc89f 8351 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
44660702
DM
8352 },
8353 "scsi[n]" : {
8354 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8355 "format" : {
8356 "aio" : {
7aacca6f 8357 "description" : "AIO type to use.",
56122987
DM
8358 "enum" : [
8359 "native",
8360 "threads"
44660702 8361 ],
56122987 8362 "optional" : 1,
44660702 8363 "type" : "string"
56122987 8364 },
7aacca6f 8365 "backup" : {
7aacca6f 8366 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8367 "optional" : 1,
44660702 8368 "type" : "boolean"
56122987 8369 },
44660702 8370 "bps" : {
de0983cb 8371 "description" : "Maximum r/w speed in bytes per second.",
44660702 8372 "format_description" : "bps",
7aacca6f 8373 "optional" : 1,
44660702 8374 "type" : "integer"
7aacca6f 8375 },
de0983cb
DM
8376 "bps_max_length" : {
8377 "description" : "Maximum length of I/O bursts in seconds.",
8378 "format_description" : "seconds",
8379 "minimum" : 1,
8380 "optional" : 1,
8381 "type" : "integer"
8382 },
44660702 8383 "bps_rd" : {
de0983cb 8384 "description" : "Maximum read speed in bytes per second.",
44660702 8385 "format_description" : "bps",
56122987 8386 "optional" : 1,
44660702 8387 "type" : "integer"
56122987 8388 },
de0983cb
DM
8389 "bps_rd_length" : {
8390 "description" : "Maximum length of read I/O bursts in seconds.",
8391 "format_description" : "seconds",
8392 "minimum" : 1,
8393 "optional" : 1,
8394 "type" : "integer"
8395 },
44660702 8396 "bps_wr" : {
de0983cb 8397 "description" : "Maximum write speed in bytes per second.",
44660702 8398 "format_description" : "bps",
56122987 8399 "optional" : 1,
44660702 8400 "type" : "integer"
56122987 8401 },
de0983cb
DM
8402 "bps_wr_length" : {
8403 "description" : "Maximum length of write I/O bursts in seconds.",
8404 "format_description" : "seconds",
8405 "minimum" : 1,
8406 "optional" : 1,
8407 "type" : "integer"
8408 },
44660702
DM
8409 "cache" : {
8410 "description" : "The drive's cache mode",
8411 "enum" : [
8412 "none",
8413 "writethrough",
8414 "writeback",
8415 "unsafe",
8416 "directsync"
8417 ],
56122987 8418 "optional" : 1,
44660702
DM
8419 "type" : "string"
8420 },
8421 "cyls" : {
8422 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8423 "optional" : 1,
8424 "type" : "integer"
8425 },
8426 "detect_zeroes" : {
8427 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8428 "optional" : 1,
8429 "type" : "boolean"
8430 },
8431 "discard" : {
8432 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8433 "enum" : [
8434 "ignore",
8435 "on"
8436 ],
44660702
DM
8437 "optional" : 1,
8438 "type" : "string"
8439 },
8440 "file" : {
8441 "default_key" : 1,
8442 "description" : "The drive's backing volume.",
8443 "format" : "pve-volume-id-or-qm-path",
8444 "format_description" : "volume",
8445 "type" : "string"
56122987 8446 },
7aacca6f 8447 "format" : {
44660702 8448 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8449 "enum" : [
8450 "raw",
8451 "cow",
8452 "qcow",
8453 "qed",
8454 "qcow2",
8455 "vmdk",
8456 "cloop"
8457 ],
56122987 8458 "optional" : 1,
44660702 8459 "type" : "string"
56122987 8460 },
44660702
DM
8461 "heads" : {
8462 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8463 "optional" : 1,
44660702 8464 "type" : "integer"
56122987 8465 },
44660702 8466 "iops" : {
de0983cb 8467 "description" : "Maximum r/w I/O in operations per second.",
44660702 8468 "format_description" : "iops",
7aacca6f 8469 "optional" : 1,
44660702 8470 "type" : "integer"
56122987 8471 },
44660702 8472 "iops_max" : {
de0983cb 8473 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 8474 "format_description" : "iops",
7aacca6f 8475 "optional" : 1,
44660702 8476 "type" : "integer"
56122987 8477 },
de0983cb
DM
8478 "iops_max_length" : {
8479 "description" : "Maximum length of I/O bursts in seconds.",
8480 "format_description" : "seconds",
8481 "minimum" : 1,
8482 "optional" : 1,
8483 "type" : "integer"
8484 },
44660702 8485 "iops_rd" : {
de0983cb 8486 "description" : "Maximum read I/O in operations per second.",
44660702 8487 "format_description" : "iops",
56122987 8488 "optional" : 1,
44660702 8489 "type" : "integer"
56122987 8490 },
de0983cb
DM
8491 "iops_rd_length" : {
8492 "description" : "Maximum length of read I/O bursts in seconds.",
8493 "format_description" : "seconds",
8494 "minimum" : 1,
8495 "optional" : 1,
8496 "type" : "integer"
8497 },
44660702 8498 "iops_rd_max" : {
de0983cb 8499 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8500 "format_description" : "iops",
56122987 8501 "optional" : 1,
44660702 8502 "type" : "integer"
56122987 8503 },
44660702 8504 "iops_wr" : {
de0983cb 8505 "description" : "Maximum write I/O in operations per second.",
44660702 8506 "format_description" : "iops",
56122987 8507 "optional" : 1,
44660702 8508 "type" : "integer"
56122987 8509 },
de0983cb
DM
8510 "iops_wr_length" : {
8511 "description" : "Maximum length of write I/O bursts in seconds.",
8512 "format_description" : "seconds",
8513 "minimum" : 1,
8514 "optional" : 1,
8515 "type" : "integer"
8516 },
44660702 8517 "iops_wr_max" : {
de0983cb 8518 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 8519 "format_description" : "iops",
44660702
DM
8520 "optional" : 1,
8521 "type" : "integer"
7aacca6f
DM
8522 },
8523 "iothread" : {
44660702 8524 "description" : "Whether to use iothreads for this drive",
56122987 8525 "optional" : 1,
44660702 8526 "type" : "boolean"
56122987 8527 },
44660702 8528 "mbps" : {
de0983cb 8529 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8530 "format_description" : "mbps",
56122987 8531 "optional" : 1,
44660702 8532 "type" : "number"
56122987 8533 },
44660702 8534 "mbps_max" : {
de0983cb 8535 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8536 "format_description" : "mbps",
56122987 8537 "optional" : 1,
44660702 8538 "type" : "number"
56122987 8539 },
44660702 8540 "mbps_rd" : {
de0983cb 8541 "description" : "Maximum read speed in megabytes per second.",
44660702 8542 "format_description" : "mbps",
7aacca6f 8543 "optional" : 1,
44660702 8544 "type" : "number"
56122987 8545 },
44660702 8546 "mbps_rd_max" : {
de0983cb 8547 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8548 "format_description" : "mbps",
7aacca6f 8549 "optional" : 1,
44660702 8550 "type" : "number"
7aacca6f 8551 },
44660702 8552 "mbps_wr" : {
de0983cb 8553 "description" : "Maximum write speed in megabytes per second.",
44660702 8554 "format_description" : "mbps",
56122987 8555 "optional" : 1,
44660702 8556 "type" : "number"
56122987 8557 },
44660702 8558 "mbps_wr_max" : {
de0983cb 8559 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8560 "format_description" : "mbps",
56122987 8561 "optional" : 1,
44660702
DM
8562 "type" : "number"
8563 },
8564 "media" : {
8565 "default" : "disk",
8566 "description" : "The drive's media type.",
7aacca6f 8567 "enum" : [
44660702
DM
8568 "cdrom",
8569 "disk"
7aacca6f 8570 ],
56122987 8571 "optional" : 1,
44660702 8572 "type" : "string"
56122987 8573 },
7aacca6f 8574 "queues" : {
44660702 8575 "description" : "Number of queues.",
7aacca6f 8576 "minimum" : 2,
7aacca6f
DM
8577 "optional" : 1,
8578 "type" : "integer"
56122987 8579 },
44660702
DM
8580 "secs" : {
8581 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8582 "optional" : 1,
44660702 8583 "type" : "integer"
56122987 8584 },
44660702
DM
8585 "serial" : {
8586 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8587 "format" : "urlencoded",
8588 "format_description" : "serial",
8589 "maxLength" : 60,
56122987 8590 "optional" : 1,
44660702 8591 "type" : "string"
56122987 8592 },
44660702
DM
8593 "size" : {
8594 "description" : "Disk size. This is purely informational and has no effect.",
8595 "format" : "disk-size",
f004f5b9 8596 "format_description" : "DiskSize",
44660702
DM
8597 "optional" : 1,
8598 "type" : "string"
8599 },
8600 "snapshot" : {
8601 "description" : "Whether the drive should be included when making snapshots.",
56122987 8602 "optional" : 1,
44660702
DM
8603 "type" : "boolean"
8604 },
8605 "trans" : {
8606 "description" : "Force disk geometry bios translation mode.",
56122987 8607 "enum" : [
44660702
DM
8608 "none",
8609 "lba",
8610 "auto"
56122987 8611 ],
44660702
DM
8612 "optional" : 1,
8613 "type" : "string"
8614 },
8615 "volume" : {
8616 "alias" : "file"
56122987 8617 },
7aacca6f 8618 "werror" : {
7aacca6f
DM
8619 "description" : "Write error action.",
8620 "enum" : [
8621 "enospc",
8622 "ignore",
8623 "report",
8624 "stop"
44660702 8625 ],
56122987 8626 "optional" : 1,
7aacca6f 8627 "type" : "string"
56122987 8628 }
44660702 8629 },
56122987 8630 "optional" : 1,
4bd7df8b 8631 "type" : "string",
013dc89f 8632 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
56122987
DM
8633 },
8634 "scsihw" : {
44660702 8635 "default" : "lsi",
c2993fe5 8636 "description" : "SCSI controller model",
56122987
DM
8637 "enum" : [
8638 "lsi",
8639 "lsi53c810",
8640 "virtio-scsi-pci",
8641 "virtio-scsi-single",
8642 "megasas",
8643 "pvscsi"
8644 ],
8645 "optional" : 1,
56122987
DM
8646 "type" : "string"
8647 },
44660702 8648 "serial[n]" : {
c2993fe5 8649 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 8650 "optional" : 1,
44660702 8651 "pattern" : "(/dev/.+|socket)",
c2993fe5 8652 "type" : "string",
57b78691 8653 "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 8654 },
44660702
DM
8655 "shares" : {
8656 "default" : 1000,
8657 "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",
8658 "maximum" : 50000,
8659 "minimum" : 0,
7aacca6f 8660 "optional" : 1,
4bd7df8b 8661 "type" : "integer",
013dc89f 8662 "typetext" : "<integer> (0 - 50000)"
56122987 8663 },
7aacca6f
DM
8664 "skiplock" : {
8665 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 8666 "optional" : 1,
013dc89f
DM
8667 "type" : "boolean",
8668 "typetext" : "<boolean>"
56122987 8669 },
44660702
DM
8670 "smbios1" : {
8671 "description" : "Specify SMBIOS type 1 fields.",
8672 "format" : "pve-qm-smbios1",
8673 "maxLength" : 256,
56122987 8674 "optional" : 1,
4bd7df8b
DM
8675 "type" : "string",
8676 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 8677 },
44660702
DM
8678 "smp" : {
8679 "default" : 1,
8680 "description" : "The number of CPUs. Please use option -sockets instead.",
8681 "minimum" : 1,
56122987 8682 "optional" : 1,
4bd7df8b 8683 "type" : "integer",
013dc89f 8684 "typetext" : "<integer> (1 - N)"
56122987 8685 },
44660702
DM
8686 "sockets" : {
8687 "default" : 1,
8688 "description" : "The number of CPU sockets.",
8689 "minimum" : 1,
56122987 8690 "optional" : 1,
4bd7df8b 8691 "type" : "integer",
013dc89f 8692 "typetext" : "<integer> (1 - N)"
56122987 8693 },
44660702
DM
8694 "startdate" : {
8695 "default" : "now",
8696 "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'.",
8697 "optional" : 1,
8698 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 8699 "type" : "string",
44660702
DM
8700 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
8701 },
8702 "startup" : {
8703 "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.",
8704 "format" : "pve-startup-order",
7aacca6f 8705 "optional" : 1,
44660702
DM
8706 "type" : "string",
8707 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 8708 },
44660702
DM
8709 "tablet" : {
8710 "default" : 1,
c2993fe5 8711 "description" : "Enable/disable the USB tablet device.",
7aacca6f 8712 "optional" : 1,
c2993fe5 8713 "type" : "boolean",
013dc89f 8714 "typetext" : "<boolean>",
c2993fe5 8715 "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 8716 },
44660702
DM
8717 "tdf" : {
8718 "default" : 0,
8719 "description" : "Enable/disable time drift fix.",
7aacca6f 8720 "optional" : 1,
013dc89f
DM
8721 "type" : "boolean",
8722 "typetext" : "<boolean>"
7aacca6f 8723 },
44660702
DM
8724 "template" : {
8725 "default" : 0,
8726 "description" : "Enable/disable Template.",
7aacca6f 8727 "optional" : 1,
013dc89f
DM
8728 "type" : "boolean",
8729 "typetext" : "<boolean>"
7aacca6f 8730 },
44660702 8731 "unused[n]" : {
c2993fe5 8732 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 8733 "format" : "pve-volume-id",
7aacca6f 8734 "optional" : 1,
013dc89f
DM
8735 "type" : "string",
8736 "typetext" : "<string>"
7aacca6f 8737 },
44660702 8738 "usb[n]" : {
c2993fe5 8739 "description" : "Configure an USB device (n is 0 to 4).",
56122987 8740 "format" : {
44660702
DM
8741 "host" : {
8742 "default_key" : 1,
c2993fe5 8743 "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
8744 "format" : "pve-qm-usb-device",
8745 "format_description" : "HOSTUSBDEVICE|spice",
8746 "type" : "string"
7aacca6f 8747 },
44660702 8748 "usb3" : {
c2993fe5
DM
8749 "default" : 0,
8750 "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 8751 "optional" : 1,
44660702 8752 "type" : "boolean"
7aacca6f 8753 }
44660702 8754 },
7aacca6f 8755 "optional" : 1,
4bd7df8b
DM
8756 "type" : "string",
8757 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 8758 },
44660702 8759 "vcpus" : {
7aacca6f 8760 "default" : 0,
44660702
DM
8761 "description" : "Number of hotplugged vcpus.",
8762 "minimum" : 1,
7aacca6f 8763 "optional" : 1,
4bd7df8b 8764 "type" : "integer",
013dc89f 8765 "typetext" : "<integer> (1 - N)"
7aacca6f 8766 },
44660702 8767 "vga" : {
c2993fe5 8768 "description" : "Select the VGA type.",
44660702
DM
8769 "enum" : [
8770 "std",
8771 "cirrus",
8772 "vmware",
8773 "qxl",
8774 "serial0",
8775 "serial1",
8776 "serial2",
8777 "serial3",
8778 "qxl2",
8779 "qxl3",
8780 "qxl4"
8781 ],
7aacca6f 8782 "optional" : 1,
c2993fe5
DM
8783 "type" : "string",
8784 "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 8785 },
44660702
DM
8786 "virtio[n]" : {
8787 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 8788 "format" : {
7aacca6f 8789 "aio" : {
7aacca6f 8790 "description" : "AIO type to use.",
56122987 8791 "enum" : [
7aacca6f
DM
8792 "native",
8793 "threads"
7aacca6f 8794 ],
44660702
DM
8795 "optional" : 1,
8796 "type" : "string"
56122987 8797 },
44660702
DM
8798 "backup" : {
8799 "description" : "Whether the drive should be included when making backups.",
56122987 8800 "optional" : 1,
44660702 8801 "type" : "boolean"
7aacca6f 8802 },
44660702 8803 "bps" : {
de0983cb 8804 "description" : "Maximum r/w speed in bytes per second.",
44660702 8805 "format_description" : "bps",
7aacca6f 8806 "optional" : 1,
44660702 8807 "type" : "integer"
56122987 8808 },
de0983cb
DM
8809 "bps_max_length" : {
8810 "description" : "Maximum length of I/O bursts in seconds.",
8811 "format_description" : "seconds",
8812 "minimum" : 1,
8813 "optional" : 1,
8814 "type" : "integer"
8815 },
56122987 8816 "bps_rd" : {
de0983cb 8817 "description" : "Maximum read speed in bytes per second.",
44660702 8818 "format_description" : "bps",
56122987 8819 "optional" : 1,
7aacca6f 8820 "type" : "integer"
56122987 8821 },
de0983cb
DM
8822 "bps_rd_length" : {
8823 "description" : "Maximum length of read I/O bursts in seconds.",
8824 "format_description" : "seconds",
8825 "minimum" : 1,
8826 "optional" : 1,
8827 "type" : "integer"
8828 },
44660702 8829 "bps_wr" : {
de0983cb 8830 "description" : "Maximum write speed in bytes per second.",
44660702 8831 "format_description" : "bps",
56122987 8832 "optional" : 1,
7aacca6f 8833 "type" : "integer"
56122987 8834 },
de0983cb
DM
8835 "bps_wr_length" : {
8836 "description" : "Maximum length of write I/O bursts in seconds.",
8837 "format_description" : "seconds",
8838 "minimum" : 1,
8839 "optional" : 1,
8840 "type" : "integer"
8841 },
7aacca6f 8842 "cache" : {
44660702 8843 "description" : "The drive's cache mode",
7aacca6f
DM
8844 "enum" : [
8845 "none",
8846 "writethrough",
8847 "writeback",
8848 "unsafe",
8849 "directsync"
8850 ],
56122987 8851 "optional" : 1,
44660702 8852 "type" : "string"
7aacca6f 8853 },
44660702
DM
8854 "cyls" : {
8855 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8856 "optional" : 1,
8857 "type" : "integer"
8858 },
8859 "detect_zeroes" : {
8860 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8861 "optional" : 1,
8862 "type" : "boolean"
8863 },
8864 "discard" : {
8865 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8866 "enum" : [
44660702
DM
8867 "ignore",
8868 "on"
56122987
DM
8869 ],
8870 "optional" : 1,
44660702 8871 "type" : "string"
56122987 8872 },
44660702
DM
8873 "file" : {
8874 "default_key" : 1,
8875 "description" : "The drive's backing volume.",
8876 "format" : "pve-volume-id-or-qm-path",
8877 "format_description" : "volume",
8878 "type" : "string"
8879 },
8880 "format" : {
8881 "description" : "The drive's backing file's data format.",
8882 "enum" : [
8883 "raw",
8884 "cow",
8885 "qcow",
8886 "qed",
8887 "qcow2",
8888 "vmdk",
8889 "cloop"
8890 ],
56122987 8891 "optional" : 1,
44660702 8892 "type" : "string"
56122987 8893 },
44660702
DM
8894 "heads" : {
8895 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8896 "optional" : 1,
8897 "type" : "integer"
8898 },
8899 "iops" : {
de0983cb 8900 "description" : "Maximum r/w I/O in operations per second.",
44660702 8901 "format_description" : "iops",
56122987 8902 "optional" : 1,
44660702
DM
8903 "type" : "integer"
8904 },
8905 "iops_max" : {
de0983cb 8906 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
8907 "format_description" : "iops",
8908 "optional" : 1,
8909 "type" : "integer"
56122987 8910 },
de0983cb
DM
8911 "iops_max_length" : {
8912 "description" : "Maximum length of I/O bursts in seconds.",
8913 "format_description" : "seconds",
8914 "minimum" : 1,
8915 "optional" : 1,
8916 "type" : "integer"
8917 },
7aacca6f 8918 "iops_rd" : {
de0983cb 8919 "description" : "Maximum read I/O in operations per second.",
7aacca6f 8920 "format_description" : "iops",
7aacca6f 8921 "optional" : 1,
44660702 8922 "type" : "integer"
56122987 8923 },
de0983cb
DM
8924 "iops_rd_length" : {
8925 "description" : "Maximum length of read I/O bursts in seconds.",
8926 "format_description" : "seconds",
8927 "minimum" : 1,
8928 "optional" : 1,
8929 "type" : "integer"
8930 },
44660702 8931 "iops_rd_max" : {
de0983cb 8932 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8933 "format_description" : "iops",
8934 "optional" : 1,
8935 "type" : "integer"
8936 },
8937 "iops_wr" : {
de0983cb 8938 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8939 "format_description" : "iops",
8940 "optional" : 1,
8941 "type" : "integer"
8942 },
de0983cb
DM
8943 "iops_wr_length" : {
8944 "description" : "Maximum length of write I/O bursts in seconds.",
8945 "format_description" : "seconds",
8946 "minimum" : 1,
8947 "optional" : 1,
8948 "type" : "integer"
8949 },
44660702 8950 "iops_wr_max" : {
de0983cb 8951 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8952 "format_description" : "iops",
8953 "optional" : 1,
8954 "type" : "integer"
8955 },
8956 "iothread" : {
8957 "description" : "Whether to use iothreads for this drive",
44660702
DM
8958 "optional" : 1,
8959 "type" : "boolean"
8960 },
8961 "mbps" : {
de0983cb 8962 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8963 "format_description" : "mbps",
7aacca6f 8964 "optional" : 1,
44660702 8965 "type" : "number"
7aacca6f
DM
8966 },
8967 "mbps_max" : {
de0983cb 8968 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8969 "format_description" : "mbps",
56122987 8970 "optional" : 1,
44660702 8971 "type" : "number"
56122987 8972 },
44660702 8973 "mbps_rd" : {
de0983cb 8974 "description" : "Maximum read speed in megabytes per second.",
44660702 8975 "format_description" : "mbps",
56122987 8976 "optional" : 1,
44660702 8977 "type" : "number"
56122987 8978 },
44660702 8979 "mbps_rd_max" : {
de0983cb 8980 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8981 "format_description" : "mbps",
8982 "optional" : 1,
8983 "type" : "number"
8984 },
8985 "mbps_wr" : {
de0983cb 8986 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8987 "format_description" : "mbps",
8988 "optional" : 1,
8989 "type" : "number"
8990 },
8991 "mbps_wr_max" : {
de0983cb 8992 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8993 "format_description" : "mbps",
8994 "optional" : 1,
8995 "type" : "number"
8996 },
8997 "media" : {
8998 "default" : "disk",
8999 "description" : "The drive's media type.",
56122987 9000 "enum" : [
44660702
DM
9001 "cdrom",
9002 "disk"
56122987
DM
9003 ],
9004 "optional" : 1,
44660702 9005 "type" : "string"
56122987 9006 },
44660702
DM
9007 "rerror" : {
9008 "description" : "Read error action.",
9009 "enum" : [
9010 "ignore",
9011 "report",
9012 "stop"
9013 ],
56122987 9014 "optional" : 1,
44660702 9015 "type" : "string"
56122987 9016 },
44660702
DM
9017 "secs" : {
9018 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9019 "optional" : 1,
44660702 9020 "type" : "integer"
56122987 9021 },
7aacca6f
DM
9022 "serial" : {
9023 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 9024 "format" : "urlencoded",
44660702 9025 "format_description" : "serial",
7aacca6f 9026 "maxLength" : 60,
44660702
DM
9027 "optional" : 1,
9028 "type" : "string"
56122987 9029 },
44660702
DM
9030 "size" : {
9031 "description" : "Disk size. This is purely informational and has no effect.",
9032 "format" : "disk-size",
f004f5b9 9033 "format_description" : "DiskSize",
44660702
DM
9034 "optional" : 1,
9035 "type" : "string"
56122987 9036 },
44660702
DM
9037 "snapshot" : {
9038 "description" : "Whether the drive should be included when making snapshots.",
56122987 9039 "optional" : 1,
44660702 9040 "type" : "boolean"
56122987 9041 },
44660702
DM
9042 "trans" : {
9043 "description" : "Force disk geometry bios translation mode.",
9044 "enum" : [
9045 "none",
9046 "lba",
9047 "auto"
9048 ],
7aacca6f 9049 "optional" : 1,
44660702 9050 "type" : "string"
7aacca6f 9051 },
44660702
DM
9052 "volume" : {
9053 "alias" : "file"
9054 },
9055 "werror" : {
9056 "description" : "Write error action.",
9057 "enum" : [
9058 "enospc",
9059 "ignore",
9060 "report",
9061 "stop"
9062 ],
7aacca6f 9063 "optional" : 1,
44660702 9064 "type" : "string"
56122987
DM
9065 }
9066 },
7aacca6f 9067 "optional" : 1,
4bd7df8b 9068 "type" : "string",
013dc89f 9069 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
7aacca6f 9070 },
44660702
DM
9071 "vmid" : {
9072 "description" : "The (unique) ID of the VM.",
9073 "format" : "pve-vmid",
9074 "minimum" : 1,
4bd7df8b 9075 "type" : "integer",
013dc89f 9076 "typetext" : "<integer> (1 - N)"
56122987 9077 },
44660702 9078 "watchdog" : {
c2993fe5 9079 "description" : "Create a virtual hardware watchdog device.",
44660702 9080 "format" : "pve-qm-watchdog",
56122987 9081 "optional" : 1,
c2993fe5 9082 "type" : "string",
013dc89f 9083 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9084 "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 9085 }
7aacca6f 9086 }
56122987 9087 },
56122987
DM
9088 "permissions" : {
9089 "check" : [
9090 "perm",
9091 "/vms/{vmid}",
9092 [
9093 "VM.Config.Disk",
9094 "VM.Config.CDROM",
9095 "VM.Config.CPU",
9096 "VM.Config.Memory",
9097 "VM.Config.Network",
9098 "VM.Config.HWType",
9099 "VM.Config.Options"
9100 ],
9101 "any",
9102 1
9103 ]
9104 },
44660702 9105 "protected" : 1,
7aacca6f 9106 "proxyto" : "node",
56122987 9107 "returns" : {
7aacca6f
DM
9108 "type" : "null"
9109 }
9110 }
9111 },
44660702
DM
9112 "leaf" : 1,
9113 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
9114 "text" : "config"
9115 },
9116 {
9117 "info" : {
56122987 9118 "GET" : {
44660702 9119 "description" : "Get virtual machine configuration, including pending changes.",
56122987 9120 "method" : "GET",
44660702 9121 "name" : "vm_pending",
7aacca6f 9122 "parameters" : {
44660702 9123 "additionalProperties" : 0,
7aacca6f
DM
9124 "properties" : {
9125 "node" : {
7aacca6f 9126 "description" : "The cluster node name.",
44660702 9127 "format" : "pve-node",
013dc89f
DM
9128 "type" : "string",
9129 "typetext" : "<string>"
7aacca6f
DM
9130 },
9131 "vmid" : {
44660702 9132 "description" : "The (unique) ID of the VM.",
7aacca6f 9133 "format" : "pve-vmid",
44660702 9134 "minimum" : 1,
4bd7df8b 9135 "type" : "integer",
013dc89f 9136 "typetext" : "<integer> (1 - N)"
7aacca6f 9137 }
44660702 9138 }
7aacca6f 9139 },
56122987
DM
9140 "permissions" : {
9141 "check" : [
9142 "perm",
9143 "/vms/{vmid}",
9144 [
9145 "VM.Audit"
9146 ]
9147 ]
9148 },
7aacca6f 9149 "proxyto" : "node",
44660702
DM
9150 "returns" : {
9151 "items" : {
9152 "properties" : {
9153 "delete" : {
9154 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
9155 "maximum" : 2,
9156 "minimum" : 0,
9157 "optional" : 1,
9158 "type" : "integer"
9159 },
9160 "key" : {
9161 "description" : "Configuration option name.",
9162 "type" : "string"
9163 },
9164 "pending" : {
9165 "description" : "Pending value.",
9166 "optional" : 1,
9167 "type" : "string"
9168 },
9169 "value" : {
9170 "description" : "Current value.",
9171 "optional" : 1,
9172 "type" : "string"
9173 }
9174 },
9175 "type" : "object"
9176 },
9177 "type" : "array"
9178 }
56122987
DM
9179 }
9180 },
7aacca6f 9181 "leaf" : 1,
44660702
DM
9182 "path" : "/nodes/{node}/qemu/{vmid}/pending",
9183 "text" : "pending"
56122987
DM
9184 },
9185 {
56122987
DM
9186 "info" : {
9187 "PUT" : {
7aacca6f 9188 "description" : "Unlink/delete disk images.",
7aacca6f 9189 "method" : "PUT",
7aacca6f 9190 "name" : "unlink",
56122987 9191 "parameters" : {
44660702 9192 "additionalProperties" : 0,
56122987 9193 "properties" : {
7aacca6f 9194 "force" : {
44660702 9195 "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 9196 "optional" : 1,
013dc89f
DM
9197 "type" : "boolean",
9198 "typetext" : "<boolean>"
7aacca6f 9199 },
56122987
DM
9200 "idlist" : {
9201 "description" : "A list of disk IDs you want to delete.",
44660702 9202 "format" : "pve-configid-list",
013dc89f
DM
9203 "type" : "string",
9204 "typetext" : "<string>"
44660702
DM
9205 },
9206 "node" : {
9207 "description" : "The cluster node name.",
9208 "format" : "pve-node",
013dc89f
DM
9209 "type" : "string",
9210 "typetext" : "<string>"
56122987
DM
9211 },
9212 "vmid" : {
7aacca6f 9213 "description" : "The (unique) ID of the VM.",
44660702 9214 "format" : "pve-vmid",
7aacca6f 9215 "minimum" : 1,
4bd7df8b 9216 "type" : "integer",
013dc89f 9217 "typetext" : "<integer> (1 - N)"
56122987 9218 }
44660702
DM
9219 }
9220 },
9221 "permissions" : {
9222 "check" : [
9223 "perm",
9224 "/vms/{vmid}",
9225 [
9226 "VM.Config.Disk"
9227 ]
9228 ]
9229 },
9230 "protected" : 1,
9231 "proxyto" : "node",
9232 "returns" : {
9233 "type" : "null"
7aacca6f 9234 }
56122987 9235 }
7aacca6f 9236 },
44660702 9237 "leaf" : 1,
7aacca6f 9238 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 9239 "text" : "unlink"
56122987
DM
9240 },
9241 {
56122987
DM
9242 "info" : {
9243 "POST" : {
7aacca6f 9244 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
9245 "method" : "POST",
9246 "name" : "vncproxy",
56122987 9247 "parameters" : {
44660702 9248 "additionalProperties" : 0,
56122987 9249 "properties" : {
44660702
DM
9250 "node" : {
9251 "description" : "The cluster node name.",
9252 "format" : "pve-node",
013dc89f
DM
9253 "type" : "string",
9254 "typetext" : "<string>"
44660702 9255 },
56122987 9256 "vmid" : {
7aacca6f 9257 "description" : "The (unique) ID of the VM.",
44660702 9258 "format" : "pve-vmid",
56122987 9259 "minimum" : 1,
4bd7df8b 9260 "type" : "integer",
013dc89f 9261 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9262 },
9263 "websocket" : {
9264 "description" : "starts websockify instead of vncproxy",
44660702 9265 "optional" : 1,
013dc89f
DM
9266 "type" : "boolean",
9267 "typetext" : "<boolean>"
56122987 9268 }
44660702 9269 }
56122987 9270 },
44660702
DM
9271 "permissions" : {
9272 "check" : [
9273 "perm",
9274 "/vms/{vmid}",
9275 [
9276 "VM.Console"
9277 ]
9278 ]
9279 },
9280 "protected" : 1,
56122987 9281 "returns" : {
7aacca6f 9282 "additionalProperties" : 0,
56122987 9283 "properties" : {
7aacca6f 9284 "cert" : {
56122987
DM
9285 "type" : "string"
9286 },
56122987
DM
9287 "port" : {
9288 "type" : "integer"
9289 },
7aacca6f
DM
9290 "ticket" : {
9291 "type" : "string"
9292 },
44660702
DM
9293 "upid" : {
9294 "type" : "string"
9295 },
7aacca6f 9296 "user" : {
56122987
DM
9297 "type" : "string"
9298 }
7aacca6f 9299 }
56122987
DM
9300 }
9301 }
9302 },
44660702
DM
9303 "leaf" : 1,
9304 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9305 "text" : "vncproxy"
56122987
DM
9306 },
9307 {
56122987
DM
9308 "info" : {
9309 "GET" : {
44660702
DM
9310 "description" : "Opens a weksocket for VNC traffic.",
9311 "method" : "GET",
9312 "name" : "vncwebsocket",
56122987 9313 "parameters" : {
44660702 9314 "additionalProperties" : 0,
56122987 9315 "properties" : {
7aacca6f 9316 "node" : {
7aacca6f 9317 "description" : "The cluster node name.",
44660702 9318 "format" : "pve-node",
013dc89f
DM
9319 "type" : "string",
9320 "typetext" : "<string>"
7aacca6f 9321 },
44660702
DM
9322 "port" : {
9323 "description" : "Port number returned by previous vncproxy call.",
9324 "maximum" : 5999,
9325 "minimum" : 5900,
4bd7df8b 9326 "type" : "integer",
013dc89f 9327 "typetext" : "<integer> (5900 - 5999)"
56122987 9328 },
7aacca6f 9329 "vmid" : {
44660702 9330 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9331 "format" : "pve-vmid",
9332 "minimum" : 1,
4bd7df8b 9333 "type" : "integer",
013dc89f 9334 "typetext" : "<integer> (1 - N)"
44660702
DM
9335 },
9336 "vncticket" : {
9337 "description" : "Ticket from previous call to vncproxy.",
9338 "maxLength" : 512,
013dc89f
DM
9339 "type" : "string",
9340 "typetext" : "<string>"
56122987 9341 }
44660702
DM
9342 }
9343 },
9344 "permissions" : {
9345 "check" : [
9346 "perm",
9347 "/vms/{vmid}",
9348 [
9349 "VM.Console"
9350 ]
9351 ],
9352 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 9353 },
7aacca6f
DM
9354 "returns" : {
9355 "properties" : {
9356 "port" : {
9357 "type" : "string"
9358 }
9359 },
9360 "type" : "object"
9361 }
56122987
DM
9362 }
9363 },
7aacca6f 9364 "leaf" : 1,
44660702
DM
9365 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
9366 "text" : "vncwebsocket"
56122987
DM
9367 },
9368 {
9369 "info" : {
9370 "POST" : {
44660702
DM
9371 "description" : "Returns a SPICE configuration to connect to the VM.",
9372 "method" : "POST",
7aacca6f
DM
9373 "name" : "spiceproxy",
9374 "parameters" : {
44660702 9375 "additionalProperties" : 0,
56122987 9376 "properties" : {
44660702
DM
9377 "node" : {
9378 "description" : "The cluster node name.",
9379 "format" : "pve-node",
013dc89f
DM
9380 "type" : "string",
9381 "typetext" : "<string>"
44660702 9382 },
7aacca6f 9383 "proxy" : {
44660702 9384 "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 9385 "format" : "address",
7aacca6f 9386 "optional" : 1,
013dc89f
DM
9387 "type" : "string",
9388 "typetext" : "<string>"
56122987 9389 },
7aacca6f 9390 "vmid" : {
44660702 9391 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9392 "format" : "pve-vmid",
9393 "minimum" : 1,
4bd7df8b 9394 "type" : "integer",
013dc89f 9395 "typetext" : "<integer> (1 - N)"
56122987 9396 }
44660702 9397 }
56122987 9398 },
56122987
DM
9399 "permissions" : {
9400 "check" : [
9401 "perm",
9402 "/vms/{vmid}",
9403 [
9404 "VM.Console"
9405 ]
9406 ]
9407 },
44660702
DM
9408 "protected" : 1,
9409 "proxyto" : "node",
7aacca6f 9410 "returns" : {
44660702
DM
9411 "additionalProperties" : 1,
9412 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 9413 "properties" : {
44660702 9414 "host" : {
7aacca6f
DM
9415 "type" : "string"
9416 },
7aacca6f
DM
9417 "password" : {
9418 "type" : "string"
9419 },
44660702 9420 "proxy" : {
7aacca6f
DM
9421 "type" : "string"
9422 },
44660702
DM
9423 "tls-port" : {
9424 "type" : "integer"
9425 },
9426 "type" : {
7aacca6f
DM
9427 "type" : "string"
9428 }
44660702 9429 }
7aacca6f
DM
9430 }
9431 }
9432 },
44660702
DM
9433 "leaf" : 1,
9434 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
9435 "text" : "spiceproxy"
9436 },
9437 {
56122987
DM
9438 "children" : [
9439 {
56122987
DM
9440 "info" : {
9441 "GET" : {
44660702
DM
9442 "description" : "Get virtual machine status.",
9443 "method" : "GET",
9444 "name" : "vm_status",
56122987 9445 "parameters" : {
44660702 9446 "additionalProperties" : 0,
56122987 9447 "properties" : {
44660702
DM
9448 "node" : {
9449 "description" : "The cluster node name.",
9450 "format" : "pve-node",
013dc89f
DM
9451 "type" : "string",
9452 "typetext" : "<string>"
44660702 9453 },
56122987 9454 "vmid" : {
44660702 9455 "description" : "The (unique) ID of the VM.",
7aacca6f 9456 "format" : "pve-vmid",
56122987 9457 "minimum" : 1,
4bd7df8b 9458 "type" : "integer",
013dc89f 9459 "typetext" : "<integer> (1 - N)"
56122987 9460 }
44660702 9461 }
56122987
DM
9462 },
9463 "permissions" : {
9464 "check" : [
9465 "perm",
9466 "/vms/{vmid}",
9467 [
9468 "VM.Audit"
9469 ]
9470 ]
9471 },
44660702 9472 "protected" : 1,
7aacca6f 9473 "proxyto" : "node",
56122987
DM
9474 "returns" : {
9475 "type" : "object"
7aacca6f 9476 }
56122987 9477 }
7aacca6f 9478 },
7aacca6f 9479 "leaf" : 1,
44660702
DM
9480 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
9481 "text" : "current"
56122987
DM
9482 },
9483 {
56122987
DM
9484 "info" : {
9485 "POST" : {
44660702 9486 "description" : "Start virtual machine.",
56122987 9487 "method" : "POST",
44660702 9488 "name" : "vm_start",
56122987 9489 "parameters" : {
44660702 9490 "additionalProperties" : 0,
56122987 9491 "properties" : {
44660702
DM
9492 "machine" : {
9493 "description" : "Specific the Qemu machine type.",
9494 "maxLength" : 40,
9495 "optional" : 1,
9496 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
9497 "type" : "string"
9498 },
9499 "migratedfrom" : {
9500 "description" : "The cluster node name.",
9501 "format" : "pve-node",
56122987 9502 "optional" : 1,
013dc89f
DM
9503 "type" : "string",
9504 "typetext" : "<string>"
56122987 9505 },
de0983cb
DM
9506 "migration_network" : {
9507 "description" : "CIDR of the (sub) network that is used for migration.",
9508 "format" : "CIDR",
9509 "optional" : 1,
013dc89f
DM
9510 "type" : "string",
9511 "typetext" : "<string>"
de0983cb
DM
9512 },
9513 "migration_type" : {
9514 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
9515 "enum" : [
9516 "secure",
9517 "insecure"
9518 ],
9519 "optional" : 1,
9520 "type" : "string"
9521 },
7aacca6f 9522 "node" : {
7aacca6f 9523 "description" : "The cluster node name.",
44660702 9524 "format" : "pve-node",
013dc89f
DM
9525 "type" : "string",
9526 "typetext" : "<string>"
7aacca6f 9527 },
44660702
DM
9528 "skiplock" : {
9529 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9530 "optional" : 1,
013dc89f
DM
9531 "type" : "boolean",
9532 "typetext" : "<boolean>"
56122987 9533 },
44660702
DM
9534 "stateuri" : {
9535 "description" : "Some command save/restore state from this location.",
9536 "maxLength" : 128,
56122987 9537 "optional" : 1,
013dc89f
DM
9538 "type" : "string",
9539 "typetext" : "<string>"
56122987
DM
9540 },
9541 "vmid" : {
7aacca6f 9542 "description" : "The (unique) ID of the VM.",
44660702
DM
9543 "format" : "pve-vmid",
9544 "minimum" : 1,
4bd7df8b 9545 "type" : "integer",
013dc89f 9546 "typetext" : "<integer> (1 - N)"
56122987 9547 }
44660702 9548 }
7aacca6f 9549 },
56122987
DM
9550 "permissions" : {
9551 "check" : [
9552 "perm",
9553 "/vms/{vmid}",
9554 [
9555 "VM.PowerMgmt"
9556 ]
9557 ]
44660702
DM
9558 },
9559 "protected" : 1,
9560 "proxyto" : "node",
9561 "returns" : {
9562 "type" : "string"
56122987
DM
9563 }
9564 }
44660702
DM
9565 },
9566 "leaf" : 1,
9567 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
9568 "text" : "start"
56122987
DM
9569 },
9570 {
56122987
DM
9571 "info" : {
9572 "POST" : {
7aacca6f 9573 "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
9574 "method" : "POST",
9575 "name" : "vm_stop",
56122987 9576 "parameters" : {
44660702 9577 "additionalProperties" : 0,
56122987 9578 "properties" : {
44660702
DM
9579 "keepActive" : {
9580 "default" : 0,
de0983cb 9581 "description" : "Do not deactivate storage volumes.",
56122987 9582 "optional" : 1,
013dc89f
DM
9583 "type" : "boolean",
9584 "typetext" : "<boolean>"
56122987
DM
9585 },
9586 "migratedfrom" : {
56122987 9587 "description" : "The cluster node name.",
44660702 9588 "format" : "pve-node",
7aacca6f 9589 "optional" : 1,
013dc89f
DM
9590 "type" : "string",
9591 "typetext" : "<string>"
7aacca6f 9592 },
44660702
DM
9593 "node" : {
9594 "description" : "The cluster node name.",
9595 "format" : "pve-node",
013dc89f
DM
9596 "type" : "string",
9597 "typetext" : "<string>"
56122987
DM
9598 },
9599 "skiplock" : {
9600 "description" : "Ignore locks - only root is allowed to use this option.",
9601 "optional" : 1,
013dc89f
DM
9602 "type" : "boolean",
9603 "typetext" : "<boolean>"
56122987 9604 },
44660702
DM
9605 "timeout" : {
9606 "description" : "Wait maximal timeout seconds.",
9607 "minimum" : 0,
56122987 9608 "optional" : 1,
4bd7df8b 9609 "type" : "integer",
013dc89f 9610 "typetext" : "<integer> (0 - N)"
7aacca6f 9611 },
44660702
DM
9612 "vmid" : {
9613 "description" : "The (unique) ID of the VM.",
9614 "format" : "pve-vmid",
9615 "minimum" : 1,
4bd7df8b 9616 "type" : "integer",
013dc89f 9617 "typetext" : "<integer> (1 - N)"
56122987 9618 }
44660702 9619 }
56122987 9620 },
56122987
DM
9621 "permissions" : {
9622 "check" : [
9623 "perm",
9624 "/vms/{vmid}",
9625 [
9626 "VM.PowerMgmt"
9627 ]
9628 ]
9629 },
44660702
DM
9630 "protected" : 1,
9631 "proxyto" : "node",
7aacca6f
DM
9632 "returns" : {
9633 "type" : "string"
44660702
DM
9634 }
9635 }
9636 },
9637 "leaf" : 1,
9638 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
9639 "text" : "stop"
9640 },
9641 {
9642 "info" : {
9643 "POST" : {
9644 "description" : "Reset virtual machine.",
9645 "method" : "POST",
9646 "name" : "vm_reset",
56122987 9647 "parameters" : {
7aacca6f 9648 "additionalProperties" : 0,
56122987 9649 "properties" : {
56122987
DM
9650 "node" : {
9651 "description" : "The cluster node name.",
44660702 9652 "format" : "pve-node",
013dc89f
DM
9653 "type" : "string",
9654 "typetext" : "<string>"
56122987
DM
9655 },
9656 "skiplock" : {
44660702 9657 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9658 "optional" : 1,
013dc89f
DM
9659 "type" : "boolean",
9660 "typetext" : "<boolean>"
7aacca6f
DM
9661 },
9662 "vmid" : {
44660702 9663 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9664 "format" : "pve-vmid",
9665 "minimum" : 1,
4bd7df8b 9666 "type" : "integer",
013dc89f 9667 "typetext" : "<integer> (1 - N)"
56122987 9668 }
7aacca6f 9669 }
56122987 9670 },
7aacca6f
DM
9671 "permissions" : {
9672 "check" : [
9673 "perm",
9674 "/vms/{vmid}",
9675 [
9676 "VM.PowerMgmt"
9677 ]
9678 ]
9679 },
44660702 9680 "protected" : 1,
7aacca6f 9681 "proxyto" : "node",
56122987
DM
9682 "returns" : {
9683 "type" : "string"
44660702
DM
9684 }
9685 }
9686 },
9687 "leaf" : 1,
9688 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
9689 "text" : "reset"
9690 },
9691 {
9692 "info" : {
9693 "POST" : {
9694 "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.",
9695 "method" : "POST",
56122987 9696 "name" : "vm_shutdown",
56122987 9697 "parameters" : {
7aacca6f 9698 "additionalProperties" : 0,
56122987 9699 "properties" : {
56122987 9700 "forceStop" : {
56122987 9701 "default" : 0,
44660702 9702 "description" : "Make sure the VM stops.",
7aacca6f 9703 "optional" : 1,
013dc89f
DM
9704 "type" : "boolean",
9705 "typetext" : "<boolean>"
56122987
DM
9706 },
9707 "keepActive" : {
7aacca6f 9708 "default" : 0,
de0983cb 9709 "description" : "Do not deactivate storage volumes.",
44660702 9710 "optional" : 1,
013dc89f
DM
9711 "type" : "boolean",
9712 "typetext" : "<boolean>"
44660702
DM
9713 },
9714 "node" : {
9715 "description" : "The cluster node name.",
9716 "format" : "pve-node",
013dc89f
DM
9717 "type" : "string",
9718 "typetext" : "<string>"
44660702
DM
9719 },
9720 "skiplock" : {
9721 "description" : "Ignore locks - only root is allowed to use this option.",
9722 "optional" : 1,
013dc89f
DM
9723 "type" : "boolean",
9724 "typetext" : "<boolean>"
56122987 9725 },
7aacca6f 9726 "timeout" : {
7aacca6f 9727 "description" : "Wait maximal timeout seconds.",
44660702 9728 "minimum" : 0,
7aacca6f 9729 "optional" : 1,
4bd7df8b 9730 "type" : "integer",
013dc89f 9731 "typetext" : "<integer> (0 - N)"
7aacca6f 9732 },
56122987 9733 "vmid" : {
7aacca6f 9734 "description" : "The (unique) ID of the VM.",
44660702
DM
9735 "format" : "pve-vmid",
9736 "minimum" : 1,
4bd7df8b 9737 "type" : "integer",
013dc89f 9738 "typetext" : "<integer> (1 - N)"
56122987 9739 }
7aacca6f 9740 }
56122987 9741 },
44660702
DM
9742 "permissions" : {
9743 "check" : [
9744 "perm",
9745 "/vms/{vmid}",
9746 [
9747 "VM.PowerMgmt"
9748 ]
9749 ]
9750 },
7aacca6f 9751 "protected" : 1,
44660702
DM
9752 "proxyto" : "node",
9753 "returns" : {
9754 "type" : "string"
9755 }
56122987
DM
9756 }
9757 },
44660702 9758 "leaf" : 1,
7aacca6f 9759 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 9760 "text" : "shutdown"
56122987
DM
9761 },
9762 {
56122987
DM
9763 "info" : {
9764 "POST" : {
44660702 9765 "description" : "Suspend virtual machine.",
56122987 9766 "method" : "POST",
44660702 9767 "name" : "vm_suspend",
7aacca6f 9768 "parameters" : {
44660702 9769 "additionalProperties" : 0,
7aacca6f
DM
9770 "properties" : {
9771 "node" : {
7aacca6f 9772 "description" : "The cluster node name.",
44660702 9773 "format" : "pve-node",
013dc89f
DM
9774 "type" : "string",
9775 "typetext" : "<string>"
7aacca6f
DM
9776 },
9777 "skiplock" : {
9778 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9779 "optional" : 1,
013dc89f
DM
9780 "type" : "boolean",
9781 "typetext" : "<boolean>"
44660702
DM
9782 },
9783 "vmid" : {
9784 "description" : "The (unique) ID of the VM.",
9785 "format" : "pve-vmid",
9786 "minimum" : 1,
4bd7df8b 9787 "type" : "integer",
013dc89f 9788 "typetext" : "<integer> (1 - N)"
44660702
DM
9789 }
9790 }
56122987
DM
9791 },
9792 "permissions" : {
9793 "check" : [
9794 "perm",
9795 "/vms/{vmid}",
9796 [
9797 "VM.PowerMgmt"
9798 ]
9799 ]
9800 },
44660702
DM
9801 "protected" : 1,
9802 "proxyto" : "node",
9803 "returns" : {
9804 "type" : "string"
9805 }
56122987
DM
9806 }
9807 },
44660702 9808 "leaf" : 1,
7aacca6f 9809 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 9810 "text" : "suspend"
56122987
DM
9811 },
9812 {
56122987
DM
9813 "info" : {
9814 "POST" : {
44660702
DM
9815 "description" : "Resume virtual machine.",
9816 "method" : "POST",
7aacca6f 9817 "name" : "vm_resume",
56122987
DM
9818 "parameters" : {
9819 "additionalProperties" : 0,
9820 "properties" : {
44660702
DM
9821 "nocheck" : {
9822 "optional" : 1,
013dc89f
DM
9823 "type" : "boolean",
9824 "typetext" : "<boolean>"
44660702 9825 },
7aacca6f 9826 "node" : {
44660702 9827 "description" : "The cluster node name.",
7aacca6f 9828 "format" : "pve-node",
013dc89f
DM
9829 "type" : "string",
9830 "typetext" : "<string>"
56122987
DM
9831 },
9832 "skiplock" : {
56122987 9833 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9834 "optional" : 1,
013dc89f
DM
9835 "type" : "boolean",
9836 "typetext" : "<boolean>"
56122987 9837 },
7aacca6f 9838 "vmid" : {
7aacca6f
DM
9839 "description" : "The (unique) ID of the VM.",
9840 "format" : "pve-vmid",
44660702 9841 "minimum" : 1,
4bd7df8b 9842 "type" : "integer",
013dc89f 9843 "typetext" : "<integer> (1 - N)"
56122987
DM
9844 }
9845 }
9846 },
9847 "permissions" : {
9848 "check" : [
9849 "perm",
9850 "/vms/{vmid}",
9851 [
9852 "VM.PowerMgmt"
9853 ]
9854 ]
9855 },
44660702
DM
9856 "protected" : 1,
9857 "proxyto" : "node",
56122987
DM
9858 "returns" : {
9859 "type" : "string"
7aacca6f 9860 }
56122987
DM
9861 }
9862 },
44660702
DM
9863 "leaf" : 1,
9864 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 9865 "text" : "resume"
56122987
DM
9866 }
9867 ],
9868 "info" : {
44660702
DM
9869 "GET" : {
9870 "description" : "Directory index",
9871 "method" : "GET",
9872 "name" : "vmcmdidx",
56122987 9873 "parameters" : {
44660702 9874 "additionalProperties" : 0,
56122987 9875 "properties" : {
44660702
DM
9876 "node" : {
9877 "description" : "The cluster node name.",
9878 "format" : "pve-node",
013dc89f
DM
9879 "type" : "string",
9880 "typetext" : "<string>"
7aacca6f 9881 },
56122987 9882 "vmid" : {
7aacca6f 9883 "description" : "The (unique) ID of the VM.",
44660702
DM
9884 "format" : "pve-vmid",
9885 "minimum" : 1,
4bd7df8b 9886 "type" : "integer",
013dc89f 9887 "typetext" : "<integer> (1 - N)"
56122987 9888 }
44660702 9889 }
56122987 9890 },
44660702
DM
9891 "permissions" : {
9892 "user" : "all"
9893 },
9894 "proxyto" : "node",
9895 "returns" : {
9896 "items" : {
9897 "properties" : {
9898 "subdir" : {
9899 "type" : "string"
9900 }
9901 },
9902 "type" : "object"
9903 },
9904 "links" : [
9905 {
9906 "href" : "{subdir}",
9907 "rel" : "child"
9908 }
9909 ],
9910 "type" : "array"
9911 }
56122987 9912 }
7aacca6f 9913 },
44660702
DM
9914 "leaf" : 0,
9915 "path" : "/nodes/{node}/qemu/{vmid}/status",
9916 "text" : "status"
56122987
DM
9917 },
9918 {
56122987 9919 "info" : {
44660702
DM
9920 "PUT" : {
9921 "description" : "Send key event to virtual machine.",
9922 "method" : "PUT",
9923 "name" : "vm_sendkey",
9924 "parameters" : {
9925 "additionalProperties" : 0,
56122987 9926 "properties" : {
44660702
DM
9927 "key" : {
9928 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
9929 "type" : "string",
9930 "typetext" : "<string>"
44660702
DM
9931 },
9932 "node" : {
9933 "description" : "The cluster node name.",
9934 "format" : "pve-node",
013dc89f
DM
9935 "type" : "string",
9936 "typetext" : "<string>"
44660702
DM
9937 },
9938 "skiplock" : {
9939 "description" : "Ignore locks - only root is allowed to use this option.",
9940 "optional" : 1,
013dc89f
DM
9941 "type" : "boolean",
9942 "typetext" : "<boolean>"
7aacca6f 9943 },
44660702
DM
9944 "vmid" : {
9945 "description" : "The (unique) ID of the VM.",
9946 "format" : "pve-vmid",
9947 "minimum" : 1,
4bd7df8b 9948 "type" : "integer",
013dc89f 9949 "typetext" : "<integer> (1 - N)"
56122987 9950 }
7aacca6f 9951 }
56122987 9952 },
56122987
DM
9953 "permissions" : {
9954 "check" : [
9955 "perm",
9956 "/vms/{vmid}",
9957 [
44660702 9958 "VM.Console"
56122987
DM
9959 ]
9960 ]
9961 },
7aacca6f 9962 "protected" : 1,
44660702
DM
9963 "proxyto" : "node",
9964 "returns" : {
9965 "type" : "null"
9966 }
9967 }
9968 },
9969 "leaf" : 1,
9970 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
9971 "text" : "sendkey"
9972 },
9973 {
9974 "info" : {
9975 "GET" : {
9976 "description" : "Check if feature for virtual machine is available.",
9977 "method" : "GET",
7aacca6f 9978 "name" : "vm_feature",
56122987 9979 "parameters" : {
44660702 9980 "additionalProperties" : 0,
56122987 9981 "properties" : {
56122987 9982 "feature" : {
44660702 9983 "description" : "Feature to check.",
56122987
DM
9984 "enum" : [
9985 "snapshot",
9986 "clone",
9987 "copy"
9988 ],
44660702
DM
9989 "type" : "string"
9990 },
9991 "node" : {
9992 "description" : "The cluster node name.",
9993 "format" : "pve-node",
013dc89f
DM
9994 "type" : "string",
9995 "typetext" : "<string>"
56122987
DM
9996 },
9997 "snapname" : {
56122987 9998 "description" : "The name of the snapshot.",
44660702
DM
9999 "format" : "pve-configid",
10000 "maxLength" : 40,
7aacca6f 10001 "optional" : 1,
013dc89f
DM
10002 "type" : "string",
10003 "typetext" : "<string>"
7aacca6f 10004 },
44660702
DM
10005 "vmid" : {
10006 "description" : "The (unique) ID of the VM.",
10007 "format" : "pve-vmid",
10008 "minimum" : 1,
4bd7df8b 10009 "type" : "integer",
013dc89f 10010 "typetext" : "<integer> (1 - N)"
44660702
DM
10011 }
10012 }
10013 },
10014 "permissions" : {
10015 "check" : [
10016 "perm",
10017 "/vms/{vmid}",
10018 [
10019 "VM.Audit"
10020 ]
10021 ]
10022 },
10023 "protected" : 1,
10024 "proxyto" : "node",
10025 "returns" : {
10026 "properties" : {
10027 "hasFeature" : {
10028 "type" : "boolean"
10029 },
10030 "nodes" : {
10031 "items" : {
10032 "type" : "string"
10033 },
10034 "type" : "array"
56122987
DM
10035 }
10036 },
44660702 10037 "type" : "object"
56122987
DM
10038 }
10039 }
10040 },
7aacca6f 10041 "leaf" : 1,
44660702
DM
10042 "path" : "/nodes/{node}/qemu/{vmid}/feature",
10043 "text" : "feature"
56122987
DM
10044 },
10045 {
56122987
DM
10046 "info" : {
10047 "POST" : {
44660702 10048 "description" : "Create a copy of virtual machine/template.",
56122987 10049 "method" : "POST",
7aacca6f 10050 "name" : "clone_vm",
56122987
DM
10051 "parameters" : {
10052 "additionalProperties" : 0,
10053 "properties" : {
44660702
DM
10054 "description" : {
10055 "description" : "Description for the new VM.",
56122987 10056 "optional" : 1,
013dc89f
DM
10057 "type" : "string",
10058 "typetext" : "<string>"
56122987 10059 },
44660702
DM
10060 "format" : {
10061 "description" : "Target format for file storage.",
10062 "enum" : [
10063 "raw",
10064 "qcow2",
10065 "vmdk"
10066 ],
10067 "optional" : 1,
10068 "requires" : "full",
56122987
DM
10069 "type" : "string"
10070 },
44660702
DM
10071 "full" : {
10072 "default" : 0,
10073 "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 10074 "optional" : 1,
013dc89f
DM
10075 "type" : "boolean",
10076 "typetext" : "<boolean>"
44660702
DM
10077 },
10078 "name" : {
56122987 10079 "description" : "Set a name for the new VM.",
44660702
DM
10080 "format" : "dns-name",
10081 "optional" : 1,
013dc89f
DM
10082 "type" : "string",
10083 "typetext" : "<string>"
44660702
DM
10084 },
10085 "newid" : {
10086 "description" : "VMID for the clone.",
10087 "format" : "pve-vmid",
10088 "minimum" : 1,
4bd7df8b 10089 "type" : "integer",
013dc89f 10090 "typetext" : "<integer> (1 - N)"
44660702
DM
10091 },
10092 "node" : {
10093 "description" : "The cluster node name.",
10094 "format" : "pve-node",
013dc89f
DM
10095 "type" : "string",
10096 "typetext" : "<string>"
7aacca6f
DM
10097 },
10098 "pool" : {
10099 "description" : "Add the new VM to the specified pool.",
44660702 10100 "format" : "pve-poolid",
56122987 10101 "optional" : 1,
013dc89f
DM
10102 "type" : "string",
10103 "typetext" : "<string>"
56122987 10104 },
44660702
DM
10105 "snapname" : {
10106 "description" : "The name of the snapshot.",
10107 "format" : "pve-configid",
10108 "maxLength" : 40,
7aacca6f 10109 "optional" : 1,
013dc89f
DM
10110 "type" : "string",
10111 "typetext" : "<string>"
56122987 10112 },
44660702
DM
10113 "storage" : {
10114 "description" : "Target storage for full clone.",
10115 "format" : "pve-storage-id",
7aacca6f 10116 "optional" : 1,
44660702 10117 "requires" : "full",
013dc89f
DM
10118 "type" : "string",
10119 "typetext" : "<string>"
56122987 10120 },
44660702
DM
10121 "target" : {
10122 "description" : "Target node. Only allowed if the original VM is on shared storage.",
10123 "format" : "pve-node",
56122987 10124 "optional" : 1,
013dc89f
DM
10125 "type" : "string",
10126 "typetext" : "<string>"
44660702
DM
10127 },
10128 "vmid" : {
10129 "description" : "The (unique) ID of the VM.",
10130 "format" : "pve-vmid",
10131 "minimum" : 1,
4bd7df8b 10132 "type" : "integer",
013dc89f 10133 "typetext" : "<integer> (1 - N)"
56122987
DM
10134 }
10135 }
10136 },
56122987
DM
10137 "permissions" : {
10138 "check" : [
10139 "and",
10140 [
10141 "perm",
10142 "/vms/{vmid}",
10143 [
10144 "VM.Clone"
10145 ]
10146 ],
10147 [
10148 "or",
10149 [
10150 "perm",
10151 "/vms/{newid}",
10152 [
10153 "VM.Allocate"
10154 ]
10155 ],
10156 [
10157 "perm",
10158 "/pool/{pool}",
10159 [
10160 "VM.Allocate"
10161 ],
10162 "require_param",
10163 "pool"
10164 ]
10165 ]
44660702
DM
10166 ],
10167 "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."
10168 },
10169 "protected" : 1,
10170 "proxyto" : "node",
10171 "returns" : {
10172 "type" : "string"
56122987
DM
10173 }
10174 }
10175 },
44660702
DM
10176 "leaf" : 1,
10177 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
10178 "text" : "clone"
10179 },
10180 {
56122987
DM
10181 "info" : {
10182 "POST" : {
7aacca6f 10183 "description" : "Move volume to different storage.",
44660702
DM
10184 "method" : "POST",
10185 "name" : "move_vm_disk",
56122987
DM
10186 "parameters" : {
10187 "additionalProperties" : 0,
10188 "properties" : {
10189 "delete" : {
44660702 10190 "default" : 0,
56122987 10191 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 10192 "optional" : 1,
013dc89f
DM
10193 "type" : "boolean",
10194 "typetext" : "<boolean>"
56122987 10195 },
44660702
DM
10196 "digest" : {
10197 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10198 "maxLength" : 40,
10199 "optional" : 1,
013dc89f
DM
10200 "type" : "string",
10201 "typetext" : "<string>"
56122987 10202 },
56122987 10203 "disk" : {
56122987
DM
10204 "description" : "The disk you want to move.",
10205 "enum" : [
10206 "ide0",
10207 "ide1",
10208 "ide2",
10209 "ide3",
10210 "scsi0",
10211 "scsi1",
10212 "scsi2",
10213 "scsi3",
10214 "scsi4",
10215 "scsi5",
10216 "scsi6",
10217 "scsi7",
10218 "scsi8",
10219 "scsi9",
10220 "scsi10",
10221 "scsi11",
10222 "scsi12",
10223 "scsi13",
10224 "virtio0",
10225 "virtio1",
10226 "virtio2",
10227 "virtio3",
10228 "virtio4",
10229 "virtio5",
10230 "virtio6",
10231 "virtio7",
10232 "virtio8",
10233 "virtio9",
10234 "virtio10",
10235 "virtio11",
10236 "virtio12",
10237 "virtio13",
10238 "virtio14",
10239 "virtio15",
10240 "sata0",
10241 "sata1",
10242 "sata2",
10243 "sata3",
10244 "sata4",
2c0dde61
DM
10245 "sata5",
10246 "efidisk0"
44660702
DM
10247 ],
10248 "type" : "string"
7aacca6f
DM
10249 },
10250 "format" : {
10251 "description" : "Target Format.",
10252 "enum" : [
10253 "raw",
10254 "qcow2",
10255 "vmdk"
10256 ],
10257 "optional" : 1,
10258 "type" : "string"
44660702
DM
10259 },
10260 "node" : {
10261 "description" : "The cluster node name.",
10262 "format" : "pve-node",
013dc89f
DM
10263 "type" : "string",
10264 "typetext" : "<string>"
44660702
DM
10265 },
10266 "storage" : {
10267 "description" : "Target storage.",
10268 "format" : "pve-storage-id",
013dc89f
DM
10269 "type" : "string",
10270 "typetext" : "<string>"
44660702
DM
10271 },
10272 "vmid" : {
10273 "description" : "The (unique) ID of the VM.",
10274 "format" : "pve-vmid",
10275 "minimum" : 1,
4bd7df8b 10276 "type" : "integer",
013dc89f 10277 "typetext" : "<integer> (1 - N)"
56122987
DM
10278 }
10279 }
10280 },
44660702
DM
10281 "permissions" : {
10282 "check" : [
10283 "and",
10284 [
10285 "perm",
10286 "/vms/{vmid}",
10287 [
10288 "VM.Config.Disk"
10289 ]
10290 ],
10291 [
10292 "perm",
10293 "/storage/{storage}",
10294 [
10295 "Datastore.AllocateSpace"
10296 ]
10297 ]
10298 ],
10299 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10300 },
10301 "protected" : 1,
10302 "proxyto" : "node",
10303 "returns" : {
10304 "description" : "the task ID.",
10305 "type" : "string"
10306 }
56122987 10307 }
7aacca6f 10308 },
44660702 10309 "leaf" : 1,
7aacca6f 10310 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10311 "text" : "move_disk"
56122987
DM
10312 },
10313 {
56122987
DM
10314 "info" : {
10315 "POST" : {
7aacca6f 10316 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 10317 "method" : "POST",
7aacca6f 10318 "name" : "migrate_vm",
56122987 10319 "parameters" : {
44660702 10320 "additionalProperties" : 0,
56122987 10321 "properties" : {
44660702
DM
10322 "force" : {
10323 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
10324 "optional" : 1,
013dc89f
DM
10325 "type" : "boolean",
10326 "typetext" : "<boolean>"
44660702 10327 },
de0983cb
DM
10328 "migration_network" : {
10329 "description" : "CIDR of the (sub) network that is used for migration.",
10330 "format" : "CIDR",
10331 "optional" : 1,
013dc89f
DM
10332 "type" : "string",
10333 "typetext" : "<string>"
de0983cb
DM
10334 },
10335 "migration_type" : {
10336 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10337 "enum" : [
10338 "secure",
10339 "insecure"
10340 ],
10341 "optional" : 1,
10342 "type" : "string"
10343 },
7aacca6f 10344 "node" : {
44660702 10345 "description" : "The cluster node name.",
7aacca6f 10346 "format" : "pve-node",
013dc89f
DM
10347 "type" : "string",
10348 "typetext" : "<string>"
56122987
DM
10349 },
10350 "online" : {
44660702 10351 "description" : "Use online/live migration.",
56122987 10352 "optional" : 1,
013dc89f
DM
10353 "type" : "boolean",
10354 "typetext" : "<boolean>"
56122987 10355 },
44660702
DM
10356 "target" : {
10357 "description" : "Target node.",
10358 "format" : "pve-node",
013dc89f
DM
10359 "type" : "string",
10360 "typetext" : "<string>"
56122987 10361 },
7aacca6f 10362 "vmid" : {
7aacca6f 10363 "description" : "The (unique) ID of the VM.",
44660702 10364 "format" : "pve-vmid",
7aacca6f 10365 "minimum" : 1,
4bd7df8b 10366 "type" : "integer",
013dc89f 10367 "typetext" : "<integer> (1 - N)"
56122987 10368 }
44660702
DM
10369 }
10370 },
10371 "permissions" : {
10372 "check" : [
10373 "perm",
10374 "/vms/{vmid}",
10375 [
10376 "VM.Migrate"
10377 ]
10378 ]
56122987
DM
10379 },
10380 "protected" : 1,
44660702
DM
10381 "proxyto" : "node",
10382 "returns" : {
10383 "description" : "the task ID.",
10384 "type" : "string"
10385 }
56122987 10386 }
7aacca6f 10387 },
44660702
DM
10388 "leaf" : 1,
10389 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 10390 "text" : "migrate"
56122987
DM
10391 },
10392 {
10393 "info" : {
10394 "POST" : {
44660702 10395 "description" : "Execute Qemu monitor commands.",
56122987 10396 "method" : "POST",
44660702 10397 "name" : "monitor",
56122987 10398 "parameters" : {
7aacca6f 10399 "additionalProperties" : 0,
56122987 10400 "properties" : {
44660702
DM
10401 "command" : {
10402 "description" : "The monitor command.",
013dc89f
DM
10403 "type" : "string",
10404 "typetext" : "<string>"
44660702 10405 },
56122987 10406 "node" : {
44660702 10407 "description" : "The cluster node name.",
7aacca6f 10408 "format" : "pve-node",
013dc89f
DM
10409 "type" : "string",
10410 "typetext" : "<string>"
56122987
DM
10411 },
10412 "vmid" : {
44660702 10413 "description" : "The (unique) ID of the VM.",
56122987 10414 "format" : "pve-vmid",
7aacca6f 10415 "minimum" : 1,
4bd7df8b 10416 "type" : "integer",
013dc89f 10417 "typetext" : "<integer> (1 - N)"
56122987 10418 }
7aacca6f 10419 }
56122987 10420 },
56122987
DM
10421 "permissions" : {
10422 "check" : [
10423 "perm",
10424 "/vms/{vmid}",
10425 [
10426 "VM.Monitor"
10427 ]
10428 ]
7aacca6f 10429 },
44660702
DM
10430 "protected" : 1,
10431 "proxyto" : "node",
10432 "returns" : {
10433 "type" : "string"
10434 }
56122987 10435 }
44660702
DM
10436 },
10437 "leaf" : 1,
10438 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
10439 "text" : "monitor"
56122987
DM
10440 },
10441 {
56122987
DM
10442 "info" : {
10443 "PUT" : {
44660702
DM
10444 "description" : "Extend volume size.",
10445 "method" : "PUT",
10446 "name" : "resize_vm",
56122987 10447 "parameters" : {
44660702 10448 "additionalProperties" : 0,
56122987 10449 "properties" : {
44660702
DM
10450 "digest" : {
10451 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10452 "maxLength" : 40,
10453 "optional" : 1,
013dc89f
DM
10454 "type" : "string",
10455 "typetext" : "<string>"
56122987 10456 },
56122987
DM
10457 "disk" : {
10458 "description" : "The disk you want to resize.",
10459 "enum" : [
10460 "ide0",
10461 "ide1",
10462 "ide2",
10463 "ide3",
10464 "scsi0",
10465 "scsi1",
10466 "scsi2",
10467 "scsi3",
10468 "scsi4",
10469 "scsi5",
10470 "scsi6",
10471 "scsi7",
10472 "scsi8",
10473 "scsi9",
10474 "scsi10",
10475 "scsi11",
10476 "scsi12",
10477 "scsi13",
10478 "virtio0",
10479 "virtio1",
10480 "virtio2",
10481 "virtio3",
10482 "virtio4",
10483 "virtio5",
10484 "virtio6",
10485 "virtio7",
10486 "virtio8",
10487 "virtio9",
10488 "virtio10",
10489 "virtio11",
10490 "virtio12",
10491 "virtio13",
10492 "virtio14",
10493 "virtio15",
10494 "sata0",
10495 "sata1",
10496 "sata2",
10497 "sata3",
10498 "sata4",
2c0dde61
DM
10499 "sata5",
10500 "efidisk0"
44660702
DM
10501 ],
10502 "type" : "string"
56122987 10503 },
44660702
DM
10504 "node" : {
10505 "description" : "The cluster node name.",
10506 "format" : "pve-node",
013dc89f
DM
10507 "type" : "string",
10508 "typetext" : "<string>"
7aacca6f 10509 },
44660702
DM
10510 "size" : {
10511 "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.",
10512 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
10513 "type" : "string"
56122987
DM
10514 },
10515 "skiplock" : {
10516 "description" : "Ignore locks - only root is allowed to use this option.",
10517 "optional" : 1,
013dc89f
DM
10518 "type" : "boolean",
10519 "typetext" : "<boolean>"
56122987
DM
10520 },
10521 "vmid" : {
7aacca6f 10522 "description" : "The (unique) ID of the VM.",
56122987 10523 "format" : "pve-vmid",
44660702 10524 "minimum" : 1,
4bd7df8b 10525 "type" : "integer",
013dc89f 10526 "typetext" : "<integer> (1 - N)"
56122987
DM
10527 }
10528 }
10529 },
10530 "permissions" : {
10531 "check" : [
10532 "perm",
10533 "/vms/{vmid}",
10534 [
44660702 10535 "VM.Config.Disk"
56122987
DM
10536 ]
10537 ]
10538 },
7aacca6f 10539 "protected" : 1,
7aacca6f 10540 "proxyto" : "node",
44660702
DM
10541 "returns" : {
10542 "type" : "null"
10543 }
7aacca6f
DM
10544 }
10545 },
44660702
DM
10546 "leaf" : 1,
10547 "path" : "/nodes/{node}/qemu/{vmid}/resize",
10548 "text" : "resize"
10549 },
10550 {
56122987
DM
10551 "children" : [
10552 {
10553 "children" : [
10554 {
56122987 10555 "info" : {
44660702
DM
10556 "GET" : {
10557 "description" : "Get snapshot configuration",
10558 "method" : "GET",
10559 "name" : "get_snapshot_config",
56122987 10560 "parameters" : {
44660702 10561 "additionalProperties" : 0,
56122987 10562 "properties" : {
56122987 10563 "node" : {
44660702 10564 "description" : "The cluster node name.",
56122987 10565 "format" : "pve-node",
013dc89f
DM
10566 "type" : "string",
10567 "typetext" : "<string>"
7aacca6f
DM
10568 },
10569 "snapname" : {
44660702 10570 "description" : "The name of the snapshot.",
7aacca6f 10571 "format" : "pve-configid",
44660702 10572 "maxLength" : 40,
013dc89f
DM
10573 "type" : "string",
10574 "typetext" : "<string>"
7aacca6f
DM
10575 },
10576 "vmid" : {
44660702 10577 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10578 "format" : "pve-vmid",
10579 "minimum" : 1,
4bd7df8b 10580 "type" : "integer",
013dc89f 10581 "typetext" : "<integer> (1 - N)"
56122987 10582 }
44660702 10583 }
56122987
DM
10584 },
10585 "permissions" : {
10586 "check" : [
10587 "perm",
10588 "/vms/{vmid}",
10589 [
10590 "VM.Snapshot"
10591 ]
10592 ]
10593 },
44660702 10594 "proxyto" : "node",
56122987 10595 "returns" : {
44660702 10596 "type" : "object"
7aacca6f
DM
10597 }
10598 },
44660702
DM
10599 "PUT" : {
10600 "description" : "Update snapshot metadata.",
10601 "method" : "PUT",
10602 "name" : "update_snapshot_config",
56122987 10603 "parameters" : {
44660702 10604 "additionalProperties" : 0,
56122987 10605 "properties" : {
44660702
DM
10606 "description" : {
10607 "description" : "A textual description or comment.",
10608 "optional" : 1,
013dc89f
DM
10609 "type" : "string",
10610 "typetext" : "<string>"
44660702 10611 },
56122987 10612 "node" : {
7aacca6f 10613 "description" : "The cluster node name.",
44660702 10614 "format" : "pve-node",
013dc89f
DM
10615 "type" : "string",
10616 "typetext" : "<string>"
56122987 10617 },
56122987
DM
10618 "snapname" : {
10619 "description" : "The name of the snapshot.",
44660702 10620 "format" : "pve-configid",
7aacca6f 10621 "maxLength" : 40,
013dc89f
DM
10622 "type" : "string",
10623 "typetext" : "<string>"
7aacca6f
DM
10624 },
10625 "vmid" : {
10626 "description" : "The (unique) ID of the VM.",
44660702 10627 "format" : "pve-vmid",
7aacca6f 10628 "minimum" : 1,
4bd7df8b 10629 "type" : "integer",
013dc89f 10630 "typetext" : "<integer> (1 - N)"
56122987 10631 }
44660702 10632 }
56122987 10633 },
7aacca6f
DM
10634 "permissions" : {
10635 "check" : [
10636 "perm",
10637 "/vms/{vmid}",
10638 [
10639 "VM.Snapshot"
10640 ]
10641 ]
44660702
DM
10642 },
10643 "protected" : 1,
10644 "proxyto" : "node",
10645 "returns" : {
10646 "type" : "null"
7aacca6f 10647 }
56122987
DM
10648 }
10649 },
44660702 10650 "leaf" : 1,
7aacca6f 10651 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 10652 "text" : "config"
56122987
DM
10653 },
10654 {
56122987
DM
10655 "info" : {
10656 "POST" : {
44660702 10657 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 10658 "method" : "POST",
44660702 10659 "name" : "rollback",
56122987
DM
10660 "parameters" : {
10661 "additionalProperties" : 0,
10662 "properties" : {
44660702
DM
10663 "node" : {
10664 "description" : "The cluster node name.",
10665 "format" : "pve-node",
013dc89f
DM
10666 "type" : "string",
10667 "typetext" : "<string>"
44660702 10668 },
56122987 10669 "snapname" : {
44660702 10670 "description" : "The name of the snapshot.",
56122987
DM
10671 "format" : "pve-configid",
10672 "maxLength" : 40,
013dc89f
DM
10673 "type" : "string",
10674 "typetext" : "<string>"
7aacca6f 10675 },
56122987 10676 "vmid" : {
7aacca6f 10677 "description" : "The (unique) ID of the VM.",
44660702 10678 "format" : "pve-vmid",
56122987 10679 "minimum" : 1,
4bd7df8b 10680 "type" : "integer",
013dc89f 10681 "typetext" : "<integer> (1 - N)"
56122987
DM
10682 }
10683 }
10684 },
7aacca6f 10685 "permissions" : {
56122987
DM
10686 "check" : [
10687 "perm",
10688 "/vms/{vmid}",
10689 [
10690 "VM.Snapshot"
10691 ]
10692 ]
10693 },
44660702 10694 "protected" : 1,
7aacca6f 10695 "proxyto" : "node",
44660702
DM
10696 "returns" : {
10697 "description" : "the task ID.",
10698 "type" : "string"
10699 }
56122987
DM
10700 }
10701 },
44660702
DM
10702 "leaf" : 1,
10703 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 10704 "text" : "rollback"
56122987 10705 }
44660702
DM
10706 ],
10707 "info" : {
10708 "DELETE" : {
10709 "description" : "Delete a VM snapshot.",
10710 "method" : "DELETE",
10711 "name" : "delsnapshot",
10712 "parameters" : {
10713 "additionalProperties" : 0,
10714 "properties" : {
10715 "force" : {
10716 "description" : "For removal from config file, even if removing disk snapshots fails.",
10717 "optional" : 1,
013dc89f
DM
10718 "type" : "boolean",
10719 "typetext" : "<boolean>"
44660702
DM
10720 },
10721 "node" : {
10722 "description" : "The cluster node name.",
10723 "format" : "pve-node",
013dc89f
DM
10724 "type" : "string",
10725 "typetext" : "<string>"
44660702
DM
10726 },
10727 "snapname" : {
10728 "description" : "The name of the snapshot.",
10729 "format" : "pve-configid",
10730 "maxLength" : 40,
013dc89f
DM
10731 "type" : "string",
10732 "typetext" : "<string>"
44660702
DM
10733 },
10734 "vmid" : {
10735 "description" : "The (unique) ID of the VM.",
10736 "format" : "pve-vmid",
10737 "minimum" : 1,
4bd7df8b 10738 "type" : "integer",
013dc89f 10739 "typetext" : "<integer> (1 - N)"
44660702
DM
10740 }
10741 }
10742 },
10743 "permissions" : {
10744 "check" : [
10745 "perm",
10746 "/vms/{vmid}",
10747 [
10748 "VM.Snapshot"
10749 ]
10750 ]
10751 },
10752 "protected" : 1,
10753 "proxyto" : "node",
10754 "returns" : {
10755 "description" : "the task ID.",
10756 "type" : "string"
10757 }
10758 },
10759 "GET" : {
10760 "description" : "",
10761 "method" : "GET",
10762 "name" : "snapshot_cmd_idx",
10763 "parameters" : {
10764 "additionalProperties" : 0,
10765 "properties" : {
10766 "node" : {
10767 "description" : "The cluster node name.",
10768 "format" : "pve-node",
013dc89f
DM
10769 "type" : "string",
10770 "typetext" : "<string>"
44660702
DM
10771 },
10772 "snapname" : {
10773 "description" : "The name of the snapshot.",
10774 "format" : "pve-configid",
10775 "maxLength" : 40,
013dc89f
DM
10776 "type" : "string",
10777 "typetext" : "<string>"
44660702
DM
10778 },
10779 "vmid" : {
10780 "description" : "The (unique) ID of the VM.",
10781 "format" : "pve-vmid",
10782 "minimum" : 1,
4bd7df8b 10783 "type" : "integer",
013dc89f 10784 "typetext" : "<integer> (1 - N)"
44660702
DM
10785 }
10786 }
10787 },
10788 "permissions" : {
10789 "user" : "all"
10790 },
10791 "returns" : {
10792 "items" : {
10793 "properties" : {},
10794 "type" : "object"
10795 },
10796 "links" : [
10797 {
10798 "href" : "{cmd}",
10799 "rel" : "child"
10800 }
10801 ],
10802 "type" : "array"
10803 }
10804 }
10805 },
10806 "leaf" : 0,
10807 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
10808 "text" : "{snapname}"
56122987
DM
10809 }
10810 ],
44660702
DM
10811 "info" : {
10812 "GET" : {
10813 "description" : "List all snapshots.",
10814 "method" : "GET",
10815 "name" : "snapshot_list",
10816 "parameters" : {
10817 "additionalProperties" : 0,
10818 "properties" : {
10819 "node" : {
10820 "description" : "The cluster node name.",
10821 "format" : "pve-node",
013dc89f
DM
10822 "type" : "string",
10823 "typetext" : "<string>"
44660702
DM
10824 },
10825 "vmid" : {
10826 "description" : "The (unique) ID of the VM.",
10827 "format" : "pve-vmid",
10828 "minimum" : 1,
4bd7df8b 10829 "type" : "integer",
013dc89f 10830 "typetext" : "<integer> (1 - N)"
44660702
DM
10831 }
10832 }
10833 },
10834 "permissions" : {
10835 "check" : [
10836 "perm",
10837 "/vms/{vmid}",
10838 [
10839 "VM.Audit"
10840 ]
10841 ]
10842 },
10843 "protected" : 1,
10844 "proxyto" : "node",
10845 "returns" : {
10846 "items" : {
10847 "properties" : {},
10848 "type" : "object"
10849 },
10850 "links" : [
10851 {
10852 "href" : "{name}",
10853 "rel" : "child"
10854 }
10855 ],
10856 "type" : "array"
10857 }
10858 },
10859 "POST" : {
10860 "description" : "Snapshot a VM.",
10861 "method" : "POST",
10862 "name" : "snapshot",
10863 "parameters" : {
10864 "additionalProperties" : 0,
10865 "properties" : {
10866 "description" : {
10867 "description" : "A textual description or comment.",
10868 "optional" : 1,
013dc89f
DM
10869 "type" : "string",
10870 "typetext" : "<string>"
44660702
DM
10871 },
10872 "node" : {
10873 "description" : "The cluster node name.",
10874 "format" : "pve-node",
013dc89f
DM
10875 "type" : "string",
10876 "typetext" : "<string>"
44660702
DM
10877 },
10878 "snapname" : {
10879 "description" : "The name of the snapshot.",
10880 "format" : "pve-configid",
10881 "maxLength" : 40,
013dc89f
DM
10882 "type" : "string",
10883 "typetext" : "<string>"
44660702
DM
10884 },
10885 "vmid" : {
10886 "description" : "The (unique) ID of the VM.",
10887 "format" : "pve-vmid",
10888 "minimum" : 1,
4bd7df8b 10889 "type" : "integer",
013dc89f 10890 "typetext" : "<integer> (1 - N)"
44660702
DM
10891 },
10892 "vmstate" : {
10893 "description" : "Save the vmstate",
10894 "optional" : 1,
013dc89f
DM
10895 "type" : "boolean",
10896 "typetext" : "<boolean>"
44660702
DM
10897 }
10898 }
10899 },
10900 "permissions" : {
10901 "check" : [
10902 "perm",
10903 "/vms/{vmid}",
10904 [
10905 "VM.Snapshot"
10906 ]
10907 ]
10908 },
10909 "protected" : 1,
10910 "proxyto" : "node",
10911 "returns" : {
10912 "description" : "the task ID.",
10913 "type" : "string"
10914 }
10915 }
10916 },
10917 "leaf" : 0,
10918 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 10919 "text" : "snapshot"
56122987
DM
10920 },
10921 {
56122987
DM
10922 "info" : {
10923 "POST" : {
44660702
DM
10924 "description" : "Create a Template.",
10925 "method" : "POST",
56122987 10926 "name" : "template",
56122987 10927 "parameters" : {
7aacca6f 10928 "additionalProperties" : 0,
56122987 10929 "properties" : {
56122987 10930 "disk" : {
56122987
DM
10931 "description" : "If you want to convert only 1 disk to base image.",
10932 "enum" : [
10933 "ide0",
10934 "ide1",
10935 "ide2",
10936 "ide3",
10937 "scsi0",
10938 "scsi1",
10939 "scsi2",
10940 "scsi3",
10941 "scsi4",
10942 "scsi5",
10943 "scsi6",
10944 "scsi7",
10945 "scsi8",
10946 "scsi9",
10947 "scsi10",
10948 "scsi11",
10949 "scsi12",
10950 "scsi13",
10951 "virtio0",
10952 "virtio1",
10953 "virtio2",
10954 "virtio3",
10955 "virtio4",
10956 "virtio5",
10957 "virtio6",
10958 "virtio7",
10959 "virtio8",
10960 "virtio9",
10961 "virtio10",
10962 "virtio11",
10963 "virtio12",
10964 "virtio13",
10965 "virtio14",
10966 "virtio15",
10967 "sata0",
10968 "sata1",
10969 "sata2",
10970 "sata3",
10971 "sata4",
2c0dde61
DM
10972 "sata5",
10973 "efidisk0"
56122987 10974 ],
7aacca6f 10975 "optional" : 1,
56122987
DM
10976 "type" : "string"
10977 },
44660702
DM
10978 "node" : {
10979 "description" : "The cluster node name.",
10980 "format" : "pve-node",
013dc89f
DM
10981 "type" : "string",
10982 "typetext" : "<string>"
44660702
DM
10983 },
10984 "vmid" : {
10985 "description" : "The (unique) ID of the VM.",
7aacca6f 10986 "format" : "pve-vmid",
44660702 10987 "minimum" : 1,
4bd7df8b 10988 "type" : "integer",
013dc89f 10989 "typetext" : "<integer> (1 - N)"
56122987 10990 }
7aacca6f 10991 }
56122987 10992 },
7aacca6f
DM
10993 "permissions" : {
10994 "check" : [
10995 "perm",
10996 "/vms/{vmid}",
10997 [
10998 "VM.Allocate"
10999 ]
11000 ],
11001 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
11002 },
44660702 11003 "protected" : 1,
7aacca6f 11004 "proxyto" : "node",
7aacca6f
DM
11005 "returns" : {
11006 "type" : "null"
11007 }
56122987
DM
11008 }
11009 },
44660702 11010 "leaf" : 1,
7aacca6f 11011 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 11012 "text" : "template"
56122987
DM
11013 }
11014 ],
7aacca6f 11015 "info" : {
44660702
DM
11016 "DELETE" : {
11017 "description" : "Destroy the vm (also delete all used/owned volumes).",
11018 "method" : "DELETE",
11019 "name" : "destroy_vm",
7aacca6f 11020 "parameters" : {
44660702 11021 "additionalProperties" : 0,
7aacca6f
DM
11022 "properties" : {
11023 "node" : {
44660702 11024 "description" : "The cluster node name.",
7aacca6f 11025 "format" : "pve-node",
013dc89f
DM
11026 "type" : "string",
11027 "typetext" : "<string>"
44660702
DM
11028 },
11029 "skiplock" : {
11030 "description" : "Ignore locks - only root is allowed to use this option.",
11031 "optional" : 1,
013dc89f
DM
11032 "type" : "boolean",
11033 "typetext" : "<boolean>"
7aacca6f
DM
11034 },
11035 "vmid" : {
44660702 11036 "description" : "The (unique) ID of the VM.",
7aacca6f 11037 "format" : "pve-vmid",
44660702 11038 "minimum" : 1,
4bd7df8b 11039 "type" : "integer",
013dc89f 11040 "typetext" : "<integer> (1 - N)"
7aacca6f 11041 }
44660702 11042 }
7aacca6f 11043 },
7aacca6f
DM
11044 "permissions" : {
11045 "check" : [
11046 "perm",
11047 "/vms/{vmid}",
11048 [
11049 "VM.Allocate"
11050 ]
11051 ]
11052 },
44660702
DM
11053 "protected" : 1,
11054 "proxyto" : "node",
7aacca6f
DM
11055 "returns" : {
11056 "type" : "string"
44660702
DM
11057 }
11058 },
11059 "GET" : {
11060 "description" : "Directory index",
11061 "method" : "GET",
11062 "name" : "vmdiridx",
7aacca6f 11063 "parameters" : {
44660702 11064 "additionalProperties" : 0,
7aacca6f 11065 "properties" : {
7aacca6f 11066 "node" : {
7aacca6f 11067 "description" : "The cluster node name.",
44660702 11068 "format" : "pve-node",
013dc89f
DM
11069 "type" : "string",
11070 "typetext" : "<string>"
44660702
DM
11071 },
11072 "vmid" : {
11073 "description" : "The (unique) ID of the VM.",
11074 "format" : "pve-vmid",
11075 "minimum" : 1,
4bd7df8b 11076 "type" : "integer",
013dc89f 11077 "typetext" : "<integer> (1 - N)"
7aacca6f 11078 }
44660702 11079 }
7aacca6f 11080 },
44660702
DM
11081 "permissions" : {
11082 "user" : "all"
11083 },
11084 "proxyto" : "node",
11085 "returns" : {
11086 "items" : {
11087 "properties" : {
11088 "subdir" : {
11089 "type" : "string"
11090 }
11091 },
11092 "type" : "object"
11093 },
11094 "links" : [
11095 {
11096 "href" : "{subdir}",
11097 "rel" : "child"
11098 }
11099 ],
11100 "type" : "array"
11101 }
7aacca6f 11102 }
44660702
DM
11103 },
11104 "leaf" : 0,
11105 "path" : "/nodes/{node}/qemu/{vmid}",
11106 "text" : "{vmid}"
56122987
DM
11107 }
11108 ],
11109 "info" : {
44660702
DM
11110 "GET" : {
11111 "description" : "Virtual machine index (per node).",
11112 "method" : "GET",
11113 "name" : "vmlist",
56122987 11114 "parameters" : {
44660702 11115 "additionalProperties" : 0,
56122987 11116 "properties" : {
44660702
DM
11117 "full" : {
11118 "description" : "Determine the full status of active VMs.",
56122987 11119 "optional" : 1,
013dc89f
DM
11120 "type" : "boolean",
11121 "typetext" : "<boolean>"
56122987 11122 },
44660702
DM
11123 "node" : {
11124 "description" : "The cluster node name.",
11125 "format" : "pve-node",
013dc89f
DM
11126 "type" : "string",
11127 "typetext" : "<string>"
44660702
DM
11128 }
11129 }
11130 },
11131 "permissions" : {
11132 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
11133 "user" : "all"
11134 },
11135 "protected" : 1,
11136 "proxyto" : "node",
11137 "returns" : {
11138 "items" : {
11139 "properties" : {},
11140 "type" : "object"
11141 },
11142 "links" : [
11143 {
11144 "href" : "{vmid}",
11145 "rel" : "child"
11146 }
11147 ],
11148 "type" : "array"
11149 }
11150 },
11151 "POST" : {
11152 "description" : "Create or restore a virtual machine.",
11153 "method" : "POST",
11154 "name" : "create_vm",
11155 "parameters" : {
11156 "additionalProperties" : 0,
11157 "properties" : {
7aacca6f 11158 "acpi" : {
7aacca6f 11159 "default" : 1,
44660702 11160 "description" : "Enable/disable ACPI.",
56122987 11161 "optional" : 1,
013dc89f
DM
11162 "type" : "boolean",
11163 "typetext" : "<boolean>"
56122987 11164 },
44660702
DM
11165 "agent" : {
11166 "default" : 0,
11167 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 11168 "optional" : 1,
013dc89f
DM
11169 "type" : "boolean",
11170 "typetext" : "<boolean>"
56122987 11171 },
44660702
DM
11172 "archive" : {
11173 "description" : "The backup file.",
11174 "maxLength" : 255,
56122987 11175 "optional" : 1,
013dc89f
DM
11176 "type" : "string",
11177 "typetext" : "<string>"
56122987 11178 },
44660702 11179 "args" : {
c2993fe5 11180 "description" : "Arbitrary arguments passed to kvm.",
56122987 11181 "optional" : 1,
c2993fe5 11182 "type" : "string",
013dc89f 11183 "typetext" : "<string>",
c2993fe5 11184 "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 11185 },
44660702 11186 "autostart" : {
7aacca6f 11187 "default" : 0,
44660702
DM
11188 "description" : "Automatic restart after crash (currently ignored).",
11189 "optional" : 1,
013dc89f
DM
11190 "type" : "boolean",
11191 "typetext" : "<boolean>"
7aacca6f 11192 },
44660702
DM
11193 "balloon" : {
11194 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11195 "minimum" : 0,
56122987 11196 "optional" : 1,
4bd7df8b 11197 "type" : "integer",
013dc89f 11198 "typetext" : "<integer> (0 - N)"
56122987 11199 },
44660702
DM
11200 "bios" : {
11201 "default" : "seabios",
11202 "description" : "Select BIOS implementation.",
11203 "enum" : [
11204 "seabios",
11205 "ovmf"
11206 ],
56122987 11207 "optional" : 1,
44660702 11208 "type" : "string"
56122987 11209 },
44660702
DM
11210 "boot" : {
11211 "default" : "cdn",
11212 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 11213 "optional" : 1,
44660702
DM
11214 "pattern" : "[acdn]{1,4}",
11215 "type" : "string"
56122987 11216 },
7aacca6f
DM
11217 "bootdisk" : {
11218 "description" : "Enable booting from specified disk.",
44660702
DM
11219 "format" : "pve-qm-bootdisk",
11220 "optional" : 1,
7aacca6f 11221 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
11222 "type" : "string"
11223 },
11224 "cdrom" : {
11225 "description" : "This is an alias for option -ide2",
de0983cb 11226 "format" : "pve-qm-ide",
56122987 11227 "optional" : 1,
44660702 11228 "type" : "string",
013dc89f 11229 "typetext" : "<volume>"
56122987 11230 },
44660702
DM
11231 "cores" : {
11232 "default" : 1,
11233 "description" : "The number of cores per socket.",
7aacca6f 11234 "minimum" : 1,
44660702 11235 "optional" : 1,
4bd7df8b 11236 "type" : "integer",
013dc89f 11237 "typetext" : "<integer> (1 - N)"
7aacca6f 11238 },
44660702
DM
11239 "cpu" : {
11240 "description" : "Emulated CPU type.",
11241 "format" : {
11242 "cputype" : {
11243 "default" : "kvm64",
11244 "default_key" : 1,
11245 "description" : "Emulated CPU type.",
11246 "enum" : [
11247 "486",
11248 "athlon",
f004f5b9
DM
11249 "Broadwell",
11250 "Broadwell-noTSX",
11251 "Conroe",
44660702 11252 "core2duo",
f004f5b9
DM
11253 "coreduo",
11254 "Haswell",
11255 "Haswell-noTSX",
11256 "host",
11257 "IvyBridge",
44660702
DM
11258 "kvm32",
11259 "kvm64",
44660702 11260 "Nehalem",
44660702
DM
11261 "Opteron_G1",
11262 "Opteron_G2",
11263 "Opteron_G3",
11264 "Opteron_G4",
11265 "Opteron_G5",
f004f5b9
DM
11266 "Penryn",
11267 "pentium",
11268 "pentium2",
11269 "pentium3",
11270 "phenom",
11271 "qemu32",
11272 "qemu64",
11273 "SandyBridge",
11274 "Westmere"
44660702 11275 ],
44660702
DM
11276 "type" : "string"
11277 },
11278 "hidden" : {
11279 "default" : 0,
11280 "description" : "Do not identify as a KVM virtual machine.",
11281 "optional" : 1,
11282 "type" : "boolean"
11283 }
11284 },
56122987 11285 "optional" : 1,
4bd7df8b 11286 "type" : "string",
013dc89f 11287 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
56122987 11288 },
44660702 11289 "cpulimit" : {
7aacca6f 11290 "default" : 0,
c2993fe5 11291 "description" : "Limit of CPU usage.",
44660702
DM
11292 "maximum" : 128,
11293 "minimum" : 0,
7aacca6f 11294 "optional" : 1,
c2993fe5 11295 "type" : "number",
013dc89f 11296 "typetext" : "<number> (0 - 128)",
c2993fe5 11297 "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
11298 },
11299 "cpuunits" : {
de0983cb 11300 "default" : 1024,
c2993fe5 11301 "description" : "CPU weight for a VM.",
7aacca6f 11302 "maximum" : 500000,
44660702
DM
11303 "minimum" : 0,
11304 "optional" : 1,
c2993fe5 11305 "type" : "integer",
013dc89f 11306 "typetext" : "<integer> (0 - 500000)",
c2993fe5 11307 "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
11308 },
11309 "description" : {
11310 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 11311 "optional" : 1,
013dc89f
DM
11312 "type" : "string",
11313 "typetext" : "<string>"
44660702
DM
11314 },
11315 "force" : {
11316 "description" : "Allow to overwrite existing VM.",
11317 "optional" : 1,
11318 "requires" : "archive",
013dc89f
DM
11319 "type" : "boolean",
11320 "typetext" : "<boolean>"
44660702
DM
11321 },
11322 "freeze" : {
11323 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11324 "optional" : 1,
013dc89f
DM
11325 "type" : "boolean",
11326 "typetext" : "<boolean>"
44660702
DM
11327 },
11328 "hostpci[n]" : {
c2993fe5 11329 "description" : "Map host PCI devices into guest.",
44660702
DM
11330 "format" : "pve-qm-hostpci",
11331 "optional" : 1,
57b78691 11332 "type" : "string",
4bd7df8b 11333 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 11334 "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
11335 },
11336 "hotplug" : {
11337 "default" : "network,disk,usb",
11338 "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'.",
11339 "format" : "pve-hotplug-features",
11340 "optional" : 1,
013dc89f
DM
11341 "type" : "string",
11342 "typetext" : "<string>"
7aacca6f 11343 },
4bd7df8b
DM
11344 "hugepages" : {
11345 "description" : "Enable/disable hugepages memory.",
11346 "enum" : [
11347 "any",
11348 "2",
11349 "1024"
11350 ],
11351 "optional" : 1,
11352 "type" : "string"
11353 },
7aacca6f 11354 "ide[n]" : {
44660702 11355 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11356 "format" : {
44660702
DM
11357 "aio" : {
11358 "description" : "AIO type to use.",
11359 "enum" : [
11360 "native",
11361 "threads"
11362 ],
44660702
DM
11363 "optional" : 1,
11364 "type" : "string"
11365 },
11366 "backup" : {
11367 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11368 "optional" : 1,
11369 "type" : "boolean"
11370 },
11371 "bps" : {
de0983cb 11372 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11373 "format_description" : "bps",
56122987 11374 "optional" : 1,
44660702 11375 "type" : "integer"
56122987 11376 },
de0983cb
DM
11377 "bps_max_length" : {
11378 "description" : "Maximum length of I/O bursts in seconds.",
11379 "format_description" : "seconds",
11380 "minimum" : 1,
11381 "optional" : 1,
11382 "type" : "integer"
11383 },
44660702 11384 "bps_rd" : {
de0983cb 11385 "description" : "Maximum read speed in bytes per second.",
44660702 11386 "format_description" : "bps",
56122987 11387 "optional" : 1,
44660702 11388 "type" : "integer"
56122987 11389 },
de0983cb
DM
11390 "bps_rd_length" : {
11391 "description" : "Maximum length of read I/O bursts in seconds.",
11392 "format_description" : "seconds",
11393 "minimum" : 1,
11394 "optional" : 1,
11395 "type" : "integer"
11396 },
44660702 11397 "bps_wr" : {
de0983cb 11398 "description" : "Maximum write speed in bytes per second.",
44660702 11399 "format_description" : "bps",
56122987 11400 "optional" : 1,
44660702 11401 "type" : "integer"
56122987 11402 },
de0983cb
DM
11403 "bps_wr_length" : {
11404 "description" : "Maximum length of write I/O bursts in seconds.",
11405 "format_description" : "seconds",
11406 "minimum" : 1,
11407 "optional" : 1,
11408 "type" : "integer"
11409 },
44660702
DM
11410 "cache" : {
11411 "description" : "The drive's cache mode",
56122987 11412 "enum" : [
7aacca6f 11413 "none",
44660702
DM
11414 "writethrough",
11415 "writeback",
11416 "unsafe",
11417 "directsync"
56122987 11418 ],
56122987 11419 "optional" : 1,
44660702 11420 "type" : "string"
56122987 11421 },
44660702
DM
11422 "cyls" : {
11423 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11424 "optional" : 1,
11425 "type" : "integer"
7aacca6f 11426 },
44660702
DM
11427 "detect_zeroes" : {
11428 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11429 "optional" : 1,
44660702 11430 "type" : "boolean"
56122987 11431 },
44660702
DM
11432 "discard" : {
11433 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11434 "enum" : [
11435 "ignore",
11436 "on"
11437 ],
56122987 11438 "optional" : 1,
44660702 11439 "type" : "string"
56122987 11440 },
7aacca6f 11441 "file" : {
44660702 11442 "default_key" : 1,
7aacca6f 11443 "description" : "The drive's backing volume.",
7aacca6f
DM
11444 "format" : "pve-volume-id-or-qm-path",
11445 "format_description" : "volume",
7aacca6f 11446 "type" : "string"
56122987 11447 },
44660702
DM
11448 "format" : {
11449 "description" : "The drive's backing file's data format.",
56122987 11450 "enum" : [
44660702
DM
11451 "raw",
11452 "cow",
11453 "qcow",
11454 "qed",
11455 "qcow2",
11456 "vmdk",
11457 "cloop"
7aacca6f 11458 ],
7aacca6f
DM
11459 "optional" : 1,
11460 "type" : "string"
56122987 11461 },
44660702
DM
11462 "heads" : {
11463 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11464 "optional" : 1,
44660702 11465 "type" : "integer"
56122987 11466 },
44660702 11467 "iops" : {
de0983cb 11468 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 11469 "format_description" : "iops",
56122987 11470 "optional" : 1,
44660702 11471 "type" : "integer"
56122987 11472 },
44660702 11473 "iops_max" : {
de0983cb 11474 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11475 "format_description" : "iops",
56122987 11476 "optional" : 1,
44660702 11477 "type" : "integer"
56122987 11478 },
de0983cb
DM
11479 "iops_max_length" : {
11480 "description" : "Maximum length of I/O bursts in seconds.",
11481 "format_description" : "seconds",
11482 "minimum" : 1,
11483 "optional" : 1,
11484 "type" : "integer"
11485 },
7aacca6f 11486 "iops_rd" : {
de0983cb 11487 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11488 "format_description" : "iops",
11489 "optional" : 1,
11490 "type" : "integer"
7aacca6f 11491 },
de0983cb
DM
11492 "iops_rd_length" : {
11493 "description" : "Maximum length of read I/O bursts in seconds.",
11494 "format_description" : "seconds",
11495 "minimum" : 1,
11496 "optional" : 1,
11497 "type" : "integer"
11498 },
44660702 11499 "iops_rd_max" : {
de0983cb 11500 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11501 "format_description" : "iops",
56122987 11502 "optional" : 1,
44660702 11503 "type" : "integer"
56122987 11504 },
44660702 11505 "iops_wr" : {
de0983cb 11506 "description" : "Maximum write I/O in operations per second.",
44660702 11507 "format_description" : "iops",
56122987 11508 "optional" : 1,
44660702 11509 "type" : "integer"
7aacca6f 11510 },
de0983cb
DM
11511 "iops_wr_length" : {
11512 "description" : "Maximum length of write I/O bursts in seconds.",
11513 "format_description" : "seconds",
11514 "minimum" : 1,
11515 "optional" : 1,
11516 "type" : "integer"
11517 },
44660702 11518 "iops_wr_max" : {
de0983cb 11519 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11520 "format_description" : "iops",
7aacca6f 11521 "optional" : 1,
44660702 11522 "type" : "integer"
56122987 11523 },
44660702 11524 "mbps" : {
de0983cb 11525 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11526 "format_description" : "mbps",
7aacca6f 11527 "optional" : 1,
44660702 11528 "type" : "number"
56122987 11529 },
44660702 11530 "mbps_max" : {
de0983cb 11531 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 11532 "format_description" : "mbps",
56122987 11533 "optional" : 1,
44660702 11534 "type" : "number"
56122987 11535 },
44660702 11536 "mbps_rd" : {
de0983cb 11537 "description" : "Maximum read speed in megabytes per second.",
44660702 11538 "format_description" : "mbps",
7aacca6f 11539 "optional" : 1,
44660702 11540 "type" : "number"
7aacca6f 11541 },
44660702 11542 "mbps_rd_max" : {
de0983cb 11543 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11544 "format_description" : "mbps",
56122987 11545 "optional" : 1,
44660702 11546 "type" : "number"
56122987 11547 },
44660702 11548 "mbps_wr" : {
de0983cb 11549 "description" : "Maximum write speed in megabytes per second.",
44660702 11550 "format_description" : "mbps",
7aacca6f 11551 "optional" : 1,
44660702 11552 "type" : "number"
56122987 11553 },
44660702 11554 "mbps_wr_max" : {
de0983cb 11555 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11556 "format_description" : "mbps",
56122987 11557 "optional" : 1,
44660702 11558 "type" : "number"
7aacca6f
DM
11559 },
11560 "media" : {
44660702
DM
11561 "default" : "disk",
11562 "description" : "The drive's media type.",
56122987 11563 "enum" : [
7aacca6f
DM
11564 "cdrom",
11565 "disk"
56122987 11566 ],
56122987 11567 "optional" : 1,
44660702 11568 "type" : "string"
56122987 11569 },
44660702
DM
11570 "model" : {
11571 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11572 "format" : "urlencoded",
11573 "format_description" : "model",
11574 "maxLength" : 120,
56122987 11575 "optional" : 1,
44660702 11576 "type" : "string"
56122987 11577 },
7aacca6f 11578 "rerror" : {
7aacca6f
DM
11579 "description" : "Read error action.",
11580 "enum" : [
11581 "ignore",
11582 "report",
11583 "stop"
44660702 11584 ],
44660702
DM
11585 "optional" : 1,
11586 "type" : "string"
56122987 11587 },
44660702
DM
11588 "secs" : {
11589 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11590 "optional" : 1,
44660702
DM
11591 "type" : "integer"
11592 },
11593 "serial" : {
11594 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11595 "format" : "urlencoded",
11596 "format_description" : "serial",
11597 "maxLength" : 60,
11598 "optional" : 1,
11599 "type" : "string"
11600 },
11601 "size" : {
11602 "description" : "Disk size. This is purely informational and has no effect.",
11603 "format" : "disk-size",
f004f5b9 11604 "format_description" : "DiskSize",
44660702
DM
11605 "optional" : 1,
11606 "type" : "string"
7aacca6f
DM
11607 },
11608 "snapshot" : {
44660702 11609 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 11610 "optional" : 1,
44660702 11611 "type" : "boolean"
7aacca6f 11612 },
44660702
DM
11613 "trans" : {
11614 "description" : "Force disk geometry bios translation mode.",
11615 "enum" : [
11616 "none",
11617 "lba",
11618 "auto"
11619 ],
7aacca6f 11620 "optional" : 1,
44660702
DM
11621 "type" : "string"
11622 },
11623 "volume" : {
11624 "alias" : "file"
11625 },
11626 "werror" : {
11627 "description" : "Write error action.",
11628 "enum" : [
11629 "enospc",
11630 "ignore",
11631 "report",
11632 "stop"
11633 ],
44660702
DM
11634 "optional" : 1,
11635 "type" : "string"
56122987
DM
11636 }
11637 },
56122987 11638 "optional" : 1,
4bd7df8b 11639 "type" : "string",
013dc89f 11640 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
56122987 11641 },
56122987 11642 "keyboard" : {
44660702 11643 "default" : "en-us",
c2993fe5 11644 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
56122987 11645 "enum" : [
44660702
DM
11646 "de",
11647 "de-ch",
7aacca6f 11648 "da",
56122987 11649 "en-gb",
44660702
DM
11650 "en-us",
11651 "es",
11652 "fi",
11653 "fr",
11654 "fr-be",
11655 "fr-ca",
11656 "fr-ch",
11657 "hu",
7aacca6f 11658 "is",
44660702
DM
11659 "it",
11660 "ja",
11661 "lt",
56122987 11662 "mk",
7aacca6f 11663 "nl",
56122987 11664 "no",
44660702 11665 "pl",
7aacca6f 11666 "pt",
44660702
DM
11667 "pt-br",
11668 "sv",
11669 "sl",
11670 "tr"
56122987 11671 ],
44660702
DM
11672 "optional" : 1,
11673 "type" : "string"
56122987 11674 },
44660702
DM
11675 "kvm" : {
11676 "default" : 1,
11677 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11678 "optional" : 1,
013dc89f
DM
11679 "type" : "boolean",
11680 "typetext" : "<boolean>"
7aacca6f 11681 },
44660702
DM
11682 "localtime" : {
11683 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11684 "optional" : 1,
013dc89f
DM
11685 "type" : "boolean",
11686 "typetext" : "<boolean>"
44660702
DM
11687 },
11688 "lock" : {
11689 "description" : "Lock/unlock the VM.",
7aacca6f
DM
11690 "enum" : [
11691 "migrate",
11692 "backup",
11693 "snapshot",
11694 "rollback"
11695 ],
44660702
DM
11696 "optional" : 1,
11697 "type" : "string"
56122987 11698 },
44660702
DM
11699 "machine" : {
11700 "description" : "Specific the Qemu machine type.",
11701 "maxLength" : 40,
11702 "optional" : 1,
11703 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11704 "type" : "string"
11705 },
11706 "memory" : {
11707 "default" : 512,
11708 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11709 "minimum" : 16,
11710 "optional" : 1,
4bd7df8b 11711 "type" : "integer",
013dc89f 11712 "typetext" : "<integer> (16 - N)"
44660702
DM
11713 },
11714 "migrate_downtime" : {
11715 "default" : 0.1,
11716 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11717 "minimum" : 0,
11718 "optional" : 1,
4bd7df8b 11719 "type" : "number",
013dc89f 11720 "typetext" : "<number> (0 - N)"
44660702
DM
11721 },
11722 "migrate_speed" : {
56122987 11723 "default" : 0,
44660702
DM
11724 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11725 "minimum" : 0,
56122987 11726 "optional" : 1,
4bd7df8b 11727 "type" : "integer",
013dc89f 11728 "typetext" : "<integer> (0 - N)"
56122987 11729 },
44660702
DM
11730 "name" : {
11731 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11732 "format" : "dns-name",
11733 "optional" : 1,
013dc89f
DM
11734 "type" : "string",
11735 "typetext" : "<string>"
44660702
DM
11736 },
11737 "net[n]" : {
c2993fe5 11738 "description" : "Specify network devices.",
f004f5b9
DM
11739 "format" : {
11740 "bridge" : {
c2993fe5 11741 "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
11742 "format_description" : "bridge",
11743 "optional" : 1,
11744 "type" : "string"
11745 },
11746 "e1000" : {
11747 "alias" : "macaddr",
11748 "keyAlias" : "model"
11749 },
11750 "e1000-82540em" : {
11751 "alias" : "macaddr",
11752 "keyAlias" : "model"
11753 },
11754 "e1000-82544gc" : {
11755 "alias" : "macaddr",
11756 "keyAlias" : "model"
11757 },
11758 "e1000-82545em" : {
11759 "alias" : "macaddr",
11760 "keyAlias" : "model"
11761 },
11762 "firewall" : {
11763 "description" : "Whether this interface should be protected by the firewall.",
11764 "optional" : 1,
11765 "type" : "boolean"
11766 },
11767 "i82551" : {
11768 "alias" : "macaddr",
11769 "keyAlias" : "model"
11770 },
11771 "i82557b" : {
11772 "alias" : "macaddr",
11773 "keyAlias" : "model"
11774 },
11775 "i82559er" : {
11776 "alias" : "macaddr",
11777 "keyAlias" : "model"
11778 },
11779 "link_down" : {
c2993fe5 11780 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11781 "optional" : 1,
11782 "type" : "boolean"
11783 },
11784 "macaddr" : {
c2993fe5 11785 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 11786 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
11787 "optional" : 1,
11788 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
11789 "type" : "string"
11790 },
11791 "model" : {
11792 "default_key" : 1,
c2993fe5 11793 "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
11794 "enum" : [
11795 "rtl8139",
11796 "ne2k_pci",
11797 "e1000",
11798 "pcnet",
11799 "virtio",
11800 "ne2k_isa",
11801 "i82551",
11802 "i82557b",
11803 "i82559er",
11804 "vmxnet3",
11805 "e1000-82540em",
11806 "e1000-82544gc",
11807 "e1000-82545em"
11808 ],
f004f5b9
DM
11809 "type" : "string"
11810 },
11811 "ne2k_isa" : {
11812 "alias" : "macaddr",
11813 "keyAlias" : "model"
11814 },
11815 "ne2k_pci" : {
11816 "alias" : "macaddr",
11817 "keyAlias" : "model"
11818 },
11819 "pcnet" : {
11820 "alias" : "macaddr",
11821 "keyAlias" : "model"
11822 },
11823 "queues" : {
11824 "description" : "Number of packet queues to be used on the device.",
11825 "maximum" : 16,
11826 "minimum" : 0,
11827 "optional" : 1,
11828 "type" : "integer"
11829 },
11830 "rate" : {
c2993fe5 11831 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11832 "minimum" : 0,
11833 "optional" : 1,
11834 "type" : "number"
11835 },
11836 "rtl8139" : {
11837 "alias" : "macaddr",
11838 "keyAlias" : "model"
11839 },
11840 "tag" : {
11841 "description" : "VLAN tag to apply to packets on this interface.",
11842 "maximum" : 4094,
c2993fe5 11843 "minimum" : 1,
f004f5b9
DM
11844 "optional" : 1,
11845 "type" : "integer"
11846 },
11847 "trunks" : {
11848 "description" : "VLAN trunks to pass through this interface.",
11849 "format_description" : "vlanid[;vlanid...]",
11850 "optional" : 1,
11851 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11852 "type" : "string"
11853 },
11854 "virtio" : {
11855 "alias" : "macaddr",
11856 "keyAlias" : "model"
11857 },
11858 "vmxnet3" : {
11859 "alias" : "macaddr",
11860 "keyAlias" : "model"
11861 }
11862 },
44660702 11863 "optional" : 1,
4bd7df8b 11864 "type" : "string",
013dc89f 11865 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
44660702
DM
11866 },
11867 "node" : {
11868 "description" : "The cluster node name.",
11869 "format" : "pve-node",
013dc89f
DM
11870 "type" : "string",
11871 "typetext" : "<string>"
44660702
DM
11872 },
11873 "numa" : {
7aacca6f 11874 "default" : 0,
44660702
DM
11875 "description" : "Enable/disable NUMA.",
11876 "optional" : 1,
013dc89f
DM
11877 "type" : "boolean",
11878 "typetext" : "<boolean>"
56122987 11879 },
7aacca6f 11880 "numa[n]" : {
c2993fe5 11881 "description" : "NUMA topology.",
7aacca6f 11882 "format" : {
44660702 11883 "cpus" : {
c2993fe5 11884 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11885 "format_description" : "id[-id];...",
11886 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11887 "type" : "string"
11888 },
7aacca6f 11889 "hostnodes" : {
c2993fe5 11890 "description" : "Host NUMA nodes to use.",
44660702 11891 "format_description" : "id[-id];...",
7aacca6f 11892 "optional" : 1,
44660702
DM
11893 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11894 "type" : "string"
7aacca6f 11895 },
44660702 11896 "memory" : {
c2993fe5 11897 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11898 "optional" : 1,
11899 "type" : "number"
7aacca6f
DM
11900 },
11901 "policy" : {
c2993fe5 11902 "description" : "NUMA allocation policy.",
7aacca6f
DM
11903 "enum" : [
11904 "preferred",
11905 "bind",
11906 "interleave"
11907 ],
7aacca6f 11908 "optional" : 1,
44660702 11909 "type" : "string"
7aacca6f
DM
11910 }
11911 },
56122987 11912 "optional" : 1,
4bd7df8b
DM
11913 "type" : "string",
11914 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 11915 },
44660702
DM
11916 "onboot" : {
11917 "default" : 0,
11918 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 11919 "optional" : 1,
013dc89f
DM
11920 "type" : "boolean",
11921 "typetext" : "<boolean>"
56122987
DM
11922 },
11923 "ostype" : {
c2993fe5 11924 "description" : "Specify guest operating system.",
56122987
DM
11925 "enum" : [
11926 "other",
11927 "wxp",
11928 "w2k",
11929 "w2k3",
11930 "w2k8",
11931 "wvista",
11932 "win7",
11933 "win8",
11934 "l24",
11935 "l26",
11936 "solaris"
44660702 11937 ],
56122987 11938 "optional" : 1,
c2993fe5
DM
11939 "type" : "string",
11940 "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 11941 },
44660702 11942 "parallel[n]" : {
c2993fe5 11943 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 11944 "optional" : 1,
44660702 11945 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11946 "type" : "string",
11947 "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 11948 },
44660702
DM
11949 "pool" : {
11950 "description" : "Add the VM to the specified pool.",
11951 "format" : "pve-poolid",
56122987 11952 "optional" : 1,
013dc89f
DM
11953 "type" : "string",
11954 "typetext" : "<string>"
56122987 11955 },
44660702
DM
11956 "protection" : {
11957 "default" : 0,
c2993fe5 11958 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 11959 "optional" : 1,
013dc89f
DM
11960 "type" : "boolean",
11961 "typetext" : "<boolean>"
56122987 11962 },
44660702 11963 "reboot" : {
7aacca6f 11964 "default" : 1,
44660702
DM
11965 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
11966 "optional" : 1,
013dc89f
DM
11967 "type" : "boolean",
11968 "typetext" : "<boolean>"
56122987 11969 },
56122987 11970 "sata[n]" : {
44660702 11971 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11972 "format" : {
7aacca6f 11973 "aio" : {
44660702 11974 "description" : "AIO type to use.",
56122987 11975 "enum" : [
7aacca6f
DM
11976 "native",
11977 "threads"
56122987 11978 ],
7aacca6f 11979 "optional" : 1,
44660702 11980 "type" : "string"
7aacca6f
DM
11981 },
11982 "backup" : {
7aacca6f 11983 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11984 "optional" : 1,
44660702 11985 "type" : "boolean"
56122987 11986 },
44660702 11987 "bps" : {
de0983cb 11988 "description" : "Maximum r/w speed in bytes per second.",
44660702 11989 "format_description" : "bps",
7aacca6f 11990 "optional" : 1,
44660702 11991 "type" : "integer"
56122987 11992 },
de0983cb
DM
11993 "bps_max_length" : {
11994 "description" : "Maximum length of I/O bursts in seconds.",
11995 "format_description" : "seconds",
11996 "minimum" : 1,
11997 "optional" : 1,
11998 "type" : "integer"
11999 },
44660702 12000 "bps_rd" : {
de0983cb 12001 "description" : "Maximum read speed in bytes per second.",
44660702 12002 "format_description" : "bps",
56122987 12003 "optional" : 1,
44660702 12004 "type" : "integer"
7aacca6f 12005 },
de0983cb
DM
12006 "bps_rd_length" : {
12007 "description" : "Maximum length of read I/O bursts in seconds.",
12008 "format_description" : "seconds",
12009 "minimum" : 1,
12010 "optional" : 1,
12011 "type" : "integer"
12012 },
44660702 12013 "bps_wr" : {
de0983cb 12014 "description" : "Maximum write speed in bytes per second.",
44660702 12015 "format_description" : "bps",
56122987 12016 "optional" : 1,
44660702 12017 "type" : "integer"
56122987 12018 },
de0983cb
DM
12019 "bps_wr_length" : {
12020 "description" : "Maximum length of write I/O bursts in seconds.",
12021 "format_description" : "seconds",
12022 "minimum" : 1,
12023 "optional" : 1,
12024 "type" : "integer"
12025 },
7aacca6f 12026 "cache" : {
7aacca6f
DM
12027 "description" : "The drive's cache mode",
12028 "enum" : [
12029 "none",
12030 "writethrough",
12031 "writeback",
12032 "unsafe",
12033 "directsync"
12034 ],
44660702
DM
12035 "optional" : 1,
12036 "type" : "string"
56122987 12037 },
44660702
DM
12038 "cyls" : {
12039 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12040 "optional" : 1,
7aacca6f 12041 "type" : "integer"
56122987 12042 },
7aacca6f
DM
12043 "detect_zeroes" : {
12044 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12045 "optional" : 1,
7aacca6f 12046 "type" : "boolean"
56122987 12047 },
44660702
DM
12048 "discard" : {
12049 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12050 "enum" : [
12051 "ignore",
12052 "on"
12053 ],
56122987 12054 "optional" : 1,
44660702 12055 "type" : "string"
56122987 12056 },
44660702
DM
12057 "file" : {
12058 "default_key" : 1,
12059 "description" : "The drive's backing volume.",
12060 "format" : "pve-volume-id-or-qm-path",
12061 "format_description" : "volume",
12062 "type" : "string"
56122987
DM
12063 },
12064 "format" : {
44660702 12065 "description" : "The drive's backing file's data format.",
56122987
DM
12066 "enum" : [
12067 "raw",
12068 "cow",
12069 "qcow",
12070 "qed",
12071 "qcow2",
12072 "vmdk",
12073 "cloop"
12074 ],
56122987 12075 "optional" : 1,
44660702 12076 "type" : "string"
56122987 12077 },
7aacca6f 12078 "heads" : {
7aacca6f 12079 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12080 "optional" : 1,
12081 "type" : "integer"
56122987 12082 },
44660702 12083 "iops" : {
de0983cb 12084 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12085 "format_description" : "iops",
12086 "optional" : 1,
12087 "type" : "integer"
56122987 12088 },
44660702 12089 "iops_max" : {
de0983cb 12090 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12091 "format_description" : "iops",
56122987 12092 "optional" : 1,
44660702 12093 "type" : "integer"
56122987 12094 },
de0983cb
DM
12095 "iops_max_length" : {
12096 "description" : "Maximum length of I/O bursts in seconds.",
12097 "format_description" : "seconds",
12098 "minimum" : 1,
12099 "optional" : 1,
12100 "type" : "integer"
12101 },
44660702 12102 "iops_rd" : {
de0983cb 12103 "description" : "Maximum read I/O in operations per second.",
44660702 12104 "format_description" : "iops",
56122987 12105 "optional" : 1,
44660702 12106 "type" : "integer"
56122987 12107 },
de0983cb
DM
12108 "iops_rd_length" : {
12109 "description" : "Maximum length of read I/O bursts in seconds.",
12110 "format_description" : "seconds",
12111 "minimum" : 1,
12112 "optional" : 1,
12113 "type" : "integer"
12114 },
44660702 12115 "iops_rd_max" : {
de0983cb 12116 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12117 "format_description" : "iops",
56122987 12118 "optional" : 1,
44660702 12119 "type" : "integer"
56122987 12120 },
44660702 12121 "iops_wr" : {
de0983cb 12122 "description" : "Maximum write I/O in operations per second.",
44660702 12123 "format_description" : "iops",
7aacca6f 12124 "optional" : 1,
44660702 12125 "type" : "integer"
7aacca6f 12126 },
de0983cb
DM
12127 "iops_wr_length" : {
12128 "description" : "Maximum length of write I/O bursts in seconds.",
12129 "format_description" : "seconds",
12130 "minimum" : 1,
12131 "optional" : 1,
12132 "type" : "integer"
12133 },
44660702 12134 "iops_wr_max" : {
de0983cb 12135 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12136 "format_description" : "iops",
56122987 12137 "optional" : 1,
7aacca6f 12138 "type" : "integer"
56122987 12139 },
44660702 12140 "mbps" : {
de0983cb 12141 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12142 "format_description" : "mbps",
56122987 12143 "optional" : 1,
44660702 12144 "type" : "number"
56122987 12145 },
44660702 12146 "mbps_max" : {
de0983cb 12147 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12148 "format_description" : "mbps",
7aacca6f 12149 "optional" : 1,
44660702 12150 "type" : "number"
7aacca6f 12151 },
44660702 12152 "mbps_rd" : {
de0983cb 12153 "description" : "Maximum read speed in megabytes per second.",
44660702 12154 "format_description" : "mbps",
7aacca6f 12155 "optional" : 1,
44660702 12156 "type" : "number"
7aacca6f 12157 },
44660702 12158 "mbps_rd_max" : {
de0983cb 12159 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12160 "format_description" : "mbps",
7aacca6f 12161 "optional" : 1,
44660702 12162 "type" : "number"
7aacca6f 12163 },
44660702 12164 "mbps_wr" : {
de0983cb 12165 "description" : "Maximum write speed in megabytes per second.",
44660702 12166 "format_description" : "mbps",
7aacca6f 12167 "optional" : 1,
44660702 12168 "type" : "number"
7aacca6f
DM
12169 },
12170 "mbps_wr_max" : {
de0983cb 12171 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12172 "format_description" : "mbps",
7aacca6f 12173 "optional" : 1,
44660702 12174 "type" : "number"
7aacca6f 12175 },
44660702
DM
12176 "media" : {
12177 "default" : "disk",
12178 "description" : "The drive's media type.",
56122987 12179 "enum" : [
44660702
DM
12180 "cdrom",
12181 "disk"
56122987 12182 ],
56122987 12183 "optional" : 1,
44660702 12184 "type" : "string"
56122987 12185 },
44660702
DM
12186 "rerror" : {
12187 "description" : "Read error action.",
7aacca6f
DM
12188 "enum" : [
12189 "ignore",
44660702
DM
12190 "report",
12191 "stop"
7aacca6f 12192 ],
56122987 12193 "optional" : 1,
44660702 12194 "type" : "string"
56122987 12195 },
44660702
DM
12196 "secs" : {
12197 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12198 "optional" : 1,
44660702 12199 "type" : "integer"
56122987 12200 },
44660702
DM
12201 "serial" : {
12202 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12203 "format" : "urlencoded",
12204 "format_description" : "serial",
12205 "maxLength" : 60,
12206 "optional" : 1,
12207 "type" : "string"
7aacca6f
DM
12208 },
12209 "size" : {
12210 "description" : "Disk size. This is purely informational and has no effect.",
44660702 12211 "format" : "disk-size",
f004f5b9 12212 "format_description" : "DiskSize",
56122987 12213 "optional" : 1,
44660702 12214 "type" : "string"
56122987 12215 },
44660702
DM
12216 "snapshot" : {
12217 "description" : "Whether the drive should be included when making snapshots.",
56122987 12218 "optional" : 1,
44660702 12219 "type" : "boolean"
56122987 12220 },
44660702
DM
12221 "trans" : {
12222 "description" : "Force disk geometry bios translation mode.",
56122987 12223 "enum" : [
44660702
DM
12224 "none",
12225 "lba",
12226 "auto"
7aacca6f 12227 ],
44660702
DM
12228 "optional" : 1,
12229 "type" : "string"
12230 },
12231 "volume" : {
12232 "alias" : "file"
56122987
DM
12233 },
12234 "werror" : {
56122987
DM
12235 "description" : "Write error action.",
12236 "enum" : [
12237 "enospc",
12238 "ignore",
12239 "report",
12240 "stop"
12241 ],
56122987 12242 "optional" : 1,
44660702
DM
12243 "type" : "string"
12244 }
12245 },
12246 "optional" : 1,
4bd7df8b 12247 "type" : "string",
013dc89f 12248 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
44660702
DM
12249 },
12250 "scsi[n]" : {
12251 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
12252 "format" : {
12253 "aio" : {
12254 "description" : "AIO type to use.",
12255 "enum" : [
12256 "native",
12257 "threads"
12258 ],
44660702
DM
12259 "optional" : 1,
12260 "type" : "string"
56122987 12261 },
7aacca6f 12262 "backup" : {
44660702 12263 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12264 "optional" : 1,
44660702 12265 "type" : "boolean"
7aacca6f 12266 },
44660702 12267 "bps" : {
de0983cb 12268 "description" : "Maximum r/w speed in bytes per second.",
44660702 12269 "format_description" : "bps",
7aacca6f 12270 "optional" : 1,
44660702 12271 "type" : "integer"
7aacca6f 12272 },
de0983cb
DM
12273 "bps_max_length" : {
12274 "description" : "Maximum length of I/O bursts in seconds.",
12275 "format_description" : "seconds",
12276 "minimum" : 1,
12277 "optional" : 1,
12278 "type" : "integer"
12279 },
44660702 12280 "bps_rd" : {
de0983cb 12281 "description" : "Maximum read speed in bytes per second.",
44660702 12282 "format_description" : "bps",
56122987 12283 "optional" : 1,
44660702 12284 "type" : "integer"
56122987 12285 },
de0983cb
DM
12286 "bps_rd_length" : {
12287 "description" : "Maximum length of read I/O bursts in seconds.",
12288 "format_description" : "seconds",
12289 "minimum" : 1,
12290 "optional" : 1,
12291 "type" : "integer"
12292 },
44660702 12293 "bps_wr" : {
de0983cb 12294 "description" : "Maximum write speed in bytes per second.",
44660702 12295 "format_description" : "bps",
7aacca6f 12296 "optional" : 1,
44660702 12297 "type" : "integer"
56122987 12298 },
de0983cb
DM
12299 "bps_wr_length" : {
12300 "description" : "Maximum length of write I/O bursts in seconds.",
12301 "format_description" : "seconds",
12302 "minimum" : 1,
12303 "optional" : 1,
12304 "type" : "integer"
12305 },
44660702
DM
12306 "cache" : {
12307 "description" : "The drive's cache mode",
7aacca6f
DM
12308 "enum" : [
12309 "none",
44660702
DM
12310 "writethrough",
12311 "writeback",
12312 "unsafe",
12313 "directsync"
7aacca6f 12314 ],
56122987 12315 "optional" : 1,
44660702 12316 "type" : "string"
56122987 12317 },
7aacca6f
DM
12318 "cyls" : {
12319 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12320 "optional" : 1,
44660702 12321 "type" : "integer"
7aacca6f 12322 },
44660702
DM
12323 "detect_zeroes" : {
12324 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12325 "optional" : 1,
44660702 12326 "type" : "boolean"
56122987 12327 },
44660702
DM
12328 "discard" : {
12329 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 12330 "enum" : [
44660702
DM
12331 "ignore",
12332 "on"
7aacca6f 12333 ],
7aacca6f 12334 "optional" : 1,
44660702 12335 "type" : "string"
56122987
DM
12336 },
12337 "file" : {
7aacca6f
DM
12338 "default_key" : 1,
12339 "description" : "The drive's backing volume.",
44660702
DM
12340 "format" : "pve-volume-id-or-qm-path",
12341 "format_description" : "volume",
7aacca6f 12342 "type" : "string"
56122987 12343 },
7aacca6f 12344 "format" : {
44660702 12345 "description" : "The drive's backing file's data format.",
56122987 12346 "enum" : [
7aacca6f
DM
12347 "raw",
12348 "cow",
12349 "qcow",
12350 "qed",
12351 "qcow2",
12352 "vmdk",
12353 "cloop"
56122987 12354 ],
44660702
DM
12355 "optional" : 1,
12356 "type" : "string"
56122987 12357 },
44660702
DM
12358 "heads" : {
12359 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12360 "optional" : 1,
12361 "type" : "integer"
12362 },
12363 "iops" : {
de0983cb 12364 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12365 "format_description" : "iops",
56122987 12366 "optional" : 1,
44660702 12367 "type" : "integer"
56122987 12368 },
44660702 12369 "iops_max" : {
de0983cb 12370 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12371 "format_description" : "iops",
7aacca6f 12372 "optional" : 1,
44660702 12373 "type" : "integer"
56122987 12374 },
de0983cb
DM
12375 "iops_max_length" : {
12376 "description" : "Maximum length of I/O bursts in seconds.",
12377 "format_description" : "seconds",
12378 "minimum" : 1,
12379 "optional" : 1,
12380 "type" : "integer"
12381 },
44660702 12382 "iops_rd" : {
de0983cb 12383 "description" : "Maximum read I/O in operations per second.",
44660702 12384 "format_description" : "iops",
56122987 12385 "optional" : 1,
44660702 12386 "type" : "integer"
56122987 12387 },
de0983cb
DM
12388 "iops_rd_length" : {
12389 "description" : "Maximum length of read I/O bursts in seconds.",
12390 "format_description" : "seconds",
12391 "minimum" : 1,
12392 "optional" : 1,
12393 "type" : "integer"
12394 },
44660702 12395 "iops_rd_max" : {
de0983cb 12396 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12397 "format_description" : "iops",
12398 "optional" : 1,
12399 "type" : "integer"
56122987 12400 },
44660702 12401 "iops_wr" : {
de0983cb 12402 "description" : "Maximum write I/O in operations per second.",
44660702 12403 "format_description" : "iops",
56122987 12404 "optional" : 1,
44660702 12405 "type" : "integer"
56122987 12406 },
de0983cb
DM
12407 "iops_wr_length" : {
12408 "description" : "Maximum length of write I/O bursts in seconds.",
12409 "format_description" : "seconds",
12410 "minimum" : 1,
12411 "optional" : 1,
12412 "type" : "integer"
12413 },
44660702 12414 "iops_wr_max" : {
de0983cb 12415 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12416 "format_description" : "iops",
56122987 12417 "optional" : 1,
56122987
DM
12418 "type" : "integer"
12419 },
44660702
DM
12420 "iothread" : {
12421 "description" : "Whether to use iothreads for this drive",
44660702
DM
12422 "optional" : 1,
12423 "type" : "boolean"
12424 },
12425 "mbps" : {
de0983cb 12426 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12427 "format_description" : "mbps",
12428 "optional" : 1,
12429 "type" : "number"
12430 },
7aacca6f 12431 "mbps_max" : {
de0983cb 12432 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12433 "format_description" : "mbps",
56122987 12434 "optional" : 1,
44660702 12435 "type" : "number"
56122987 12436 },
44660702 12437 "mbps_rd" : {
de0983cb 12438 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12439 "format_description" : "mbps",
12440 "optional" : 1,
12441 "type" : "number"
56122987 12442 },
44660702 12443 "mbps_rd_max" : {
de0983cb 12444 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12445 "format_description" : "mbps",
56122987 12446 "optional" : 1,
44660702 12447 "type" : "number"
56122987 12448 },
44660702 12449 "mbps_wr" : {
de0983cb 12450 "description" : "Maximum write speed in megabytes per second.",
44660702 12451 "format_description" : "mbps",
56122987 12452 "optional" : 1,
44660702 12453 "type" : "number"
56122987 12454 },
44660702 12455 "mbps_wr_max" : {
de0983cb 12456 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12457 "format_description" : "mbps",
7aacca6f 12458 "optional" : 1,
44660702 12459 "type" : "number"
56122987 12460 },
7aacca6f 12461 "media" : {
44660702 12462 "default" : "disk",
7aacca6f
DM
12463 "description" : "The drive's media type.",
12464 "enum" : [
12465 "cdrom",
12466 "disk"
12467 ],
56122987 12468 "optional" : 1,
44660702 12469 "type" : "string"
56122987 12470 },
44660702
DM
12471 "queues" : {
12472 "description" : "Number of queues.",
44660702
DM
12473 "minimum" : 2,
12474 "optional" : 1,
12475 "type" : "integer"
56122987 12476 },
7aacca6f 12477 "secs" : {
7aacca6f 12478 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12479 "optional" : 1,
12480 "type" : "integer"
12481 },
12482 "serial" : {
12483 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12484 "format" : "urlencoded",
12485 "format_description" : "serial",
12486 "maxLength" : 60,
12487 "optional" : 1,
12488 "type" : "string"
12489 },
12490 "size" : {
12491 "description" : "Disk size. This is purely informational and has no effect.",
12492 "format" : "disk-size",
f004f5b9 12493 "format_description" : "DiskSize",
44660702
DM
12494 "optional" : 1,
12495 "type" : "string"
12496 },
12497 "snapshot" : {
12498 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12499 "optional" : 1,
12500 "type" : "boolean"
12501 },
12502 "trans" : {
12503 "description" : "Force disk geometry bios translation mode.",
12504 "enum" : [
12505 "none",
12506 "lba",
12507 "auto"
12508 ],
44660702
DM
12509 "optional" : 1,
12510 "type" : "string"
12511 },
12512 "volume" : {
12513 "alias" : "file"
12514 },
12515 "werror" : {
12516 "description" : "Write error action.",
12517 "enum" : [
12518 "enospc",
12519 "ignore",
12520 "report",
12521 "stop"
12522 ],
44660702
DM
12523 "optional" : 1,
12524 "type" : "string"
56122987
DM
12525 }
12526 },
7aacca6f 12527 "optional" : 1,
4bd7df8b 12528 "type" : "string",
013dc89f 12529 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
56122987 12530 },
44660702
DM
12531 "scsihw" : {
12532 "default" : "lsi",
c2993fe5 12533 "description" : "SCSI controller model",
44660702
DM
12534 "enum" : [
12535 "lsi",
12536 "lsi53c810",
12537 "virtio-scsi-pci",
12538 "virtio-scsi-single",
12539 "megasas",
12540 "pvscsi"
12541 ],
7aacca6f 12542 "optional" : 1,
44660702 12543 "type" : "string"
7aacca6f 12544 },
44660702 12545 "serial[n]" : {
c2993fe5 12546 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
12547 "optional" : 1,
12548 "pattern" : "(/dev/.+|socket)",
c2993fe5 12549 "type" : "string",
57b78691 12550 "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
12551 },
12552 "shares" : {
12553 "default" : 1000,
12554 "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",
12555 "maximum" : 50000,
12556 "minimum" : 0,
12557 "optional" : 1,
4bd7df8b 12558 "type" : "integer",
013dc89f 12559 "typetext" : "<integer> (0 - 50000)"
44660702
DM
12560 },
12561 "smbios1" : {
12562 "description" : "Specify SMBIOS type 1 fields.",
12563 "format" : "pve-qm-smbios1",
12564 "maxLength" : 256,
7aacca6f 12565 "optional" : 1,
4bd7df8b
DM
12566 "type" : "string",
12567 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
12568 },
12569 "smp" : {
44660702 12570 "default" : 1,
7aacca6f 12571 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 12572 "minimum" : 1,
56122987 12573 "optional" : 1,
4bd7df8b 12574 "type" : "integer",
013dc89f 12575 "typetext" : "<integer> (1 - N)"
44660702
DM
12576 },
12577 "sockets" : {
7aacca6f 12578 "default" : 1,
44660702
DM
12579 "description" : "The number of CPU sockets.",
12580 "minimum" : 1,
12581 "optional" : 1,
4bd7df8b 12582 "type" : "integer",
013dc89f 12583 "typetext" : "<integer> (1 - N)"
7aacca6f 12584 },
44660702
DM
12585 "startdate" : {
12586 "default" : "now",
12587 "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'.",
12588 "optional" : 1,
12589 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
12590 "type" : "string",
12591 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12592 },
12593 "startup" : {
12594 "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.",
12595 "format" : "pve-startup-order",
12596 "optional" : 1,
12597 "type" : "string",
12598 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
12599 },
12600 "storage" : {
12601 "description" : "Default storage.",
12602 "format" : "pve-storage-id",
7aacca6f 12603 "optional" : 1,
013dc89f
DM
12604 "type" : "string",
12605 "typetext" : "<string>"
56122987 12606 },
44660702
DM
12607 "tablet" : {
12608 "default" : 1,
c2993fe5 12609 "description" : "Enable/disable the USB tablet device.",
56122987 12610 "optional" : 1,
c2993fe5 12611 "type" : "boolean",
013dc89f 12612 "typetext" : "<boolean>",
c2993fe5 12613 "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
12614 },
12615 "tdf" : {
12616 "default" : 0,
12617 "description" : "Enable/disable time drift fix.",
12618 "optional" : 1,
013dc89f
DM
12619 "type" : "boolean",
12620 "typetext" : "<boolean>"
7aacca6f
DM
12621 },
12622 "template" : {
7aacca6f 12623 "default" : 0,
44660702 12624 "description" : "Enable/disable Template.",
7aacca6f 12625 "optional" : 1,
013dc89f
DM
12626 "type" : "boolean",
12627 "typetext" : "<boolean>"
7aacca6f 12628 },
44660702
DM
12629 "unique" : {
12630 "description" : "Assign a unique random ethernet address.",
7aacca6f 12631 "optional" : 1,
44660702 12632 "requires" : "archive",
013dc89f
DM
12633 "type" : "boolean",
12634 "typetext" : "<boolean>"
56122987 12635 },
44660702 12636 "unused[n]" : {
c2993fe5 12637 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12638 "format" : "pve-volume-id",
7aacca6f 12639 "optional" : 1,
013dc89f
DM
12640 "type" : "string",
12641 "typetext" : "<string>"
44660702
DM
12642 },
12643 "usb[n]" : {
c2993fe5 12644 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12645 "format" : {
7aacca6f
DM
12646 "host" : {
12647 "default_key" : 1,
c2993fe5 12648 "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 12649 "format" : "pve-qm-usb-device",
44660702
DM
12650 "format_description" : "HOSTUSBDEVICE|spice",
12651 "type" : "string"
7aacca6f 12652 },
56122987 12653 "usb3" : {
c2993fe5
DM
12654 "default" : 0,
12655 "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 12656 "optional" : 1,
56122987 12657 "type" : "boolean"
7aacca6f 12658 }
56122987 12659 },
56122987 12660 "optional" : 1,
4bd7df8b
DM
12661 "type" : "string",
12662 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 12663 },
44660702
DM
12664 "vcpus" : {
12665 "default" : 0,
12666 "description" : "Number of hotplugged vcpus.",
12667 "minimum" : 1,
56122987 12668 "optional" : 1,
4bd7df8b 12669 "type" : "integer",
013dc89f 12670 "typetext" : "<integer> (1 - N)"
7aacca6f 12671 },
44660702 12672 "vga" : {
c2993fe5 12673 "description" : "Select the VGA type.",
44660702
DM
12674 "enum" : [
12675 "std",
12676 "cirrus",
12677 "vmware",
12678 "qxl",
12679 "serial0",
12680 "serial1",
12681 "serial2",
12682 "serial3",
12683 "qxl2",
12684 "qxl3",
12685 "qxl4"
12686 ],
12687 "optional" : 1,
c2993fe5
DM
12688 "type" : "string",
12689 "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 12690 },
44660702
DM
12691 "virtio[n]" : {
12692 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
12693 "format" : {
12694 "aio" : {
12695 "description" : "AIO type to use.",
12696 "enum" : [
12697 "native",
12698 "threads"
12699 ],
44660702
DM
12700 "optional" : 1,
12701 "type" : "string"
12702 },
12703 "backup" : {
12704 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12705 "optional" : 1,
12706 "type" : "boolean"
12707 },
12708 "bps" : {
de0983cb 12709 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12710 "format_description" : "bps",
12711 "optional" : 1,
12712 "type" : "integer"
12713 },
de0983cb
DM
12714 "bps_max_length" : {
12715 "description" : "Maximum length of I/O bursts in seconds.",
12716 "format_description" : "seconds",
12717 "minimum" : 1,
12718 "optional" : 1,
12719 "type" : "integer"
12720 },
44660702 12721 "bps_rd" : {
de0983cb 12722 "description" : "Maximum read speed in bytes per second.",
44660702
DM
12723 "format_description" : "bps",
12724 "optional" : 1,
12725 "type" : "integer"
12726 },
de0983cb
DM
12727 "bps_rd_length" : {
12728 "description" : "Maximum length of read I/O bursts in seconds.",
12729 "format_description" : "seconds",
12730 "minimum" : 1,
12731 "optional" : 1,
12732 "type" : "integer"
12733 },
44660702 12734 "bps_wr" : {
de0983cb 12735 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12736 "format_description" : "bps",
12737 "optional" : 1,
12738 "type" : "integer"
12739 },
de0983cb
DM
12740 "bps_wr_length" : {
12741 "description" : "Maximum length of write I/O bursts in seconds.",
12742 "format_description" : "seconds",
12743 "minimum" : 1,
12744 "optional" : 1,
12745 "type" : "integer"
12746 },
44660702
DM
12747 "cache" : {
12748 "description" : "The drive's cache mode",
12749 "enum" : [
12750 "none",
12751 "writethrough",
12752 "writeback",
12753 "unsafe",
12754 "directsync"
12755 ],
44660702
DM
12756 "optional" : 1,
12757 "type" : "string"
12758 },
12759 "cyls" : {
12760 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12761 "optional" : 1,
12762 "type" : "integer"
12763 },
12764 "detect_zeroes" : {
12765 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12766 "optional" : 1,
12767 "type" : "boolean"
12768 },
12769 "discard" : {
12770 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12771 "enum" : [
12772 "ignore",
12773 "on"
12774 ],
44660702
DM
12775 "optional" : 1,
12776 "type" : "string"
12777 },
12778 "file" : {
12779 "default_key" : 1,
12780 "description" : "The drive's backing volume.",
12781 "format" : "pve-volume-id-or-qm-path",
12782 "format_description" : "volume",
12783 "type" : "string"
12784 },
12785 "format" : {
12786 "description" : "The drive's backing file's data format.",
12787 "enum" : [
12788 "raw",
12789 "cow",
12790 "qcow",
12791 "qed",
12792 "qcow2",
12793 "vmdk",
12794 "cloop"
12795 ],
44660702
DM
12796 "optional" : 1,
12797 "type" : "string"
12798 },
12799 "heads" : {
12800 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12801 "optional" : 1,
12802 "type" : "integer"
12803 },
12804 "iops" : {
de0983cb 12805 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12806 "format_description" : "iops",
12807 "optional" : 1,
12808 "type" : "integer"
12809 },
12810 "iops_max" : {
de0983cb 12811 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12812 "format_description" : "iops",
12813 "optional" : 1,
12814 "type" : "integer"
12815 },
de0983cb
DM
12816 "iops_max_length" : {
12817 "description" : "Maximum length of I/O bursts in seconds.",
12818 "format_description" : "seconds",
12819 "minimum" : 1,
12820 "optional" : 1,
12821 "type" : "integer"
12822 },
44660702 12823 "iops_rd" : {
de0983cb 12824 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12825 "format_description" : "iops",
12826 "optional" : 1,
12827 "type" : "integer"
12828 },
de0983cb
DM
12829 "iops_rd_length" : {
12830 "description" : "Maximum length of read I/O bursts in seconds.",
12831 "format_description" : "seconds",
12832 "minimum" : 1,
12833 "optional" : 1,
12834 "type" : "integer"
12835 },
44660702 12836 "iops_rd_max" : {
de0983cb 12837 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12838 "format_description" : "iops",
12839 "optional" : 1,
12840 "type" : "integer"
12841 },
12842 "iops_wr" : {
de0983cb 12843 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12844 "format_description" : "iops",
12845 "optional" : 1,
12846 "type" : "integer"
12847 },
de0983cb
DM
12848 "iops_wr_length" : {
12849 "description" : "Maximum length of write I/O bursts in seconds.",
12850 "format_description" : "seconds",
12851 "minimum" : 1,
12852 "optional" : 1,
12853 "type" : "integer"
12854 },
44660702 12855 "iops_wr_max" : {
de0983cb 12856 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12857 "format_description" : "iops",
12858 "optional" : 1,
12859 "type" : "integer"
12860 },
12861 "iothread" : {
12862 "description" : "Whether to use iothreads for this drive",
44660702
DM
12863 "optional" : 1,
12864 "type" : "boolean"
12865 },
12866 "mbps" : {
de0983cb 12867 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12868 "format_description" : "mbps",
12869 "optional" : 1,
12870 "type" : "number"
12871 },
12872 "mbps_max" : {
de0983cb 12873 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12874 "format_description" : "mbps",
12875 "optional" : 1,
12876 "type" : "number"
12877 },
12878 "mbps_rd" : {
de0983cb 12879 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12880 "format_description" : "mbps",
12881 "optional" : 1,
12882 "type" : "number"
12883 },
12884 "mbps_rd_max" : {
de0983cb 12885 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12886 "format_description" : "mbps",
12887 "optional" : 1,
12888 "type" : "number"
12889 },
12890 "mbps_wr" : {
de0983cb 12891 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12892 "format_description" : "mbps",
12893 "optional" : 1,
12894 "type" : "number"
12895 },
12896 "mbps_wr_max" : {
de0983cb 12897 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12898 "format_description" : "mbps",
12899 "optional" : 1,
12900 "type" : "number"
12901 },
12902 "media" : {
12903 "default" : "disk",
12904 "description" : "The drive's media type.",
12905 "enum" : [
12906 "cdrom",
12907 "disk"
12908 ],
44660702
DM
12909 "optional" : 1,
12910 "type" : "string"
12911 },
12912 "rerror" : {
12913 "description" : "Read error action.",
12914 "enum" : [
12915 "ignore",
12916 "report",
12917 "stop"
12918 ],
44660702
DM
12919 "optional" : 1,
12920 "type" : "string"
12921 },
12922 "secs" : {
12923 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12924 "optional" : 1,
12925 "type" : "integer"
12926 },
12927 "serial" : {
12928 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12929 "format" : "urlencoded",
12930 "format_description" : "serial",
12931 "maxLength" : 60,
12932 "optional" : 1,
12933 "type" : "string"
12934 },
12935 "size" : {
12936 "description" : "Disk size. This is purely informational and has no effect.",
12937 "format" : "disk-size",
f004f5b9 12938 "format_description" : "DiskSize",
44660702
DM
12939 "optional" : 1,
12940 "type" : "string"
12941 },
12942 "snapshot" : {
12943 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12944 "optional" : 1,
12945 "type" : "boolean"
12946 },
12947 "trans" : {
12948 "description" : "Force disk geometry bios translation mode.",
12949 "enum" : [
12950 "none",
12951 "lba",
12952 "auto"
12953 ],
44660702
DM
12954 "optional" : 1,
12955 "type" : "string"
12956 },
12957 "volume" : {
12958 "alias" : "file"
12959 },
12960 "werror" : {
12961 "description" : "Write error action.",
12962 "enum" : [
12963 "enospc",
12964 "ignore",
12965 "report",
12966 "stop"
12967 ],
44660702
DM
12968 "optional" : 1,
12969 "type" : "string"
12970 }
12971 },
12972 "optional" : 1,
4bd7df8b 12973 "type" : "string",
013dc89f 12974 "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=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_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=<enum>]"
7aacca6f 12975 },
44660702
DM
12976 "vmid" : {
12977 "description" : "The (unique) ID of the VM.",
12978 "format" : "pve-vmid",
12979 "minimum" : 1,
4bd7df8b 12980 "type" : "integer",
013dc89f 12981 "typetext" : "<integer> (1 - N)"
44660702
DM
12982 },
12983 "watchdog" : {
c2993fe5 12984 "description" : "Create a virtual hardware watchdog device.",
44660702 12985 "format" : "pve-qm-watchdog",
7aacca6f 12986 "optional" : 1,
c2993fe5 12987 "type" : "string",
013dc89f 12988 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12989 "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 12990 }
44660702 12991 }
56122987 12992 },
56122987 12993 "permissions" : {
44660702
DM
12994 "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.",
12995 "user" : "all"
56122987 12996 },
44660702
DM
12997 "protected" : 1,
12998 "proxyto" : "node",
56122987 12999 "returns" : {
44660702 13000 "type" : "string"
7aacca6f 13001 }
56122987 13002 }
7aacca6f 13003 },
44660702 13004 "leaf" : 0,
7aacca6f 13005 "path" : "/nodes/{node}/qemu",
44660702 13006 "text" : "qemu"
56122987
DM
13007 },
13008 {
13009 "children" : [
13010 {
56122987
DM
13011 "children" : [
13012 {
56122987 13013 "info" : {
44660702
DM
13014 "GET" : {
13015 "description" : "Get container configuration.",
13016 "method" : "GET",
13017 "name" : "vm_config",
13018 "parameters" : {
13019 "additionalProperties" : 0,
13020 "properties" : {
13021 "node" : {
13022 "description" : "The cluster node name.",
13023 "format" : "pve-node",
013dc89f
DM
13024 "type" : "string",
13025 "typetext" : "<string>"
44660702
DM
13026 },
13027 "vmid" : {
13028 "description" : "The (unique) ID of the VM.",
13029 "format" : "pve-vmid",
13030 "minimum" : 1,
4bd7df8b 13031 "type" : "integer",
013dc89f 13032 "typetext" : "<integer> (1 - N)"
44660702
DM
13033 }
13034 }
13035 },
13036 "permissions" : {
13037 "check" : [
13038 "perm",
13039 "/vms/{vmid}",
13040 [
13041 "VM.Audit"
13042 ]
13043 ]
13044 },
13045 "proxyto" : "node",
13046 "returns" : {
13047 "properties" : {
13048 "digest" : {
13049 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
13050 "type" : "string"
13051 }
13052 },
13053 "type" : "object"
13054 }
13055 },
56122987 13056 "PUT" : {
44660702
DM
13057 "description" : "Set container options.",
13058 "method" : "PUT",
13059 "name" : "update_vm",
56122987 13060 "parameters" : {
44660702 13061 "additionalProperties" : 0,
56122987 13062 "properties" : {
44660702
DM
13063 "arch" : {
13064 "default" : "amd64",
13065 "description" : "OS architecture type.",
13066 "enum" : [
13067 "amd64",
13068 "i386"
13069 ],
7aacca6f 13070 "optional" : 1,
44660702
DM
13071 "type" : "string"
13072 },
13073 "cmode" : {
7aacca6f 13074 "default" : "tty",
44660702 13075 "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
13076 "enum" : [
13077 "shell",
13078 "console",
13079 "tty"
13080 ],
44660702
DM
13081 "optional" : 1,
13082 "type" : "string"
7aacca6f 13083 },
44660702
DM
13084 "console" : {
13085 "default" : 1,
13086 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 13087 "optional" : 1,
013dc89f
DM
13088 "type" : "boolean",
13089 "typetext" : "<boolean>"
7aacca6f 13090 },
de0983cb
DM
13091 "cores" : {
13092 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
13093 "maximum" : 128,
13094 "minimum" : 1,
13095 "optional" : 1,
13096 "type" : "integer",
013dc89f 13097 "typetext" : "<integer> (1 - 128)"
de0983cb 13098 },
44660702
DM
13099 "cpulimit" : {
13100 "default" : 0,
13101 "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.",
13102 "maximum" : 128,
7aacca6f 13103 "minimum" : 0,
7aacca6f 13104 "optional" : 1,
4bd7df8b 13105 "type" : "number",
013dc89f 13106 "typetext" : "<number> (0 - 128)"
7aacca6f 13107 },
44660702
DM
13108 "cpuunits" : {
13109 "default" : 1024,
13110 "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.",
13111 "maximum" : 500000,
13112 "minimum" : 0,
13113 "optional" : 1,
4bd7df8b 13114 "type" : "integer",
013dc89f 13115 "typetext" : "<integer> (0 - 500000)"
7aacca6f 13116 },
44660702
DM
13117 "delete" : {
13118 "description" : "A list of settings you want to delete.",
13119 "format" : "pve-configid-list",
7aacca6f 13120 "optional" : 1,
013dc89f
DM
13121 "type" : "string",
13122 "typetext" : "<string>"
7aacca6f 13123 },
44660702
DM
13124 "description" : {
13125 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 13126 "optional" : 1,
013dc89f
DM
13127 "type" : "string",
13128 "typetext" : "<string>"
7aacca6f 13129 },
44660702
DM
13130 "digest" : {
13131 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13132 "maxLength" : 40,
7aacca6f 13133 "optional" : 1,
013dc89f
DM
13134 "type" : "string",
13135 "typetext" : "<string>"
7aacca6f 13136 },
44660702
DM
13137 "hostname" : {
13138 "description" : "Set a host name for the container.",
13139 "format" : "dns-name",
13140 "maxLength" : 255,
56122987 13141 "optional" : 1,
013dc89f
DM
13142 "type" : "string",
13143 "typetext" : "<string>"
44660702
DM
13144 },
13145 "lock" : {
13146 "description" : "Lock/unlock the VM.",
13147 "enum" : [
13148 "migrate",
13149 "backup",
13150 "snapshot",
13151 "rollback"
13152 ],
13153 "optional" : 1,
13154 "type" : "string"
13155 },
13156 "memory" : {
13157 "default" : 512,
13158 "description" : "Amount of RAM for the VM in MB.",
13159 "minimum" : 16,
13160 "optional" : 1,
4bd7df8b 13161 "type" : "integer",
013dc89f 13162 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
13163 },
13164 "mp[n]" : {
c2993fe5 13165 "description" : "Use volume as container mount point.",
7aacca6f 13166 "format" : {
7aacca6f
DM
13167 "acl" : {
13168 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 13169 "optional" : 1,
44660702 13170 "type" : "boolean"
7aacca6f
DM
13171 },
13172 "backup" : {
de0983cb 13173 "description" : "Whether to include the mount point in backups.",
7aacca6f 13174 "optional" : 1,
4bd7df8b 13175 "type" : "boolean",
de0983cb 13176 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
13177 },
13178 "mp" : {
de0983cb 13179 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 13180 "format" : "pve-lxc-mp-string",
44660702 13181 "format_description" : "Path",
4bd7df8b 13182 "type" : "string",
de0983cb 13183 "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
13184 },
13185 "quota" : {
13186 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13187 "optional" : 1,
13188 "type" : "boolean"
13189 },
13190 "ro" : {
de0983cb 13191 "description" : "Read-only mount point",
44660702
DM
13192 "optional" : 1,
13193 "type" : "boolean"
13194 },
de0983cb
DM
13195 "shared" : {
13196 "default" : 0,
13197 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13198 "optional" : 1,
13199 "type" : "boolean",
13200 "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!"
13201 },
44660702
DM
13202 "size" : {
13203 "description" : "Volume size (read only value).",
13204 "format" : "disk-size",
13205 "format_description" : "DiskSize",
13206 "optional" : 1,
13207 "type" : "string"
13208 },
13209 "volume" : {
13210 "default_key" : 1,
13211 "description" : "Volume, device or directory to mount into the container.",
13212 "format" : "pve-lxc-mp-string",
13213 "format_description" : "volume",
13214 "type" : "string"
13215 }
13216 },
7aacca6f 13217 "optional" : 1,
4bd7df8b 13218 "type" : "string",
de0983cb 13219 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 13220 },
44660702
DM
13221 "nameserver" : {
13222 "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.",
13223 "format" : "address-list",
56122987 13224 "optional" : 1,
013dc89f
DM
13225 "type" : "string",
13226 "typetext" : "<string>"
56122987
DM
13227 },
13228 "net[n]" : {
44660702 13229 "description" : "Specifies network interfaces for the container.",
56122987 13230 "format" : {
44660702
DM
13231 "bridge" : {
13232 "description" : "Bridge to attach the network device to.",
f004f5b9 13233 "format_description" : "bridge",
56122987 13234 "optional" : 1,
44660702
DM
13235 "pattern" : "[-_.\\w\\d]+",
13236 "type" : "string"
56122987 13237 },
44660702
DM
13238 "firewall" : {
13239 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 13240 "optional" : 1,
44660702 13241 "type" : "boolean"
56122987 13242 },
44660702
DM
13243 "gw" : {
13244 "description" : "Default gateway for IPv4 traffic.",
13245 "format" : "ipv4",
13246 "format_description" : "GatewayIPv4",
56122987 13247 "optional" : 1,
44660702 13248 "type" : "string"
56122987
DM
13249 },
13250 "gw6" : {
7aacca6f 13251 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
13252 "format" : "ipv6",
13253 "format_description" : "GatewayIPv6",
7aacca6f 13254 "optional" : 1,
56122987
DM
13255 "type" : "string"
13256 },
44660702 13257 "hwaddr" : {
f004f5b9
DM
13258 "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)",
13259 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
13260 "optional" : 1,
13261 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
13262 "type" : "string"
13263 },
13264 "ip" : {
13265 "description" : "IPv4 address in CIDR format.",
13266 "format" : "pve-ipv4-config",
13267 "format_description" : "IPv4Format/CIDR",
56122987 13268 "optional" : 1,
44660702 13269 "type" : "string"
56122987 13270 },
7aacca6f 13271 "ip6" : {
7aacca6f
DM
13272 "description" : "IPv6 address in CIDR format.",
13273 "format" : "pve-ipv6-config",
44660702 13274 "format_description" : "IPv6Format/CIDR",
7aacca6f 13275 "optional" : 1,
44660702 13276 "type" : "string"
56122987 13277 },
44660702
DM
13278 "mtu" : {
13279 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 13280 "minimum" : 64,
56122987 13281 "optional" : 1,
44660702 13282 "type" : "integer"
56122987
DM
13283 },
13284 "name" : {
44660702 13285 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 13286 "format_description" : "string",
56122987 13287 "pattern" : "[-_.\\w\\d]+",
44660702 13288 "type" : "string"
56122987 13289 },
44660702
DM
13290 "rate" : {
13291 "description" : "Apply rate limiting to the interface",
13292 "format_description" : "mbps",
56122987 13293 "optional" : 1,
44660702 13294 "type" : "number"
7aacca6f 13295 },
44660702
DM
13296 "tag" : {
13297 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
13298 "maximum" : 4094,
13299 "minimum" : 1,
56122987 13300 "optional" : 1,
7aacca6f 13301 "type" : "integer"
56122987 13302 },
44660702
DM
13303 "trunks" : {
13304 "description" : "VLAN ids to pass through the interface",
13305 "format_description" : "vlanid[;vlanid...]",
13306 "optional" : 1,
13307 "pattern" : "(?^:\\d+(?:;\\d+)*)",
13308 "type" : "string"
13309 },
13310 "type" : {
13311 "description" : "Network interface type.",
13312 "enum" : [
13313 "veth"
13314 ],
56122987 13315 "optional" : 1,
44660702 13316 "type" : "string"
56122987
DM
13317 }
13318 },
7aacca6f 13319 "optional" : 1,
4bd7df8b
DM
13320 "type" : "string",
13321 "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 13322 },
44660702
DM
13323 "node" : {
13324 "description" : "The cluster node name.",
13325 "format" : "pve-node",
013dc89f
DM
13326 "type" : "string",
13327 "typetext" : "<string>"
56122987 13328 },
44660702
DM
13329 "onboot" : {
13330 "default" : 0,
13331 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 13332 "optional" : 1,
013dc89f
DM
13333 "type" : "boolean",
13334 "typetext" : "<boolean>"
56122987 13335 },
44660702
DM
13336 "ostype" : {
13337 "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.",
13338 "enum" : [
13339 "debian",
13340 "ubuntu",
13341 "centos",
13342 "fedora",
13343 "opensuse",
13344 "archlinux",
13345 "alpine",
57b78691 13346 "gentoo",
44660702
DM
13347 "unmanaged"
13348 ],
56122987 13349 "optional" : 1,
44660702 13350 "type" : "string"
56122987 13351 },
44660702
DM
13352 "protection" : {
13353 "default" : 0,
13354 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 13355 "optional" : 1,
013dc89f
DM
13356 "type" : "boolean",
13357 "typetext" : "<boolean>"
56122987 13358 },
7aacca6f
DM
13359 "rootfs" : {
13360 "description" : "Use volume as container root.",
56122987
DM
13361 "format" : {
13362 "acl" : {
44660702 13363 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
13364 "optional" : 1,
13365 "type" : "boolean"
56122987 13366 },
44660702
DM
13367 "quota" : {
13368 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13369 "optional" : 1,
13370 "type" : "boolean"
13371 },
13372 "ro" : {
de0983cb 13373 "description" : "Read-only mount point",
56122987 13374 "optional" : 1,
44660702
DM
13375 "type" : "boolean"
13376 },
de0983cb
DM
13377 "shared" : {
13378 "default" : 0,
13379 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13380 "optional" : 1,
13381 "type" : "boolean",
13382 "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!"
13383 },
44660702 13384 "size" : {
7aacca6f 13385 "description" : "Volume size (read only value).",
44660702 13386 "format" : "disk-size",
56122987 13387 "format_description" : "DiskSize",
56122987 13388 "optional" : 1,
44660702 13389 "type" : "string"
7aacca6f
DM
13390 },
13391 "volume" : {
7aacca6f
DM
13392 "default_key" : 1,
13393 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
13394 "format" : "pve-lxc-mp-string",
13395 "format_description" : "volume",
7aacca6f 13396 "type" : "string"
56122987 13397 }
44660702
DM
13398 },
13399 "optional" : 1,
4bd7df8b 13400 "type" : "string",
de0983cb 13401 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
13402 },
13403 "searchdomain" : {
13404 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
13405 "format" : "dns-name-list",
13406 "optional" : 1,
013dc89f
DM
13407 "type" : "string",
13408 "typetext" : "<string>"
44660702
DM
13409 },
13410 "startup" : {
13411 "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.",
13412 "format" : "pve-startup-order",
13413 "optional" : 1,
13414 "type" : "string",
13415 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13416 },
13417 "swap" : {
13418 "default" : 512,
13419 "description" : "Amount of SWAP for the VM in MB.",
13420 "minimum" : 0,
13421 "optional" : 1,
4bd7df8b 13422 "type" : "integer",
013dc89f 13423 "typetext" : "<integer> (0 - N)"
56122987 13424 },
56122987 13425 "template" : {
44660702 13426 "default" : 0,
7aacca6f 13427 "description" : "Enable/disable Template.",
56122987 13428 "optional" : 1,
013dc89f
DM
13429 "type" : "boolean",
13430 "typetext" : "<boolean>"
56122987 13431 },
44660702
DM
13432 "tty" : {
13433 "default" : 2,
13434 "description" : "Specify the number of tty available to the container",
13435 "maximum" : 6,
13436 "minimum" : 0,
13437 "optional" : 1,
4bd7df8b 13438 "type" : "integer",
013dc89f 13439 "typetext" : "<integer> (0 - 6)"
56122987 13440 },
44660702
DM
13441 "unprivileged" : {
13442 "default" : 0,
13443 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 13444 "optional" : 1,
013dc89f
DM
13445 "type" : "boolean",
13446 "typetext" : "<boolean>"
56122987 13447 },
44660702 13448 "unused[n]" : {
c2993fe5 13449 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13450 "format" : "pve-volume-id",
56122987 13451 "optional" : 1,
013dc89f
DM
13452 "type" : "string",
13453 "typetext" : "<string>"
44660702
DM
13454 },
13455 "vmid" : {
13456 "description" : "The (unique) ID of the VM.",
13457 "format" : "pve-vmid",
13458 "minimum" : 1,
4bd7df8b 13459 "type" : "integer",
013dc89f 13460 "typetext" : "<integer> (1 - N)"
56122987 13461 }
44660702 13462 }
56122987 13463 },
56122987
DM
13464 "permissions" : {
13465 "check" : [
13466 "perm",
13467 "/vms/{vmid}",
13468 [
13469 "VM.Config.Disk",
13470 "VM.Config.CPU",
13471 "VM.Config.Memory",
13472 "VM.Config.Network",
13473 "VM.Config.Options"
13474 ],
13475 "any",
13476 1
13477 ]
13478 },
44660702
DM
13479 "protected" : 1,
13480 "proxyto" : "node",
56122987
DM
13481 "returns" : {
13482 "type" : "null"
7aacca6f 13483 }
56122987 13484 }
7aacca6f 13485 },
44660702 13486 "leaf" : 1,
7aacca6f 13487 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 13488 "text" : "config"
56122987
DM
13489 },
13490 {
56122987
DM
13491 "children" : [
13492 {
13493 "info" : {
13494 "GET" : {
44660702 13495 "description" : "Get virtual machine status.",
7aacca6f 13496 "method" : "GET",
44660702 13497 "name" : "vm_status",
56122987 13498 "parameters" : {
44660702 13499 "additionalProperties" : 0,
56122987 13500 "properties" : {
56122987 13501 "node" : {
44660702 13502 "description" : "The cluster node name.",
56122987 13503 "format" : "pve-node",
013dc89f
DM
13504 "type" : "string",
13505 "typetext" : "<string>"
7aacca6f
DM
13506 },
13507 "vmid" : {
13508 "description" : "The (unique) ID of the VM.",
44660702 13509 "format" : "pve-vmid",
7aacca6f 13510 "minimum" : 1,
4bd7df8b 13511 "type" : "integer",
013dc89f 13512 "typetext" : "<integer> (1 - N)"
56122987 13513 }
44660702 13514 }
7aacca6f
DM
13515 },
13516 "permissions" : {
13517 "check" : [
13518 "perm",
13519 "/vms/{vmid}",
13520 [
13521 "VM.Audit"
13522 ]
13523 ]
13524 },
44660702 13525 "protected" : 1,
7aacca6f 13526 "proxyto" : "node",
44660702
DM
13527 "returns" : {
13528 "type" : "object"
13529 }
56122987
DM
13530 }
13531 },
44660702
DM
13532 "leaf" : 1,
13533 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
13534 "text" : "current"
13535 },
13536 {
56122987
DM
13537 "info" : {
13538 "POST" : {
7aacca6f 13539 "description" : "Start the container.",
44660702 13540 "method" : "POST",
7aacca6f 13541 "name" : "vm_start",
56122987
DM
13542 "parameters" : {
13543 "additionalProperties" : 0,
13544 "properties" : {
56122987 13545 "node" : {
7aacca6f 13546 "description" : "The cluster node name.",
44660702 13547 "format" : "pve-node",
013dc89f
DM
13548 "type" : "string",
13549 "typetext" : "<string>"
56122987 13550 },
7aacca6f 13551 "skiplock" : {
44660702 13552 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 13553 "optional" : 1,
013dc89f
DM
13554 "type" : "boolean",
13555 "typetext" : "<boolean>"
7aacca6f 13556 },
56122987 13557 "vmid" : {
7aacca6f 13558 "description" : "The (unique) ID of the VM.",
44660702 13559 "format" : "pve-vmid",
56122987 13560 "minimum" : 1,
4bd7df8b 13561 "type" : "integer",
013dc89f 13562 "typetext" : "<integer> (1 - N)"
56122987
DM
13563 }
13564 }
13565 },
13566 "permissions" : {
13567 "check" : [
13568 "perm",
13569 "/vms/{vmid}",
13570 [
13571 "VM.PowerMgmt"
13572 ]
13573 ]
13574 },
44660702 13575 "protected" : 1,
7aacca6f 13576 "proxyto" : "node",
44660702
DM
13577 "returns" : {
13578 "type" : "string"
13579 }
13580 }
13581 },
13582 "leaf" : 1,
13583 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
13584 "text" : "start"
13585 },
13586 {
13587 "info" : {
13588 "POST" : {
13589 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
13590 "method" : "POST",
13591 "name" : "vm_stop",
13592 "parameters" : {
44660702 13593 "additionalProperties" : 0,
7aacca6f 13594 "properties" : {
44660702
DM
13595 "node" : {
13596 "description" : "The cluster node name.",
13597 "format" : "pve-node",
013dc89f
DM
13598 "type" : "string",
13599 "typetext" : "<string>"
44660702 13600 },
7aacca6f
DM
13601 "skiplock" : {
13602 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 13603 "optional" : 1,
013dc89f
DM
13604 "type" : "boolean",
13605 "typetext" : "<boolean>"
7aacca6f
DM
13606 },
13607 "vmid" : {
44660702 13608 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13609 "format" : "pve-vmid",
13610 "minimum" : 1,
4bd7df8b 13611 "type" : "integer",
013dc89f 13612 "typetext" : "<integer> (1 - N)"
7aacca6f 13613 }
44660702
DM
13614 }
13615 },
13616 "permissions" : {
13617 "check" : [
13618 "perm",
13619 "/vms/{vmid}",
13620 [
13621 "VM.PowerMgmt"
13622 ]
13623 ]
7aacca6f 13624 },
44660702
DM
13625 "protected" : 1,
13626 "proxyto" : "node",
13627 "returns" : {
13628 "type" : "string"
13629 }
56122987 13630 }
7aacca6f 13631 },
7aacca6f 13632 "leaf" : 1,
44660702
DM
13633 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
13634 "text" : "stop"
56122987
DM
13635 },
13636 {
56122987
DM
13637 "info" : {
13638 "POST" : {
44660702
DM
13639 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
13640 "method" : "POST",
7aacca6f 13641 "name" : "vm_shutdown",
56122987 13642 "parameters" : {
44660702 13643 "additionalProperties" : 0,
56122987 13644 "properties" : {
7aacca6f 13645 "forceStop" : {
44660702 13646 "default" : 0,
7aacca6f
DM
13647 "description" : "Make sure the Container stops.",
13648 "optional" : 1,
013dc89f
DM
13649 "type" : "boolean",
13650 "typetext" : "<boolean>"
44660702
DM
13651 },
13652 "node" : {
13653 "description" : "The cluster node name.",
13654 "format" : "pve-node",
013dc89f
DM
13655 "type" : "string",
13656 "typetext" : "<string>"
7aacca6f
DM
13657 },
13658 "timeout" : {
7aacca6f 13659 "default" : 60,
44660702
DM
13660 "description" : "Wait maximal timeout seconds.",
13661 "minimum" : 0,
56122987 13662 "optional" : 1,
4bd7df8b 13663 "type" : "integer",
013dc89f 13664 "typetext" : "<integer> (0 - N)"
56122987
DM
13665 },
13666 "vmid" : {
7aacca6f 13667 "description" : "The (unique) ID of the VM.",
44660702
DM
13668 "format" : "pve-vmid",
13669 "minimum" : 1,
4bd7df8b 13670 "type" : "integer",
013dc89f 13671 "typetext" : "<integer> (1 - N)"
56122987 13672 }
44660702 13673 }
56122987
DM
13674 },
13675 "permissions" : {
13676 "check" : [
13677 "perm",
13678 "/vms/{vmid}",
13679 [
13680 "VM.PowerMgmt"
13681 ]
13682 ]
13683 },
44660702
DM
13684 "protected" : 1,
13685 "proxyto" : "node",
7aacca6f
DM
13686 "returns" : {
13687 "type" : "string"
13688 }
56122987
DM
13689 }
13690 },
44660702
DM
13691 "leaf" : 1,
13692 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 13693 "text" : "shutdown"
56122987
DM
13694 },
13695 {
56122987
DM
13696 "info" : {
13697 "POST" : {
7aacca6f 13698 "description" : "Suspend the container.",
7aacca6f 13699 "method" : "POST",
7aacca6f 13700 "name" : "vm_suspend",
56122987
DM
13701 "parameters" : {
13702 "additionalProperties" : 0,
13703 "properties" : {
44660702
DM
13704 "node" : {
13705 "description" : "The cluster node name.",
13706 "format" : "pve-node",
013dc89f
DM
13707 "type" : "string",
13708 "typetext" : "<string>"
44660702 13709 },
7aacca6f 13710 "vmid" : {
7aacca6f
DM
13711 "description" : "The (unique) ID of the VM.",
13712 "format" : "pve-vmid",
44660702 13713 "minimum" : 1,
4bd7df8b 13714 "type" : "integer",
013dc89f 13715 "typetext" : "<integer> (1 - N)"
56122987
DM
13716 }
13717 }
7aacca6f 13718 },
56122987
DM
13719 "permissions" : {
13720 "check" : [
13721 "perm",
13722 "/vms/{vmid}",
13723 [
13724 "VM.PowerMgmt"
13725 ]
13726 ]
13727 },
7aacca6f 13728 "protected" : 1,
44660702
DM
13729 "proxyto" : "node",
13730 "returns" : {
13731 "type" : "string"
13732 }
13733 }
13734 },
13735 "leaf" : 1,
13736 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
13737 "text" : "suspend"
13738 },
13739 {
13740 "info" : {
13741 "POST" : {
13742 "description" : "Resume the container.",
13743 "method" : "POST",
13744 "name" : "vm_resume",
56122987 13745 "parameters" : {
44660702 13746 "additionalProperties" : 0,
56122987
DM
13747 "properties" : {
13748 "node" : {
7aacca6f 13749 "description" : "The cluster node name.",
44660702 13750 "format" : "pve-node",
013dc89f
DM
13751 "type" : "string",
13752 "typetext" : "<string>"
56122987
DM
13753 },
13754 "vmid" : {
7aacca6f 13755 "description" : "The (unique) ID of the VM.",
56122987 13756 "format" : "pve-vmid",
44660702 13757 "minimum" : 1,
4bd7df8b 13758 "type" : "integer",
013dc89f 13759 "typetext" : "<integer> (1 - N)"
56122987 13760 }
44660702
DM
13761 }
13762 },
13763 "permissions" : {
13764 "check" : [
13765 "perm",
13766 "/vms/{vmid}",
13767 [
13768 "VM.PowerMgmt"
13769 ]
13770 ]
56122987 13771 },
44660702
DM
13772 "protected" : 1,
13773 "proxyto" : "node",
13774 "returns" : {
13775 "type" : "string"
13776 }
7aacca6f
DM
13777 }
13778 },
44660702
DM
13779 "leaf" : 1,
13780 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
13781 "text" : "resume"
13782 }
13783 ],
13784 "info" : {
13785 "GET" : {
7aacca6f 13786 "description" : "Directory index",
44660702 13787 "method" : "GET",
7aacca6f 13788 "name" : "vmcmdidx",
7aacca6f
DM
13789 "parameters" : {
13790 "additionalProperties" : 0,
13791 "properties" : {
13792 "node" : {
13793 "description" : "The cluster node name.",
44660702 13794 "format" : "pve-node",
013dc89f
DM
13795 "type" : "string",
13796 "typetext" : "<string>"
56122987 13797 },
7aacca6f 13798 "vmid" : {
44660702 13799 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13800 "format" : "pve-vmid",
13801 "minimum" : 1,
4bd7df8b 13802 "type" : "integer",
013dc89f 13803 "typetext" : "<integer> (1 - N)"
7aacca6f 13804 }
56122987
DM
13805 }
13806 },
44660702
DM
13807 "permissions" : {
13808 "user" : "all"
13809 },
13810 "proxyto" : "node",
7aacca6f 13811 "returns" : {
7aacca6f
DM
13812 "items" : {
13813 "properties" : {
13814 "subdir" : {
13815 "type" : "string"
13816 }
13817 },
13818 "type" : "object"
13819 },
13820 "links" : [
13821 {
44660702
DM
13822 "href" : "{subdir}",
13823 "rel" : "child"
7aacca6f 13824 }
44660702
DM
13825 ],
13826 "type" : "array"
7aacca6f
DM
13827 }
13828 }
44660702
DM
13829 },
13830 "leaf" : 0,
13831 "path" : "/nodes/{node}/lxc/{vmid}/status",
13832 "text" : "status"
7aacca6f
DM
13833 },
13834 {
7aacca6f 13835 "children" : [
56122987 13836 {
7aacca6f
DM
13837 "children" : [
13838 {
13839 "info" : {
13840 "POST" : {
7aacca6f 13841 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 13842 "method" : "POST",
44660702 13843 "name" : "rollback",
7aacca6f 13844 "parameters" : {
44660702 13845 "additionalProperties" : 0,
7aacca6f 13846 "properties" : {
44660702
DM
13847 "node" : {
13848 "description" : "The cluster node name.",
13849 "format" : "pve-node",
013dc89f
DM
13850 "type" : "string",
13851 "typetext" : "<string>"
44660702 13852 },
7aacca6f 13853 "snapname" : {
44660702 13854 "description" : "The name of the snapshot.",
7aacca6f
DM
13855 "format" : "pve-configid",
13856 "maxLength" : 40,
013dc89f
DM
13857 "type" : "string",
13858 "typetext" : "<string>"
7aacca6f 13859 },
7aacca6f 13860 "vmid" : {
44660702 13861 "description" : "The (unique) ID of the VM.",
7aacca6f 13862 "format" : "pve-vmid",
44660702 13863 "minimum" : 1,
4bd7df8b 13864 "type" : "integer",
013dc89f 13865 "typetext" : "<integer> (1 - N)"
7aacca6f 13866 }
44660702
DM
13867 }
13868 },
13869 "permissions" : {
13870 "check" : [
13871 "perm",
13872 "/vms/{vmid}",
13873 [
13874 "VM.Snapshot"
13875 ]
13876 ]
7aacca6f 13877 },
44660702
DM
13878 "protected" : 1,
13879 "proxyto" : "node",
13880 "returns" : {
13881 "description" : "the task ID.",
13882 "type" : "string"
13883 }
7aacca6f
DM
13884 }
13885 },
7aacca6f 13886 "leaf" : 1,
44660702
DM
13887 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
13888 "text" : "rollback"
7aacca6f
DM
13889 },
13890 {
7aacca6f
DM
13891 "info" : {
13892 "GET" : {
7aacca6f 13893 "description" : "Get snapshot configuration",
44660702
DM
13894 "method" : "GET",
13895 "name" : "get_snapshot_config",
7aacca6f
DM
13896 "parameters" : {
13897 "additionalProperties" : 0,
13898 "properties" : {
7aacca6f 13899 "node" : {
7aacca6f 13900 "description" : "The cluster node name.",
44660702 13901 "format" : "pve-node",
013dc89f
DM
13902 "type" : "string",
13903 "typetext" : "<string>"
7aacca6f
DM
13904 },
13905 "snapname" : {
44660702 13906 "description" : "The name of the snapshot.",
7aacca6f
DM
13907 "format" : "pve-configid",
13908 "maxLength" : 40,
013dc89f
DM
13909 "type" : "string",
13910 "typetext" : "<string>"
44660702
DM
13911 },
13912 "vmid" : {
13913 "description" : "The (unique) ID of the VM.",
13914 "format" : "pve-vmid",
13915 "minimum" : 1,
4bd7df8b 13916 "type" : "integer",
013dc89f 13917 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
13918 }
13919 }
13920 },
13921 "permissions" : {
13922 "check" : [
13923 "perm",
13924 "/vms/{vmid}",
13925 [
13926 "VM.Snapshot"
13927 ]
13928 ]
13929 },
44660702
DM
13930 "proxyto" : "node",
13931 "returns" : {
13932 "type" : "object"
13933 }
7aacca6f
DM
13934 },
13935 "PUT" : {
44660702
DM
13936 "description" : "Update snapshot metadata.",
13937 "method" : "PUT",
7aacca6f
DM
13938 "name" : "update_snapshot_config",
13939 "parameters" : {
13940 "additionalProperties" : 0,
13941 "properties" : {
44660702
DM
13942 "description" : {
13943 "description" : "A textual description or comment.",
13944 "optional" : 1,
013dc89f
DM
13945 "type" : "string",
13946 "typetext" : "<string>"
44660702 13947 },
7aacca6f 13948 "node" : {
7aacca6f 13949 "description" : "The cluster node name.",
44660702 13950 "format" : "pve-node",
013dc89f
DM
13951 "type" : "string",
13952 "typetext" : "<string>"
7aacca6f
DM
13953 },
13954 "snapname" : {
13955 "description" : "The name of the snapshot.",
7aacca6f 13956 "format" : "pve-configid",
44660702 13957 "maxLength" : 40,
013dc89f
DM
13958 "type" : "string",
13959 "typetext" : "<string>"
7aacca6f
DM
13960 },
13961 "vmid" : {
44660702 13962 "description" : "The (unique) ID of the VM.",
7aacca6f 13963 "format" : "pve-vmid",
44660702 13964 "minimum" : 1,
4bd7df8b 13965 "type" : "integer",
013dc89f 13966 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
13967 }
13968 }
13969 },
7aacca6f
DM
13970 "permissions" : {
13971 "check" : [
13972 "perm",
13973 "/vms/{vmid}",
13974 [
13975 "VM.Snapshot"
13976 ]
13977 ]
13978 },
44660702
DM
13979 "protected" : 1,
13980 "proxyto" : "node",
7aacca6f
DM
13981 "returns" : {
13982 "type" : "null"
13983 }
13984 }
13985 },
44660702 13986 "leaf" : 1,
7aacca6f 13987 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 13988 "text" : "config"
7aacca6f
DM
13989 }
13990 ],
56122987 13991 "info" : {
44660702
DM
13992 "DELETE" : {
13993 "description" : "Delete a LXC snapshot.",
13994 "method" : "DELETE",
13995 "name" : "delsnapshot",
56122987 13996 "parameters" : {
44660702 13997 "additionalProperties" : 0,
56122987 13998 "properties" : {
44660702
DM
13999 "force" : {
14000 "description" : "For removal from config file, even if removing disk snapshots fails.",
14001 "optional" : 1,
013dc89f
DM
14002 "type" : "boolean",
14003 "typetext" : "<boolean>"
44660702
DM
14004 },
14005 "node" : {
14006 "description" : "The cluster node name.",
14007 "format" : "pve-node",
013dc89f
DM
14008 "type" : "string",
14009 "typetext" : "<string>"
7aacca6f
DM
14010 },
14011 "snapname" : {
7aacca6f
DM
14012 "description" : "The name of the snapshot.",
14013 "format" : "pve-configid",
44660702 14014 "maxLength" : 40,
013dc89f
DM
14015 "type" : "string",
14016 "typetext" : "<string>"
44660702
DM
14017 },
14018 "vmid" : {
14019 "description" : "The (unique) ID of the VM.",
14020 "format" : "pve-vmid",
14021 "minimum" : 1,
4bd7df8b 14022 "type" : "integer",
013dc89f 14023 "typetext" : "<integer> (1 - N)"
56122987 14024 }
44660702 14025 }
7aacca6f 14026 },
56122987
DM
14027 "permissions" : {
14028 "check" : [
14029 "perm",
14030 "/vms/{vmid}",
14031 [
7aacca6f 14032 "VM.Snapshot"
56122987
DM
14033 ]
14034 ]
14035 },
44660702 14036 "protected" : 1,
7aacca6f 14037 "proxyto" : "node",
56122987 14038 "returns" : {
7aacca6f 14039 "description" : "the task ID.",
56122987 14040 "type" : "string"
44660702
DM
14041 }
14042 },
14043 "GET" : {
14044 "description" : "",
14045 "method" : "GET",
14046 "name" : "snapshot_cmd_idx",
7aacca6f
DM
14047 "parameters" : {
14048 "additionalProperties" : 0,
14049 "properties" : {
7aacca6f 14050 "node" : {
44660702 14051 "description" : "The cluster node name.",
7aacca6f 14052 "format" : "pve-node",
013dc89f
DM
14053 "type" : "string",
14054 "typetext" : "<string>"
7aacca6f
DM
14055 },
14056 "snapname" : {
44660702 14057 "description" : "The name of the snapshot.",
7aacca6f 14058 "format" : "pve-configid",
44660702 14059 "maxLength" : 40,
013dc89f
DM
14060 "type" : "string",
14061 "typetext" : "<string>"
44660702
DM
14062 },
14063 "vmid" : {
14064 "description" : "The (unique) ID of the VM.",
14065 "format" : "pve-vmid",
14066 "minimum" : 1,
4bd7df8b 14067 "type" : "integer",
013dc89f 14068 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14069 }
14070 }
14071 },
44660702
DM
14072 "permissions" : {
14073 "user" : "all"
14074 },
14075 "returns" : {
14076 "items" : {
14077 "properties" : {},
14078 "type" : "object"
14079 },
14080 "links" : [
14081 {
14082 "href" : "{cmd}",
14083 "rel" : "child"
14084 }
14085 ],
14086 "type" : "array"
14087 }
14088 }
14089 },
14090 "leaf" : 0,
14091 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
14092 "text" : "{snapname}"
14093 }
14094 ],
14095 "info" : {
14096 "GET" : {
14097 "description" : "List all snapshots.",
14098 "method" : "GET",
14099 "name" : "list",
14100 "parameters" : {
14101 "additionalProperties" : 0,
14102 "properties" : {
14103 "node" : {
14104 "description" : "The cluster node name.",
14105 "format" : "pve-node",
013dc89f
DM
14106 "type" : "string",
14107 "typetext" : "<string>"
44660702
DM
14108 },
14109 "vmid" : {
14110 "description" : "The (unique) ID of the VM.",
14111 "format" : "pve-vmid",
14112 "minimum" : 1,
4bd7df8b 14113 "type" : "integer",
013dc89f 14114 "typetext" : "<integer> (1 - N)"
44660702 14115 }
56122987
DM
14116 }
14117 },
56122987 14118 "permissions" : {
7aacca6f
DM
14119 "check" : [
14120 "perm",
14121 "/vms/{vmid}",
14122 [
14123 "VM.Audit"
14124 ]
14125 ]
14126 },
44660702 14127 "protected" : 1,
56122987 14128 "proxyto" : "node",
7aacca6f 14129 "returns" : {
44660702
DM
14130 "items" : {
14131 "properties" : {},
14132 "type" : "object"
14133 },
7aacca6f
DM
14134 "links" : [
14135 {
14136 "href" : "{name}",
14137 "rel" : "child"
14138 }
14139 ],
7aacca6f 14140 "type" : "array"
44660702 14141 }
7aacca6f
DM
14142 },
14143 "POST" : {
44660702
DM
14144 "description" : "Snapshot a container.",
14145 "method" : "POST",
14146 "name" : "snapshot",
56122987
DM
14147 "parameters" : {
14148 "additionalProperties" : 0,
14149 "properties" : {
7aacca6f 14150 "description" : {
44660702 14151 "description" : "A textual description or comment.",
7aacca6f 14152 "optional" : 1,
013dc89f
DM
14153 "type" : "string",
14154 "typetext" : "<string>"
44660702
DM
14155 },
14156 "node" : {
14157 "description" : "The cluster node name.",
14158 "format" : "pve-node",
013dc89f
DM
14159 "type" : "string",
14160 "typetext" : "<string>"
56122987
DM
14161 },
14162 "snapname" : {
56122987 14163 "description" : "The name of the snapshot.",
44660702 14164 "format" : "pve-configid",
7aacca6f 14165 "maxLength" : 40,
013dc89f
DM
14166 "type" : "string",
14167 "typetext" : "<string>"
56122987 14168 },
44660702
DM
14169 "vmid" : {
14170 "description" : "The (unique) ID of the VM.",
14171 "format" : "pve-vmid",
14172 "minimum" : 1,
4bd7df8b 14173 "type" : "integer",
013dc89f 14174 "typetext" : "<integer> (1 - N)"
56122987 14175 }
7aacca6f 14176 }
56122987 14177 },
56122987
DM
14178 "permissions" : {
14179 "check" : [
14180 "perm",
14181 "/vms/{vmid}",
14182 [
7aacca6f 14183 "VM.Snapshot"
56122987
DM
14184 ]
14185 ]
7aacca6f 14186 },
44660702 14187 "protected" : 1,
7aacca6f
DM
14188 "proxyto" : "node",
14189 "returns" : {
14190 "description" : "the task ID.",
14191 "type" : "string"
56122987
DM
14192 }
14193 }
44660702
DM
14194 },
14195 "leaf" : 0,
14196 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
14197 "text" : "snapshot"
7aacca6f
DM
14198 },
14199 {
56122987
DM
14200 "children" : [
14201 {
56122987
DM
14202 "children" : [
14203 {
56122987 14204 "info" : {
44660702
DM
14205 "DELETE" : {
14206 "description" : "Delete rule.",
14207 "method" : "DELETE",
14208 "name" : "delete_rule",
56122987 14209 "parameters" : {
44660702 14210 "additionalProperties" : 0,
56122987 14211 "properties" : {
44660702
DM
14212 "digest" : {
14213 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14214 "maxLength" : 40,
7aacca6f 14215 "optional" : 1,
013dc89f
DM
14216 "type" : "string",
14217 "typetext" : "<string>"
7aacca6f
DM
14218 },
14219 "node" : {
44660702 14220 "description" : "The cluster node name.",
7aacca6f 14221 "format" : "pve-node",
013dc89f
DM
14222 "type" : "string",
14223 "typetext" : "<string>"
44660702
DM
14224 },
14225 "pos" : {
14226 "description" : "Update rule at position <pos>.",
14227 "minimum" : 0,
14228 "optional" : 1,
4bd7df8b 14229 "type" : "integer",
013dc89f 14230 "typetext" : "<integer> (0 - N)"
44660702
DM
14231 },
14232 "vmid" : {
14233 "description" : "The (unique) ID of the VM.",
14234 "format" : "pve-vmid",
14235 "minimum" : 1,
4bd7df8b 14236 "type" : "integer",
013dc89f 14237 "typetext" : "<integer> (1 - N)"
56122987 14238 }
44660702 14239 }
56122987 14240 },
56122987
DM
14241 "permissions" : {
14242 "check" : [
14243 "perm",
14244 "/vms/{vmid}",
14245 [
44660702 14246 "VM.Config.Network"
56122987
DM
14247 ]
14248 ]
14249 },
44660702 14250 "protected" : 1,
7aacca6f 14251 "proxyto" : null,
44660702
DM
14252 "returns" : {
14253 "type" : "null"
14254 }
7aacca6f 14255 },
44660702
DM
14256 "GET" : {
14257 "description" : "Get single rule data.",
14258 "method" : "GET",
14259 "name" : "get_rule",
56122987 14260 "parameters" : {
44660702 14261 "additionalProperties" : 0,
56122987 14262 "properties" : {
7aacca6f 14263 "node" : {
7aacca6f 14264 "description" : "The cluster node name.",
44660702 14265 "format" : "pve-node",
013dc89f
DM
14266 "type" : "string",
14267 "typetext" : "<string>"
56122987 14268 },
7aacca6f 14269 "pos" : {
7aacca6f 14270 "description" : "Update rule at position <pos>.",
44660702 14271 "minimum" : 0,
7aacca6f 14272 "optional" : 1,
4bd7df8b 14273 "type" : "integer",
013dc89f 14274 "typetext" : "<integer> (0 - N)"
56122987 14275 },
7aacca6f 14276 "vmid" : {
44660702 14277 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14278 "format" : "pve-vmid",
14279 "minimum" : 1,
4bd7df8b 14280 "type" : "integer",
013dc89f 14281 "typetext" : "<integer> (1 - N)"
56122987 14282 }
44660702 14283 }
56122987 14284 },
7aacca6f
DM
14285 "permissions" : {
14286 "check" : [
14287 "perm",
14288 "/vms/{vmid}",
14289 [
44660702 14290 "VM.Audit"
7aacca6f
DM
14291 ]
14292 ]
14293 },
7aacca6f
DM
14294 "proxyto" : null,
14295 "returns" : {
44660702
DM
14296 "properties" : {
14297 "pos" : {
14298 "type" : "integer"
14299 }
14300 },
14301 "type" : "object"
7aacca6f 14302 }
56122987 14303 },
44660702
DM
14304 "PUT" : {
14305 "description" : "Modify rule data.",
14306 "method" : "PUT",
14307 "name" : "update_rule",
56122987
DM
14308 "parameters" : {
14309 "additionalProperties" : 0,
14310 "properties" : {
44660702
DM
14311 "action" : {
14312 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
14313 "maxLength" : 20,
14314 "minLength" : 2,
14315 "optional" : 1,
14316 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14317 "type" : "string"
14318 },
14319 "comment" : {
e94f0d56 14320 "description" : "Descriptive comment.",
44660702 14321 "optional" : 1,
013dc89f
DM
14322 "type" : "string",
14323 "typetext" : "<string>"
44660702
DM
14324 },
14325 "delete" : {
14326 "description" : "A list of settings you want to delete.",
14327 "format" : "pve-configid-list",
14328 "optional" : 1,
013dc89f
DM
14329 "type" : "string",
14330 "typetext" : "<string>"
44660702
DM
14331 },
14332 "dest" : {
14333 "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.",
14334 "format" : "pve-fw-addr-spec",
14335 "optional" : 1,
013dc89f
DM
14336 "type" : "string",
14337 "typetext" : "<string>"
44660702
DM
14338 },
14339 "digest" : {
14340 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14341 "maxLength" : 40,
14342 "optional" : 1,
013dc89f
DM
14343 "type" : "string",
14344 "typetext" : "<string>"
44660702
DM
14345 },
14346 "dport" : {
14347 "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.",
14348 "format" : "pve-fw-dport-spec",
14349 "optional" : 1,
013dc89f
DM
14350 "type" : "string",
14351 "typetext" : "<string>"
44660702
DM
14352 },
14353 "enable" : {
e94f0d56 14354 "description" : "Flag to enable/disable a rule.",
44660702
DM
14355 "minimum" : 0,
14356 "optional" : 1,
4bd7df8b 14357 "type" : "integer",
013dc89f 14358 "typetext" : "<integer> (0 - N)"
44660702
DM
14359 },
14360 "iface" : {
14361 "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.",
14362 "format" : "pve-iface",
14363 "maxLength" : 20,
14364 "minLength" : 2,
14365 "optional" : 1,
013dc89f
DM
14366 "type" : "string",
14367 "typetext" : "<string>"
44660702
DM
14368 },
14369 "macro" : {
e94f0d56 14370 "description" : "Use predefined standard macro.",
44660702
DM
14371 "maxLength" : 128,
14372 "optional" : 1,
013dc89f
DM
14373 "type" : "string",
14374 "typetext" : "<string>"
44660702
DM
14375 },
14376 "moveto" : {
14377 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
14378 "minimum" : 0,
14379 "optional" : 1,
4bd7df8b 14380 "type" : "integer",
013dc89f 14381 "typetext" : "<integer> (0 - N)"
44660702 14382 },
7aacca6f
DM
14383 "node" : {
14384 "description" : "The cluster node name.",
44660702 14385 "format" : "pve-node",
013dc89f
DM
14386 "type" : "string",
14387 "typetext" : "<string>"
56122987
DM
14388 },
14389 "pos" : {
44660702 14390 "description" : "Update rule at position <pos>.",
56122987 14391 "minimum" : 0,
7aacca6f 14392 "optional" : 1,
4bd7df8b 14393 "type" : "integer",
013dc89f 14394 "typetext" : "<integer> (0 - N)"
56122987 14395 },
44660702
DM
14396 "proto" : {
14397 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14398 "format" : "pve-fw-protocol-spec",
14399 "optional" : 1,
013dc89f
DM
14400 "type" : "string",
14401 "typetext" : "<string>"
7aacca6f 14402 },
44660702
DM
14403 "source" : {
14404 "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.",
14405 "format" : "pve-fw-addr-spec",
14406 "optional" : 1,
013dc89f
DM
14407 "type" : "string",
14408 "typetext" : "<string>"
44660702
DM
14409 },
14410 "sport" : {
14411 "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.",
14412 "format" : "pve-fw-sport-spec",
14413 "optional" : 1,
013dc89f
DM
14414 "type" : "string",
14415 "typetext" : "<string>"
44660702
DM
14416 },
14417 "type" : {
e94f0d56 14418 "description" : "Rule type.",
44660702
DM
14419 "enum" : [
14420 "in",
14421 "out",
14422 "group"
14423 ],
7aacca6f 14424 "optional" : 1,
44660702
DM
14425 "type" : "string"
14426 },
14427 "vmid" : {
14428 "description" : "The (unique) ID of the VM.",
14429 "format" : "pve-vmid",
14430 "minimum" : 1,
4bd7df8b 14431 "type" : "integer",
013dc89f 14432 "typetext" : "<integer> (1 - N)"
56122987
DM
14433 }
14434 }
14435 },
56122987
DM
14436 "permissions" : {
14437 "check" : [
14438 "perm",
14439 "/vms/{vmid}",
14440 [
7aacca6f 14441 "VM.Config.Network"
56122987
DM
14442 ]
14443 ]
14444 },
44660702 14445 "protected" : 1,
56122987 14446 "proxyto" : null,
56122987 14447 "returns" : {
7aacca6f
DM
14448 "type" : "null"
14449 }
56122987 14450 }
44660702
DM
14451 },
14452 "leaf" : 1,
14453 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
14454 "text" : "{pos}"
56122987
DM
14455 }
14456 ],
14457 "info" : {
7aacca6f 14458 "GET" : {
44660702
DM
14459 "description" : "List rules.",
14460 "method" : "GET",
14461 "name" : "get_rules",
7aacca6f 14462 "parameters" : {
44660702 14463 "additionalProperties" : 0,
7aacca6f
DM
14464 "properties" : {
14465 "node" : {
7aacca6f 14466 "description" : "The cluster node name.",
44660702 14467 "format" : "pve-node",
013dc89f
DM
14468 "type" : "string",
14469 "typetext" : "<string>"
7aacca6f
DM
14470 },
14471 "vmid" : {
14472 "description" : "The (unique) ID of the VM.",
44660702 14473 "format" : "pve-vmid",
7aacca6f 14474 "minimum" : 1,
4bd7df8b 14475 "type" : "integer",
013dc89f 14476 "typetext" : "<integer> (1 - N)"
7aacca6f 14477 }
44660702 14478 }
56122987 14479 },
56122987
DM
14480 "permissions" : {
14481 "check" : [
14482 "perm",
14483 "/vms/{vmid}",
14484 [
7aacca6f 14485 "VM.Audit"
56122987
DM
14486 ]
14487 ]
14488 },
14489 "proxyto" : null,
7aacca6f 14490 "returns" : {
7aacca6f
DM
14491 "items" : {
14492 "properties" : {
14493 "pos" : {
14494 "type" : "integer"
14495 }
14496 },
14497 "type" : "object"
14498 },
14499 "links" : [
14500 {
44660702
DM
14501 "href" : "{pos}",
14502 "rel" : "child"
7aacca6f 14503 }
44660702
DM
14504 ],
14505 "type" : "array"
14506 }
7aacca6f
DM
14507 },
14508 "POST" : {
44660702
DM
14509 "description" : "Create new rule.",
14510 "method" : "POST",
7aacca6f 14511 "name" : "create_rule",
56122987 14512 "parameters" : {
44660702 14513 "additionalProperties" : 0,
56122987 14514 "properties" : {
7aacca6f 14515 "action" : {
44660702 14516 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 14517 "maxLength" : 20,
44660702 14518 "minLength" : 2,
7aacca6f
DM
14519 "optional" : 0,
14520 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
14521 "type" : "string"
14522 },
44660702 14523 "comment" : {
e94f0d56 14524 "description" : "Descriptive comment.",
7aacca6f 14525 "optional" : 1,
013dc89f
DM
14526 "type" : "string",
14527 "typetext" : "<string>"
56122987 14528 },
44660702
DM
14529 "dest" : {
14530 "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.",
14531 "format" : "pve-fw-addr-spec",
56122987 14532 "optional" : 1,
013dc89f
DM
14533 "type" : "string",
14534 "typetext" : "<string>"
56122987 14535 },
44660702
DM
14536 "digest" : {
14537 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14538 "maxLength" : 40,
56122987 14539 "optional" : 1,
013dc89f
DM
14540 "type" : "string",
14541 "typetext" : "<string>"
56122987 14542 },
44660702
DM
14543 "dport" : {
14544 "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.",
14545 "format" : "pve-fw-dport-spec",
56122987 14546 "optional" : 1,
013dc89f
DM
14547 "type" : "string",
14548 "typetext" : "<string>"
56122987 14549 },
44660702 14550 "enable" : {
e94f0d56 14551 "description" : "Flag to enable/disable a rule.",
44660702 14552 "minimum" : 0,
56122987 14553 "optional" : 1,
4bd7df8b 14554 "type" : "integer",
013dc89f 14555 "typetext" : "<integer> (0 - N)"
56122987 14556 },
44660702
DM
14557 "iface" : {
14558 "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.",
14559 "format" : "pve-iface",
14560 "maxLength" : 20,
14561 "minLength" : 2,
7aacca6f 14562 "optional" : 1,
013dc89f
DM
14563 "type" : "string",
14564 "typetext" : "<string>"
56122987 14565 },
44660702 14566 "macro" : {
e94f0d56 14567 "description" : "Use predefined standard macro.",
44660702 14568 "maxLength" : 128,
56122987 14569 "optional" : 1,
013dc89f
DM
14570 "type" : "string",
14571 "typetext" : "<string>"
56122987
DM
14572 },
14573 "node" : {
7aacca6f 14574 "description" : "The cluster node name.",
44660702 14575 "format" : "pve-node",
013dc89f
DM
14576 "type" : "string",
14577 "typetext" : "<string>"
7aacca6f 14578 },
44660702
DM
14579 "pos" : {
14580 "description" : "Update rule at position <pos>.",
14581 "minimum" : 0,
14582 "optional" : 1,
4bd7df8b 14583 "type" : "integer",
013dc89f 14584 "typetext" : "<integer> (0 - N)"
44660702
DM
14585 },
14586 "proto" : {
14587 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14588 "format" : "pve-fw-protocol-spec",
7aacca6f 14589 "optional" : 1,
013dc89f
DM
14590 "type" : "string",
14591 "typetext" : "<string>"
7aacca6f 14592 },
44660702
DM
14593 "source" : {
14594 "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.",
14595 "format" : "pve-fw-addr-spec",
14596 "optional" : 1,
013dc89f
DM
14597 "type" : "string",
14598 "typetext" : "<string>"
56122987 14599 },
44660702
DM
14600 "sport" : {
14601 "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.",
14602 "format" : "pve-fw-sport-spec",
14603 "optional" : 1,
013dc89f
DM
14604 "type" : "string",
14605 "typetext" : "<string>"
7aacca6f 14606 },
44660702 14607 "type" : {
e94f0d56 14608 "description" : "Rule type.",
44660702
DM
14609 "enum" : [
14610 "in",
14611 "out",
14612 "group"
14613 ],
14614 "optional" : 0,
14615 "type" : "string"
14616 },
14617 "vmid" : {
14618 "description" : "The (unique) ID of the VM.",
14619 "format" : "pve-vmid",
14620 "minimum" : 1,
4bd7df8b 14621 "type" : "integer",
013dc89f 14622 "typetext" : "<integer> (1 - N)"
44660702
DM
14623 }
14624 }
14625 },
14626 "permissions" : {
14627 "check" : [
14628 "perm",
14629 "/vms/{vmid}",
14630 [
14631 "VM.Config.Network"
14632 ]
14633 ]
14634 },
14635 "protected" : 1,
14636 "proxyto" : null,
14637 "returns" : {
14638 "type" : "null"
14639 }
14640 }
14641 },
14642 "leaf" : 0,
14643 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
14644 "text" : "rules"
14645 },
14646 {
14647 "children" : [
14648 {
14649 "info" : {
14650 "DELETE" : {
14651 "description" : "Remove IP or Network alias.",
14652 "method" : "DELETE",
14653 "name" : "remove_alias",
56122987 14654 "parameters" : {
44660702 14655 "additionalProperties" : 0,
56122987 14656 "properties" : {
44660702
DM
14657 "digest" : {
14658 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14659 "maxLength" : 40,
56122987 14660 "optional" : 1,
013dc89f
DM
14661 "type" : "string",
14662 "typetext" : "<string>"
56122987 14663 },
7aacca6f 14664 "name" : {
44660702 14665 "description" : "Alias name.",
7aacca6f 14666 "maxLength" : 64,
7aacca6f
DM
14667 "minLength" : 2,
14668 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14669 "type" : "string"
7aacca6f
DM
14670 },
14671 "node" : {
44660702 14672 "description" : "The cluster node name.",
56122987 14673 "format" : "pve-node",
013dc89f
DM
14674 "type" : "string",
14675 "typetext" : "<string>"
7aacca6f 14676 },
56122987 14677 "vmid" : {
44660702 14678 "description" : "The (unique) ID of the VM.",
56122987 14679 "format" : "pve-vmid",
44660702 14680 "minimum" : 1,
4bd7df8b 14681 "type" : "integer",
013dc89f 14682 "typetext" : "<integer> (1 - N)"
56122987 14683 }
44660702 14684 }
56122987 14685 },
56122987
DM
14686 "permissions" : {
14687 "check" : [
14688 "perm",
14689 "/vms/{vmid}",
14690 [
7aacca6f 14691 "VM.Config.Network"
56122987
DM
14692 ]
14693 ]
14694 },
44660702 14695 "protected" : 1,
56122987 14696 "returns" : {
7aacca6f 14697 "type" : "null"
44660702 14698 }
56122987 14699 },
44660702
DM
14700 "GET" : {
14701 "description" : "Read alias.",
14702 "method" : "GET",
14703 "name" : "read_alias",
14704 "parameters" : {
14705 "additionalProperties" : 0,
14706 "properties" : {
14707 "name" : {
14708 "description" : "Alias name.",
14709 "maxLength" : 64,
14710 "minLength" : 2,
14711 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14712 "type" : "string"
14713 },
14714 "node" : {
14715 "description" : "The cluster node name.",
14716 "format" : "pve-node",
013dc89f
DM
14717 "type" : "string",
14718 "typetext" : "<string>"
44660702
DM
14719 },
14720 "vmid" : {
14721 "description" : "The (unique) ID of the VM.",
14722 "format" : "pve-vmid",
14723 "minimum" : 1,
4bd7df8b 14724 "type" : "integer",
013dc89f 14725 "typetext" : "<integer> (1 - N)"
44660702
DM
14726 }
14727 }
56122987 14728 },
7aacca6f
DM
14729 "permissions" : {
14730 "check" : [
14731 "perm",
14732 "/vms/{vmid}",
14733 [
44660702 14734 "VM.Audit"
7aacca6f
DM
14735 ]
14736 ]
14737 },
44660702
DM
14738 "returns" : {
14739 "type" : "object"
14740 }
14741 },
14742 "PUT" : {
14743 "description" : "Update IP or Network alias.",
14744 "method" : "PUT",
14745 "name" : "update_alias",
56122987
DM
14746 "parameters" : {
14747 "additionalProperties" : 0,
14748 "properties" : {
44660702
DM
14749 "cidr" : {
14750 "description" : "Network/IP specification in CIDR format.",
14751 "format" : "IPorCIDR",
013dc89f
DM
14752 "type" : "string",
14753 "typetext" : "<string>"
44660702
DM
14754 },
14755 "comment" : {
14756 "optional" : 1,
013dc89f
DM
14757 "type" : "string",
14758 "typetext" : "<string>"
44660702
DM
14759 },
14760 "digest" : {
14761 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14762 "maxLength" : 40,
14763 "optional" : 1,
013dc89f
DM
14764 "type" : "string",
14765 "typetext" : "<string>"
44660702 14766 },
56122987 14767 "name" : {
7aacca6f 14768 "description" : "Alias name.",
44660702
DM
14769 "maxLength" : 64,
14770 "minLength" : 2,
7aacca6f 14771 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14772 "type" : "string"
56122987
DM
14773 },
14774 "node" : {
14775 "description" : "The cluster node name.",
44660702 14776 "format" : "pve-node",
013dc89f
DM
14777 "type" : "string",
14778 "typetext" : "<string>"
44660702
DM
14779 },
14780 "rename" : {
14781 "description" : "Rename an existing alias.",
14782 "maxLength" : 64,
14783 "minLength" : 2,
14784 "optional" : 1,
14785 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14786 "type" : "string"
56122987 14787 },
7aacca6f 14788 "vmid" : {
7aacca6f 14789 "description" : "The (unique) ID of the VM.",
44660702 14790 "format" : "pve-vmid",
7aacca6f 14791 "minimum" : 1,
4bd7df8b 14792 "type" : "integer",
013dc89f 14793 "typetext" : "<integer> (1 - N)"
56122987
DM
14794 }
14795 }
14796 },
44660702
DM
14797 "permissions" : {
14798 "check" : [
14799 "perm",
14800 "/vms/{vmid}",
14801 [
14802 "VM.Config.Network"
14803 ]
14804 ]
7aacca6f 14805 },
44660702
DM
14806 "protected" : 1,
14807 "returns" : {
14808 "type" : "null"
7aacca6f
DM
14809 }
14810 }
14811 },
44660702
DM
14812 "leaf" : 1,
14813 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
14814 "text" : "{name}"
14815 }
14816 ],
14817 "info" : {
14818 "GET" : {
14819 "description" : "List aliases",
14820 "method" : "GET",
14821 "name" : "get_aliases",
56122987
DM
14822 "parameters" : {
14823 "additionalProperties" : 0,
14824 "properties" : {
14825 "node" : {
44660702 14826 "description" : "The cluster node name.",
56122987 14827 "format" : "pve-node",
013dc89f
DM
14828 "type" : "string",
14829 "typetext" : "<string>"
56122987
DM
14830 },
14831 "vmid" : {
7aacca6f 14832 "description" : "The (unique) ID of the VM.",
44660702 14833 "format" : "pve-vmid",
7aacca6f 14834 "minimum" : 1,
4bd7df8b 14835 "type" : "integer",
013dc89f 14836 "typetext" : "<integer> (1 - N)"
56122987
DM
14837 }
14838 }
14839 },
44660702
DM
14840 "permissions" : {
14841 "check" : [
14842 "perm",
14843 "/vms/{vmid}",
14844 [
14845 "VM.Audit"
14846 ]
14847 ]
14848 },
56122987
DM
14849 "returns" : {
14850 "items" : {
56122987 14851 "properties" : {
44660702
DM
14852 "cidr" : {
14853 "type" : "string"
7aacca6f 14854 },
44660702
DM
14855 "comment" : {
14856 "optional" : 1,
56122987
DM
14857 "type" : "string"
14858 },
56122987 14859 "digest" : {
56122987 14860 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
14861 "maxLength" : 40,
14862 "optional" : 0,
14863 "type" : "string"
14864 },
14865 "name" : {
14866 "type" : "string"
56122987 14867 }
44660702
DM
14868 },
14869 "type" : "object"
14870 },
14871 "links" : [
14872 {
14873 "href" : "{name}",
14874 "rel" : "child"
56122987 14875 }
44660702
DM
14876 ],
14877 "type" : "array"
7aacca6f
DM
14878 }
14879 },
14880 "POST" : {
44660702 14881 "description" : "Create IP or Network Alias.",
7aacca6f 14882 "method" : "POST",
44660702 14883 "name" : "create_alias",
7aacca6f
DM
14884 "parameters" : {
14885 "additionalProperties" : 0,
14886 "properties" : {
44660702
DM
14887 "cidr" : {
14888 "description" : "Network/IP specification in CIDR format.",
14889 "format" : "IPorCIDR",
013dc89f
DM
14890 "type" : "string",
14891 "typetext" : "<string>"
7aacca6f
DM
14892 },
14893 "comment" : {
14894 "optional" : 1,
013dc89f
DM
14895 "type" : "string",
14896 "typetext" : "<string>"
7aacca6f 14897 },
44660702
DM
14898 "name" : {
14899 "description" : "Alias name.",
14900 "maxLength" : 64,
7aacca6f
DM
14901 "minLength" : 2,
14902 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14903 "type" : "string"
7aacca6f
DM
14904 },
14905 "node" : {
44660702 14906 "description" : "The cluster node name.",
7aacca6f 14907 "format" : "pve-node",
013dc89f
DM
14908 "type" : "string",
14909 "typetext" : "<string>"
7aacca6f 14910 },
44660702
DM
14911 "vmid" : {
14912 "description" : "The (unique) ID of the VM.",
14913 "format" : "pve-vmid",
14914 "minimum" : 1,
4bd7df8b 14915 "type" : "integer",
013dc89f 14916 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14917 }
14918 }
14919 },
44660702
DM
14920 "permissions" : {
14921 "check" : [
14922 "perm",
14923 "/vms/{vmid}",
14924 [
14925 "VM.Config.Network"
14926 ]
14927 ]
14928 },
14929 "protected" : 1,
14930 "returns" : {
14931 "type" : "null"
14932 }
56122987
DM
14933 }
14934 },
44660702
DM
14935 "leaf" : 0,
14936 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
14937 "text" : "aliases"
14938 },
14939 {
56122987
DM
14940 "children" : [
14941 {
56122987
DM
14942 "children" : [
14943 {
14944 "info" : {
14945 "DELETE" : {
44660702 14946 "description" : "Remove IP or Network from IPSet.",
7aacca6f 14947 "method" : "DELETE",
44660702 14948 "name" : "remove_ip",
56122987
DM
14949 "parameters" : {
14950 "additionalProperties" : 0,
14951 "properties" : {
44660702
DM
14952 "cidr" : {
14953 "description" : "Network/IP specification in CIDR format.",
14954 "format" : "IPorCIDRorAlias",
013dc89f
DM
14955 "type" : "string",
14956 "typetext" : "<string>"
56122987
DM
14957 },
14958 "digest" : {
44660702 14959 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 14960 "maxLength" : 40,
7aacca6f 14961 "optional" : 1,
013dc89f
DM
14962 "type" : "string",
14963 "typetext" : "<string>"
56122987 14964 },
56122987 14965 "name" : {
44660702 14966 "description" : "IP set name.",
56122987 14967 "maxLength" : 64,
7aacca6f 14968 "minLength" : 2,
56122987 14969 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 14970 "type" : "string"
7aacca6f
DM
14971 },
14972 "node" : {
7aacca6f 14973 "description" : "The cluster node name.",
44660702 14974 "format" : "pve-node",
013dc89f
DM
14975 "type" : "string",
14976 "typetext" : "<string>"
44660702
DM
14977 },
14978 "vmid" : {
14979 "description" : "The (unique) ID of the VM.",
14980 "format" : "pve-vmid",
14981 "minimum" : 1,
4bd7df8b 14982 "type" : "integer",
013dc89f 14983 "typetext" : "<integer> (1 - N)"
56122987
DM
14984 }
14985 }
14986 },
44660702
DM
14987 "permissions" : {
14988 "check" : [
14989 "perm",
14990 "/vms/{vmid}",
14991 [
14992 "VM.Config.Network"
14993 ]
14994 ]
14995 },
7aacca6f 14996 "protected" : 1,
56122987
DM
14997 "returns" : {
14998 "type" : "null"
44660702
DM
14999 }
15000 },
15001 "GET" : {
15002 "description" : "Read IP or Network settings from IPSet.",
15003 "method" : "GET",
15004 "name" : "read_ip",
56122987
DM
15005 "parameters" : {
15006 "additionalProperties" : 0,
15007 "properties" : {
7aacca6f 15008 "cidr" : {
7aacca6f 15009 "description" : "Network/IP specification in CIDR format.",
44660702 15010 "format" : "IPorCIDRorAlias",
013dc89f
DM
15011 "type" : "string",
15012 "typetext" : "<string>"
56122987 15013 },
7aacca6f 15014 "name" : {
44660702 15015 "description" : "IP set name.",
7aacca6f
DM
15016 "maxLength" : 64,
15017 "minLength" : 2,
7aacca6f
DM
15018 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15019 "type" : "string"
56122987 15020 },
44660702
DM
15021 "node" : {
15022 "description" : "The cluster node name.",
15023 "format" : "pve-node",
013dc89f
DM
15024 "type" : "string",
15025 "typetext" : "<string>"
44660702
DM
15026 },
15027 "vmid" : {
15028 "description" : "The (unique) ID of the VM.",
15029 "format" : "pve-vmid",
15030 "minimum" : 1,
4bd7df8b 15031 "type" : "integer",
013dc89f 15032 "typetext" : "<integer> (1 - N)"
56122987
DM
15033 }
15034 }
15035 },
56122987
DM
15036 "permissions" : {
15037 "check" : [
15038 "perm",
15039 "/vms/{vmid}",
15040 [
44660702 15041 "VM.Audit"
56122987
DM
15042 ]
15043 ]
7aacca6f 15044 },
44660702 15045 "protected" : 1,
7aacca6f
DM
15046 "returns" : {
15047 "type" : "object"
44660702
DM
15048 }
15049 },
15050 "PUT" : {
15051 "description" : "Update IP or Network settings",
15052 "method" : "PUT",
15053 "name" : "update_ip",
7aacca6f 15054 "parameters" : {
44660702 15055 "additionalProperties" : 0,
7aacca6f
DM
15056 "properties" : {
15057 "cidr" : {
44660702 15058 "description" : "Network/IP specification in CIDR format.",
7aacca6f 15059 "format" : "IPorCIDRorAlias",
013dc89f
DM
15060 "type" : "string",
15061 "typetext" : "<string>"
7aacca6f 15062 },
44660702
DM
15063 "comment" : {
15064 "optional" : 1,
013dc89f
DM
15065 "type" : "string",
15066 "typetext" : "<string>"
44660702
DM
15067 },
15068 "digest" : {
15069 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15070 "maxLength" : 40,
15071 "optional" : 1,
013dc89f
DM
15072 "type" : "string",
15073 "typetext" : "<string>"
44660702
DM
15074 },
15075 "name" : {
15076 "description" : "IP set name.",
15077 "maxLength" : 64,
15078 "minLength" : 2,
15079 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15080 "type" : "string"
7aacca6f
DM
15081 },
15082 "node" : {
7aacca6f 15083 "description" : "The cluster node name.",
44660702 15084 "format" : "pve-node",
013dc89f
DM
15085 "type" : "string",
15086 "typetext" : "<string>"
7aacca6f 15087 },
44660702
DM
15088 "nomatch" : {
15089 "optional" : 1,
013dc89f
DM
15090 "type" : "boolean",
15091 "typetext" : "<boolean>"
44660702
DM
15092 },
15093 "vmid" : {
15094 "description" : "The (unique) ID of the VM.",
15095 "format" : "pve-vmid",
15096 "minimum" : 1,
4bd7df8b 15097 "type" : "integer",
013dc89f 15098 "typetext" : "<integer> (1 - N)"
7aacca6f 15099 }
44660702
DM
15100 }
15101 },
15102 "permissions" : {
15103 "check" : [
15104 "perm",
15105 "/vms/{vmid}",
15106 [
15107 "VM.Config.Network"
15108 ]
15109 ]
7aacca6f
DM
15110 },
15111 "protected" : 1,
44660702
DM
15112 "returns" : {
15113 "type" : "null"
15114 }
56122987
DM
15115 }
15116 },
56122987 15117 "leaf" : 1,
44660702
DM
15118 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
15119 "text" : "{cidr}"
56122987
DM
15120 }
15121 ],
15122 "info" : {
44660702
DM
15123 "DELETE" : {
15124 "description" : "Delete IPSet",
15125 "method" : "DELETE",
15126 "name" : "delete_ipset",
15127 "parameters" : {
15128 "additionalProperties" : 0,
15129 "properties" : {
15130 "name" : {
15131 "description" : "IP set name.",
15132 "maxLength" : 64,
15133 "minLength" : 2,
15134 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15135 "type" : "string"
15136 },
15137 "node" : {
15138 "description" : "The cluster node name.",
15139 "format" : "pve-node",
013dc89f
DM
15140 "type" : "string",
15141 "typetext" : "<string>"
44660702
DM
15142 },
15143 "vmid" : {
15144 "description" : "The (unique) ID of the VM.",
15145 "format" : "pve-vmid",
15146 "minimum" : 1,
4bd7df8b 15147 "type" : "integer",
013dc89f 15148 "typetext" : "<integer> (1 - N)"
44660702
DM
15149 }
15150 }
15151 },
15152 "permissions" : {
15153 "check" : [
15154 "perm",
15155 "/vms/{vmid}",
15156 [
15157 "VM.Config.Network"
15158 ]
15159 ]
15160 },
15161 "protected" : 1,
15162 "returns" : {
15163 "type" : "null"
15164 }
15165 },
56122987 15166 "GET" : {
7aacca6f 15167 "description" : "List IPSet content",
44660702
DM
15168 "method" : "GET",
15169 "name" : "get_ipset",
7aacca6f
DM
15170 "parameters" : {
15171 "additionalProperties" : 0,
15172 "properties" : {
15173 "name" : {
15174 "description" : "IP set name.",
44660702 15175 "maxLength" : 64,
7aacca6f 15176 "minLength" : 2,
44660702
DM
15177 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15178 "type" : "string"
7aacca6f
DM
15179 },
15180 "node" : {
7aacca6f 15181 "description" : "The cluster node name.",
44660702 15182 "format" : "pve-node",
013dc89f
DM
15183 "type" : "string",
15184 "typetext" : "<string>"
7aacca6f
DM
15185 },
15186 "vmid" : {
15187 "description" : "The (unique) ID of the VM.",
44660702 15188 "format" : "pve-vmid",
7aacca6f 15189 "minimum" : 1,
4bd7df8b 15190 "type" : "integer",
013dc89f 15191 "typetext" : "<integer> (1 - N)"
56122987 15192 }
7aacca6f
DM
15193 }
15194 },
7aacca6f
DM
15195 "permissions" : {
15196 "check" : [
15197 "perm",
15198 "/vms/{vmid}",
15199 [
15200 "VM.Audit"
15201 ]
15202 ]
15203 },
15204 "returns" : {
56122987
DM
15205 "items" : {
15206 "properties" : {
15207 "cidr" : {
15208 "type" : "string"
15209 },
44660702
DM
15210 "comment" : {
15211 "optional" : 1,
15212 "type" : "string"
15213 },
56122987 15214 "digest" : {
56122987 15215 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 15216 "maxLength" : 40,
7aacca6f 15217 "optional" : 0,
56122987 15218 "type" : "string"
7aacca6f
DM
15219 },
15220 "nomatch" : {
44660702
DM
15221 "optional" : 1,
15222 "type" : "boolean"
56122987 15223 }
44660702
DM
15224 },
15225 "type" : "object"
56122987 15226 },
7aacca6f
DM
15227 "links" : [
15228 {
44660702
DM
15229 "href" : "{cidr}",
15230 "rel" : "child"
56122987 15231 }
44660702
DM
15232 ],
15233 "type" : "array"
15234 }
56122987 15235 },
7aacca6f
DM
15236 "POST" : {
15237 "description" : "Add IP or Network to IPSet.",
44660702 15238 "method" : "POST",
7aacca6f 15239 "name" : "create_ip",
56122987 15240 "parameters" : {
44660702 15241 "additionalProperties" : 0,
56122987 15242 "properties" : {
44660702
DM
15243 "cidr" : {
15244 "description" : "Network/IP specification in CIDR format.",
15245 "format" : "IPorCIDRorAlias",
013dc89f
DM
15246 "type" : "string",
15247 "typetext" : "<string>"
44660702
DM
15248 },
15249 "comment" : {
15250 "optional" : 1,
013dc89f
DM
15251 "type" : "string",
15252 "typetext" : "<string>"
56122987
DM
15253 },
15254 "name" : {
56122987 15255 "description" : "IP set name.",
44660702 15256 "maxLength" : 64,
7aacca6f 15257 "minLength" : 2,
44660702 15258 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 15259 "type" : "string"
56122987 15260 },
7aacca6f 15261 "node" : {
7aacca6f 15262 "description" : "The cluster node name.",
44660702 15263 "format" : "pve-node",
013dc89f
DM
15264 "type" : "string",
15265 "typetext" : "<string>"
56122987 15266 },
44660702
DM
15267 "nomatch" : {
15268 "optional" : 1,
013dc89f
DM
15269 "type" : "boolean",
15270 "typetext" : "<boolean>"
7aacca6f
DM
15271 },
15272 "vmid" : {
44660702 15273 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15274 "format" : "pve-vmid",
15275 "minimum" : 1,
4bd7df8b 15276 "type" : "integer",
013dc89f 15277 "typetext" : "<integer> (1 - N)"
56122987 15278 }
44660702
DM
15279 }
15280 },
15281 "permissions" : {
15282 "check" : [
15283 "perm",
15284 "/vms/{vmid}",
15285 [
15286 "VM.Config.Network"
15287 ]
15288 ]
15289 },
15290 "protected" : 1,
15291 "returns" : {
15292 "type" : "null"
15293 }
15294 }
15295 },
15296 "leaf" : 0,
15297 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
15298 "text" : "{name}"
15299 }
15300 ],
15301 "info" : {
15302 "GET" : {
15303 "description" : "List IPSets",
15304 "method" : "GET",
15305 "name" : "ipset_index",
15306 "parameters" : {
15307 "additionalProperties" : 0,
15308 "properties" : {
15309 "node" : {
15310 "description" : "The cluster node name.",
15311 "format" : "pve-node",
013dc89f
DM
15312 "type" : "string",
15313 "typetext" : "<string>"
44660702
DM
15314 },
15315 "vmid" : {
15316 "description" : "The (unique) ID of the VM.",
15317 "format" : "pve-vmid",
15318 "minimum" : 1,
4bd7df8b 15319 "type" : "integer",
013dc89f 15320 "typetext" : "<integer> (1 - N)"
44660702
DM
15321 }
15322 }
15323 },
15324 "permissions" : {
15325 "check" : [
15326 "perm",
15327 "/vms/{vmid}",
15328 [
15329 "VM.Audit"
15330 ]
15331 ]
15332 },
15333 "returns" : {
15334 "items" : {
15335 "properties" : {
15336 "comment" : {
15337 "optional" : 1,
15338 "type" : "string"
15339 },
15340 "digest" : {
15341 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15342 "maxLength" : 40,
15343 "optional" : 0,
15344 "type" : "string"
7aacca6f 15345 },
44660702
DM
15346 "name" : {
15347 "description" : "IP set name.",
15348 "maxLength" : 64,
15349 "minLength" : 2,
15350 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15351 "type" : "string"
15352 }
15353 },
15354 "type" : "object"
15355 },
15356 "links" : [
15357 {
15358 "href" : "{name}",
15359 "rel" : "child"
15360 }
15361 ],
15362 "type" : "array"
15363 }
15364 },
15365 "POST" : {
15366 "description" : "Create new IPSet",
15367 "method" : "POST",
15368 "name" : "create_ipset",
15369 "parameters" : {
15370 "additionalProperties" : 0,
15371 "properties" : {
15372 "comment" : {
15373 "optional" : 1,
013dc89f
DM
15374 "type" : "string",
15375 "typetext" : "<string>"
44660702
DM
15376 },
15377 "digest" : {
15378 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15379 "maxLength" : 40,
15380 "optional" : 1,
013dc89f
DM
15381 "type" : "string",
15382 "typetext" : "<string>"
56122987 15383 },
44660702
DM
15384 "name" : {
15385 "description" : "IP set name.",
15386 "maxLength" : 64,
15387 "minLength" : 2,
15388 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15389 "type" : "string"
15390 },
15391 "node" : {
15392 "description" : "The cluster node name.",
15393 "format" : "pve-node",
013dc89f
DM
15394 "type" : "string",
15395 "typetext" : "<string>"
7aacca6f 15396 },
44660702
DM
15397 "rename" : {
15398 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
15399 "maxLength" : 64,
15400 "minLength" : 2,
15401 "optional" : 1,
15402 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15403 "type" : "string"
15404 },
15405 "vmid" : {
15406 "description" : "The (unique) ID of the VM.",
15407 "format" : "pve-vmid",
15408 "minimum" : 1,
4bd7df8b 15409 "type" : "integer",
013dc89f 15410 "typetext" : "<integer> (1 - N)"
44660702 15411 }
56122987 15412 }
44660702
DM
15413 },
15414 "permissions" : {
15415 "check" : [
15416 "perm",
15417 "/vms/{vmid}",
15418 [
15419 "VM.Config.Network"
15420 ]
15421 ]
15422 },
15423 "protected" : 1,
15424 "returns" : {
15425 "type" : "null"
56122987
DM
15426 }
15427 }
44660702
DM
15428 },
15429 "leaf" : 0,
15430 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
15431 "text" : "ipset"
56122987
DM
15432 },
15433 {
56122987 15434 "info" : {
7aacca6f 15435 "GET" : {
44660702 15436 "description" : "Get VM firewall options.",
7aacca6f 15437 "method" : "GET",
44660702
DM
15438 "name" : "get_options",
15439 "parameters" : {
15440 "additionalProperties" : 0,
15441 "properties" : {
15442 "node" : {
15443 "description" : "The cluster node name.",
15444 "format" : "pve-node",
013dc89f
DM
15445 "type" : "string",
15446 "typetext" : "<string>"
44660702
DM
15447 },
15448 "vmid" : {
15449 "description" : "The (unique) ID of the VM.",
15450 "format" : "pve-vmid",
15451 "minimum" : 1,
4bd7df8b 15452 "type" : "integer",
013dc89f 15453 "typetext" : "<integer> (1 - N)"
44660702
DM
15454 }
15455 }
15456 },
15457 "permissions" : {
15458 "check" : [
15459 "perm",
15460 "/vms/{vmid}",
15461 [
15462 "VM.Audit"
15463 ]
15464 ]
15465 },
15466 "proxyto" : "node",
56122987 15467 "returns" : {
56122987 15468 "properties" : {
44660702
DM
15469 "dhcp" : {
15470 "description" : "Enable DHCP.",
15471 "optional" : 1,
15472 "type" : "boolean"
15473 },
15474 "enable" : {
15475 "description" : "Enable/disable firewall rules.",
15476 "optional" : 1,
15477 "type" : "boolean"
15478 },
15479 "ipfilter" : {
15480 "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 15481 "optional" : 1,
44660702
DM
15482 "type" : "boolean"
15483 },
15484 "log_level_in" : {
7aacca6f
DM
15485 "description" : "Log level for incoming traffic.",
15486 "enum" : [
15487 "emerg",
15488 "alert",
15489 "crit",
15490 "err",
15491 "warning",
15492 "notice",
15493 "info",
15494 "debug",
15495 "nolog"
44660702
DM
15496 ],
15497 "optional" : 1,
15498 "type" : "string"
56122987 15499 },
44660702
DM
15500 "log_level_out" : {
15501 "description" : "Log level for outgoing traffic.",
56122987 15502 "enum" : [
44660702
DM
15503 "emerg",
15504 "alert",
15505 "crit",
15506 "err",
15507 "warning",
15508 "notice",
15509 "info",
15510 "debug",
15511 "nolog"
7aacca6f 15512 ],
7aacca6f
DM
15513 "optional" : 1,
15514 "type" : "string"
56122987 15515 },
44660702
DM
15516 "macfilter" : {
15517 "description" : "Enable/disable MAC address filter.",
15518 "optional" : 1,
15519 "type" : "boolean"
7aacca6f 15520 },
44660702
DM
15521 "ndp" : {
15522 "description" : "Enable NDP.",
56122987 15523 "optional" : 1,
44660702 15524 "type" : "boolean"
56122987
DM
15525 },
15526 "policy_in" : {
7aacca6f 15527 "description" : "Input policy.",
56122987
DM
15528 "enum" : [
15529 "ACCEPT",
15530 "REJECT",
15531 "DROP"
15532 ],
7aacca6f 15533 "optional" : 1,
44660702 15534 "type" : "string"
56122987 15535 },
44660702
DM
15536 "policy_out" : {
15537 "description" : "Output policy.",
56122987 15538 "enum" : [
44660702
DM
15539 "ACCEPT",
15540 "REJECT",
15541 "DROP"
56122987 15542 ],
7aacca6f 15543 "optional" : 1,
56122987
DM
15544 "type" : "string"
15545 },
44660702
DM
15546 "radv" : {
15547 "description" : "Allow sending Router Advertisement.",
56122987 15548 "optional" : 1,
7aacca6f
DM
15549 "type" : "boolean"
15550 }
7aacca6f 15551 },
44660702
DM
15552 "type" : "object"
15553 }
7aacca6f
DM
15554 },
15555 "PUT" : {
44660702
DM
15556 "description" : "Set Firewall options.",
15557 "method" : "PUT",
7aacca6f
DM
15558 "name" : "set_options",
15559 "parameters" : {
44660702 15560 "additionalProperties" : 0,
7aacca6f 15561 "properties" : {
44660702
DM
15562 "delete" : {
15563 "description" : "A list of settings you want to delete.",
15564 "format" : "pve-configid-list",
15565 "optional" : 1,
013dc89f
DM
15566 "type" : "string",
15567 "typetext" : "<string>"
44660702
DM
15568 },
15569 "dhcp" : {
15570 "description" : "Enable DHCP.",
15571 "optional" : 1,
013dc89f
DM
15572 "type" : "boolean",
15573 "typetext" : "<boolean>"
44660702
DM
15574 },
15575 "digest" : {
15576 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15577 "maxLength" : 40,
15578 "optional" : 1,
013dc89f
DM
15579 "type" : "string",
15580 "typetext" : "<string>"
44660702 15581 },
7aacca6f
DM
15582 "enable" : {
15583 "description" : "Enable/disable firewall rules.",
56122987 15584 "optional" : 1,
013dc89f
DM
15585 "type" : "boolean",
15586 "typetext" : "<boolean>"
56122987 15587 },
44660702
DM
15588 "ipfilter" : {
15589 "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.",
15590 "optional" : 1,
013dc89f
DM
15591 "type" : "boolean",
15592 "typetext" : "<boolean>"
44660702
DM
15593 },
15594 "log_level_in" : {
15595 "description" : "Log level for incoming traffic.",
56122987
DM
15596 "enum" : [
15597 "emerg",
15598 "alert",
15599 "crit",
15600 "err",
15601 "warning",
15602 "notice",
15603 "info",
15604 "debug",
15605 "nolog"
15606 ],
56122987 15607 "optional" : 1,
44660702 15608 "type" : "string"
56122987 15609 },
44660702
DM
15610 "log_level_out" : {
15611 "description" : "Log level for outgoing traffic.",
56122987
DM
15612 "enum" : [
15613 "emerg",
15614 "alert",
15615 "crit",
15616 "err",
15617 "warning",
15618 "notice",
15619 "info",
15620 "debug",
15621 "nolog"
15622 ],
44660702
DM
15623 "optional" : 1,
15624 "type" : "string"
56122987 15625 },
44660702
DM
15626 "macfilter" : {
15627 "description" : "Enable/disable MAC address filter.",
15628 "optional" : 1,
013dc89f
DM
15629 "type" : "boolean",
15630 "typetext" : "<boolean>"
44660702
DM
15631 },
15632 "ndp" : {
15633 "description" : "Enable NDP.",
56122987 15634 "optional" : 1,
013dc89f
DM
15635 "type" : "boolean",
15636 "typetext" : "<boolean>"
56122987 15637 },
7aacca6f
DM
15638 "node" : {
15639 "description" : "The cluster node name.",
44660702 15640 "format" : "pve-node",
013dc89f
DM
15641 "type" : "string",
15642 "typetext" : "<string>"
7aacca6f 15643 },
44660702
DM
15644 "policy_in" : {
15645 "description" : "Input policy.",
15646 "enum" : [
15647 "ACCEPT",
15648 "REJECT",
15649 "DROP"
15650 ],
7aacca6f 15651 "optional" : 1,
44660702 15652 "type" : "string"
7aacca6f 15653 },
44660702
DM
15654 "policy_out" : {
15655 "description" : "Output policy.",
56122987 15656 "enum" : [
7aacca6f
DM
15657 "ACCEPT",
15658 "REJECT",
15659 "DROP"
56122987
DM
15660 ],
15661 "optional" : 1,
56122987 15662 "type" : "string"
7aacca6f 15663 },
44660702
DM
15664 "radv" : {
15665 "description" : "Allow sending Router Advertisement.",
7aacca6f 15666 "optional" : 1,
013dc89f
DM
15667 "type" : "boolean",
15668 "typetext" : "<boolean>"
44660702
DM
15669 },
15670 "vmid" : {
15671 "description" : "The (unique) ID of the VM.",
15672 "format" : "pve-vmid",
15673 "minimum" : 1,
4bd7df8b 15674 "type" : "integer",
013dc89f 15675 "typetext" : "<integer> (1 - N)"
56122987 15676 }
44660702 15677 }
56122987 15678 },
7aacca6f
DM
15679 "permissions" : {
15680 "check" : [
15681 "perm",
15682 "/vms/{vmid}",
15683 [
15684 "VM.Config.Network"
15685 ]
15686 ]
15687 },
44660702
DM
15688 "protected" : 1,
15689 "proxyto" : "node",
7aacca6f
DM
15690 "returns" : {
15691 "type" : "null"
56122987
DM
15692 }
15693 }
15694 },
44660702 15695 "leaf" : 1,
7aacca6f 15696 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 15697 "text" : "options"
56122987
DM
15698 },
15699 {
56122987
DM
15700 "info" : {
15701 "GET" : {
44660702 15702 "description" : "Read firewall log",
56122987 15703 "method" : "GET",
7aacca6f 15704 "name" : "log",
56122987
DM
15705 "parameters" : {
15706 "additionalProperties" : 0,
15707 "properties" : {
44660702
DM
15708 "limit" : {
15709 "minimum" : 0,
15710 "optional" : 1,
4bd7df8b 15711 "type" : "integer",
013dc89f 15712 "typetext" : "<integer> (0 - N)"
44660702 15713 },
56122987
DM
15714 "node" : {
15715 "description" : "The cluster node name.",
44660702 15716 "format" : "pve-node",
013dc89f
DM
15717 "type" : "string",
15718 "typetext" : "<string>"
56122987 15719 },
44660702
DM
15720 "start" : {
15721 "minimum" : 0,
7aacca6f 15722 "optional" : 1,
4bd7df8b 15723 "type" : "integer",
013dc89f 15724 "typetext" : "<integer> (0 - N)"
56122987
DM
15725 },
15726 "vmid" : {
44660702 15727 "description" : "The (unique) ID of the VM.",
7aacca6f 15728 "format" : "pve-vmid",
56122987 15729 "minimum" : 1,
4bd7df8b 15730 "type" : "integer",
013dc89f 15731 "typetext" : "<integer> (1 - N)"
56122987
DM
15732 }
15733 }
15734 },
44660702
DM
15735 "permissions" : {
15736 "check" : [
15737 "perm",
15738 "/vms/{vmid}",
15739 [
15740 "VM.Console"
15741 ]
15742 ]
15743 },
56122987 15744 "protected" : 1,
44660702 15745 "proxyto" : "node",
7aacca6f
DM
15746 "returns" : {
15747 "items" : {
15748 "properties" : {
7aacca6f
DM
15749 "n" : {
15750 "description" : "Line number",
15751 "type" : "integer"
44660702
DM
15752 },
15753 "t" : {
15754 "description" : "Line text",
15755 "type" : "string"
7aacca6f
DM
15756 }
15757 },
15758 "type" : "object"
15759 },
15760 "type" : "array"
44660702 15761 }
56122987
DM
15762 }
15763 },
7aacca6f 15764 "leaf" : 1,
44660702
DM
15765 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
15766 "text" : "log"
56122987
DM
15767 },
15768 {
56122987
DM
15769 "info" : {
15770 "GET" : {
7aacca6f 15771 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
15772 "method" : "GET",
15773 "name" : "refs",
56122987 15774 "parameters" : {
7aacca6f 15775 "additionalProperties" : 0,
56122987 15776 "properties" : {
44660702
DM
15777 "node" : {
15778 "description" : "The cluster node name.",
15779 "format" : "pve-node",
013dc89f
DM
15780 "type" : "string",
15781 "typetext" : "<string>"
7aacca6f 15782 },
56122987 15783 "type" : {
44660702 15784 "description" : "Only list references of specified type.",
56122987
DM
15785 "enum" : [
15786 "alias",
15787 "ipset"
15788 ],
44660702
DM
15789 "optional" : 1,
15790 "type" : "string"
56122987 15791 },
44660702
DM
15792 "vmid" : {
15793 "description" : "The (unique) ID of the VM.",
15794 "format" : "pve-vmid",
15795 "minimum" : 1,
4bd7df8b 15796 "type" : "integer",
013dc89f 15797 "typetext" : "<integer> (1 - N)"
56122987 15798 }
7aacca6f 15799 }
56122987 15800 },
44660702
DM
15801 "permissions" : {
15802 "check" : [
15803 "perm",
15804 "/vms/{vmid}",
15805 [
15806 "VM.Audit"
15807 ]
15808 ]
15809 },
56122987 15810 "returns" : {
56122987 15811 "items" : {
56122987 15812 "properties" : {
44660702
DM
15813 "comment" : {
15814 "optional" : 1,
15815 "type" : "string"
15816 },
15817 "name" : {
15818 "type" : "string"
15819 },
56122987 15820 "type" : {
56122987
DM
15821 "enum" : [
15822 "alias",
15823 "ipset"
44660702 15824 ],
7aacca6f 15825 "type" : "string"
56122987 15826 }
44660702
DM
15827 },
15828 "type" : "object"
15829 },
15830 "type" : "array"
56122987
DM
15831 }
15832 }
15833 },
44660702 15834 "leaf" : 1,
7aacca6f 15835 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 15836 "text" : "refs"
56122987
DM
15837 }
15838 ],
56122987
DM
15839 "info" : {
15840 "GET" : {
7aacca6f 15841 "description" : "Directory index.",
44660702
DM
15842 "method" : "GET",
15843 "name" : "index",
56122987 15844 "parameters" : {
44660702 15845 "additionalProperties" : 0,
56122987 15846 "properties" : {
56122987 15847 "node" : {
44660702 15848 "description" : "The cluster node name.",
56122987 15849 "format" : "pve-node",
013dc89f
DM
15850 "type" : "string",
15851 "typetext" : "<string>"
44660702
DM
15852 },
15853 "vmid" : {
15854 "description" : "The (unique) ID of the VM.",
15855 "format" : "pve-vmid",
15856 "minimum" : 1,
4bd7df8b 15857 "type" : "integer",
013dc89f 15858 "typetext" : "<integer> (1 - N)"
56122987 15859 }
44660702
DM
15860 }
15861 },
15862 "permissions" : {
15863 "user" : "all"
56122987
DM
15864 },
15865 "returns" : {
7aacca6f 15866 "items" : {
44660702
DM
15867 "properties" : {},
15868 "type" : "object"
7aacca6f 15869 },
56122987
DM
15870 "links" : [
15871 {
44660702
DM
15872 "href" : "{name}",
15873 "rel" : "child"
56122987 15874 }
44660702
DM
15875 ],
15876 "type" : "array"
56122987
DM
15877 }
15878 }
15879 },
44660702 15880 "leaf" : 0,
7aacca6f 15881 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 15882 "text" : "firewall"
56122987
DM
15883 },
15884 {
56122987
DM
15885 "info" : {
15886 "GET" : {
56122987 15887 "description" : "Read VM RRD statistics (returns PNG)",
44660702 15888 "method" : "GET",
7aacca6f 15889 "name" : "rrd",
56122987 15890 "parameters" : {
7aacca6f 15891 "additionalProperties" : 0,
56122987 15892 "properties" : {
44660702
DM
15893 "cf" : {
15894 "description" : "The RRD consolidation function",
15895 "enum" : [
15896 "AVERAGE",
15897 "MAX"
15898 ],
15899 "optional" : 1,
15900 "type" : "string"
15901 },
15902 "ds" : {
15903 "description" : "The list of datasources you want to display.",
15904 "format" : "pve-configid-list",
013dc89f
DM
15905 "type" : "string",
15906 "typetext" : "<string>"
44660702 15907 },
7aacca6f
DM
15908 "node" : {
15909 "description" : "The cluster node name.",
44660702 15910 "format" : "pve-node",
013dc89f
DM
15911 "type" : "string",
15912 "typetext" : "<string>"
56122987
DM
15913 },
15914 "timeframe" : {
15915 "description" : "Specify the time frame you are interested in.",
15916 "enum" : [
15917 "hour",
15918 "day",
15919 "week",
15920 "month",
15921 "year"
7aacca6f 15922 ],
44660702 15923 "type" : "string"
7aacca6f
DM
15924 },
15925 "vmid" : {
44660702 15926 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15927 "format" : "pve-vmid",
15928 "minimum" : 1,
4bd7df8b 15929 "type" : "integer",
013dc89f 15930 "typetext" : "<integer> (1 - N)"
56122987 15931 }
7aacca6f
DM
15932 }
15933 },
15934 "permissions" : {
15935 "check" : [
15936 "perm",
15937 "/vms/{vmid}",
15938 [
15939 "VM.Audit"
15940 ]
15941 ]
56122987 15942 },
44660702 15943 "protected" : 1,
7aacca6f
DM
15944 "returns" : {
15945 "properties" : {
15946 "filename" : {
15947 "type" : "string"
15948 }
15949 },
15950 "type" : "object"
15951 }
56122987 15952 }
7aacca6f 15953 },
44660702 15954 "leaf" : 1,
7aacca6f 15955 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 15956 "text" : "rrd"
56122987
DM
15957 },
15958 {
56122987
DM
15959 "info" : {
15960 "GET" : {
44660702
DM
15961 "description" : "Read VM RRD statistics",
15962 "method" : "GET",
15963 "name" : "rrddata",
56122987 15964 "parameters" : {
7aacca6f 15965 "additionalProperties" : 0,
56122987 15966 "properties" : {
44660702
DM
15967 "cf" : {
15968 "description" : "The RRD consolidation function",
15969 "enum" : [
15970 "AVERAGE",
15971 "MAX"
15972 ],
15973 "optional" : 1,
15974 "type" : "string"
15975 },
7aacca6f 15976 "node" : {
44660702 15977 "description" : "The cluster node name.",
7aacca6f 15978 "format" : "pve-node",
013dc89f
DM
15979 "type" : "string",
15980 "typetext" : "<string>"
7aacca6f 15981 },
56122987
DM
15982 "timeframe" : {
15983 "description" : "Specify the time frame you are interested in.",
15984 "enum" : [
15985 "hour",
15986 "day",
15987 "week",
15988 "month",
15989 "year"
44660702
DM
15990 ],
15991 "type" : "string"
7aacca6f
DM
15992 },
15993 "vmid" : {
15994 "description" : "The (unique) ID of the VM.",
44660702 15995 "format" : "pve-vmid",
7aacca6f 15996 "minimum" : 1,
4bd7df8b 15997 "type" : "integer",
013dc89f 15998 "typetext" : "<integer> (1 - N)"
56122987 15999 }
56122987
DM
16000 }
16001 },
56122987
DM
16002 "permissions" : {
16003 "check" : [
16004 "perm",
16005 "/vms/{vmid}",
16006 [
16007 "VM.Audit"
16008 ]
16009 ]
16010 },
7aacca6f
DM
16011 "protected" : 1,
16012 "returns" : {
7aacca6f
DM
16013 "items" : {
16014 "properties" : {},
16015 "type" : "object"
44660702
DM
16016 },
16017 "type" : "array"
16018 }
56122987
DM
16019 }
16020 },
44660702 16021 "leaf" : 1,
7aacca6f 16022 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 16023 "text" : "rrddata"
56122987
DM
16024 },
16025 {
16026 "info" : {
16027 "POST" : {
16028 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
16029 "method" : "POST",
16030 "name" : "vncproxy",
7aacca6f 16031 "parameters" : {
44660702 16032 "additionalProperties" : 0,
7aacca6f 16033 "properties" : {
44660702
DM
16034 "node" : {
16035 "description" : "The cluster node name.",
16036 "format" : "pve-node",
013dc89f
DM
16037 "type" : "string",
16038 "typetext" : "<string>"
44660702 16039 },
7aacca6f 16040 "vmid" : {
44660702 16041 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16042 "format" : "pve-vmid",
16043 "minimum" : 1,
4bd7df8b 16044 "type" : "integer",
013dc89f 16045 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16046 },
16047 "websocket" : {
44660702 16048 "description" : "use websocket instead of standard VNC.",
7aacca6f 16049 "optional" : 1,
013dc89f
DM
16050 "type" : "boolean",
16051 "typetext" : "<boolean>"
7aacca6f 16052 }
44660702 16053 }
7aacca6f 16054 },
56122987
DM
16055 "permissions" : {
16056 "check" : [
16057 "perm",
16058 "/vms/{vmid}",
16059 [
16060 "VM.Console"
16061 ]
16062 ]
16063 },
44660702 16064 "protected" : 1,
56122987 16065 "returns" : {
7aacca6f 16066 "additionalProperties" : 0,
56122987 16067 "properties" : {
7aacca6f 16068 "cert" : {
56122987
DM
16069 "type" : "string"
16070 },
44660702
DM
16071 "port" : {
16072 "type" : "integer"
56122987 16073 },
44660702 16074 "ticket" : {
56122987
DM
16075 "type" : "string"
16076 },
44660702 16077 "upid" : {
56122987
DM
16078 "type" : "string"
16079 },
44660702
DM
16080 "user" : {
16081 "type" : "string"
56122987 16082 }
7aacca6f 16083 }
56122987
DM
16084 }
16085 }
16086 },
44660702 16087 "leaf" : 1,
56122987 16088 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 16089 "text" : "vncproxy"
56122987
DM
16090 },
16091 {
56122987
DM
16092 "info" : {
16093 "GET" : {
44660702
DM
16094 "description" : "Opens a weksocket for VNC traffic.",
16095 "method" : "GET",
16096 "name" : "vncwebsocket",
56122987 16097 "parameters" : {
44660702 16098 "additionalProperties" : 0,
56122987 16099 "properties" : {
56122987
DM
16100 "node" : {
16101 "description" : "The cluster node name.",
44660702 16102 "format" : "pve-node",
013dc89f
DM
16103 "type" : "string",
16104 "typetext" : "<string>"
7aacca6f 16105 },
44660702
DM
16106 "port" : {
16107 "description" : "Port number returned by previous vncproxy call.",
16108 "maximum" : 5999,
16109 "minimum" : 5900,
4bd7df8b 16110 "type" : "integer",
013dc89f 16111 "typetext" : "<integer> (5900 - 5999)"
44660702 16112 },
7aacca6f
DM
16113 "vmid" : {
16114 "description" : "The (unique) ID of the VM.",
7aacca6f 16115 "format" : "pve-vmid",
44660702 16116 "minimum" : 1,
4bd7df8b 16117 "type" : "integer",
013dc89f 16118 "typetext" : "<integer> (1 - N)"
44660702
DM
16119 },
16120 "vncticket" : {
16121 "description" : "Ticket from previous call to vncproxy.",
16122 "maxLength" : 512,
013dc89f
DM
16123 "type" : "string",
16124 "typetext" : "<string>"
56122987 16125 }
44660702 16126 }
7aacca6f 16127 },
7aacca6f
DM
16128 "permissions" : {
16129 "check" : [
16130 "perm",
16131 "/vms/{vmid}",
16132 [
16133 "VM.Console"
16134 ]
16135 ],
16136 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
16137 },
16138 "returns" : {
56122987
DM
16139 "properties" : {
16140 "port" : {
16141 "type" : "string"
16142 }
44660702
DM
16143 },
16144 "type" : "object"
16145 }
56122987
DM
16146 }
16147 },
44660702 16148 "leaf" : 1,
7aacca6f 16149 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 16150 "text" : "vncwebsocket"
56122987
DM
16151 },
16152 {
56122987
DM
16153 "info" : {
16154 "POST" : {
44660702
DM
16155 "description" : "Returns a SPICE configuration to connect to the CT.",
16156 "method" : "POST",
16157 "name" : "spiceproxy",
56122987
DM
16158 "parameters" : {
16159 "additionalProperties" : 0,
16160 "properties" : {
44660702
DM
16161 "node" : {
16162 "description" : "The cluster node name.",
16163 "format" : "pve-node",
013dc89f
DM
16164 "type" : "string",
16165 "typetext" : "<string>"
56122987
DM
16166 },
16167 "proxy" : {
7aacca6f 16168 "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
16169 "format" : "address",
16170 "optional" : 1,
013dc89f
DM
16171 "type" : "string",
16172 "typetext" : "<string>"
44660702
DM
16173 },
16174 "vmid" : {
16175 "description" : "The (unique) ID of the VM.",
16176 "format" : "pve-vmid",
16177 "minimum" : 1,
4bd7df8b 16178 "type" : "integer",
013dc89f 16179 "typetext" : "<integer> (1 - N)"
56122987
DM
16180 }
16181 }
16182 },
56122987
DM
16183 "permissions" : {
16184 "check" : [
16185 "perm",
16186 "/vms/{vmid}",
16187 [
16188 "VM.Console"
16189 ]
16190 ]
16191 },
44660702
DM
16192 "protected" : 1,
16193 "proxyto" : "node",
56122987 16194 "returns" : {
7aacca6f 16195 "additionalProperties" : 1,
44660702 16196 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 16197 "properties" : {
44660702 16198 "host" : {
56122987
DM
16199 "type" : "string"
16200 },
44660702 16201 "password" : {
56122987
DM
16202 "type" : "string"
16203 },
16204 "proxy" : {
16205 "type" : "string"
16206 },
56122987
DM
16207 "tls-port" : {
16208 "type" : "integer"
7aacca6f 16209 },
44660702 16210 "type" : {
7aacca6f 16211 "type" : "string"
56122987 16212 }
7aacca6f
DM
16213 }
16214 }
56122987 16215 }
44660702
DM
16216 },
16217 "leaf" : 1,
16218 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
16219 "text" : "spiceproxy"
56122987
DM
16220 },
16221 {
56122987
DM
16222 "info" : {
16223 "POST" : {
44660702 16224 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 16225 "method" : "POST",
44660702 16226 "name" : "migrate_vm",
56122987 16227 "parameters" : {
44660702 16228 "additionalProperties" : 0,
56122987 16229 "properties" : {
44660702 16230 "force" : {
de0983cb 16231 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 16232 "optional" : 1,
013dc89f
DM
16233 "type" : "boolean",
16234 "typetext" : "<boolean>"
44660702
DM
16235 },
16236 "node" : {
16237 "description" : "The cluster node name.",
7aacca6f 16238 "format" : "pve-node",
013dc89f
DM
16239 "type" : "string",
16240 "typetext" : "<string>"
7aacca6f 16241 },
56122987 16242 "online" : {
56122987 16243 "description" : "Use online/live migration.",
44660702 16244 "optional" : 1,
013dc89f
DM
16245 "type" : "boolean",
16246 "typetext" : "<boolean>"
56122987 16247 },
44660702
DM
16248 "target" : {
16249 "description" : "Target node.",
56122987 16250 "format" : "pve-node",
013dc89f
DM
16251 "type" : "string",
16252 "typetext" : "<string>"
56122987 16253 },
44660702
DM
16254 "vmid" : {
16255 "description" : "The (unique) ID of the VM.",
16256 "format" : "pve-vmid",
16257 "minimum" : 1,
4bd7df8b 16258 "type" : "integer",
013dc89f 16259 "typetext" : "<integer> (1 - N)"
56122987 16260 }
44660702 16261 }
7aacca6f 16262 },
56122987
DM
16263 "permissions" : {
16264 "check" : [
16265 "perm",
16266 "/vms/{vmid}",
16267 [
16268 "VM.Migrate"
16269 ]
16270 ]
16271 },
44660702 16272 "protected" : 1,
7aacca6f 16273 "proxyto" : "node",
44660702
DM
16274 "returns" : {
16275 "description" : "the task ID.",
16276 "type" : "string"
16277 }
56122987
DM
16278 }
16279 },
44660702
DM
16280 "leaf" : 1,
16281 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 16282 "text" : "migrate"
56122987
DM
16283 },
16284 {
56122987
DM
16285 "info" : {
16286 "GET" : {
44660702
DM
16287 "description" : "Check if feature for virtual machine is available.",
16288 "method" : "GET",
56122987 16289 "name" : "vm_feature",
56122987 16290 "parameters" : {
7aacca6f 16291 "additionalProperties" : 0,
56122987 16292 "properties" : {
44660702
DM
16293 "feature" : {
16294 "description" : "Feature to check.",
16295 "enum" : [
16296 "snapshot"
16297 ],
16298 "type" : "string"
16299 },
7aacca6f 16300 "node" : {
44660702 16301 "description" : "The cluster node name.",
7aacca6f 16302 "format" : "pve-node",
013dc89f
DM
16303 "type" : "string",
16304 "typetext" : "<string>"
7aacca6f 16305 },
56122987 16306 "snapname" : {
7aacca6f
DM
16307 "description" : "The name of the snapshot.",
16308 "format" : "pve-configid",
44660702
DM
16309 "maxLength" : 40,
16310 "optional" : 1,
013dc89f
DM
16311 "type" : "string",
16312 "typetext" : "<string>"
56122987
DM
16313 },
16314 "vmid" : {
7aacca6f 16315 "description" : "The (unique) ID of the VM.",
44660702 16316 "format" : "pve-vmid",
7aacca6f 16317 "minimum" : 1,
4bd7df8b 16318 "type" : "integer",
013dc89f 16319 "typetext" : "<integer> (1 - N)"
56122987 16320 }
7aacca6f 16321 }
56122987
DM
16322 },
16323 "permissions" : {
16324 "check" : [
16325 "perm",
16326 "/vms/{vmid}",
16327 [
16328 "VM.Audit"
16329 ]
16330 ]
16331 },
44660702 16332 "protected" : 1,
7aacca6f 16333 "proxyto" : "node",
7aacca6f
DM
16334 "returns" : {
16335 "properties" : {
16336 "hasFeature" : {
16337 "type" : "boolean"
16338 }
16339 },
16340 "type" : "object"
16341 }
56122987
DM
16342 }
16343 },
7aacca6f 16344 "leaf" : 1,
44660702
DM
16345 "path" : "/nodes/{node}/lxc/{vmid}/feature",
16346 "text" : "feature"
56122987
DM
16347 },
16348 {
56122987
DM
16349 "info" : {
16350 "POST" : {
44660702
DM
16351 "description" : "Create a Template.",
16352 "method" : "POST",
56122987 16353 "name" : "template",
56122987
DM
16354 "parameters" : {
16355 "additionalProperties" : 0,
16356 "properties" : {
44660702
DM
16357 "experimental" : {
16358 "default" : 0,
16359 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16360 "type" : "boolean",
16361 "typetext" : "<boolean>"
7aacca6f
DM
16362 },
16363 "node" : {
7aacca6f 16364 "description" : "The cluster node name.",
44660702 16365 "format" : "pve-node",
013dc89f
DM
16366 "type" : "string",
16367 "typetext" : "<string>"
56122987 16368 },
44660702
DM
16369 "vmid" : {
16370 "description" : "The (unique) ID of the VM.",
16371 "format" : "pve-vmid",
16372 "minimum" : 1,
4bd7df8b 16373 "type" : "integer",
013dc89f 16374 "typetext" : "<integer> (1 - N)"
56122987
DM
16375 }
16376 }
16377 },
56122987 16378 "permissions" : {
56122987
DM
16379 "check" : [
16380 "perm",
16381 "/vms/{vmid}",
16382 [
16383 "VM.Allocate"
16384 ]
44660702
DM
16385 ],
16386 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 16387 },
44660702 16388 "protected" : 1,
7aacca6f
DM
16389 "proxyto" : "node",
16390 "returns" : {
16391 "type" : "null"
56122987
DM
16392 }
16393 }
16394 },
44660702 16395 "leaf" : 1,
7aacca6f 16396 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 16397 "text" : "template"
56122987
DM
16398 },
16399 {
56122987
DM
16400 "info" : {
16401 "POST" : {
44660702
DM
16402 "description" : "Create a container clone/copy",
16403 "method" : "POST",
56122987 16404 "name" : "clone_vm",
7aacca6f
DM
16405 "parameters" : {
16406 "additionalProperties" : 0,
16407 "properties" : {
44660702
DM
16408 "description" : {
16409 "description" : "Description for the new CT.",
7aacca6f 16410 "optional" : 1,
013dc89f
DM
16411 "type" : "string",
16412 "typetext" : "<string>"
7aacca6f
DM
16413 },
16414 "experimental" : {
7aacca6f 16415 "default" : 0,
44660702 16416 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16417 "type" : "boolean",
16418 "typetext" : "<boolean>"
7aacca6f 16419 },
44660702
DM
16420 "full" : {
16421 "default" : 0,
16422 "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 16423 "optional" : 1,
013dc89f
DM
16424 "type" : "boolean",
16425 "typetext" : "<boolean>"
7aacca6f
DM
16426 },
16427 "hostname" : {
44660702 16428 "description" : "Set a hostname for the new CT.",
7aacca6f 16429 "format" : "dns-name",
7aacca6f 16430 "optional" : 1,
013dc89f
DM
16431 "type" : "string",
16432 "typetext" : "<string>"
7aacca6f 16433 },
44660702
DM
16434 "newid" : {
16435 "description" : "VMID for the clone.",
7aacca6f 16436 "format" : "pve-vmid",
44660702 16437 "minimum" : 1,
4bd7df8b 16438 "type" : "integer",
013dc89f 16439 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16440 },
16441 "node" : {
16442 "description" : "The cluster node name.",
44660702 16443 "format" : "pve-node",
013dc89f
DM
16444 "type" : "string",
16445 "typetext" : "<string>"
44660702
DM
16446 },
16447 "pool" : {
16448 "description" : "Add the new CT to the specified pool.",
16449 "format" : "pve-poolid",
16450 "optional" : 1,
013dc89f
DM
16451 "type" : "string",
16452 "typetext" : "<string>"
7aacca6f
DM
16453 },
16454 "snapname" : {
44660702 16455 "description" : "The name of the snapshot.",
7aacca6f
DM
16456 "format" : "pve-configid",
16457 "maxLength" : 40,
7aacca6f 16458 "optional" : 1,
013dc89f
DM
16459 "type" : "string",
16460 "typetext" : "<string>"
7aacca6f
DM
16461 },
16462 "storage" : {
44660702 16463 "description" : "Target storage for full clone.",
7aacca6f
DM
16464 "format" : "pve-storage-id",
16465 "optional" : 1,
7aacca6f 16466 "requires" : "full",
013dc89f
DM
16467 "type" : "string",
16468 "typetext" : "<string>"
44660702
DM
16469 },
16470 "vmid" : {
16471 "description" : "The (unique) ID of the VM.",
16472 "format" : "pve-vmid",
16473 "minimum" : 1,
4bd7df8b 16474 "type" : "integer",
013dc89f 16475 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16476 }
16477 }
56122987
DM
16478 },
16479 "permissions" : {
56122987
DM
16480 "check" : [
16481 "and",
16482 [
16483 "perm",
16484 "/vms/{vmid}",
16485 [
16486 "VM.Clone"
16487 ]
16488 ],
16489 [
16490 "or",
16491 [
16492 "perm",
16493 "/vms/{newid}",
16494 [
16495 "VM.Allocate"
16496 ]
16497 ],
16498 [
16499 "perm",
16500 "/pool/{pool}",
16501 [
16502 "VM.Allocate"
16503 ],
16504 "require_param",
16505 "pool"
16506 ]
16507 ]
7aacca6f
DM
16508 ],
16509 "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 16510 },
44660702 16511 "protected" : 1,
56122987 16512 "proxyto" : "node",
7aacca6f
DM
16513 "returns" : {
16514 "type" : "string"
56122987
DM
16515 }
16516 }
44660702
DM
16517 },
16518 "leaf" : 1,
16519 "path" : "/nodes/{node}/lxc/{vmid}/clone",
16520 "text" : "clone"
56122987
DM
16521 },
16522 {
56122987
DM
16523 "info" : {
16524 "PUT" : {
de0983cb 16525 "description" : "Resize a container mount point.",
44660702
DM
16526 "method" : "PUT",
16527 "name" : "resize_vm",
56122987 16528 "parameters" : {
44660702 16529 "additionalProperties" : 0,
56122987 16530 "properties" : {
44660702
DM
16531 "digest" : {
16532 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16533 "maxLength" : 40,
16534 "optional" : 1,
013dc89f
DM
16535 "type" : "string",
16536 "typetext" : "<string>"
56122987
DM
16537 },
16538 "disk" : {
7aacca6f 16539 "description" : "The disk you want to resize.",
56122987
DM
16540 "enum" : [
16541 "rootfs",
16542 "mp0",
16543 "mp1",
16544 "mp2",
16545 "mp3",
16546 "mp4",
16547 "mp5",
16548 "mp6",
16549 "mp7",
16550 "mp8",
16551 "mp9"
16552 ],
7aacca6f
DM
16553 "type" : "string"
16554 },
44660702
DM
16555 "node" : {
16556 "description" : "The cluster node name.",
16557 "format" : "pve-node",
013dc89f
DM
16558 "type" : "string",
16559 "typetext" : "<string>"
44660702
DM
16560 },
16561 "size" : {
16562 "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.",
16563 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16564 "type" : "string"
16565 },
16566 "vmid" : {
16567 "description" : "The (unique) ID of the VM.",
16568 "format" : "pve-vmid",
16569 "minimum" : 1,
4bd7df8b 16570 "type" : "integer",
013dc89f 16571 "typetext" : "<integer> (1 - N)"
56122987 16572 }
44660702 16573 }
56122987 16574 },
7aacca6f
DM
16575 "permissions" : {
16576 "check" : [
16577 "perm",
16578 "/vms/{vmid}",
16579 [
16580 "VM.Config.Disk"
16581 ],
16582 "any",
16583 1
16584 ]
16585 },
44660702 16586 "protected" : 1,
7aacca6f
DM
16587 "proxyto" : "node",
16588 "returns" : {
16589 "description" : "the task ID.",
16590 "type" : "string"
16591 }
56122987
DM
16592 }
16593 },
44660702 16594 "leaf" : 1,
7aacca6f 16595 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 16596 "text" : "resize"
56122987
DM
16597 }
16598 ],
16599 "info" : {
16600 "DELETE" : {
7aacca6f 16601 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
16602 "method" : "DELETE",
16603 "name" : "destroy_vm",
16604 "parameters" : {
16605 "additionalProperties" : 0,
16606 "properties" : {
16607 "node" : {
16608 "description" : "The cluster node name.",
16609 "format" : "pve-node",
013dc89f
DM
16610 "type" : "string",
16611 "typetext" : "<string>"
44660702
DM
16612 },
16613 "vmid" : {
16614 "description" : "The (unique) ID of the VM.",
16615 "format" : "pve-vmid",
16616 "minimum" : 1,
4bd7df8b 16617 "type" : "integer",
013dc89f 16618 "typetext" : "<integer> (1 - N)"
44660702
DM
16619 }
16620 }
16621 },
7aacca6f
DM
16622 "permissions" : {
16623 "check" : [
16624 "perm",
16625 "/vms/{vmid}",
16626 [
16627 "VM.Allocate"
16628 ]
16629 ]
16630 },
44660702
DM
16631 "protected" : 1,
16632 "proxyto" : "node",
56122987
DM
16633 "returns" : {
16634 "type" : "string"
44660702 16635 }
56122987
DM
16636 },
16637 "GET" : {
7aacca6f 16638 "description" : "Directory index",
44660702 16639 "method" : "GET",
7aacca6f 16640 "name" : "vmdiridx",
56122987 16641 "parameters" : {
7aacca6f 16642 "additionalProperties" : 0,
56122987
DM
16643 "properties" : {
16644 "node" : {
7aacca6f 16645 "description" : "The cluster node name.",
44660702 16646 "format" : "pve-node",
013dc89f
DM
16647 "type" : "string",
16648 "typetext" : "<string>"
56122987
DM
16649 },
16650 "vmid" : {
16651 "description" : "The (unique) ID of the VM.",
56122987 16652 "format" : "pve-vmid",
44660702 16653 "minimum" : 1,
4bd7df8b 16654 "type" : "integer",
013dc89f 16655 "typetext" : "<integer> (1 - N)"
56122987 16656 }
7aacca6f 16657 }
56122987 16658 },
56122987
DM
16659 "permissions" : {
16660 "user" : "all"
44660702
DM
16661 },
16662 "proxyto" : "node",
16663 "returns" : {
16664 "items" : {
16665 "properties" : {
16666 "subdir" : {
16667 "type" : "string"
16668 }
16669 },
16670 "type" : "object"
16671 },
16672 "links" : [
16673 {
16674 "href" : "{subdir}",
16675 "rel" : "child"
16676 }
16677 ],
16678 "type" : "array"
56122987
DM
16679 }
16680 }
44660702
DM
16681 },
16682 "leaf" : 0,
16683 "path" : "/nodes/{node}/lxc/{vmid}",
16684 "text" : "{vmid}"
56122987
DM
16685 }
16686 ],
56122987 16687 "info" : {
44660702
DM
16688 "GET" : {
16689 "description" : "LXC container index (per node).",
16690 "method" : "GET",
16691 "name" : "vmlist",
16692 "parameters" : {
16693 "additionalProperties" : 0,
16694 "properties" : {
16695 "node" : {
16696 "description" : "The cluster node name.",
16697 "format" : "pve-node",
013dc89f
DM
16698 "type" : "string",
16699 "typetext" : "<string>"
44660702
DM
16700 }
16701 }
16702 },
16703 "permissions" : {
16704 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
16705 "user" : "all"
16706 },
16707 "protected" : 1,
16708 "proxyto" : "node",
16709 "returns" : {
16710 "items" : {
16711 "properties" : {},
16712 "type" : "object"
16713 },
16714 "links" : [
16715 {
16716 "href" : "{vmid}",
16717 "rel" : "child"
16718 }
16719 ],
16720 "type" : "array"
16721 }
16722 },
56122987 16723 "POST" : {
44660702 16724 "description" : "Create or restore a container.",
7aacca6f
DM
16725 "method" : "POST",
16726 "name" : "create_vm",
56122987 16727 "parameters" : {
7aacca6f 16728 "additionalProperties" : 0,
56122987 16729 "properties" : {
44660702
DM
16730 "arch" : {
16731 "default" : "amd64",
16732 "description" : "OS architecture type.",
16733 "enum" : [
16734 "amd64",
16735 "i386"
16736 ],
7aacca6f 16737 "optional" : 1,
44660702 16738 "type" : "string"
7aacca6f 16739 },
44660702
DM
16740 "cmode" : {
16741 "default" : "tty",
16742 "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).",
16743 "enum" : [
16744 "shell",
16745 "console",
16746 "tty"
16747 ],
7aacca6f 16748 "optional" : 1,
44660702 16749 "type" : "string"
7aacca6f
DM
16750 },
16751 "console" : {
7aacca6f 16752 "default" : 1,
44660702 16753 "description" : "Attach a console device (/dev/console) to the container.",
56122987 16754 "optional" : 1,
013dc89f
DM
16755 "type" : "boolean",
16756 "typetext" : "<boolean>"
56122987 16757 },
de0983cb
DM
16758 "cores" : {
16759 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
16760 "maximum" : 128,
16761 "minimum" : 1,
16762 "optional" : 1,
16763 "type" : "integer",
013dc89f 16764 "typetext" : "<integer> (1 - 128)"
de0983cb 16765 },
44660702
DM
16766 "cpulimit" : {
16767 "default" : 0,
16768 "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.",
16769 "maximum" : 128,
16770 "minimum" : 0,
56122987 16771 "optional" : 1,
4bd7df8b 16772 "type" : "number",
013dc89f 16773 "typetext" : "<number> (0 - 128)"
56122987 16774 },
44660702
DM
16775 "cpuunits" : {
16776 "default" : 1024,
16777 "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.",
16778 "maximum" : 500000,
16779 "minimum" : 0,
56122987 16780 "optional" : 1,
4bd7df8b 16781 "type" : "integer",
013dc89f 16782 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
16783 },
16784 "description" : {
44660702 16785 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 16786 "optional" : 1,
013dc89f
DM
16787 "type" : "string",
16788 "typetext" : "<string>"
7aacca6f 16789 },
44660702
DM
16790 "force" : {
16791 "description" : "Allow to overwrite existing container.",
7aacca6f 16792 "optional" : 1,
013dc89f
DM
16793 "type" : "boolean",
16794 "typetext" : "<boolean>"
44660702
DM
16795 },
16796 "hostname" : {
16797 "description" : "Set a host name for the container.",
16798 "format" : "dns-name",
16799 "maxLength" : 255,
16800 "optional" : 1,
013dc89f
DM
16801 "type" : "string",
16802 "typetext" : "<string>"
44660702
DM
16803 },
16804 "ignore-unpack-errors" : {
16805 "description" : "Ignore errors when extracting the template.",
16806 "optional" : 1,
013dc89f
DM
16807 "type" : "boolean",
16808 "typetext" : "<boolean>"
44660702
DM
16809 },
16810 "lock" : {
16811 "description" : "Lock/unlock the VM.",
7aacca6f
DM
16812 "enum" : [
16813 "migrate",
16814 "backup",
16815 "snapshot",
16816 "rollback"
16817 ],
44660702
DM
16818 "optional" : 1,
16819 "type" : "string"
7aacca6f 16820 },
44660702
DM
16821 "memory" : {
16822 "default" : 512,
16823 "description" : "Amount of RAM for the VM in MB.",
16824 "minimum" : 16,
7aacca6f 16825 "optional" : 1,
4bd7df8b 16826 "type" : "integer",
013dc89f 16827 "typetext" : "<integer> (16 - N)"
44660702
DM
16828 },
16829 "mp[n]" : {
c2993fe5 16830 "description" : "Use volume as container mount point.",
56122987 16831 "format" : {
7aacca6f
DM
16832 "acl" : {
16833 "description" : "Explicitly enable or disable ACL support.",
16834 "optional" : 1,
44660702 16835 "type" : "boolean"
56122987
DM
16836 },
16837 "backup" : {
de0983cb 16838 "description" : "Whether to include the mount point in backups.",
44660702 16839 "optional" : 1,
4bd7df8b 16840 "type" : "boolean",
de0983cb 16841 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
16842 },
16843 "mp" : {
de0983cb 16844 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
16845 "format" : "pve-lxc-mp-string",
16846 "format_description" : "Path",
4bd7df8b 16847 "type" : "string",
de0983cb 16848 "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
16849 },
16850 "quota" : {
16851 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 16852 "optional" : 1,
44660702
DM
16853 "type" : "boolean"
16854 },
16855 "ro" : {
de0983cb 16856 "description" : "Read-only mount point",
44660702
DM
16857 "optional" : 1,
16858 "type" : "boolean"
7aacca6f 16859 },
de0983cb
DM
16860 "shared" : {
16861 "default" : 0,
16862 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16863 "optional" : 1,
16864 "type" : "boolean",
16865 "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!"
16866 },
7aacca6f 16867 "size" : {
44660702 16868 "description" : "Volume size (read only value).",
7aacca6f
DM
16869 "format" : "disk-size",
16870 "format_description" : "DiskSize",
7aacca6f
DM
16871 "optional" : 1,
16872 "type" : "string"
56122987
DM
16873 },
16874 "volume" : {
7aacca6f 16875 "default_key" : 1,
44660702 16876 "description" : "Volume, device or directory to mount into the container.",
56122987 16877 "format" : "pve-lxc-mp-string",
56122987 16878 "format_description" : "volume",
44660702 16879 "type" : "string"
56122987 16880 }
44660702 16881 },
56122987 16882 "optional" : 1,
4bd7df8b 16883 "type" : "string",
de0983cb 16884 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 16885 },
44660702
DM
16886 "nameserver" : {
16887 "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.",
16888 "format" : "address-list",
56122987 16889 "optional" : 1,
013dc89f
DM
16890 "type" : "string",
16891 "typetext" : "<string>"
56122987 16892 },
44660702
DM
16893 "net[n]" : {
16894 "description" : "Specifies network interfaces for the container.",
7aacca6f 16895 "format" : {
44660702
DM
16896 "bridge" : {
16897 "description" : "Bridge to attach the network device to.",
f004f5b9 16898 "format_description" : "bridge",
7aacca6f 16899 "optional" : 1,
44660702
DM
16900 "pattern" : "[-_.\\w\\d]+",
16901 "type" : "string"
7aacca6f 16902 },
44660702
DM
16903 "firewall" : {
16904 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 16905 "optional" : 1,
44660702 16906 "type" : "boolean"
7aacca6f 16907 },
44660702
DM
16908 "gw" : {
16909 "description" : "Default gateway for IPv4 traffic.",
16910 "format" : "ipv4",
16911 "format_description" : "GatewayIPv4",
7aacca6f 16912 "optional" : 1,
44660702 16913 "type" : "string"
7aacca6f 16914 },
44660702
DM
16915 "gw6" : {
16916 "description" : "Default gateway for IPv6 traffic.",
16917 "format" : "ipv6",
16918 "format_description" : "GatewayIPv6",
16919 "optional" : 1,
16920 "type" : "string"
7aacca6f 16921 },
44660702 16922 "hwaddr" : {
f004f5b9
DM
16923 "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)",
16924 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
16925 "optional" : 1,
16926 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
16927 "type" : "string"
16928 },
44660702
DM
16929 "ip" : {
16930 "description" : "IPv4 address in CIDR format.",
16931 "format" : "pve-ipv4-config",
16932 "format_description" : "IPv4Format/CIDR",
7aacca6f 16933 "optional" : 1,
44660702 16934 "type" : "string"
7aacca6f 16935 },
44660702
DM
16936 "ip6" : {
16937 "description" : "IPv6 address in CIDR format.",
16938 "format" : "pve-ipv6-config",
16939 "format_description" : "IPv6Format/CIDR",
16940 "optional" : 1,
16941 "type" : "string"
16942 },
16943 "mtu" : {
16944 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
16945 "minimum" : 64,
16946 "optional" : 1,
16947 "type" : "integer"
16948 },
16949 "name" : {
16950 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 16951 "format_description" : "string",
44660702
DM
16952 "pattern" : "[-_.\\w\\d]+",
16953 "type" : "string"
16954 },
16955 "rate" : {
16956 "description" : "Apply rate limiting to the interface",
16957 "format_description" : "mbps",
16958 "optional" : 1,
16959 "type" : "number"
16960 },
16961 "tag" : {
16962 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
16963 "maximum" : 4094,
16964 "minimum" : 1,
44660702
DM
16965 "optional" : 1,
16966 "type" : "integer"
16967 },
16968 "trunks" : {
16969 "description" : "VLAN ids to pass through the interface",
16970 "format_description" : "vlanid[;vlanid...]",
16971 "optional" : 1,
16972 "pattern" : "(?^:\\d+(?:;\\d+)*)",
16973 "type" : "string"
16974 },
16975 "type" : {
16976 "description" : "Network interface type.",
16977 "enum" : [
16978 "veth"
16979 ],
16980 "optional" : 1,
16981 "type" : "string"
7aacca6f
DM
16982 }
16983 },
56122987 16984 "optional" : 1,
4bd7df8b
DM
16985 "type" : "string",
16986 "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 16987 },
44660702
DM
16988 "node" : {
16989 "description" : "The cluster node name.",
16990 "format" : "pve-node",
013dc89f
DM
16991 "type" : "string",
16992 "typetext" : "<string>"
56122987 16993 },
44660702
DM
16994 "onboot" : {
16995 "default" : 0,
16996 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 16997 "optional" : 1,
013dc89f
DM
16998 "type" : "boolean",
16999 "typetext" : "<boolean>"
44660702
DM
17000 },
17001 "ostemplate" : {
17002 "description" : "The OS template or backup file.",
17003 "maxLength" : 255,
013dc89f
DM
17004 "type" : "string",
17005 "typetext" : "<string>"
56122987
DM
17006 },
17007 "ostype" : {
7aacca6f 17008 "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
17009 "enum" : [
17010 "debian",
17011 "ubuntu",
17012 "centos",
17013 "fedora",
17014 "opensuse",
17015 "archlinux",
17016 "alpine",
57b78691 17017 "gentoo",
56122987 17018 "unmanaged"
44660702 17019 ],
56122987 17020 "optional" : 1,
7aacca6f 17021 "type" : "string"
56122987 17022 },
44660702
DM
17023 "password" : {
17024 "description" : "Sets root password inside container.",
17025 "minLength" : 5,
7aacca6f 17026 "optional" : 1,
013dc89f
DM
17027 "type" : "string",
17028 "typetext" : "<string>"
7aacca6f 17029 },
44660702
DM
17030 "pool" : {
17031 "description" : "Add the VM to the specified pool.",
17032 "format" : "pve-poolid",
7aacca6f 17033 "optional" : 1,
013dc89f
DM
17034 "type" : "string",
17035 "typetext" : "<string>"
7aacca6f 17036 },
44660702
DM
17037 "protection" : {
17038 "default" : 0,
17039 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 17040 "optional" : 1,
013dc89f
DM
17041 "type" : "boolean",
17042 "typetext" : "<boolean>"
7aacca6f 17043 },
44660702
DM
17044 "restore" : {
17045 "description" : "Mark this as restore task.",
17046 "optional" : 1,
013dc89f
DM
17047 "type" : "boolean",
17048 "typetext" : "<boolean>"
7aacca6f 17049 },
44660702
DM
17050 "rootfs" : {
17051 "description" : "Use volume as container root.",
56122987 17052 "format" : {
44660702
DM
17053 "acl" : {
17054 "description" : "Explicitly enable or disable ACL support.",
56122987 17055 "optional" : 1,
44660702 17056 "type" : "boolean"
56122987 17057 },
44660702
DM
17058 "quota" : {
17059 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17060 "optional" : 1,
44660702 17061 "type" : "boolean"
7aacca6f 17062 },
44660702 17063 "ro" : {
de0983cb 17064 "description" : "Read-only mount point",
7aacca6f 17065 "optional" : 1,
44660702 17066 "type" : "boolean"
7aacca6f 17067 },
de0983cb
DM
17068 "shared" : {
17069 "default" : 0,
17070 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17071 "optional" : 1,
17072 "type" : "boolean",
17073 "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!"
17074 },
44660702
DM
17075 "size" : {
17076 "description" : "Volume size (read only value).",
17077 "format" : "disk-size",
17078 "format_description" : "DiskSize",
7aacca6f
DM
17079 "optional" : 1,
17080 "type" : "string"
17081 },
44660702
DM
17082 "volume" : {
17083 "default_key" : 1,
17084 "description" : "Volume, device or directory to mount into the container.",
17085 "format" : "pve-lxc-mp-string",
17086 "format_description" : "volume",
17087 "type" : "string"
56122987 17088 }
7aacca6f 17089 },
7aacca6f 17090 "optional" : 1,
4bd7df8b 17091 "type" : "string",
de0983cb 17092 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
17093 },
17094 "searchdomain" : {
17095 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
17096 "format" : "dns-name-list",
17097 "optional" : 1,
013dc89f
DM
17098 "type" : "string",
17099 "typetext" : "<string>"
44660702
DM
17100 },
17101 "ssh-public-keys" : {
17102 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
17103 "optional" : 1,
013dc89f
DM
17104 "type" : "string",
17105 "typetext" : "<string>"
44660702
DM
17106 },
17107 "startup" : {
17108 "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.",
17109 "format" : "pve-startup-order",
17110 "optional" : 1,
7aacca6f 17111 "type" : "string",
44660702 17112 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 17113 },
44660702
DM
17114 "storage" : {
17115 "default" : "local",
17116 "description" : "Default Storage.",
17117 "format" : "pve-storage-id",
17118 "optional" : 1,
013dc89f
DM
17119 "type" : "string",
17120 "typetext" : "<string>"
7aacca6f 17121 },
44660702
DM
17122 "swap" : {
17123 "default" : 512,
17124 "description" : "Amount of SWAP for the VM in MB.",
17125 "minimum" : 0,
17126 "optional" : 1,
4bd7df8b 17127 "type" : "integer",
013dc89f 17128 "typetext" : "<integer> (0 - N)"
44660702
DM
17129 },
17130 "template" : {
17131 "default" : 0,
17132 "description" : "Enable/disable Template.",
17133 "optional" : 1,
013dc89f
DM
17134 "type" : "boolean",
17135 "typetext" : "<boolean>"
7aacca6f 17136 },
44660702
DM
17137 "tty" : {
17138 "default" : 2,
17139 "description" : "Specify the number of tty available to the container",
17140 "maximum" : 6,
17141 "minimum" : 0,
17142 "optional" : 1,
4bd7df8b 17143 "type" : "integer",
013dc89f 17144 "typetext" : "<integer> (0 - 6)"
7aacca6f 17145 },
44660702
DM
17146 "unprivileged" : {
17147 "default" : 0,
17148 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
17149 "optional" : 1,
013dc89f
DM
17150 "type" : "boolean",
17151 "typetext" : "<boolean>"
44660702
DM
17152 },
17153 "unused[n]" : {
c2993fe5 17154 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
17155 "format" : "pve-volume-id",
17156 "optional" : 1,
013dc89f
DM
17157 "type" : "string",
17158 "typetext" : "<string>"
44660702
DM
17159 },
17160 "vmid" : {
17161 "description" : "The (unique) ID of the VM.",
17162 "format" : "pve-vmid",
17163 "minimum" : 1,
4bd7df8b 17164 "type" : "integer",
013dc89f 17165 "typetext" : "<integer> (1 - N)"
44660702 17166 }
7aacca6f
DM
17167 }
17168 },
44660702
DM
17169 "permissions" : {
17170 "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.",
17171 "user" : "all"
17172 },
17173 "protected" : 1,
17174 "proxyto" : "node",
17175 "returns" : {
17176 "type" : "string"
17177 }
17178 }
17179 },
17180 "leaf" : 0,
17181 "path" : "/nodes/{node}/lxc",
17182 "text" : "lxc"
17183 },
17184 {
17185 "children" : [
17186 {
56122987
DM
17187 "children" : [
17188 {
7aacca6f
DM
17189 "children" : [
17190 {
7aacca6f
DM
17191 "info" : {
17192 "POST" : {
44660702
DM
17193 "description" : "ceph osd in",
17194 "method" : "POST",
17195 "name" : "in",
17196 "parameters" : {
17197 "additionalProperties" : 0,
17198 "properties" : {
17199 "node" : {
17200 "description" : "The cluster node name.",
17201 "format" : "pve-node",
013dc89f
DM
17202 "type" : "string",
17203 "typetext" : "<string>"
44660702
DM
17204 },
17205 "osdid" : {
17206 "description" : "OSD ID",
013dc89f
DM
17207 "type" : "integer",
17208 "typetext" : "<integer>"
44660702
DM
17209 }
17210 }
17211 },
56122987
DM
17212 "permissions" : {
17213 "check" : [
17214 "perm",
17215 "/",
17216 [
17217 "Sys.Modify"
17218 ]
17219 ]
7aacca6f 17220 },
44660702 17221 "protected" : 1,
7aacca6f
DM
17222 "proxyto" : "node",
17223 "returns" : {
17224 "type" : "null"
44660702 17225 }
56122987
DM
17226 }
17227 },
44660702 17228 "leaf" : 1,
7aacca6f 17229 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 17230 "text" : "in"
56122987
DM
17231 },
17232 {
56122987
DM
17233 "info" : {
17234 "POST" : {
44660702
DM
17235 "description" : "ceph osd out",
17236 "method" : "POST",
17237 "name" : "out",
17238 "parameters" : {
17239 "additionalProperties" : 0,
17240 "properties" : {
17241 "node" : {
17242 "description" : "The cluster node name.",
17243 "format" : "pve-node",
013dc89f
DM
17244 "type" : "string",
17245 "typetext" : "<string>"
44660702
DM
17246 },
17247 "osdid" : {
17248 "description" : "OSD ID",
013dc89f
DM
17249 "type" : "integer",
17250 "typetext" : "<integer>"
44660702
DM
17251 }
17252 }
17253 },
56122987
DM
17254 "permissions" : {
17255 "check" : [
17256 "perm",
17257 "/",
17258 [
17259 "Sys.Modify"
17260 ]
17261 ]
17262 },
44660702 17263 "protected" : 1,
56122987 17264 "proxyto" : "node",
7aacca6f
DM
17265 "returns" : {
17266 "type" : "null"
44660702
DM
17267 }
17268 }
17269 },
17270 "leaf" : 1,
17271 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
17272 "text" : "out"
17273 }
17274 ],
17275 "info" : {
17276 "DELETE" : {
17277 "description" : "Destroy OSD",
17278 "method" : "DELETE",
17279 "name" : "destroyosd",
17280 "parameters" : {
17281 "additionalProperties" : 0,
17282 "properties" : {
17283 "cleanup" : {
17284 "default" : 0,
17285 "description" : "If set, we remove partition table entries.",
17286 "optional" : 1,
013dc89f
DM
17287 "type" : "boolean",
17288 "typetext" : "<boolean>"
7aacca6f 17289 },
44660702
DM
17290 "node" : {
17291 "description" : "The cluster node name.",
17292 "format" : "pve-node",
013dc89f
DM
17293 "type" : "string",
17294 "typetext" : "<string>"
56122987 17295 },
44660702
DM
17296 "osdid" : {
17297 "description" : "OSD ID",
013dc89f
DM
17298 "type" : "integer",
17299 "typetext" : "<integer>"
44660702 17300 }
56122987
DM
17301 }
17302 },
44660702
DM
17303 "protected" : 1,
17304 "proxyto" : "node",
17305 "returns" : {
17306 "type" : "string"
17307 }
17308 }
17309 },
17310 "leaf" : 0,
17311 "path" : "/nodes/{node}/ceph/osd/{osdid}",
17312 "text" : "{osdid}"
17313 }
17314 ],
17315 "info" : {
17316 "GET" : {
17317 "description" : "Get Ceph osd list/tree.",
17318 "method" : "GET",
17319 "name" : "index",
17320 "parameters" : {
17321 "additionalProperties" : 0,
17322 "properties" : {
17323 "node" : {
17324 "description" : "The cluster node name.",
17325 "format" : "pve-node",
013dc89f
DM
17326 "type" : "string",
17327 "typetext" : "<string>"
44660702
DM
17328 }
17329 }
17330 },
17331 "permissions" : {
17332 "check" : [
17333 "perm",
17334 "/",
17335 [
17336 "Sys.Audit",
17337 "Datastore.Audit"
17338 ],
17339 "any",
17340 1
17341 ]
17342 },
17343 "protected" : 1,
17344 "proxyto" : "node",
17345 "returns" : {
17346 "type" : "object"
17347 }
17348 },
17349 "POST" : {
17350 "description" : "Create OSD",
17351 "method" : "POST",
17352 "name" : "createosd",
17353 "parameters" : {
17354 "additionalProperties" : 0,
17355 "properties" : {
17356 "dev" : {
17357 "description" : "Block device name.",
013dc89f
DM
17358 "type" : "string",
17359 "typetext" : "<string>"
44660702
DM
17360 },
17361 "fstype" : {
17362 "default" : "xfs",
17363 "description" : "File system type.",
17364 "enum" : [
17365 "xfs",
17366 "ext4",
17367 "btrfs"
17368 ],
17369 "optional" : 1,
17370 "type" : "string"
17371 },
17372 "journal_dev" : {
17373 "description" : "Block device name for journal.",
17374 "optional" : 1,
013dc89f
DM
17375 "type" : "string",
17376 "typetext" : "<string>"
44660702
DM
17377 },
17378 "node" : {
17379 "description" : "The cluster node name.",
17380 "format" : "pve-node",
013dc89f
DM
17381 "type" : "string",
17382 "typetext" : "<string>"
44660702 17383 }
56122987 17384 }
44660702
DM
17385 },
17386 "protected" : 1,
17387 "proxyto" : "node",
17388 "returns" : {
17389 "type" : "string"
17390 }
56122987 17391 }
44660702 17392 },
7aacca6f 17393 "leaf" : 0,
44660702
DM
17394 "path" : "/nodes/{node}/ceph/osd",
17395 "text" : "osd"
7aacca6f
DM
17396 },
17397 {
56122987
DM
17398 "info" : {
17399 "GET" : {
7aacca6f 17400 "description" : "List local disks.",
44660702
DM
17401 "method" : "GET",
17402 "name" : "disks",
17403 "parameters" : {
17404 "additionalProperties" : 0,
17405 "properties" : {
17406 "node" : {
17407 "description" : "The cluster node name.",
17408 "format" : "pve-node",
013dc89f
DM
17409 "type" : "string",
17410 "typetext" : "<string>"
44660702
DM
17411 },
17412 "type" : {
17413 "description" : "Only list specific types of disks.",
17414 "enum" : [
17415 "unused",
17416 "journal_disks"
17417 ],
17418 "optional" : 1,
17419 "type" : "string"
17420 }
17421 }
17422 },
56122987
DM
17423 "permissions" : {
17424 "check" : [
17425 "perm",
17426 "/",
17427 [
17428 "Sys.Audit",
17429 "Datastore.Audit"
17430 ],
17431 "any",
17432 1
17433 ]
7aacca6f 17434 },
44660702
DM
17435 "protected" : 1,
17436 "proxyto" : "node",
56122987 17437 "returns" : {
7aacca6f
DM
17438 "items" : {
17439 "properties" : {
44660702
DM
17440 "dev" : {
17441 "type" : "string"
17442 },
17443 "gpt" : {
17444 "type" : "boolean"
17445 },
17446 "model" : {
17447 "optional" : 1,
17448 "type" : "string"
7aacca6f
DM
17449 },
17450 "osdid" : {
17451 "type" : "integer"
17452 },
17453 "serial" : {
7aacca6f
DM
17454 "optional" : 1,
17455 "type" : "string"
17456 },
17457 "size" : {
17458 "type" : "integer"
17459 },
44660702
DM
17460 "used" : {
17461 "optional" : 1,
7aacca6f
DM
17462 "type" : "string"
17463 },
44660702
DM
17464 "vendor" : {
17465 "optional" : 1,
17466 "type" : "string"
7aacca6f
DM
17467 }
17468 },
17469 "type" : "object"
44660702
DM
17470 },
17471 "type" : "array"
17472 }
56122987 17473 }
44660702
DM
17474 },
17475 "leaf" : 1,
17476 "path" : "/nodes/{node}/ceph/disks",
17477 "text" : "disks"
56122987
DM
17478 },
17479 {
56122987
DM
17480 "info" : {
17481 "GET" : {
7aacca6f 17482 "description" : "Get Ceph configuration.",
44660702
DM
17483 "method" : "GET",
17484 "name" : "config",
56122987 17485 "parameters" : {
7aacca6f 17486 "additionalProperties" : 0,
56122987 17487 "properties" : {
56122987 17488 "node" : {
7aacca6f 17489 "description" : "The cluster node name.",
44660702 17490 "format" : "pve-node",
013dc89f
DM
17491 "type" : "string",
17492 "typetext" : "<string>"
56122987 17493 }
7aacca6f 17494 }
56122987 17495 },
56122987
DM
17496 "permissions" : {
17497 "check" : [
17498 "perm",
17499 "/",
17500 [
17501 "Sys.Audit",
17502 "Datastore.Audit"
17503 ],
17504 "any",
17505 1
17506 ]
44660702
DM
17507 },
17508 "returns" : {
17509 "type" : "string"
7aacca6f
DM
17510 }
17511 }
44660702
DM
17512 },
17513 "leaf" : 1,
17514 "path" : "/nodes/{node}/ceph/config",
17515 "text" : "config"
7aacca6f
DM
17516 },
17517 {
7aacca6f
DM
17518 "children" : [
17519 {
7aacca6f
DM
17520 "info" : {
17521 "DELETE" : {
7aacca6f 17522 "description" : "Destroy Ceph monitor.",
44660702
DM
17523 "method" : "DELETE",
17524 "name" : "destroymon",
17525 "parameters" : {
17526 "additionalProperties" : 0,
17527 "properties" : {
17528 "monid" : {
17529 "description" : "Monitor ID",
013dc89f
DM
17530 "type" : "integer",
17531 "typetext" : "<integer>"
44660702
DM
17532 },
17533 "node" : {
17534 "description" : "The cluster node name.",
17535 "format" : "pve-node",
013dc89f
DM
17536 "type" : "string",
17537 "typetext" : "<string>"
44660702
DM
17538 }
17539 }
17540 },
7aacca6f
DM
17541 "permissions" : {
17542 "check" : [
17543 "perm",
17544 "/",
17545 [
17546 "Sys.Modify"
17547 ]
17548 ]
17549 },
44660702
DM
17550 "protected" : 1,
17551 "proxyto" : "node",
7aacca6f
DM
17552 "returns" : {
17553 "type" : "string"
44660702 17554 }
7aacca6f 17555 }
44660702
DM
17556 },
17557 "leaf" : 1,
17558 "path" : "/nodes/{node}/ceph/mon/{monid}",
17559 "text" : "{monid}"
7aacca6f
DM
17560 }
17561 ],
17562 "info" : {
17563 "GET" : {
44660702 17564 "description" : "Get Ceph monitor list.",
7aacca6f 17565 "method" : "GET",
44660702 17566 "name" : "listmon",
7aacca6f
DM
17567 "parameters" : {
17568 "additionalProperties" : 0,
17569 "properties" : {
17570 "node" : {
7aacca6f 17571 "description" : "The cluster node name.",
44660702 17572 "format" : "pve-node",
013dc89f
DM
17573 "type" : "string",
17574 "typetext" : "<string>"
7aacca6f
DM
17575 }
17576 }
17577 },
44660702
DM
17578 "permissions" : {
17579 "check" : [
17580 "perm",
17581 "/",
17582 [
17583 "Sys.Audit",
17584 "Datastore.Audit"
17585 ],
17586 "any",
17587 1
17588 ]
17589 },
7aacca6f 17590 "protected" : 1,
44660702 17591 "proxyto" : "node",
7aacca6f
DM
17592 "returns" : {
17593 "items" : {
17594 "properties" : {
44660702 17595 "addr" : {
7aacca6f 17596 "type" : "string"
56122987 17597 },
44660702 17598 "name" : {
56122987
DM
17599 "type" : "string"
17600 }
7aacca6f
DM
17601 },
17602 "type" : "object"
56122987 17603 },
7aacca6f
DM
17604 "links" : [
17605 {
17606 "href" : "{name}",
17607 "rel" : "child"
17608 }
17609 ],
56122987 17610 "type" : "array"
44660702 17611 }
7aacca6f
DM
17612 },
17613 "POST" : {
44660702
DM
17614 "description" : "Create Ceph Monitor",
17615 "method" : "POST",
17616 "name" : "createmon",
17617 "parameters" : {
17618 "additionalProperties" : 0,
17619 "properties" : {
17620 "node" : {
17621 "description" : "The cluster node name.",
17622 "format" : "pve-node",
013dc89f
DM
17623 "type" : "string",
17624 "typetext" : "<string>"
44660702
DM
17625 }
17626 }
17627 },
7aacca6f
DM
17628 "permissions" : {
17629 "check" : [
17630 "perm",
17631 "/",
17632 [
17633 "Sys.Modify"
17634 ]
17635 ]
17636 },
44660702 17637 "protected" : 1,
7aacca6f 17638 "proxyto" : "node",
56122987
DM
17639 "returns" : {
17640 "type" : "string"
44660702 17641 }
56122987 17642 }
44660702
DM
17643 },
17644 "leaf" : 0,
17645 "path" : "/nodes/{node}/ceph/mon",
17646 "text" : "mon"
56122987
DM
17647 },
17648 {
17649 "info" : {
17650 "POST" : {
44660702
DM
17651 "description" : "Create initial ceph default configuration and setup symlinks.",
17652 "method" : "POST",
17653 "name" : "init",
17654 "parameters" : {
17655 "additionalProperties" : 0,
17656 "properties" : {
17657 "network" : {
17658 "description" : "Use specific network for all ceph related traffic",
17659 "format" : "CIDR",
17660 "maxLength" : 128,
17661 "optional" : 1,
013dc89f
DM
17662 "type" : "string",
17663 "typetext" : "<string>"
44660702
DM
17664 },
17665 "node" : {
17666 "description" : "The cluster node name.",
17667 "format" : "pve-node",
013dc89f
DM
17668 "type" : "string",
17669 "typetext" : "<string>"
44660702
DM
17670 },
17671 "pg_bits" : {
17672 "default" : 6,
17673 "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.",
17674 "maximum" : 14,
17675 "minimum" : 6,
17676 "optional" : 1,
4bd7df8b 17677 "type" : "integer",
013dc89f 17678 "typetext" : "<integer> (6 - 14)"
44660702
DM
17679 },
17680 "size" : {
17681 "default" : 2,
17682 "description" : "Number of replicas per object",
17683 "maximum" : 3,
17684 "minimum" : 1,
17685 "optional" : 1,
4bd7df8b 17686 "type" : "integer",
013dc89f 17687 "typetext" : "<integer> (1 - 3)"
44660702
DM
17688 }
17689 }
7aacca6f 17690 },
56122987
DM
17691 "permissions" : {
17692 "check" : [
17693 "perm",
17694 "/",
17695 [
17696 "Sys.Modify"
17697 ]
17698 ]
17699 },
7aacca6f 17700 "protected" : 1,
44660702
DM
17701 "proxyto" : "node",
17702 "returns" : {
17703 "type" : "null"
7aacca6f
DM
17704 }
17705 }
17706 },
7aacca6f 17707 "leaf" : 1,
44660702
DM
17708 "path" : "/nodes/{node}/ceph/init",
17709 "text" : "init"
7aacca6f
DM
17710 },
17711 {
7aacca6f
DM
17712 "info" : {
17713 "POST" : {
44660702 17714 "description" : "Stop ceph services.",
7aacca6f
DM
17715 "method" : "POST",
17716 "name" : "stop",
17717 "parameters" : {
44660702 17718 "additionalProperties" : 0,
7aacca6f
DM
17719 "properties" : {
17720 "node" : {
7aacca6f 17721 "description" : "The cluster node name.",
44660702 17722 "format" : "pve-node",
013dc89f
DM
17723 "type" : "string",
17724 "typetext" : "<string>"
7aacca6f
DM
17725 },
17726 "service" : {
7aacca6f 17727 "description" : "Ceph service name.",
44660702
DM
17728 "optional" : 1,
17729 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
17730 "type" : "string"
56122987 17731 }
44660702 17732 }
7aacca6f
DM
17733 },
17734 "permissions" : {
17735 "check" : [
17736 "perm",
17737 "/",
17738 [
17739 "Sys.Modify"
17740 ]
17741 ]
17742 },
44660702
DM
17743 "protected" : 1,
17744 "proxyto" : "node",
17745 "returns" : {
17746 "type" : "string"
17747 }
7aacca6f 17748 }
44660702
DM
17749 },
17750 "leaf" : 1,
17751 "path" : "/nodes/{node}/ceph/stop",
17752 "text" : "stop"
7aacca6f
DM
17753 },
17754 {
7aacca6f
DM
17755 "info" : {
17756 "POST" : {
7aacca6f 17757 "description" : "Start ceph services.",
44660702 17758 "method" : "POST",
7aacca6f 17759 "name" : "start",
56122987
DM
17760 "parameters" : {
17761 "additionalProperties" : 0,
17762 "properties" : {
17763 "node" : {
7aacca6f 17764 "description" : "The cluster node name.",
44660702 17765 "format" : "pve-node",
013dc89f
DM
17766 "type" : "string",
17767 "typetext" : "<string>"
7aacca6f
DM
17768 },
17769 "service" : {
17770 "description" : "Ceph service name.",
44660702 17771 "optional" : 1,
7aacca6f 17772 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
44660702 17773 "type" : "string"
7aacca6f
DM
17774 }
17775 }
17776 },
44660702
DM
17777 "permissions" : {
17778 "check" : [
17779 "perm",
17780 "/",
17781 [
17782 "Sys.Modify"
17783 ]
17784 ]
17785 },
7aacca6f 17786 "protected" : 1,
44660702
DM
17787 "proxyto" : "node",
17788 "returns" : {
17789 "type" : "string"
17790 }
7aacca6f 17791 }
44660702
DM
17792 },
17793 "leaf" : 1,
17794 "path" : "/nodes/{node}/ceph/start",
17795 "text" : "start"
7aacca6f
DM
17796 },
17797 {
7aacca6f
DM
17798 "info" : {
17799 "GET" : {
44660702
DM
17800 "description" : "Get ceph status.",
17801 "method" : "GET",
17802 "name" : "status",
7aacca6f
DM
17803 "parameters" : {
17804 "additionalProperties" : 0,
17805 "properties" : {
17806 "node" : {
7aacca6f 17807 "description" : "The cluster node name.",
44660702 17808 "format" : "pve-node",
013dc89f
DM
17809 "type" : "string",
17810 "typetext" : "<string>"
56122987
DM
17811 }
17812 }
17813 },
17814 "permissions" : {
17815 "check" : [
17816 "perm",
17817 "/",
17818 [
17819 "Sys.Audit",
17820 "Datastore.Audit"
17821 ],
17822 "any",
17823 1
17824 ]
17825 },
44660702
DM
17826 "protected" : 1,
17827 "proxyto" : "node",
56122987 17828 "returns" : {
7aacca6f
DM
17829 "type" : "object"
17830 }
17831 }
17832 },
44660702 17833 "leaf" : 1,
7aacca6f 17834 "path" : "/nodes/{node}/ceph/status",
44660702 17835 "text" : "status"
7aacca6f
DM
17836 },
17837 {
44660702
DM
17838 "children" : [
17839 {
17840 "info" : {
17841 "DELETE" : {
17842 "description" : "Destroy pool",
17843 "method" : "DELETE",
17844 "name" : "destroypool",
17845 "parameters" : {
17846 "additionalProperties" : 0,
17847 "properties" : {
4bd7df8b
DM
17848 "force" : {
17849 "default" : 0,
17850 "description" : "If true, destroys pool even if in use",
17851 "optional" : 1,
013dc89f
DM
17852 "type" : "boolean",
17853 "typetext" : "<boolean>"
4bd7df8b 17854 },
44660702
DM
17855 "name" : {
17856 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
17857 "type" : "string",
17858 "typetext" : "<string>"
44660702
DM
17859 },
17860 "node" : {
17861 "description" : "The cluster node name.",
17862 "format" : "pve-node",
013dc89f
DM
17863 "type" : "string",
17864 "typetext" : "<string>"
44660702
DM
17865 }
17866 }
17867 },
17868 "permissions" : {
17869 "check" : [
17870 "perm",
17871 "/",
17872 [
17873 "Sys.Modify"
17874 ]
17875 ]
17876 },
17877 "protected" : 1,
17878 "proxyto" : "node",
17879 "returns" : {
17880 "type" : "null"
17881 }
17882 }
17883 },
17884 "leaf" : 1,
17885 "path" : "/nodes/{node}/ceph/pools/{name}",
17886 "text" : "{name}"
17887 }
17888 ],
7aacca6f
DM
17889 "info" : {
17890 "GET" : {
44660702
DM
17891 "description" : "List all pools.",
17892 "method" : "GET",
17893 "name" : "lspools",
7aacca6f
DM
17894 "parameters" : {
17895 "additionalProperties" : 0,
17896 "properties" : {
17897 "node" : {
7aacca6f 17898 "description" : "The cluster node name.",
44660702 17899 "format" : "pve-node",
013dc89f
DM
17900 "type" : "string",
17901 "typetext" : "<string>"
7aacca6f
DM
17902 }
17903 }
17904 },
7aacca6f
DM
17905 "permissions" : {
17906 "check" : [
17907 "perm",
17908 "/",
17909 [
17910 "Sys.Audit",
17911 "Datastore.Audit"
17912 ],
17913 "any",
17914 1
17915 ]
17916 },
44660702
DM
17917 "protected" : 1,
17918 "proxyto" : "node",
7aacca6f 17919 "returns" : {
56122987 17920 "items" : {
56122987 17921 "properties" : {
7aacca6f
DM
17922 "pool" : {
17923 "type" : "integer"
17924 },
44660702
DM
17925 "pool_name" : {
17926 "type" : "string"
17927 },
7aacca6f
DM
17928 "size" : {
17929 "type" : "integer"
56122987 17930 }
44660702
DM
17931 },
17932 "type" : "object"
7aacca6f 17933 },
44660702
DM
17934 "links" : [
17935 {
17936 "href" : "{pool_name}",
17937 "rel" : "child"
17938 }
17939 ],
7aacca6f
DM
17940 "type" : "array"
17941 }
17942 },
17943 "POST" : {
7aacca6f 17944 "description" : "Create POOL",
7aacca6f 17945 "method" : "POST",
7aacca6f
DM
17946 "name" : "createpool",
17947 "parameters" : {
17948 "additionalProperties" : 0,
17949 "properties" : {
7aacca6f 17950 "crush_ruleset" : {
7aacca6f 17951 "default" : 0,
44660702 17952 "description" : "The ruleset to use for mapping object placement in the cluster.",
7aacca6f 17953 "maximum" : 32768,
44660702 17954 "minimum" : 0,
7aacca6f 17955 "optional" : 1,
4bd7df8b 17956 "type" : "integer",
013dc89f 17957 "typetext" : "<integer> (0 - 32768)"
56122987 17958 },
44660702
DM
17959 "min_size" : {
17960 "default" : 1,
17961 "description" : "Minimum number of replicas per object",
17962 "maximum" : 3,
17963 "minimum" : 1,
17964 "optional" : 1,
4bd7df8b 17965 "type" : "integer",
013dc89f 17966 "typetext" : "<integer> (1 - 3)"
7aacca6f 17967 },
44660702
DM
17968 "name" : {
17969 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
17970 "type" : "string",
17971 "typetext" : "<string>"
44660702
DM
17972 },
17973 "node" : {
17974 "description" : "The cluster node name.",
17975 "format" : "pve-node",
013dc89f
DM
17976 "type" : "string",
17977 "typetext" : "<string>"
44660702
DM
17978 },
17979 "pg_num" : {
17980 "default" : 64,
17981 "description" : "Number of placement groups.",
17982 "maximum" : 32768,
17983 "minimum" : 8,
17984 "optional" : 1,
4bd7df8b 17985 "type" : "integer",
013dc89f 17986 "typetext" : "<integer> (8 - 32768)"
44660702
DM
17987 },
17988 "size" : {
17989 "default" : 2,
17990 "description" : "Number of replicas per object",
17991 "maximum" : 3,
17992 "minimum" : 1,
17993 "optional" : 1,
4bd7df8b 17994 "type" : "integer",
013dc89f 17995 "typetext" : "<integer> (1 - 3)"
56122987
DM
17996 }
17997 }
44660702
DM
17998 },
17999 "permissions" : {
18000 "check" : [
18001 "perm",
18002 "/",
18003 [
18004 "Sys.Modify"
18005 ]
18006 ]
18007 },
18008 "protected" : 1,
18009 "proxyto" : "node",
18010 "returns" : {
18011 "type" : "null"
7aacca6f 18012 }
56122987 18013 }
44660702 18014 },
56122987 18015 "leaf" : 0,
44660702
DM
18016 "path" : "/nodes/{node}/ceph/pools",
18017 "text" : "pools"
56122987
DM
18018 },
18019 {
56122987 18020 "info" : {
7aacca6f 18021 "GET" : {
44660702
DM
18022 "description" : "Get OSD crush map",
18023 "method" : "GET",
18024 "name" : "crush",
18025 "parameters" : {
18026 "additionalProperties" : 0,
18027 "properties" : {
18028 "node" : {
18029 "description" : "The cluster node name.",
18030 "format" : "pve-node",
013dc89f
DM
18031 "type" : "string",
18032 "typetext" : "<string>"
44660702
DM
18033 }
18034 }
18035 },
7aacca6f
DM
18036 "permissions" : {
18037 "check" : [
18038 "perm",
18039 "/",
18040 [
18041 "Sys.Audit",
18042 "Datastore.Audit"
18043 ],
18044 "any",
18045 1
18046 ]
18047 },
44660702 18048 "protected" : 1,
7aacca6f 18049 "proxyto" : "node",
56122987 18050 "returns" : {
7aacca6f 18051 "type" : "string"
44660702 18052 }
56122987
DM
18053 }
18054 },
44660702
DM
18055 "leaf" : 1,
18056 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 18057 "text" : "crush"
56122987
DM
18058 },
18059 {
56122987 18060 "info" : {
7aacca6f 18061 "GET" : {
44660702
DM
18062 "description" : "Read ceph log",
18063 "method" : "GET",
18064 "name" : "log",
18065 "parameters" : {
18066 "additionalProperties" : 0,
18067 "properties" : {
18068 "limit" : {
18069 "minimum" : 0,
18070 "optional" : 1,
4bd7df8b 18071 "type" : "integer",
013dc89f 18072 "typetext" : "<integer> (0 - N)"
7aacca6f 18073 },
44660702
DM
18074 "node" : {
18075 "description" : "The cluster node name.",
18076 "format" : "pve-node",
013dc89f
DM
18077 "type" : "string",
18078 "typetext" : "<string>"
44660702
DM
18079 },
18080 "start" : {
18081 "minimum" : 0,
18082 "optional" : 1,
4bd7df8b 18083 "type" : "integer",
013dc89f 18084 "typetext" : "<integer> (0 - N)"
44660702 18085 }
7aacca6f 18086 }
56122987 18087 },
56122987
DM
18088 "permissions" : {
18089 "check" : [
18090 "perm",
7aacca6f 18091 "/nodes/{node}",
56122987 18092 [
7aacca6f 18093 "Sys.Syslog"
56122987
DM
18094 ]
18095 ]
18096 },
7aacca6f 18097 "protected" : 1,
44660702
DM
18098 "proxyto" : "node",
18099 "returns" : {
18100 "items" : {
18101 "properties" : {
18102 "n" : {
18103 "description" : "Line number",
18104 "type" : "integer"
18105 },
18106 "t" : {
18107 "description" : "Line text",
18108 "type" : "string"
18109 }
56122987 18110 },
44660702 18111 "type" : "object"
56122987 18112 },
44660702 18113 "type" : "array"
7aacca6f 18114 }
56122987
DM
18115 }
18116 },
18117 "leaf" : 1,
44660702
DM
18118 "path" : "/nodes/{node}/ceph/log",
18119 "text" : "log"
7aacca6f
DM
18120 }
18121 ],
44660702
DM
18122 "info" : {
18123 "GET" : {
18124 "description" : "Directory index.",
18125 "method" : "GET",
18126 "name" : "index",
18127 "parameters" : {
18128 "additionalProperties" : 0,
18129 "properties" : {
18130 "node" : {
18131 "description" : "The cluster node name.",
18132 "format" : "pve-node",
013dc89f
DM
18133 "type" : "string",
18134 "typetext" : "<string>"
44660702
DM
18135 }
18136 }
18137 },
18138 "permissions" : {
18139 "check" : [
18140 "perm",
18141 "/",
18142 [
18143 "Sys.Audit",
18144 "Datastore.Audit"
18145 ],
18146 "any",
18147 1
18148 ]
18149 },
18150 "returns" : {
18151 "items" : {
18152 "properties" : {},
18153 "type" : "object"
18154 },
18155 "links" : [
18156 {
18157 "href" : "{name}",
18158 "rel" : "child"
18159 }
18160 ],
18161 "type" : "array"
18162 }
18163 }
18164 },
7aacca6f 18165 "leaf" : 0,
44660702
DM
18166 "path" : "/nodes/{node}/ceph",
18167 "text" : "ceph"
7aacca6f
DM
18168 },
18169 {
4bd7df8b
DM
18170 "children" : [
18171 {
18172 "info" : {
18173 "GET" : {
18174 "description" : "Extract configuration from vzdump backup archive.",
18175 "method" : "GET",
18176 "name" : "extractconfig",
18177 "parameters" : {
18178 "additionalProperties" : 0,
18179 "properties" : {
18180 "node" : {
18181 "description" : "The cluster node name.",
18182 "format" : "pve-node",
013dc89f
DM
18183 "type" : "string",
18184 "typetext" : "<string>"
4bd7df8b
DM
18185 },
18186 "volume" : {
18187 "description" : "Volume identifier",
013dc89f
DM
18188 "type" : "string",
18189 "typetext" : "<string>"
4bd7df8b
DM
18190 }
18191 }
18192 },
18193 "permissions" : {
18194 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
18195 "user" : "all"
18196 },
18197 "protected" : 1,
18198 "proxyto" : "node",
18199 "returns" : {
18200 "type" : "string"
18201 }
18202 }
18203 },
18204 "leaf" : 1,
18205 "path" : "/nodes/{node}/vzdump/extractconfig",
18206 "text" : "extractconfig"
18207 }
18208 ],
7aacca6f
DM
18209 "info" : {
18210 "POST" : {
7aacca6f 18211 "description" : "Create backup.",
44660702 18212 "method" : "POST",
7aacca6f
DM
18213 "name" : "vzdump",
18214 "parameters" : {
44660702 18215 "additionalProperties" : 0,
7aacca6f 18216 "properties" : {
44660702
DM
18217 "all" : {
18218 "default" : 0,
18219 "description" : "Backup all known guest systems on this host.",
7aacca6f 18220 "optional" : 1,
013dc89f
DM
18221 "type" : "boolean",
18222 "typetext" : "<boolean>"
56122987 18223 },
44660702 18224 "bwlimit" : {
7aacca6f 18225 "default" : 0,
44660702
DM
18226 "description" : "Limit I/O bandwidth (KBytes per second).",
18227 "minimum" : 0,
7aacca6f 18228 "optional" : 1,
4bd7df8b 18229 "type" : "integer",
013dc89f 18230 "typetext" : "<integer> (0 - N)"
56122987 18231 },
44660702
DM
18232 "compress" : {
18233 "default" : "0",
18234 "description" : "Compress dump file.",
18235 "enum" : [
18236 "0",
18237 "1",
18238 "gzip",
18239 "lzo"
18240 ],
7aacca6f 18241 "optional" : 1,
44660702 18242 "type" : "string"
56122987 18243 },
44660702
DM
18244 "dumpdir" : {
18245 "description" : "Store resulting files to specified directory.",
7aacca6f 18246 "optional" : 1,
013dc89f
DM
18247 "type" : "string",
18248 "typetext" : "<string>"
7aacca6f 18249 },
44660702
DM
18250 "exclude" : {
18251 "description" : "Exclude specified guest systems (assumes --all)",
18252 "format" : "pve-vmid-list",
7aacca6f 18253 "optional" : 1,
013dc89f
DM
18254 "type" : "string",
18255 "typetext" : "<string>"
7aacca6f 18256 },
44660702
DM
18257 "exclude-path" : {
18258 "description" : "Exclude certain files/directories (shell globs).",
18259 "format" : "string-alist",
7aacca6f 18260 "optional" : 1,
013dc89f
DM
18261 "type" : "string",
18262 "typetext" : "<string>"
7aacca6f 18263 },
44660702
DM
18264 "ionice" : {
18265 "default" : 7,
18266 "description" : "Set CFQ ionice priority.",
18267 "maximum" : 8,
18268 "minimum" : 0,
18269 "optional" : 1,
4bd7df8b 18270 "type" : "integer",
013dc89f 18271 "typetext" : "<integer> (0 - 8)"
7aacca6f 18272 },
44660702
DM
18273 "lockwait" : {
18274 "default" : 180,
18275 "description" : "Maximal time to wait for the global lock (minutes).",
18276 "minimum" : 0,
7aacca6f 18277 "optional" : 1,
4bd7df8b 18278 "type" : "integer",
013dc89f 18279 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
18280 },
18281 "mailnotification" : {
44660702 18282 "default" : "always",
7aacca6f
DM
18283 "description" : "Specify when to send an email",
18284 "enum" : [
18285 "always",
18286 "failure"
18287 ],
7aacca6f 18288 "optional" : 1,
44660702 18289 "type" : "string"
7aacca6f
DM
18290 },
18291 "mailto" : {
7aacca6f 18292 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 18293 "format" : "string-list",
7aacca6f 18294 "optional" : 1,
013dc89f
DM
18295 "type" : "string",
18296 "typetext" : "<string>"
56122987 18297 },
44660702
DM
18298 "maxfiles" : {
18299 "default" : 1,
18300 "description" : "Maximal number of backup files per guest system.",
18301 "minimum" : 1,
7aacca6f 18302 "optional" : 1,
4bd7df8b 18303 "type" : "integer",
013dc89f 18304 "typetext" : "<integer> (1 - N)"
56122987 18305 },
7aacca6f 18306 "mode" : {
44660702 18307 "default" : "snapshot",
7aacca6f
DM
18308 "description" : "Backup mode.",
18309 "enum" : [
18310 "snapshot",
18311 "suspend",
18312 "stop"
18313 ],
44660702
DM
18314 "optional" : 1,
18315 "type" : "string"
7aacca6f 18316 },
44660702
DM
18317 "node" : {
18318 "description" : "Only run if executed on this node.",
18319 "format" : "pve-node",
18320 "optional" : 1,
013dc89f
DM
18321 "type" : "string",
18322 "typetext" : "<string>"
44660702
DM
18323 },
18324 "pigz" : {
18325 "default" : 0,
18326 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
18327 "optional" : 1,
013dc89f
DM
18328 "type" : "integer",
18329 "typetext" : "<integer>"
44660702
DM
18330 },
18331 "quiet" : {
18332 "default" : 0,
18333 "description" : "Be quiet.",
18334 "optional" : 1,
013dc89f
DM
18335 "type" : "boolean",
18336 "typetext" : "<boolean>"
44660702
DM
18337 },
18338 "remove" : {
7aacca6f 18339 "default" : 1,
44660702 18340 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 18341 "optional" : 1,
013dc89f
DM
18342 "type" : "boolean",
18343 "typetext" : "<boolean>"
7aacca6f 18344 },
44660702
DM
18345 "script" : {
18346 "description" : "Use specified hook script.",
18347 "optional" : 1,
013dc89f
DM
18348 "type" : "string",
18349 "typetext" : "<string>"
44660702
DM
18350 },
18351 "size" : {
18352 "default" : 1024,
18353 "description" : "Unused, will be removed in a future release.",
18354 "minimum" : 500,
18355 "optional" : 1,
4bd7df8b 18356 "type" : "integer",
013dc89f 18357 "typetext" : "<integer> (500 - N)"
44660702
DM
18358 },
18359 "stdexcludes" : {
18360 "default" : 1,
18361 "description" : "Exclude temporary files and logs.",
18362 "optional" : 1,
013dc89f
DM
18363 "type" : "boolean",
18364 "typetext" : "<boolean>"
44660702
DM
18365 },
18366 "stdout" : {
18367 "description" : "Write tar to stdout, not to a file.",
7aacca6f 18368 "optional" : 1,
013dc89f
DM
18369 "type" : "boolean",
18370 "typetext" : "<boolean>"
44660702
DM
18371 },
18372 "stop" : {
7aacca6f 18373 "default" : 0,
44660702
DM
18374 "description" : "Stop runnig backup jobs on this host.",
18375 "optional" : 1,
013dc89f
DM
18376 "type" : "boolean",
18377 "typetext" : "<boolean>"
7aacca6f 18378 },
44660702
DM
18379 "stopwait" : {
18380 "default" : 10,
18381 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
18382 "minimum" : 0,
18383 "optional" : 1,
4bd7df8b 18384 "type" : "integer",
013dc89f 18385 "typetext" : "<integer> (0 - N)"
7aacca6f 18386 },
44660702
DM
18387 "storage" : {
18388 "description" : "Store resulting file to this storage.",
18389 "format" : "pve-storage-id",
7aacca6f 18390 "optional" : 1,
013dc89f
DM
18391 "type" : "string",
18392 "typetext" : "<string>"
44660702
DM
18393 },
18394 "tmpdir" : {
18395 "description" : "Store temporary files to specified directory.",
18396 "optional" : 1,
013dc89f
DM
18397 "type" : "string",
18398 "typetext" : "<string>"
7aacca6f
DM
18399 },
18400 "vmid" : {
7aacca6f 18401 "description" : "The ID of the guest system you want to backup.",
44660702 18402 "format" : "pve-vmid-list",
7aacca6f 18403 "optional" : 1,
013dc89f
DM
18404 "type" : "string",
18405 "typetext" : "<string>"
7aacca6f 18406 }
7aacca6f
DM
18407 }
18408 },
7aacca6f 18409 "permissions" : {
de0983cb 18410 "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 18411 "user" : "all"
7aacca6f 18412 },
44660702 18413 "protected" : 1,
7aacca6f 18414 "proxyto" : "node",
7aacca6f 18415 "returns" : {
44660702 18416 "type" : "string"
7aacca6f
DM
18417 }
18418 }
18419 },
4bd7df8b 18420 "leaf" : 0,
44660702
DM
18421 "path" : "/nodes/{node}/vzdump",
18422 "text" : "vzdump"
18423 },
18424 {
7aacca6f
DM
18425 "children" : [
18426 {
7aacca6f
DM
18427 "children" : [
18428 {
7aacca6f
DM
18429 "info" : {
18430 "GET" : {
7aacca6f
DM
18431 "description" : "Read service properties",
18432 "method" : "GET",
18433 "name" : "service_state",
18434 "parameters" : {
44660702 18435 "additionalProperties" : 0,
7aacca6f
DM
18436 "properties" : {
18437 "node" : {
7aacca6f 18438 "description" : "The cluster node name.",
44660702 18439 "format" : "pve-node",
013dc89f
DM
18440 "type" : "string",
18441 "typetext" : "<string>"
7aacca6f
DM
18442 },
18443 "service" : {
44660702 18444 "description" : "Service ID",
7aacca6f
DM
18445 "enum" : [
18446 "pveproxy",
18447 "pvedaemon",
18448 "spiceproxy",
18449 "pvestatd",
18450 "pve-cluster",
18451 "corosync",
18452 "pve-firewall",
18453 "pvefw-logger",
18454 "pve-ha-crm",
18455 "pve-ha-lrm",
18456 "sshd",
18457 "syslog",
18458 "cron",
18459 "postfix",
18460 "ksmtuned",
18461 "systemd-timesyncd"
18462 ],
7aacca6f
DM
18463 "type" : "string"
18464 }
44660702 18465 }
56122987 18466 },
7aacca6f
DM
18467 "permissions" : {
18468 "check" : [
18469 "perm",
18470 "/nodes/{node}",
18471 [
44660702 18472 "Sys.Audit"
7aacca6f
DM
18473 ]
18474 ]
56122987 18475 },
44660702 18476 "protected" : 1,
7aacca6f 18477 "proxyto" : "node",
44660702
DM
18478 "returns" : {
18479 "properties" : {},
18480 "type" : "object"
18481 }
18482 }
18483 },
18484 "leaf" : 1,
18485 "path" : "/nodes/{node}/services/{service}/state",
18486 "text" : "state"
18487 },
18488 {
18489 "info" : {
18490 "POST" : {
18491 "description" : "Start service.",
7aacca6f
DM
18492 "method" : "POST",
18493 "name" : "service_start",
18494 "parameters" : {
44660702 18495 "additionalProperties" : 0,
7aacca6f 18496 "properties" : {
44660702
DM
18497 "node" : {
18498 "description" : "The cluster node name.",
18499 "format" : "pve-node",
013dc89f
DM
18500 "type" : "string",
18501 "typetext" : "<string>"
44660702 18502 },
7aacca6f 18503 "service" : {
44660702 18504 "description" : "Service ID",
7aacca6f
DM
18505 "enum" : [
18506 "pveproxy",
18507 "pvedaemon",
18508 "spiceproxy",
18509 "pvestatd",
18510 "pve-cluster",
18511 "corosync",
18512 "pve-firewall",
18513 "pvefw-logger",
18514 "pve-ha-crm",
18515 "pve-ha-lrm",
18516 "sshd",
18517 "syslog",
18518 "cron",
18519 "postfix",
18520 "ksmtuned",
18521 "systemd-timesyncd"
18522 ],
7aacca6f
DM
18523 "type" : "string"
18524 }
44660702 18525 }
56122987 18526 },
56122987
DM
18527 "permissions" : {
18528 "check" : [
18529 "perm",
18530 "/nodes/{node}",
18531 [
7aacca6f 18532 "Sys.Modify"
56122987
DM
18533 ]
18534 ]
7aacca6f 18535 },
7aacca6f 18536 "protected" : 1,
44660702
DM
18537 "proxyto" : "node",
18538 "returns" : {
18539 "type" : "string"
18540 }
18541 }
18542 },
18543 "leaf" : 1,
18544 "path" : "/nodes/{node}/services/{service}/start",
18545 "text" : "start"
18546 },
18547 {
18548 "info" : {
18549 "POST" : {
18550 "description" : "Stop service.",
18551 "method" : "POST",
7aacca6f 18552 "name" : "service_stop",
56122987 18553 "parameters" : {
7aacca6f 18554 "additionalProperties" : 0,
56122987
DM
18555 "properties" : {
18556 "node" : {
44660702 18557 "description" : "The cluster node name.",
56122987 18558 "format" : "pve-node",
013dc89f
DM
18559 "type" : "string",
18560 "typetext" : "<string>"
56122987
DM
18561 },
18562 "service" : {
44660702 18563 "description" : "Service ID",
56122987
DM
18564 "enum" : [
18565 "pveproxy",
18566 "pvedaemon",
18567 "spiceproxy",
18568 "pvestatd",
18569 "pve-cluster",
18570 "corosync",
18571 "pve-firewall",
18572 "pvefw-logger",
18573 "pve-ha-crm",
18574 "pve-ha-lrm",
18575 "sshd",
18576 "syslog",
18577 "cron",
18578 "postfix",
18579 "ksmtuned",
18580 "systemd-timesyncd"
18581 ],
56122987
DM
18582 "type" : "string"
18583 }
7aacca6f 18584 }
44660702 18585 },
56122987
DM
18586 "permissions" : {
18587 "check" : [
18588 "perm",
18589 "/nodes/{node}",
18590 [
18591 "Sys.Modify"
18592 ]
18593 ]
18594 },
44660702
DM
18595 "protected" : 1,
18596 "proxyto" : "node",
7aacca6f
DM
18597 "returns" : {
18598 "type" : "string"
44660702
DM
18599 }
18600 }
18601 },
18602 "leaf" : 1,
18603 "path" : "/nodes/{node}/services/{service}/stop",
18604 "text" : "stop"
18605 },
18606 {
18607 "info" : {
18608 "POST" : {
18609 "description" : "Restart service.",
18610 "method" : "POST",
18611 "name" : "service_restart",
56122987
DM
18612 "parameters" : {
18613 "additionalProperties" : 0,
18614 "properties" : {
7aacca6f
DM
18615 "node" : {
18616 "description" : "The cluster node name.",
44660702 18617 "format" : "pve-node",
013dc89f
DM
18618 "type" : "string",
18619 "typetext" : "<string>"
7aacca6f
DM
18620 },
18621 "service" : {
44660702 18622 "description" : "Service ID",
56122987
DM
18623 "enum" : [
18624 "pveproxy",
18625 "pvedaemon",
18626 "spiceproxy",
18627 "pvestatd",
18628 "pve-cluster",
18629 "corosync",
18630 "pve-firewall",
18631 "pvefw-logger",
18632 "pve-ha-crm",
18633 "pve-ha-lrm",
18634 "sshd",
18635 "syslog",
18636 "cron",
18637 "postfix",
18638 "ksmtuned",
18639 "systemd-timesyncd"
7aacca6f 18640 ],
7aacca6f 18641 "type" : "string"
56122987
DM
18642 }
18643 }
18644 },
44660702
DM
18645 "permissions" : {
18646 "check" : [
18647 "perm",
18648 "/nodes/{node}",
18649 [
18650 "Sys.Modify"
18651 ]
18652 ]
18653 },
18654 "protected" : 1,
18655 "proxyto" : "node",
18656 "returns" : {
18657 "type" : "string"
18658 }
56122987 18659 }
44660702
DM
18660 },
18661 "leaf" : 1,
18662 "path" : "/nodes/{node}/services/{service}/restart",
18663 "text" : "restart"
56122987
DM
18664 },
18665 {
56122987
DM
18666 "info" : {
18667 "POST" : {
44660702
DM
18668 "description" : "Reload service.",
18669 "method" : "POST",
7aacca6f 18670 "name" : "service_reload",
56122987
DM
18671 "parameters" : {
18672 "additionalProperties" : 0,
18673 "properties" : {
44660702
DM
18674 "node" : {
18675 "description" : "The cluster node name.",
18676 "format" : "pve-node",
013dc89f
DM
18677 "type" : "string",
18678 "typetext" : "<string>"
44660702 18679 },
56122987 18680 "service" : {
56122987
DM
18681 "description" : "Service ID",
18682 "enum" : [
18683 "pveproxy",
18684 "pvedaemon",
18685 "spiceproxy",
18686 "pvestatd",
18687 "pve-cluster",
18688 "corosync",
18689 "pve-firewall",
18690 "pvefw-logger",
18691 "pve-ha-crm",
18692 "pve-ha-lrm",
18693 "sshd",
18694 "syslog",
18695 "cron",
18696 "postfix",
18697 "ksmtuned",
18698 "systemd-timesyncd"
44660702
DM
18699 ],
18700 "type" : "string"
56122987
DM
18701 }
18702 }
18703 },
56122987
DM
18704 "permissions" : {
18705 "check" : [
18706 "perm",
18707 "/nodes/{node}",
18708 [
18709 "Sys.Modify"
18710 ]
18711 ]
18712 },
44660702 18713 "protected" : 1,
56122987 18714 "proxyto" : "node",
7aacca6f
DM
18715 "returns" : {
18716 "type" : "string"
56122987
DM
18717 }
18718 }
44660702
DM
18719 },
18720 "leaf" : 1,
18721 "path" : "/nodes/{node}/services/{service}/reload",
18722 "text" : "reload"
18723 }
18724 ],
18725 "info" : {
18726 "GET" : {
18727 "description" : "Directory index",
18728 "method" : "GET",
18729 "name" : "srvcmdidx",
18730 "parameters" : {
18731 "additionalProperties" : 0,
18732 "properties" : {
18733 "node" : {
18734 "description" : "The cluster node name.",
18735 "format" : "pve-node",
013dc89f
DM
18736 "type" : "string",
18737 "typetext" : "<string>"
44660702
DM
18738 },
18739 "service" : {
18740 "description" : "Service ID",
18741 "enum" : [
18742 "pveproxy",
18743 "pvedaemon",
18744 "spiceproxy",
18745 "pvestatd",
18746 "pve-cluster",
18747 "corosync",
18748 "pve-firewall",
18749 "pvefw-logger",
18750 "pve-ha-crm",
18751 "pve-ha-lrm",
18752 "sshd",
18753 "syslog",
18754 "cron",
18755 "postfix",
18756 "ksmtuned",
18757 "systemd-timesyncd"
18758 ],
18759 "type" : "string"
18760 }
18761 }
18762 },
18763 "permissions" : {
18764 "check" : [
18765 "perm",
18766 "/nodes/{node}",
18767 [
18768 "Sys.Audit"
18769 ]
18770 ]
18771 },
18772 "returns" : {
18773 "items" : {
18774 "properties" : {
18775 "subdir" : {
18776 "type" : "string"
18777 }
18778 },
18779 "type" : "object"
18780 },
18781 "links" : [
18782 {
18783 "href" : "{subdir}",
18784 "rel" : "child"
18785 }
18786 ],
18787 "type" : "array"
18788 }
18789 }
18790 },
18791 "leaf" : 0,
18792 "path" : "/nodes/{node}/services/{service}",
18793 "text" : "{service}"
18794 }
18795 ],
18796 "info" : {
18797 "GET" : {
18798 "description" : "Service list.",
18799 "method" : "GET",
18800 "name" : "index",
18801 "parameters" : {
18802 "additionalProperties" : 0,
18803 "properties" : {
18804 "node" : {
18805 "description" : "The cluster node name.",
18806 "format" : "pve-node",
013dc89f
DM
18807 "type" : "string",
18808 "typetext" : "<string>"
44660702
DM
18809 }
18810 }
18811 },
18812 "permissions" : {
18813 "check" : [
18814 "perm",
18815 "/nodes/{node}",
18816 [
18817 "Sys.Audit"
18818 ]
18819 ]
18820 },
18821 "protected" : 1,
18822 "proxyto" : "node",
18823 "returns" : {
18824 "items" : {
18825 "properties" : {},
18826 "type" : "object"
18827 },
18828 "links" : [
18829 {
18830 "href" : "{service}",
18831 "rel" : "child"
56122987 18832 }
44660702
DM
18833 ],
18834 "type" : "array"
18835 }
7aacca6f 18836 }
44660702 18837 },
7aacca6f 18838 "leaf" : 0,
44660702
DM
18839 "path" : "/nodes/{node}/services",
18840 "text" : "services"
7aacca6f
DM
18841 },
18842 {
7aacca6f
DM
18843 "info" : {
18844 "GET" : {
44660702
DM
18845 "description" : "Read subscription info.",
18846 "method" : "GET",
18847 "name" : "get",
7aacca6f 18848 "parameters" : {
44660702 18849 "additionalProperties" : 0,
7aacca6f
DM
18850 "properties" : {
18851 "node" : {
18852 "description" : "The cluster node name.",
44660702 18853 "format" : "pve-node",
013dc89f
DM
18854 "type" : "string",
18855 "typetext" : "<string>"
7aacca6f 18856 }
44660702
DM
18857 }
18858 },
18859 "permissions" : {
18860 "user" : "all"
7aacca6f 18861 },
7aacca6f
DM
18862 "proxyto" : "node",
18863 "returns" : {
18864 "type" : "object"
44660702 18865 }
7aacca6f 18866 },
44660702
DM
18867 "POST" : {
18868 "description" : "Update subscription info.",
18869 "method" : "POST",
18870 "name" : "update",
7aacca6f
DM
18871 "parameters" : {
18872 "additionalProperties" : 0,
18873 "properties" : {
44660702
DM
18874 "force" : {
18875 "default" : 0,
18876 "description" : "Always connect to server, even if we have up to date info inside local cache.",
18877 "optional" : 1,
013dc89f
DM
18878 "type" : "boolean",
18879 "typetext" : "<boolean>"
44660702 18880 },
7aacca6f 18881 "node" : {
7aacca6f 18882 "description" : "The cluster node name.",
44660702 18883 "format" : "pve-node",
013dc89f
DM
18884 "type" : "string",
18885 "typetext" : "<string>"
7aacca6f
DM
18886 }
18887 }
18888 },
7aacca6f 18889 "protected" : 1,
7aacca6f 18890 "proxyto" : "node",
44660702
DM
18891 "returns" : {
18892 "type" : "null"
18893 }
18894 },
18895 "PUT" : {
18896 "description" : "Set subscription key.",
18897 "method" : "PUT",
18898 "name" : "set",
7aacca6f
DM
18899 "parameters" : {
18900 "additionalProperties" : 0,
18901 "properties" : {
44660702
DM
18902 "key" : {
18903 "description" : "Proxmox VE subscription key",
013dc89f
DM
18904 "type" : "string",
18905 "typetext" : "<string>"
7aacca6f
DM
18906 },
18907 "node" : {
7aacca6f 18908 "description" : "The cluster node name.",
44660702 18909 "format" : "pve-node",
013dc89f
DM
18910 "type" : "string",
18911 "typetext" : "<string>"
7aacca6f
DM
18912 }
18913 }
18914 },
44660702
DM
18915 "protected" : 1,
18916 "proxyto" : "node",
7aacca6f
DM
18917 "returns" : {
18918 "type" : "null"
44660702 18919 }
7aacca6f
DM
18920 }
18921 },
44660702 18922 "leaf" : 1,
7aacca6f 18923 "path" : "/nodes/{node}/subscription",
44660702 18924 "text" : "subscription"
7aacca6f
DM
18925 },
18926 {
7aacca6f
DM
18927 "children" : [
18928 {
56122987 18929 "info" : {
7aacca6f 18930 "DELETE" : {
44660702
DM
18931 "description" : "Delete network device configuration",
18932 "method" : "DELETE",
18933 "name" : "delete_network",
18934 "parameters" : {
18935 "additionalProperties" : 0,
18936 "properties" : {
18937 "iface" : {
18938 "description" : "Network interface name.",
18939 "format" : "pve-iface",
18940 "maxLength" : 20,
18941 "minLength" : 2,
013dc89f
DM
18942 "type" : "string",
18943 "typetext" : "<string>"
44660702
DM
18944 },
18945 "node" : {
18946 "description" : "The cluster node name.",
18947 "format" : "pve-node",
013dc89f
DM
18948 "type" : "string",
18949 "typetext" : "<string>"
44660702
DM
18950 }
18951 }
7aacca6f
DM
18952 },
18953 "permissions" : {
18954 "check" : [
18955 "perm",
18956 "/nodes/{node}",
18957 [
18958 "Sys.Modify"
18959 ]
18960 ]
18961 },
44660702 18962 "protected" : 1,
7aacca6f 18963 "proxyto" : "node",
44660702
DM
18964 "returns" : {
18965 "type" : "null"
18966 }
18967 },
18968 "GET" : {
18969 "description" : "Read network device configuration",
18970 "method" : "GET",
18971 "name" : "network_config",
56122987 18972 "parameters" : {
44660702 18973 "additionalProperties" : 0,
56122987 18974 "properties" : {
7aacca6f 18975 "iface" : {
7aacca6f 18976 "description" : "Network interface name.",
44660702
DM
18977 "format" : "pve-iface",
18978 "maxLength" : 20,
7aacca6f 18979 "minLength" : 2,
013dc89f
DM
18980 "type" : "string",
18981 "typetext" : "<string>"
44660702
DM
18982 },
18983 "node" : {
18984 "description" : "The cluster node name.",
18985 "format" : "pve-node",
013dc89f
DM
18986 "type" : "string",
18987 "typetext" : "<string>"
56122987 18988 }
44660702 18989 }
7aacca6f
DM
18990 },
18991 "permissions" : {
18992 "check" : [
18993 "perm",
18994 "/nodes/{node}",
18995 [
44660702 18996 "Sys.Audit"
7aacca6f
DM
18997 ]
18998 ]
18999 },
19000 "proxyto" : "node",
44660702
DM
19001 "returns" : {
19002 "properties" : {
19003 "method" : {
19004 "type" : "string"
19005 },
19006 "type" : {
19007 "type" : "string"
19008 }
19009 },
19010 "type" : "object"
19011 }
19012 },
19013 "PUT" : {
7aacca6f
DM
19014 "description" : "Update network device configuration",
19015 "method" : "PUT",
19016 "name" : "update_network",
19017 "parameters" : {
19018 "additionalProperties" : 0,
19019 "properties" : {
7aacca6f 19020 "address" : {
44660702 19021 "description" : "IP address.",
7aacca6f 19022 "format" : "ipv4",
44660702 19023 "optional" : 1,
7aacca6f 19024 "requires" : "netmask",
013dc89f
DM
19025 "type" : "string",
19026 "typetext" : "<string>"
7aacca6f 19027 },
44660702
DM
19028 "address6" : {
19029 "description" : "IP address.",
19030 "format" : "ipv6",
19031 "optional" : 1,
19032 "requires" : "netmask6",
013dc89f
DM
19033 "type" : "string",
19034 "typetext" : "<string>"
7aacca6f
DM
19035 },
19036 "autostart" : {
44660702 19037 "description" : "Automatically start interface on boot.",
7aacca6f 19038 "optional" : 1,
013dc89f
DM
19039 "type" : "boolean",
19040 "typetext" : "<boolean>"
7aacca6f 19041 },
44660702
DM
19042 "bond_mode" : {
19043 "description" : "Bonding mode.",
7aacca6f 19044 "enum" : [
44660702
DM
19045 "balance-rr",
19046 "active-backup",
19047 "balance-xor",
19048 "broadcast",
19049 "802.3ad",
19050 "balance-tlb",
19051 "balance-alb",
19052 "balance-slb",
19053 "lacp-balance-slb",
19054 "lacp-balance-tcp"
19055 ],
7aacca6f 19056 "optional" : 1,
44660702 19057 "type" : "string"
7aacca6f 19058 },
44660702
DM
19059 "bond_xmit_hash_policy" : {
19060 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19061 "enum" : [
19062 "layer2",
19063 "layer2+3",
19064 "layer3+4"
19065 ],
7aacca6f 19066 "optional" : 1,
44660702 19067 "type" : "string"
7aacca6f 19068 },
44660702
DM
19069 "bridge_ports" : {
19070 "description" : "Specify the iterfaces you want to add to your bridge.",
19071 "format" : "pve-iface-list",
7aacca6f 19072 "optional" : 1,
013dc89f
DM
19073 "type" : "string",
19074 "typetext" : "<string>"
7aacca6f 19075 },
44660702
DM
19076 "bridge_vlan_aware" : {
19077 "description" : "Enable bridge vlan support.",
7aacca6f 19078 "optional" : 1,
013dc89f
DM
19079 "type" : "boolean",
19080 "typetext" : "<boolean>"
7aacca6f
DM
19081 },
19082 "comments" : {
44660702 19083 "description" : "Comments",
7aacca6f 19084 "optional" : 1,
013dc89f
DM
19085 "type" : "string",
19086 "typetext" : "<string>"
7aacca6f 19087 },
44660702
DM
19088 "comments6" : {
19089 "description" : "Comments",
7aacca6f 19090 "optional" : 1,
013dc89f
DM
19091 "type" : "string",
19092 "typetext" : "<string>"
7aacca6f 19093 },
44660702
DM
19094 "delete" : {
19095 "description" : "A list of settings you want to delete.",
19096 "format" : "pve-configid-list",
7aacca6f 19097 "optional" : 1,
013dc89f
DM
19098 "type" : "string",
19099 "typetext" : "<string>"
7aacca6f 19100 },
44660702
DM
19101 "gateway" : {
19102 "description" : "Default gateway address.",
19103 "format" : "ipv4",
7aacca6f 19104 "optional" : 1,
013dc89f
DM
19105 "type" : "string",
19106 "typetext" : "<string>"
7aacca6f 19107 },
44660702
DM
19108 "gateway6" : {
19109 "description" : "Default ipv6 gateway address.",
19110 "format" : "ipv6",
7aacca6f 19111 "optional" : 1,
013dc89f
DM
19112 "type" : "string",
19113 "typetext" : "<string>"
7aacca6f
DM
19114 },
19115 "iface" : {
44660702 19116 "description" : "Network interface name.",
7aacca6f
DM
19117 "format" : "pve-iface",
19118 "maxLength" : 20,
19119 "minLength" : 2,
013dc89f
DM
19120 "type" : "string",
19121 "typetext" : "<string>"
7aacca6f 19122 },
44660702
DM
19123 "netmask" : {
19124 "description" : "Network mask.",
19125 "format" : "ipv4mask",
7aacca6f 19126 "optional" : 1,
44660702 19127 "requires" : "address",
013dc89f
DM
19128 "type" : "string",
19129 "typetext" : "<string>"
7aacca6f
DM
19130 },
19131 "netmask6" : {
44660702 19132 "description" : "Network mask.",
7aacca6f 19133 "maximum" : 128,
44660702 19134 "minimum" : 0,
7aacca6f
DM
19135 "optional" : 1,
19136 "requires" : "address6",
4bd7df8b 19137 "type" : "integer",
013dc89f 19138 "typetext" : "<integer> (0 - 128)"
44660702 19139 },
7aacca6f 19140 "node" : {
44660702 19141 "description" : "The cluster node name.",
7aacca6f 19142 "format" : "pve-node",
013dc89f
DM
19143 "type" : "string",
19144 "typetext" : "<string>"
7aacca6f 19145 },
44660702
DM
19146 "ovs_bonds" : {
19147 "description" : "Specify the interfaces used by the bonding device.",
19148 "format" : "pve-iface-list",
19149 "optional" : 1,
013dc89f
DM
19150 "type" : "string",
19151 "typetext" : "<string>"
44660702
DM
19152 },
19153 "ovs_bridge" : {
19154 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19155 "format" : "pve-iface",
19156 "optional" : 1,
013dc89f
DM
19157 "type" : "string",
19158 "typetext" : "<string>"
44660702
DM
19159 },
19160 "ovs_options" : {
19161 "description" : "OVS interface options.",
19162 "maxLength" : 1024,
19163 "optional" : 1,
013dc89f
DM
19164 "type" : "string",
19165 "typetext" : "<string>"
44660702
DM
19166 },
19167 "ovs_ports" : {
19168 "description" : "Specify the iterfaces you want to add to your bridge.",
19169 "format" : "pve-iface-list",
19170 "optional" : 1,
013dc89f
DM
19171 "type" : "string",
19172 "typetext" : "<string>"
44660702
DM
19173 },
19174 "ovs_tag" : {
19175 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19176 "maximum" : 4094,
19177 "minimum" : 1,
19178 "optional" : 1,
4bd7df8b 19179 "type" : "integer",
013dc89f 19180 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19181 },
19182 "slaves" : {
19183 "description" : "Specify the interfaces used by the bonding device.",
19184 "format" : "pve-iface-list",
19185 "optional" : 1,
013dc89f
DM
19186 "type" : "string",
19187 "typetext" : "<string>"
44660702
DM
19188 },
19189 "type" : {
19190 "description" : "Network interface type",
19191 "enum" : [
19192 "bridge",
19193 "bond",
19194 "eth",
19195 "alias",
19196 "vlan",
19197 "OVSBridge",
19198 "OVSBond",
19199 "OVSPort",
19200 "OVSIntPort",
19201 "unknown"
19202 ],
19203 "type" : "string"
7aacca6f
DM
19204 }
19205 }
19206 },
7aacca6f
DM
19207 "permissions" : {
19208 "check" : [
19209 "perm",
19210 "/nodes/{node}",
19211 [
44660702 19212 "Sys.Modify"
7aacca6f
DM
19213 ]
19214 ]
19215 },
44660702
DM
19216 "protected" : 1,
19217 "proxyto" : "node",
7aacca6f 19218 "returns" : {
44660702
DM
19219 "type" : "null"
19220 }
7aacca6f
DM
19221 }
19222 },
7aacca6f 19223 "leaf" : 1,
44660702
DM
19224 "path" : "/nodes/{node}/network/{iface}",
19225 "text" : "{iface}"
7aacca6f
DM
19226 }
19227 ],
7aacca6f 19228 "info" : {
44660702
DM
19229 "DELETE" : {
19230 "description" : "Revert network configuration changes.",
19231 "method" : "DELETE",
19232 "name" : "revert_network_changes",
7aacca6f
DM
19233 "parameters" : {
19234 "additionalProperties" : 0,
19235 "properties" : {
7aacca6f 19236 "node" : {
7aacca6f 19237 "description" : "The cluster node name.",
44660702 19238 "format" : "pve-node",
013dc89f
DM
19239 "type" : "string",
19240 "typetext" : "<string>"
7aacca6f
DM
19241 }
19242 }
44660702 19243 },
7aacca6f
DM
19244 "permissions" : {
19245 "check" : [
19246 "perm",
19247 "/nodes/{node}",
19248 [
19249 "Sys.Modify"
19250 ]
19251 ]
19252 },
44660702
DM
19253 "protected" : 1,
19254 "proxyto" : "node",
7aacca6f
DM
19255 "returns" : {
19256 "type" : "null"
44660702 19257 }
7aacca6f 19258 },
44660702
DM
19259 "GET" : {
19260 "description" : "List available networks",
19261 "method" : "GET",
19262 "name" : "index",
7aacca6f 19263 "parameters" : {
44660702 19264 "additionalProperties" : 0,
7aacca6f 19265 "properties" : {
7aacca6f 19266 "node" : {
44660702
DM
19267 "description" : "The cluster node name.",
19268 "format" : "pve-node",
013dc89f
DM
19269 "type" : "string",
19270 "typetext" : "<string>"
7aacca6f
DM
19271 },
19272 "type" : {
44660702 19273 "description" : "Only list specific interface types.",
7aacca6f
DM
19274 "enum" : [
19275 "bridge",
19276 "bond",
19277 "eth",
19278 "alias",
19279 "vlan",
19280 "OVSBridge",
19281 "OVSBond",
19282 "OVSPort",
19283 "OVSIntPort",
44660702 19284 "any_bridge"
7aacca6f 19285 ],
7aacca6f 19286 "optional" : 1,
44660702
DM
19287 "type" : "string"
19288 }
19289 }
19290 },
19291 "permissions" : {
19292 "user" : "all"
19293 },
19294 "proxyto" : "node",
19295 "returns" : {
19296 "items" : {
19297 "properties" : {},
19298 "type" : "object"
19299 },
19300 "links" : [
19301 {
19302 "href" : "{iface}",
19303 "rel" : "child"
19304 }
19305 ],
19306 "type" : "array"
19307 }
19308 },
19309 "POST" : {
19310 "description" : "Create network device configuration",
19311 "method" : "POST",
19312 "name" : "create_network",
19313 "parameters" : {
19314 "additionalProperties" : 0,
19315 "properties" : {
7aacca6f 19316 "address" : {
44660702
DM
19317 "description" : "IP address.",
19318 "format" : "ipv4",
19319 "optional" : 1,
7aacca6f 19320 "requires" : "netmask",
013dc89f
DM
19321 "type" : "string",
19322 "typetext" : "<string>"
44660702
DM
19323 },
19324 "address6" : {
7aacca6f 19325 "description" : "IP address.",
44660702
DM
19326 "format" : "ipv6",
19327 "optional" : 1,
19328 "requires" : "netmask6",
013dc89f
DM
19329 "type" : "string",
19330 "typetext" : "<string>"
44660702
DM
19331 },
19332 "autostart" : {
19333 "description" : "Automatically start interface on boot.",
7aacca6f 19334 "optional" : 1,
013dc89f
DM
19335 "type" : "boolean",
19336 "typetext" : "<boolean>"
7aacca6f
DM
19337 },
19338 "bond_mode" : {
19339 "description" : "Bonding mode.",
19340 "enum" : [
19341 "balance-rr",
19342 "active-backup",
19343 "balance-xor",
19344 "broadcast",
19345 "802.3ad",
19346 "balance-tlb",
19347 "balance-alb",
19348 "balance-slb",
19349 "lacp-balance-slb",
19350 "lacp-balance-tcp"
19351 ],
19352 "optional" : 1,
19353 "type" : "string"
19354 },
44660702
DM
19355 "bond_xmit_hash_policy" : {
19356 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19357 "enum" : [
19358 "layer2",
19359 "layer2+3",
19360 "layer3+4"
19361 ],
19362 "optional" : 1,
19363 "type" : "string"
19364 },
19365 "bridge_ports" : {
19366 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 19367 "format" : "pve-iface-list",
7aacca6f 19368 "optional" : 1,
013dc89f
DM
19369 "type" : "string",
19370 "typetext" : "<string>"
7aacca6f 19371 },
44660702
DM
19372 "bridge_vlan_aware" : {
19373 "description" : "Enable bridge vlan support.",
7aacca6f 19374 "optional" : 1,
013dc89f
DM
19375 "type" : "boolean",
19376 "typetext" : "<boolean>"
7aacca6f 19377 },
44660702
DM
19378 "comments" : {
19379 "description" : "Comments",
7aacca6f 19380 "optional" : 1,
013dc89f
DM
19381 "type" : "string",
19382 "typetext" : "<string>"
44660702
DM
19383 },
19384 "comments6" : {
19385 "description" : "Comments",
19386 "optional" : 1,
013dc89f
DM
19387 "type" : "string",
19388 "typetext" : "<string>"
44660702
DM
19389 },
19390 "gateway" : {
19391 "description" : "Default gateway address.",
19392 "format" : "ipv4",
19393 "optional" : 1,
013dc89f
DM
19394 "type" : "string",
19395 "typetext" : "<string>"
44660702
DM
19396 },
19397 "gateway6" : {
19398 "description" : "Default ipv6 gateway address.",
19399 "format" : "ipv6",
19400 "optional" : 1,
013dc89f
DM
19401 "type" : "string",
19402 "typetext" : "<string>"
56122987 19403 },
7aacca6f 19404 "iface" : {
44660702 19405 "description" : "Network interface name.",
7aacca6f
DM
19406 "format" : "pve-iface",
19407 "maxLength" : 20,
44660702 19408 "minLength" : 2,
013dc89f
DM
19409 "type" : "string",
19410 "typetext" : "<string>"
56122987 19411 },
44660702
DM
19412 "netmask" : {
19413 "description" : "Network mask.",
19414 "format" : "ipv4mask",
7aacca6f 19415 "optional" : 1,
44660702 19416 "requires" : "address",
013dc89f
DM
19417 "type" : "string",
19418 "typetext" : "<string>"
7aacca6f 19419 },
44660702
DM
19420 "netmask6" : {
19421 "description" : "Network mask.",
19422 "maximum" : 128,
19423 "minimum" : 0,
7aacca6f 19424 "optional" : 1,
44660702 19425 "requires" : "address6",
4bd7df8b 19426 "type" : "integer",
013dc89f 19427 "typetext" : "<integer> (0 - 128)"
7aacca6f 19428 },
44660702
DM
19429 "node" : {
19430 "description" : "The cluster node name.",
19431 "format" : "pve-node",
013dc89f
DM
19432 "type" : "string",
19433 "typetext" : "<string>"
44660702
DM
19434 },
19435 "ovs_bonds" : {
19436 "description" : "Specify the interfaces used by the bonding device.",
19437 "format" : "pve-iface-list",
7aacca6f 19438 "optional" : 1,
013dc89f
DM
19439 "type" : "string",
19440 "typetext" : "<string>"
7aacca6f 19441 },
44660702
DM
19442 "ovs_bridge" : {
19443 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19444 "format" : "pve-iface",
19445 "optional" : 1,
013dc89f
DM
19446 "type" : "string",
19447 "typetext" : "<string>"
44660702
DM
19448 },
19449 "ovs_options" : {
19450 "description" : "OVS interface options.",
19451 "maxLength" : 1024,
19452 "optional" : 1,
013dc89f
DM
19453 "type" : "string",
19454 "typetext" : "<string>"
44660702
DM
19455 },
19456 "ovs_ports" : {
19457 "description" : "Specify the iterfaces you want to add to your bridge.",
19458 "format" : "pve-iface-list",
19459 "optional" : 1,
013dc89f
DM
19460 "type" : "string",
19461 "typetext" : "<string>"
44660702
DM
19462 },
19463 "ovs_tag" : {
19464 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19465 "maximum" : 4094,
19466 "minimum" : 1,
19467 "optional" : 1,
4bd7df8b 19468 "type" : "integer",
013dc89f 19469 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19470 },
19471 "slaves" : {
19472 "description" : "Specify the interfaces used by the bonding device.",
19473 "format" : "pve-iface-list",
7aacca6f 19474 "optional" : 1,
013dc89f
DM
19475 "type" : "string",
19476 "typetext" : "<string>"
44660702
DM
19477 },
19478 "type" : {
19479 "description" : "Network interface type",
7aacca6f 19480 "enum" : [
44660702
DM
19481 "bridge",
19482 "bond",
19483 "eth",
19484 "alias",
19485 "vlan",
19486 "OVSBridge",
19487 "OVSBond",
19488 "OVSPort",
19489 "OVSIntPort",
19490 "unknown"
7aacca6f 19491 ],
44660702 19492 "type" : "string"
56122987 19493 }
44660702 19494 }
56122987 19495 },
56122987
DM
19496 "permissions" : {
19497 "check" : [
19498 "perm",
19499 "/nodes/{node}",
19500 [
7aacca6f 19501 "Sys.Modify"
44660702
DM
19502 ]
19503 ]
7aacca6f 19504 },
44660702
DM
19505 "protected" : 1,
19506 "proxyto" : "node",
19507 "returns" : {
19508 "type" : "null"
19509 }
19510 }
19511 },
19512 "leaf" : 0,
19513 "path" : "/nodes/{node}/network",
19514 "text" : "network"
19515 },
19516 {
19517 "children" : [
19518 {
7aacca6f
DM
19519 "children" : [
19520 {
19521 "info" : {
19522 "GET" : {
44660702 19523 "description" : "Read task log.",
7aacca6f
DM
19524 "method" : "GET",
19525 "name" : "read_task_log",
19526 "parameters" : {
44660702 19527 "additionalProperties" : 0,
7aacca6f 19528 "properties" : {
44660702
DM
19529 "limit" : {
19530 "minimum" : 0,
7aacca6f 19531 "optional" : 1,
4bd7df8b 19532 "type" : "integer",
013dc89f 19533 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
19534 },
19535 "node" : {
19536 "description" : "The cluster node name.",
44660702 19537 "format" : "pve-node",
013dc89f
DM
19538 "type" : "string",
19539 "typetext" : "<string>"
7aacca6f 19540 },
44660702
DM
19541 "start" : {
19542 "minimum" : 0,
7aacca6f 19543 "optional" : 1,
4bd7df8b 19544 "type" : "integer",
013dc89f 19545 "typetext" : "<integer> (0 - N)"
44660702
DM
19546 },
19547 "upid" : {
013dc89f
DM
19548 "type" : "string",
19549 "typetext" : "<string>"
7aacca6f 19550 }
44660702
DM
19551 }
19552 },
19553 "permissions" : {
19554 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19555 "user" : "all"
7aacca6f
DM
19556 },
19557 "protected" : 1,
44660702 19558 "proxyto" : "node",
7aacca6f 19559 "returns" : {
7aacca6f 19560 "items" : {
7aacca6f
DM
19561 "properties" : {
19562 "n" : {
44660702
DM
19563 "description" : "Line number",
19564 "type" : "integer"
7aacca6f
DM
19565 },
19566 "t" : {
44660702
DM
19567 "description" : "Line text",
19568 "type" : "string"
7aacca6f 19569 }
44660702
DM
19570 },
19571 "type" : "object"
19572 },
19573 "type" : "array"
19574 }
7aacca6f 19575 }
56122987 19576 },
7aacca6f 19577 "leaf" : 1,
44660702
DM
19578 "path" : "/nodes/{node}/tasks/{upid}/log",
19579 "text" : "log"
7aacca6f
DM
19580 },
19581 {
7aacca6f
DM
19582 "info" : {
19583 "GET" : {
44660702
DM
19584 "description" : "Read task status.",
19585 "method" : "GET",
7aacca6f
DM
19586 "name" : "read_task_status",
19587 "parameters" : {
19588 "additionalProperties" : 0,
19589 "properties" : {
19590 "node" : {
7aacca6f 19591 "description" : "The cluster node name.",
44660702 19592 "format" : "pve-node",
013dc89f
DM
19593 "type" : "string",
19594 "typetext" : "<string>"
7aacca6f
DM
19595 },
19596 "upid" : {
013dc89f
DM
19597 "type" : "string",
19598 "typetext" : "<string>"
7aacca6f
DM
19599 }
19600 }
19601 },
7aacca6f
DM
19602 "permissions" : {
19603 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19604 "user" : "all"
56122987 19605 },
44660702 19606 "protected" : 1,
7aacca6f 19607 "proxyto" : "node",
7aacca6f
DM
19608 "returns" : {
19609 "properties" : {
19610 "pid" : {
19611 "type" : "integer"
19612 },
19613 "status" : {
7aacca6f
DM
19614 "enum" : [
19615 "running",
19616 "stopped"
44660702
DM
19617 ],
19618 "type" : "string"
7aacca6f
DM
19619 }
19620 },
19621 "type" : "object"
56122987 19622 }
7aacca6f 19623 }
44660702
DM
19624 },
19625 "leaf" : 1,
19626 "path" : "/nodes/{node}/tasks/{upid}/status",
19627 "text" : "status"
56122987 19628 }
7aacca6f 19629 ],
44660702
DM
19630 "info" : {
19631 "DELETE" : {
19632 "description" : "Stop a task.",
19633 "method" : "DELETE",
19634 "name" : "stop_task",
19635 "parameters" : {
19636 "additionalProperties" : 0,
19637 "properties" : {
19638 "node" : {
19639 "description" : "The cluster node name.",
19640 "format" : "pve-node",
013dc89f
DM
19641 "type" : "string",
19642 "typetext" : "<string>"
44660702
DM
19643 },
19644 "upid" : {
013dc89f
DM
19645 "type" : "string",
19646 "typetext" : "<string>"
44660702 19647 }
7aacca6f 19648 }
44660702
DM
19649 },
19650 "permissions" : {
19651 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
19652 "user" : "all"
19653 },
19654 "protected" : 1,
19655 "proxyto" : "node",
19656 "returns" : {
19657 "type" : "null"
7aacca6f 19658 }
56122987 19659 },
44660702
DM
19660 "GET" : {
19661 "description" : "",
19662 "method" : "GET",
19663 "name" : "upid_index",
19664 "parameters" : {
19665 "additionalProperties" : 0,
19666 "properties" : {
19667 "node" : {
19668 "description" : "The cluster node name.",
19669 "format" : "pve-node",
013dc89f
DM
19670 "type" : "string",
19671 "typetext" : "<string>"
44660702
DM
19672 },
19673 "upid" : {
013dc89f
DM
19674 "type" : "string",
19675 "typetext" : "<string>"
44660702
DM
19676 }
19677 }
19678 },
19679 "permissions" : {
19680 "user" : "all"
19681 },
19682 "returns" : {
19683 "items" : {
19684 "properties" : {},
19685 "type" : "object"
19686 },
19687 "links" : [
19688 {
19689 "href" : "{name}",
19690 "rel" : "child"
19691 }
19692 ],
19693 "type" : "array"
56122987 19694 }
44660702 19695 }
56122987 19696 },
44660702
DM
19697 "leaf" : 0,
19698 "path" : "/nodes/{node}/tasks/{upid}",
19699 "text" : "{upid}"
19700 }
19701 ],
19702 "info" : {
19703 "GET" : {
7aacca6f 19704 "description" : "Read task list for one node (finished tasks).",
44660702
DM
19705 "method" : "GET",
19706 "name" : "node_tasks",
56122987 19707 "parameters" : {
7aacca6f 19708 "additionalProperties" : 0,
56122987 19709 "properties" : {
44660702 19710 "errors" : {
56122987 19711 "optional" : 1,
013dc89f
DM
19712 "type" : "boolean",
19713 "typetext" : "<boolean>"
56122987 19714 },
44660702 19715 "limit" : {
56122987 19716 "minimum" : 0,
56122987 19717 "optional" : 1,
4bd7df8b 19718 "type" : "integer",
013dc89f 19719 "typetext" : "<integer> (0 - N)"
56122987 19720 },
56122987
DM
19721 "node" : {
19722 "description" : "The cluster node name.",
44660702 19723 "format" : "pve-node",
013dc89f
DM
19724 "type" : "string",
19725 "typetext" : "<string>"
56122987 19726 },
44660702 19727 "start" : {
7aacca6f 19728 "minimum" : 0,
44660702 19729 "optional" : 1,
4bd7df8b 19730 "type" : "integer",
013dc89f 19731 "typetext" : "<integer> (0 - N)"
56122987 19732 },
7aacca6f 19733 "userfilter" : {
44660702 19734 "optional" : 1,
013dc89f
DM
19735 "type" : "string",
19736 "typetext" : "<string>"
44660702
DM
19737 },
19738 "vmid" : {
19739 "description" : "Only list tasks for this VM.",
19740 "format" : "pve-vmid",
19741 "minimum" : 1,
19742 "optional" : 1,
4bd7df8b 19743 "type" : "integer",
013dc89f 19744 "typetext" : "<integer> (1 - N)"
56122987
DM
19745 }
19746 }
19747 },
7aacca6f 19748 "permissions" : {
44660702 19749 "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
19750 "user" : "all"
19751 },
44660702 19752 "proxyto" : "node",
56122987
DM
19753 "returns" : {
19754 "items" : {
19755 "properties" : {
44660702 19756 "upid" : {
56122987
DM
19757 "type" : "string"
19758 }
19759 },
19760 "type" : "object"
19761 },
56122987
DM
19762 "links" : [
19763 {
44660702
DM
19764 "href" : "{upid}",
19765 "rel" : "child"
56122987 19766 }
44660702
DM
19767 ],
19768 "type" : "array"
56122987
DM
19769 }
19770 }
19771 },
44660702
DM
19772 "leaf" : 0,
19773 "path" : "/nodes/{node}/tasks",
19774 "text" : "tasks"
19775 },
19776 {
56122987
DM
19777 "children" : [
19778 {
56122987
DM
19779 "info" : {
19780 "GET" : {
7aacca6f 19781 "description" : "Scan zfs pool list on local node.",
44660702
DM
19782 "method" : "GET",
19783 "name" : "zfsscan",
56122987 19784 "parameters" : {
44660702 19785 "additionalProperties" : 0,
56122987 19786 "properties" : {
56122987
DM
19787 "node" : {
19788 "description" : "The cluster node name.",
44660702 19789 "format" : "pve-node",
013dc89f
DM
19790 "type" : "string",
19791 "typetext" : "<string>"
56122987 19792 }
44660702
DM
19793 }
19794 },
7aacca6f
DM
19795 "permissions" : {
19796 "check" : [
19797 "perm",
19798 "/storage",
19799 [
19800 "Datastore.Allocate"
19801 ]
19802 ]
19803 },
44660702
DM
19804 "protected" : 1,
19805 "proxyto" : "node",
56122987 19806 "returns" : {
56122987
DM
19807 "items" : {
19808 "properties" : {
44660702 19809 "pool" : {
56122987
DM
19810 "type" : "string"
19811 }
44660702
DM
19812 },
19813 "type" : "object"
19814 },
19815 "type" : "array"
19816 }
19817 }
19818 },
19819 "leaf" : 1,
19820 "path" : "/nodes/{node}/scan/zfs",
19821 "text" : "zfs"
19822 },
19823 {
19824 "info" : {
19825 "GET" : {
19826 "description" : "Scan remote NFS server.",
19827 "method" : "GET",
7aacca6f 19828 "name" : "nfsscan",
56122987 19829 "parameters" : {
44660702 19830 "additionalProperties" : 0,
56122987
DM
19831 "properties" : {
19832 "node" : {
7aacca6f 19833 "description" : "The cluster node name.",
44660702 19834 "format" : "pve-node",
013dc89f
DM
19835 "type" : "string",
19836 "typetext" : "<string>"
7aacca6f
DM
19837 },
19838 "server" : {
19839 "format" : "pve-storage-server",
013dc89f
DM
19840 "type" : "string",
19841 "typetext" : "<string>"
56122987 19842 }
44660702 19843 }
56122987 19844 },
56122987
DM
19845 "permissions" : {
19846 "check" : [
19847 "perm",
19848 "/storage",
19849 [
19850 "Datastore.Allocate"
19851 ]
19852 ]
19853 },
44660702 19854 "protected" : 1,
56122987 19855 "proxyto" : "node",
44660702
DM
19856 "returns" : {
19857 "items" : {
19858 "properties" : {
19859 "options" : {
19860 "type" : "string"
19861 },
19862 "path" : {
19863 "type" : "string"
19864 }
19865 },
19866 "type" : "object"
19867 },
19868 "type" : "array"
19869 }
19870 }
19871 },
19872 "leaf" : 1,
19873 "path" : "/nodes/{node}/scan/nfs",
19874 "text" : "nfs"
19875 },
19876 {
19877 "info" : {
19878 "GET" : {
19879 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
19880 "method" : "GET",
19881 "name" : "glusterfsscan",
56122987 19882 "parameters" : {
44660702 19883 "additionalProperties" : 0,
56122987 19884 "properties" : {
56122987 19885 "node" : {
44660702 19886 "description" : "The cluster node name.",
56122987 19887 "format" : "pve-node",
013dc89f
DM
19888 "type" : "string",
19889 "typetext" : "<string>"
7aacca6f
DM
19890 },
19891 "server" : {
19892 "format" : "pve-storage-server",
013dc89f
DM
19893 "type" : "string",
19894 "typetext" : "<string>"
56122987 19895 }
44660702
DM
19896 }
19897 },
19898 "permissions" : {
19899 "check" : [
19900 "perm",
19901 "/storage",
19902 [
19903 "Datastore.Allocate"
19904 ]
19905 ]
7aacca6f 19906 },
44660702
DM
19907 "protected" : 1,
19908 "proxyto" : "node",
19909 "returns" : {
19910 "items" : {
19911 "properties" : {
19912 "volname" : {
19913 "type" : "string"
19914 }
19915 },
19916 "type" : "object"
19917 },
19918 "type" : "array"
19919 }
56122987
DM
19920 }
19921 },
44660702
DM
19922 "leaf" : 1,
19923 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 19924 "text" : "glusterfs"
56122987
DM
19925 },
19926 {
56122987
DM
19927 "info" : {
19928 "GET" : {
7aacca6f 19929 "description" : "Scan remote iSCSI server.",
44660702
DM
19930 "method" : "GET",
19931 "name" : "iscsiscan",
19932 "parameters" : {
19933 "additionalProperties" : 0,
19934 "properties" : {
19935 "node" : {
19936 "description" : "The cluster node name.",
19937 "format" : "pve-node",
013dc89f
DM
19938 "type" : "string",
19939 "typetext" : "<string>"
44660702
DM
19940 },
19941 "portal" : {
19942 "format" : "pve-storage-portal-dns",
013dc89f
DM
19943 "type" : "string",
19944 "typetext" : "<string>"
44660702
DM
19945 }
19946 }
19947 },
56122987
DM
19948 "permissions" : {
19949 "check" : [
19950 "perm",
19951 "/storage",
19952 [
19953 "Datastore.Allocate"
19954 ]
19955 ]
19956 },
44660702
DM
19957 "protected" : 1,
19958 "proxyto" : "node",
56122987 19959 "returns" : {
56122987
DM
19960 "items" : {
19961 "properties" : {
44660702 19962 "portal" : {
56122987
DM
19963 "type" : "string"
19964 },
44660702 19965 "target" : {
56122987
DM
19966 "type" : "string"
19967 }
19968 },
19969 "type" : "object"
56122987 19970 },
44660702
DM
19971 "type" : "array"
19972 }
56122987
DM
19973 }
19974 },
44660702 19975 "leaf" : 1,
7aacca6f 19976 "path" : "/nodes/{node}/scan/iscsi",
44660702 19977 "text" : "iscsi"
56122987
DM
19978 },
19979 {
56122987
DM
19980 "info" : {
19981 "GET" : {
44660702
DM
19982 "description" : "List local LVM volume groups.",
19983 "method" : "GET",
19984 "name" : "lvmscan",
19985 "parameters" : {
19986 "additionalProperties" : 0,
19987 "properties" : {
19988 "node" : {
19989 "description" : "The cluster node name.",
19990 "format" : "pve-node",
013dc89f
DM
19991 "type" : "string",
19992 "typetext" : "<string>"
56122987 19993 }
7aacca6f 19994 }
56122987 19995 },
56122987
DM
19996 "permissions" : {
19997 "check" : [
19998 "perm",
19999 "/storage",
20000 [
20001 "Datastore.Allocate"
20002 ]
20003 ]
20004 },
7aacca6f 20005 "protected" : 1,
44660702
DM
20006 "proxyto" : "node",
20007 "returns" : {
20008 "items" : {
20009 "properties" : {
20010 "vg" : {
20011 "type" : "string"
20012 }
20013 },
20014 "type" : "object"
20015 },
20016 "type" : "array"
7aacca6f 20017 }
56122987
DM
20018 }
20019 },
20020 "leaf" : 1,
44660702
DM
20021 "path" : "/nodes/{node}/scan/lvm",
20022 "text" : "lvm"
56122987
DM
20023 },
20024 {
56122987
DM
20025 "info" : {
20026 "GET" : {
44660702
DM
20027 "description" : "List local LVM Thin Pools.",
20028 "method" : "GET",
20029 "name" : "lvmthinscan",
56122987 20030 "parameters" : {
44660702 20031 "additionalProperties" : 0,
56122987
DM
20032 "properties" : {
20033 "node" : {
44660702 20034 "description" : "The cluster node name.",
56122987 20035 "format" : "pve-node",
013dc89f
DM
20036 "type" : "string",
20037 "typetext" : "<string>"
56122987
DM
20038 },
20039 "vg" : {
44660702 20040 "maxLength" : 100,
56122987 20041 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 20042 "type" : "string"
56122987 20043 }
44660702 20044 }
56122987 20045 },
7aacca6f
DM
20046 "permissions" : {
20047 "check" : [
20048 "perm",
20049 "/storage",
20050 [
20051 "Datastore.Allocate"
20052 ]
20053 ]
20054 },
44660702 20055 "protected" : 1,
7aacca6f 20056 "proxyto" : "node",
56122987 20057 "returns" : {
56122987
DM
20058 "items" : {
20059 "properties" : {
20060 "lv" : {
20061 "type" : "string"
20062 }
20063 },
20064 "type" : "object"
44660702
DM
20065 },
20066 "type" : "array"
7aacca6f 20067 }
56122987
DM
20068 }
20069 },
7aacca6f 20070 "leaf" : 1,
44660702
DM
20071 "path" : "/nodes/{node}/scan/lvmthin",
20072 "text" : "lvmthin"
56122987
DM
20073 },
20074 {
56122987
DM
20075 "info" : {
20076 "GET" : {
44660702
DM
20077 "description" : "List local USB devices.",
20078 "method" : "GET",
20079 "name" : "usbscan",
20080 "parameters" : {
20081 "additionalProperties" : 0,
20082 "properties" : {
20083 "node" : {
20084 "description" : "The cluster node name.",
20085 "format" : "pve-node",
013dc89f
DM
20086 "type" : "string",
20087 "typetext" : "<string>"
44660702
DM
20088 }
20089 }
20090 },
7aacca6f
DM
20091 "permissions" : {
20092 "check" : [
20093 "perm",
20094 "/",
20095 [
20096 "Sys.Modify"
20097 ]
20098 ]
20099 },
44660702 20100 "protected" : 1,
7aacca6f 20101 "proxyto" : "node",
56122987
DM
20102 "returns" : {
20103 "items" : {
20104 "properties" : {
44660702
DM
20105 "busnum" : {
20106 "type" : "integer"
56122987 20107 },
44660702
DM
20108 "class" : {
20109 "type" : "integer"
56122987 20110 },
7aacca6f 20111 "devnum" : {
56122987
DM
20112 "type" : "integer"
20113 },
44660702
DM
20114 "level" : {
20115 "type" : "integer"
20116 },
20117 "manufacturer" : {
20118 "optional" : 1,
7aacca6f
DM
20119 "type" : "string"
20120 },
44660702 20121 "port" : {
56122987
DM
20122 "type" : "integer"
20123 },
44660702
DM
20124 "prodid" : {
20125 "type" : "string"
56122987 20126 },
44660702
DM
20127 "product" : {
20128 "optional" : 1,
20129 "type" : "string"
20130 },
20131 "serial" : {
7aacca6f 20132 "optional" : 1,
56122987
DM
20133 "type" : "string"
20134 },
44660702 20135 "speed" : {
7aacca6f 20136 "type" : "string"
56122987 20137 },
44660702 20138 "usbpath" : {
56122987
DM
20139 "optional" : 1,
20140 "type" : "string"
20141 },
44660702
DM
20142 "vendid" : {
20143 "type" : "string"
56122987
DM
20144 }
20145 },
20146 "type" : "object"
7aacca6f
DM
20147 },
20148 "type" : "array"
44660702
DM
20149 }
20150 }
20151 },
20152 "leaf" : 1,
20153 "path" : "/nodes/{node}/scan/usb",
20154 "text" : "usb"
20155 }
20156 ],
20157 "info" : {
20158 "GET" : {
20159 "description" : "Index of available scan methods",
20160 "method" : "GET",
20161 "name" : "index",
20162 "parameters" : {
20163 "additionalProperties" : 0,
20164 "properties" : {
20165 "node" : {
20166 "description" : "The cluster node name.",
20167 "format" : "pve-node",
013dc89f
DM
20168 "type" : "string",
20169 "typetext" : "<string>"
44660702
DM
20170 }
20171 }
20172 },
20173 "permissions" : {
20174 "user" : "all"
20175 },
20176 "returns" : {
20177 "items" : {
20178 "properties" : {
20179 "method" : {
20180 "type" : "string"
56122987
DM
20181 }
20182 },
44660702
DM
20183 "type" : "object"
20184 },
20185 "links" : [
20186 {
20187 "href" : "{method}",
20188 "rel" : "child"
20189 }
20190 ],
20191 "type" : "array"
56122987
DM
20192 }
20193 }
44660702
DM
20194 },
20195 "leaf" : 0,
20196 "path" : "/nodes/{node}/scan",
7aacca6f 20197 "text" : "scan"
56122987
DM
20198 },
20199 {
56122987
DM
20200 "children" : [
20201 {
56122987
DM
20202 "children" : [
20203 {
7aacca6f
DM
20204 "children" : [
20205 {
20206 "info" : {
44660702
DM
20207 "DELETE" : {
20208 "description" : "Delete volume",
20209 "method" : "DELETE",
20210 "name" : "delete",
7aacca6f
DM
20211 "parameters" : {
20212 "additionalProperties" : 0,
20213 "properties" : {
7aacca6f
DM
20214 "node" : {
20215 "description" : "The cluster node name.",
44660702 20216 "format" : "pve-node",
013dc89f
DM
20217 "type" : "string",
20218 "typetext" : "<string>"
44660702
DM
20219 },
20220 "storage" : {
20221 "description" : "The storage identifier.",
20222 "format" : "pve-storage-id",
20223 "optional" : 1,
013dc89f
DM
20224 "type" : "string",
20225 "typetext" : "<string>"
7aacca6f
DM
20226 },
20227 "volume" : {
20228 "description" : "Volume identifier",
013dc89f
DM
20229 "type" : "string",
20230 "typetext" : "<string>"
7aacca6f
DM
20231 }
20232 }
20233 },
44660702
DM
20234 "permissions" : {
20235 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
20236 "user" : "all"
20237 },
20238 "protected" : 1,
20239 "proxyto" : "node",
20240 "returns" : {
20241 "type" : "null"
20242 }
7aacca6f 20243 },
44660702
DM
20244 "GET" : {
20245 "description" : "Get volume attributes",
20246 "method" : "GET",
20247 "name" : "info",
7aacca6f
DM
20248 "parameters" : {
20249 "additionalProperties" : 0,
20250 "properties" : {
7aacca6f
DM
20251 "node" : {
20252 "description" : "The cluster node name.",
44660702 20253 "format" : "pve-node",
013dc89f
DM
20254 "type" : "string",
20255 "typetext" : "<string>"
7aacca6f
DM
20256 },
20257 "storage" : {
7aacca6f 20258 "description" : "The storage identifier.",
44660702 20259 "format" : "pve-storage-id",
7aacca6f 20260 "optional" : 1,
013dc89f
DM
20261 "type" : "string",
20262 "typetext" : "<string>"
44660702
DM
20263 },
20264 "volume" : {
20265 "description" : "Volume identifier",
013dc89f
DM
20266 "type" : "string",
20267 "typetext" : "<string>"
7aacca6f
DM
20268 }
20269 }
20270 },
7aacca6f 20271 "permissions" : {
44660702 20272 "description" : "You need read access for the volume.",
7aacca6f
DM
20273 "user" : "all"
20274 },
44660702 20275 "protected" : 1,
7aacca6f 20276 "proxyto" : "node",
7aacca6f 20277 "returns" : {
44660702 20278 "type" : "object"
7aacca6f
DM
20279 }
20280 },
20281 "POST" : {
44660702
DM
20282 "description" : "Copy a volume. This is experimental code - do not use.",
20283 "method" : "POST",
20284 "name" : "copy",
7aacca6f
DM
20285 "parameters" : {
20286 "additionalProperties" : 0,
20287 "properties" : {
44660702
DM
20288 "node" : {
20289 "description" : "The cluster node name.",
20290 "format" : "pve-node",
013dc89f
DM
20291 "type" : "string",
20292 "typetext" : "<string>"
44660702
DM
20293 },
20294 "storage" : {
20295 "description" : "The storage identifier.",
20296 "format" : "pve-storage-id",
20297 "optional" : 1,
013dc89f
DM
20298 "type" : "string",
20299 "typetext" : "<string>"
44660702 20300 },
7aacca6f 20301 "target" : {
44660702 20302 "description" : "Target volume identifier",
013dc89f
DM
20303 "type" : "string",
20304 "typetext" : "<string>"
7aacca6f
DM
20305 },
20306 "target_node" : {
7aacca6f 20307 "description" : "Target node. Default is local node.",
44660702
DM
20308 "format" : "pve-node",
20309 "optional" : 1,
013dc89f
DM
20310 "type" : "string",
20311 "typetext" : "<string>"
7aacca6f
DM
20312 },
20313 "volume" : {
44660702 20314 "description" : "Source volume identifier",
013dc89f
DM
20315 "type" : "string",
20316 "typetext" : "<string>"
7aacca6f
DM
20317 }
20318 }
20319 },
7aacca6f
DM
20320 "protected" : 1,
20321 "proxyto" : "node",
20322 "returns" : {
20323 "type" : "string"
44660702 20324 }
7aacca6f
DM
20325 }
20326 },
7aacca6f 20327 "leaf" : 1,
44660702
DM
20328 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
20329 "text" : "{volume}"
7aacca6f
DM
20330 }
20331 ],
56122987
DM
20332 "info" : {
20333 "GET" : {
44660702
DM
20334 "description" : "List storage content.",
20335 "method" : "GET",
20336 "name" : "index",
20337 "parameters" : {
20338 "additionalProperties" : 0,
20339 "properties" : {
20340 "content" : {
20341 "description" : "Only list content of this type.",
20342 "format" : "pve-storage-content",
20343 "optional" : 1,
013dc89f
DM
20344 "type" : "string",
20345 "typetext" : "<string>"
44660702
DM
20346 },
20347 "node" : {
20348 "description" : "The cluster node name.",
20349 "format" : "pve-node",
013dc89f
DM
20350 "type" : "string",
20351 "typetext" : "<string>"
44660702
DM
20352 },
20353 "storage" : {
20354 "description" : "The storage identifier.",
20355 "format" : "pve-storage-id",
013dc89f
DM
20356 "type" : "string",
20357 "typetext" : "<string>"
44660702
DM
20358 },
20359 "vmid" : {
20360 "description" : "Only list images for this VM",
20361 "format" : "pve-vmid",
20362 "minimum" : 1,
20363 "optional" : 1,
4bd7df8b 20364 "type" : "integer",
013dc89f 20365 "typetext" : "<integer> (1 - N)"
44660702
DM
20366 }
20367 }
20368 },
7aacca6f
DM
20369 "permissions" : {
20370 "check" : [
20371 "perm",
20372 "/storage/{storage}",
20373 [
20374 "Datastore.Audit",
20375 "Datastore.AllocateSpace"
20376 ],
20377 "any",
20378 1
20379 ]
20380 },
44660702 20381 "protected" : 1,
7aacca6f 20382 "proxyto" : "node",
56122987 20383 "returns" : {
44660702
DM
20384 "items" : {
20385 "properties" : {
20386 "volid" : {
20387 "type" : "string"
20388 }
20389 },
20390 "type" : "object"
20391 },
20392 "links" : [
20393 {
20394 "href" : "{volid}",
20395 "rel" : "child"
20396 }
20397 ],
20398 "type" : "array"
20399 }
20400 },
20401 "POST" : {
20402 "description" : "Allocate disk images.",
20403 "method" : "POST",
20404 "name" : "create",
56122987 20405 "parameters" : {
44660702 20406 "additionalProperties" : 0,
56122987 20407 "properties" : {
44660702
DM
20408 "filename" : {
20409 "description" : "The name of the file to create.",
013dc89f
DM
20410 "type" : "string",
20411 "typetext" : "<string>"
44660702
DM
20412 },
20413 "format" : {
20414 "enum" : [
20415 "raw",
20416 "qcow2",
20417 "subvol"
20418 ],
20419 "optional" : 1,
20420 "requires" : "size",
20421 "type" : "string"
20422 },
20423 "node" : {
20424 "description" : "The cluster node name.",
20425 "format" : "pve-node",
013dc89f
DM
20426 "type" : "string",
20427 "typetext" : "<string>"
44660702
DM
20428 },
20429 "size" : {
20430 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
20431 "pattern" : "\\d+[MG]?",
20432 "type" : "string"
20433 },
56122987
DM
20434 "storage" : {
20435 "description" : "The storage identifier.",
44660702 20436 "format" : "pve-storage-id",
013dc89f
DM
20437 "type" : "string",
20438 "typetext" : "<string>"
56122987 20439 },
44660702
DM
20440 "vmid" : {
20441 "description" : "Specify owner VM",
20442 "format" : "pve-vmid",
20443 "minimum" : 1,
4bd7df8b 20444 "type" : "integer",
013dc89f 20445 "typetext" : "<integer> (1 - N)"
44660702
DM
20446 }
20447 }
20448 },
20449 "permissions" : {
20450 "check" : [
20451 "perm",
20452 "/storage/{storage}",
20453 [
20454 "Datastore.AllocateSpace"
20455 ]
20456 ]
20457 },
20458 "protected" : 1,
20459 "proxyto" : "node",
20460 "returns" : {
20461 "description" : "Volume identifier",
20462 "type" : "string"
20463 }
20464 }
20465 },
20466 "leaf" : 0,
20467 "path" : "/nodes/{node}/storage/{storage}/content",
20468 "text" : "content"
20469 },
20470 {
20471 "info" : {
20472 "GET" : {
20473 "description" : "Read storage status.",
20474 "method" : "GET",
20475 "name" : "read_status",
20476 "parameters" : {
20477 "additionalProperties" : 0,
20478 "properties" : {
56122987
DM
20479 "node" : {
20480 "description" : "The cluster node name.",
44660702 20481 "format" : "pve-node",
013dc89f
DM
20482 "type" : "string",
20483 "typetext" : "<string>"
44660702
DM
20484 },
20485 "storage" : {
20486 "description" : "The storage identifier.",
20487 "format" : "pve-storage-id",
013dc89f
DM
20488 "type" : "string",
20489 "typetext" : "<string>"
56122987 20490 }
44660702
DM
20491 }
20492 },
20493 "permissions" : {
20494 "check" : [
20495 "perm",
20496 "/storage/{storage}",
20497 [
20498 "Datastore.Audit",
20499 "Datastore.AllocateSpace"
20500 ],
20501 "any",
20502 1
20503 ]
56122987
DM
20504 },
20505 "protected" : 1,
44660702
DM
20506 "proxyto" : "node",
20507 "returns" : {
20508 "properties" : {},
20509 "type" : "object"
20510 }
56122987
DM
20511 }
20512 },
44660702
DM
20513 "leaf" : 1,
20514 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 20515 "text" : "status"
56122987
DM
20516 },
20517 {
56122987
DM
20518 "info" : {
20519 "GET" : {
44660702
DM
20520 "description" : "Read storage RRD statistics (returns PNG).",
20521 "method" : "GET",
20522 "name" : "rrd",
56122987 20523 "parameters" : {
44660702 20524 "additionalProperties" : 0,
56122987 20525 "properties" : {
44660702
DM
20526 "cf" : {
20527 "description" : "The RRD consolidation function",
20528 "enum" : [
20529 "AVERAGE",
20530 "MAX"
20531 ],
20532 "optional" : 1,
20533 "type" : "string"
20534 },
7aacca6f 20535 "ds" : {
7aacca6f 20536 "description" : "The list of datasources you want to display.",
44660702 20537 "format" : "pve-configid-list",
013dc89f
DM
20538 "type" : "string",
20539 "typetext" : "<string>"
56122987 20540 },
7aacca6f
DM
20541 "node" : {
20542 "description" : "The cluster node name.",
44660702 20543 "format" : "pve-node",
013dc89f
DM
20544 "type" : "string",
20545 "typetext" : "<string>"
56122987 20546 },
7aacca6f 20547 "storage" : {
7aacca6f 20548 "description" : "The storage identifier.",
44660702 20549 "format" : "pve-storage-id",
013dc89f
DM
20550 "type" : "string",
20551 "typetext" : "<string>"
44660702
DM
20552 },
20553 "timeframe" : {
20554 "description" : "Specify the time frame you are interested in.",
7aacca6f 20555 "enum" : [
44660702
DM
20556 "hour",
20557 "day",
20558 "week",
20559 "month",
20560 "year"
7aacca6f 20561 ],
44660702 20562 "type" : "string"
56122987 20563 }
44660702 20564 }
56122987
DM
20565 },
20566 "permissions" : {
20567 "check" : [
20568 "perm",
20569 "/storage/{storage}",
20570 [
20571 "Datastore.Audit",
20572 "Datastore.AllocateSpace"
20573 ],
20574 "any",
20575 1
20576 ]
20577 },
44660702
DM
20578 "protected" : 1,
20579 "proxyto" : "node",
7aacca6f
DM
20580 "returns" : {
20581 "properties" : {
20582 "filename" : {
20583 "type" : "string"
20584 }
20585 },
20586 "type" : "object"
20587 }
56122987
DM
20588 }
20589 },
20590 "leaf" : 1,
44660702
DM
20591 "path" : "/nodes/{node}/storage/{storage}/rrd",
20592 "text" : "rrd"
56122987
DM
20593 },
20594 {
56122987
DM
20595 "info" : {
20596 "GET" : {
44660702
DM
20597 "description" : "Read storage RRD statistics.",
20598 "method" : "GET",
20599 "name" : "rrddata",
56122987 20600 "parameters" : {
44660702 20601 "additionalProperties" : 0,
56122987 20602 "properties" : {
44660702
DM
20603 "cf" : {
20604 "description" : "The RRD consolidation function",
20605 "enum" : [
20606 "AVERAGE",
20607 "MAX"
20608 ],
20609 "optional" : 1,
20610 "type" : "string"
20611 },
7aacca6f 20612 "node" : {
7aacca6f 20613 "description" : "The cluster node name.",
44660702 20614 "format" : "pve-node",
013dc89f
DM
20615 "type" : "string",
20616 "typetext" : "<string>"
44660702
DM
20617 },
20618 "storage" : {
20619 "description" : "The storage identifier.",
20620 "format" : "pve-storage-id",
013dc89f
DM
20621 "type" : "string",
20622 "typetext" : "<string>"
7aacca6f 20623 },
56122987 20624 "timeframe" : {
7aacca6f 20625 "description" : "Specify the time frame you are interested in.",
56122987
DM
20626 "enum" : [
20627 "hour",
20628 "day",
20629 "week",
20630 "month",
20631 "year"
56122987 20632 ],
44660702 20633 "type" : "string"
56122987 20634 }
44660702 20635 }
7aacca6f 20636 },
7aacca6f
DM
20637 "permissions" : {
20638 "check" : [
20639 "perm",
20640 "/storage/{storage}",
20641 [
20642 "Datastore.Audit",
20643 "Datastore.AllocateSpace"
20644 ],
20645 "any",
20646 1
20647 ]
20648 },
44660702
DM
20649 "protected" : 1,
20650 "proxyto" : "node",
7aacca6f
DM
20651 "returns" : {
20652 "items" : {
44660702
DM
20653 "properties" : {},
20654 "type" : "object"
7aacca6f
DM
20655 },
20656 "type" : "array"
56122987
DM
20657 }
20658 }
7aacca6f 20659 },
7aacca6f 20660 "leaf" : 1,
44660702
DM
20661 "path" : "/nodes/{node}/storage/{storage}/rrddata",
20662 "text" : "rrddata"
56122987
DM
20663 },
20664 {
56122987
DM
20665 "info" : {
20666 "POST" : {
7aacca6f 20667 "description" : "Upload templates and ISO images.",
44660702
DM
20668 "method" : "POST",
20669 "name" : "upload",
56122987 20670 "parameters" : {
7aacca6f 20671 "additionalProperties" : 0,
56122987 20672 "properties" : {
56122987 20673 "content" : {
7aacca6f 20674 "description" : "Content type.",
44660702 20675 "format" : "pve-storage-content",
013dc89f
DM
20676 "type" : "string",
20677 "typetext" : "<string>"
56122987
DM
20678 },
20679 "filename" : {
44660702 20680 "description" : "The name of the file to create.",
013dc89f
DM
20681 "type" : "string",
20682 "typetext" : "<string>"
56122987
DM
20683 },
20684 "node" : {
20685 "description" : "The cluster node name.",
44660702 20686 "format" : "pve-node",
013dc89f
DM
20687 "type" : "string",
20688 "typetext" : "<string>"
44660702
DM
20689 },
20690 "storage" : {
20691 "description" : "The storage identifier.",
20692 "format" : "pve-storage-id",
013dc89f
DM
20693 "type" : "string",
20694 "typetext" : "<string>"
44660702
DM
20695 },
20696 "tmpfilename" : {
20697 "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.",
20698 "optional" : 1,
013dc89f
DM
20699 "type" : "string",
20700 "typetext" : "<string>"
56122987 20701 }
7aacca6f 20702 }
56122987 20703 },
56122987
DM
20704 "permissions" : {
20705 "check" : [
20706 "perm",
20707 "/storage/{storage}",
20708 [
20709 "Datastore.AllocateTemplate"
20710 ]
20711 ]
44660702
DM
20712 },
20713 "protected" : 1,
20714 "returns" : {
20715 "type" : "string"
20716 }
20717 }
20718 },
20719 "leaf" : 1,
20720 "path" : "/nodes/{node}/storage/{storage}/upload",
20721 "text" : "upload"
20722 }
20723 ],
20724 "info" : {
20725 "GET" : {
20726 "description" : "",
20727 "method" : "GET",
20728 "name" : "diridx",
20729 "parameters" : {
20730 "additionalProperties" : 0,
20731 "properties" : {
20732 "node" : {
20733 "description" : "The cluster node name.",
20734 "format" : "pve-node",
013dc89f
DM
20735 "type" : "string",
20736 "typetext" : "<string>"
44660702
DM
20737 },
20738 "storage" : {
20739 "description" : "The storage identifier.",
20740 "format" : "pve-storage-id",
013dc89f
DM
20741 "type" : "string",
20742 "typetext" : "<string>"
56122987
DM
20743 }
20744 }
44660702
DM
20745 },
20746 "permissions" : {
20747 "check" : [
20748 "perm",
20749 "/storage/{storage}",
20750 [
20751 "Datastore.Audit",
20752 "Datastore.AllocateSpace"
20753 ],
20754 "any",
20755 1
20756 ]
20757 },
20758 "returns" : {
20759 "items" : {
20760 "properties" : {
20761 "subdir" : {
20762 "type" : "string"
20763 }
20764 },
20765 "type" : "object"
20766 },
20767 "links" : [
20768 {
20769 "href" : "{subdir}",
20770 "rel" : "child"
20771 }
20772 ],
20773 "type" : "array"
56122987
DM
20774 }
20775 }
44660702
DM
20776 },
20777 "leaf" : 0,
20778 "path" : "/nodes/{node}/storage/{storage}",
20779 "text" : "{storage}"
56122987
DM
20780 }
20781 ],
56122987
DM
20782 "info" : {
20783 "GET" : {
44660702
DM
20784 "description" : "Get status for all datastores.",
20785 "method" : "GET",
20786 "name" : "index",
20787 "parameters" : {
20788 "additionalProperties" : 0,
20789 "properties" : {
20790 "content" : {
20791 "description" : "Only list stores which support this content type.",
20792 "format" : "pve-storage-content-list",
20793 "optional" : 1,
013dc89f
DM
20794 "type" : "string",
20795 "typetext" : "<string>"
44660702
DM
20796 },
20797 "enabled" : {
20798 "default" : 0,
20799 "description" : "Only list stores which are enabled (not disabled in config).",
20800 "optional" : 1,
013dc89f
DM
20801 "type" : "boolean",
20802 "typetext" : "<boolean>"
44660702
DM
20803 },
20804 "node" : {
20805 "description" : "The cluster node name.",
20806 "format" : "pve-node",
013dc89f
DM
20807 "type" : "string",
20808 "typetext" : "<string>"
44660702
DM
20809 },
20810 "storage" : {
20811 "description" : "Only list status for specified storage",
20812 "format" : "pve-storage-id",
20813 "optional" : 1,
013dc89f
DM
20814 "type" : "string",
20815 "typetext" : "<string>"
44660702
DM
20816 },
20817 "target" : {
20818 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
20819 "format" : "pve-node",
20820 "optional" : 1,
013dc89f
DM
20821 "type" : "string",
20822 "typetext" : "<string>"
44660702
DM
20823 }
20824 }
20825 },
7aacca6f
DM
20826 "permissions" : {
20827 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
20828 "user" : "all"
20829 },
44660702 20830 "protected" : 1,
7aacca6f 20831 "proxyto" : "node",
56122987
DM
20832 "returns" : {
20833 "items" : {
56122987
DM
20834 "properties" : {
20835 "storage" : {
20836 "type" : "string"
20837 }
44660702
DM
20838 },
20839 "type" : "object"
56122987 20840 },
56122987
DM
20841 "links" : [
20842 {
7aacca6f
DM
20843 "href" : "{storage}",
20844 "rel" : "child"
56122987 20845 }
44660702
DM
20846 ],
20847 "type" : "array"
20848 }
56122987 20849 }
44660702
DM
20850 },
20851 "leaf" : 0,
20852 "path" : "/nodes/{node}/storage",
20853 "text" : "storage"
56122987 20854 },
2c0dde61
DM
20855 {
20856 "children" : [
20857 {
20858 "info" : {
20859 "GET" : {
20860 "description" : "List local disks.",
20861 "method" : "GET",
20862 "name" : "list",
20863 "parameters" : {
20864 "additionalProperties" : 0,
20865 "properties" : {
20866 "node" : {
20867 "description" : "The cluster node name.",
20868 "format" : "pve-node",
013dc89f
DM
20869 "type" : "string",
20870 "typetext" : "<string>"
2c0dde61
DM
20871 }
20872 }
20873 },
20874 "permissions" : {
20875 "check" : [
20876 "perm",
20877 "/",
20878 [
20879 "Sys.Audit",
20880 "Datastore.Audit"
20881 ],
20882 "any",
20883 1
20884 ]
20885 },
20886 "protected" : 1,
20887 "proxyto" : "node",
20888 "returns" : {
20889 "items" : {
20890 "properties" : {
20891 "devpath" : {
20892 "description" : "The device path",
20893 "type" : "string"
20894 },
20895 "gpt" : {
20896 "type" : "boolean"
20897 },
20898 "health" : {
20899 "optional" : 1,
20900 "type" : "string"
20901 },
20902 "model" : {
20903 "optional" : 1,
20904 "type" : "string"
20905 },
20906 "osdid" : {
20907 "type" : "integer"
20908 },
20909 "serial" : {
20910 "optional" : 1,
20911 "type" : "string"
20912 },
20913 "size" : {
20914 "type" : "integer"
20915 },
20916 "used" : {
20917 "optional" : 1,
20918 "type" : "string"
20919 },
20920 "vendor" : {
20921 "optional" : 1,
20922 "type" : "string"
20923 },
20924 "wwn" : {
20925 "optional" : 1,
20926 "type" : "string"
20927 }
20928 },
20929 "type" : "object"
20930 },
20931 "type" : "array"
20932 }
20933 }
20934 },
20935 "leaf" : 1,
20936 "path" : "/nodes/{node}/disks/list",
20937 "text" : "list"
20938 },
20939 {
20940 "info" : {
20941 "GET" : {
20942 "description" : "Get SMART Health of a disk.",
20943 "method" : "GET",
20944 "name" : "smart",
20945 "parameters" : {
20946 "additionalProperties" : 0,
20947 "properties" : {
20948 "disk" : {
20949 "description" : "Block device name",
20950 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
20951 "type" : "string"
20952 },
20953 "healthonly" : {
20954 "description" : "If true returns only the health status",
20955 "optional" : 1,
013dc89f
DM
20956 "type" : "boolean",
20957 "typetext" : "<boolean>"
2c0dde61
DM
20958 },
20959 "node" : {
20960 "description" : "The cluster node name.",
20961 "format" : "pve-node",
013dc89f
DM
20962 "type" : "string",
20963 "typetext" : "<string>"
2c0dde61
DM
20964 }
20965 }
20966 },
20967 "permissions" : {
20968 "check" : [
20969 "perm",
20970 "/",
20971 [
20972 "Sys.Audit",
20973 "Datastore.Audit"
20974 ],
20975 "any",
20976 1
20977 ]
20978 },
20979 "protected" : 1,
20980 "proxyto" : "node",
20981 "returns" : {
de0983cb
DM
20982 "properties" : {
20983 "attributes" : {
20984 "optional" : 1,
20985 "type" : "array"
20986 },
20987 "health" : {
20988 "type" : "string"
20989 },
20990 "text" : {
20991 "optional" : 1,
20992 "type" : "string"
20993 },
20994 "type" : {
20995 "optional" : 1,
20996 "type" : "string"
20997 }
20998 },
2c0dde61
DM
20999 "type" : "object"
21000 }
21001 }
21002 },
21003 "leaf" : 1,
21004 "path" : "/nodes/{node}/disks/smart",
21005 "text" : "smart"
21006 },
21007 {
21008 "info" : {
21009 "POST" : {
21010 "description" : "Initialize Disk with GPT",
21011 "method" : "POST",
21012 "name" : "initgpt",
21013 "parameters" : {
21014 "additionalProperties" : 0,
21015 "properties" : {
21016 "disk" : {
21017 "description" : "Block device name",
21018 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21019 "type" : "string"
21020 },
21021 "node" : {
21022 "description" : "The cluster node name.",
21023 "format" : "pve-node",
013dc89f
DM
21024 "type" : "string",
21025 "typetext" : "<string>"
2c0dde61
DM
21026 },
21027 "uuid" : {
21028 "description" : "UUID for the GPT table",
21029 "maxLength" : 36,
21030 "optional" : 1,
21031 "pattern" : "[a-fA-F0-9\\-]+",
21032 "type" : "string"
21033 }
21034 }
21035 },
21036 "permissions" : {
21037 "check" : [
21038 "perm",
21039 "/",
21040 [
21041 "Sys.Modify"
21042 ]
21043 ]
21044 },
21045 "protected" : 1,
21046 "proxyto" : "node",
21047 "returns" : {
21048 "type" : "string"
21049 }
21050 }
21051 },
21052 "leaf" : 1,
21053 "path" : "/nodes/{node}/disks/initgpt",
21054 "text" : "initgpt"
21055 }
21056 ],
21057 "info" : {
21058 "GET" : {
21059 "description" : "Node index.",
21060 "method" : "GET",
21061 "name" : "index",
21062 "parameters" : {
21063 "additionalProperties" : 0,
21064 "properties" : {
21065 "node" : {
21066 "description" : "The cluster node name.",
21067 "format" : "pve-node",
013dc89f
DM
21068 "type" : "string",
21069 "typetext" : "<string>"
2c0dde61
DM
21070 }
21071 }
21072 },
21073 "permissions" : {
21074 "user" : "all"
21075 },
21076 "proxyto" : "node",
21077 "returns" : {
21078 "items" : {
21079 "properties" : {},
21080 "type" : "object"
21081 },
21082 "links" : [
21083 {
21084 "href" : "{name}",
21085 "rel" : "child"
21086 }
21087 ],
21088 "type" : "array"
21089 }
21090 }
21091 },
21092 "leaf" : 0,
21093 "path" : "/nodes/{node}/disks",
21094 "text" : "disks"
21095 },
56122987 21096 {
56122987
DM
21097 "children" : [
21098 {
21099 "info" : {
44660702
DM
21100 "GET" : {
21101 "description" : "List available updates.",
21102 "method" : "GET",
21103 "name" : "list_updates",
21104 "parameters" : {
21105 "additionalProperties" : 0,
21106 "properties" : {
21107 "node" : {
21108 "description" : "The cluster node name.",
21109 "format" : "pve-node",
013dc89f
DM
21110 "type" : "string",
21111 "typetext" : "<string>"
44660702
DM
21112 }
21113 }
7aacca6f
DM
21114 },
21115 "permissions" : {
21116 "check" : [
21117 "perm",
21118 "/nodes/{node}",
21119 [
21120 "Sys.Modify"
21121 ]
21122 ]
21123 },
44660702 21124 "protected" : 1,
56122987 21125 "proxyto" : "node",
44660702
DM
21126 "returns" : {
21127 "items" : {
21128 "properties" : {},
21129 "type" : "object"
21130 },
21131 "type" : "array"
21132 }
21133 },
21134 "POST" : {
21135 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
21136 "method" : "POST",
21137 "name" : "update_database",
56122987
DM
21138 "parameters" : {
21139 "additionalProperties" : 0,
21140 "properties" : {
44660702
DM
21141 "node" : {
21142 "description" : "The cluster node name.",
21143 "format" : "pve-node",
013dc89f
DM
21144 "type" : "string",
21145 "typetext" : "<string>"
44660702 21146 },
56122987 21147 "notify" : {
56122987 21148 "default" : 0,
44660702
DM
21149 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
21150 "optional" : 1,
013dc89f
DM
21151 "type" : "boolean",
21152 "typetext" : "<boolean>"
56122987
DM
21153 },
21154 "quiet" : {
56122987 21155 "default" : 0,
44660702 21156 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 21157 "optional" : 1,
013dc89f
DM
21158 "type" : "boolean",
21159 "typetext" : "<boolean>"
56122987 21160 }
7aacca6f
DM
21161 }
21162 },
21163 "permissions" : {
21164 "check" : [
21165 "perm",
21166 "/nodes/{node}",
21167 [
21168 "Sys.Modify"
21169 ]
21170 ]
21171 },
44660702
DM
21172 "protected" : 1,
21173 "proxyto" : "node",
21174 "returns" : {
21175 "type" : "string"
21176 }
56122987
DM
21177 }
21178 },
7aacca6f 21179 "leaf" : 1,
44660702
DM
21180 "path" : "/nodes/{node}/apt/update",
21181 "text" : "update"
56122987
DM
21182 },
21183 {
56122987
DM
21184 "info" : {
21185 "GET" : {
44660702 21186 "description" : "Get package changelogs.",
56122987 21187 "method" : "GET",
7aacca6f 21188 "name" : "changelog",
56122987 21189 "parameters" : {
44660702 21190 "additionalProperties" : 0,
56122987
DM
21191 "properties" : {
21192 "name" : {
21193 "description" : "Package name.",
013dc89f
DM
21194 "type" : "string",
21195 "typetext" : "<string>"
56122987 21196 },
44660702
DM
21197 "node" : {
21198 "description" : "The cluster node name.",
21199 "format" : "pve-node",
013dc89f
DM
21200 "type" : "string",
21201 "typetext" : "<string>"
44660702 21202 },
56122987 21203 "version" : {
7aacca6f 21204 "description" : "Package version.",
44660702 21205 "optional" : 1,
013dc89f
DM
21206 "type" : "string",
21207 "typetext" : "<string>"
56122987 21208 }
44660702 21209 }
56122987 21210 },
44660702
DM
21211 "permissions" : {
21212 "check" : [
21213 "perm",
21214 "/nodes/{node}",
21215 [
21216 "Sys.Modify"
21217 ]
21218 ]
21219 },
21220 "proxyto" : "node",
21221 "returns" : {
21222 "type" : "string"
21223 }
56122987
DM
21224 }
21225 },
44660702
DM
21226 "leaf" : 1,
21227 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 21228 "text" : "changelog"
56122987
DM
21229 },
21230 {
56122987
DM
21231 "info" : {
21232 "GET" : {
44660702
DM
21233 "description" : "Get package information for important Proxmox packages.",
21234 "method" : "GET",
7aacca6f
DM
21235 "name" : "versions",
21236 "parameters" : {
44660702 21237 "additionalProperties" : 0,
7aacca6f
DM
21238 "properties" : {
21239 "node" : {
44660702 21240 "description" : "The cluster node name.",
7aacca6f 21241 "format" : "pve-node",
013dc89f
DM
21242 "type" : "string",
21243 "typetext" : "<string>"
7aacca6f 21244 }
44660702 21245 }
7aacca6f 21246 },
56122987
DM
21247 "permissions" : {
21248 "check" : [
21249 "perm",
21250 "/nodes/{node}",
21251 [
21252 "Sys.Audit"
21253 ]
21254 ]
21255 },
7aacca6f 21256 "proxyto" : "node",
56122987
DM
21257 "returns" : {
21258 "items" : {
7aacca6f
DM
21259 "properties" : {},
21260 "type" : "object"
44660702
DM
21261 },
21262 "type" : "array"
56122987
DM
21263 }
21264 }
21265 },
44660702 21266 "leaf" : 1,
7aacca6f 21267 "path" : "/nodes/{node}/apt/versions",
44660702 21268 "text" : "versions"
56122987
DM
21269 }
21270 ],
56122987
DM
21271 "info" : {
21272 "GET" : {
44660702 21273 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 21274 "method" : "GET",
44660702 21275 "name" : "index",
7aacca6f
DM
21276 "parameters" : {
21277 "additionalProperties" : 0,
21278 "properties" : {
21279 "node" : {
44660702 21280 "description" : "The cluster node name.",
7aacca6f 21281 "format" : "pve-node",
013dc89f
DM
21282 "type" : "string",
21283 "typetext" : "<string>"
7aacca6f
DM
21284 }
21285 }
21286 },
7aacca6f
DM
21287 "permissions" : {
21288 "user" : "all"
21289 },
44660702
DM
21290 "returns" : {
21291 "items" : {
21292 "properties" : {
21293 "id" : {
21294 "type" : "string"
21295 }
21296 },
21297 "type" : "object"
21298 },
21299 "links" : [
21300 {
21301 "href" : "{id}",
21302 "rel" : "child"
21303 }
21304 ],
21305 "type" : "array"
21306 }
56122987 21307 }
7aacca6f 21308 },
44660702 21309 "leaf" : 0,
7aacca6f 21310 "path" : "/nodes/{node}/apt",
44660702 21311 "text" : "apt"
56122987
DM
21312 },
21313 {
56122987
DM
21314 "children" : [
21315 {
21316 "children" : [
21317 {
56122987
DM
21318 "info" : {
21319 "DELETE" : {
44660702 21320 "description" : "Delete rule.",
7aacca6f 21321 "method" : "DELETE",
44660702 21322 "name" : "delete_rule",
56122987
DM
21323 "parameters" : {
21324 "additionalProperties" : 0,
21325 "properties" : {
56122987
DM
21326 "digest" : {
21327 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 21328 "maxLength" : 40,
56122987 21329 "optional" : 1,
013dc89f
DM
21330 "type" : "string",
21331 "typetext" : "<string>"
56122987 21332 },
44660702
DM
21333 "node" : {
21334 "description" : "The cluster node name.",
21335 "format" : "pve-node",
013dc89f
DM
21336 "type" : "string",
21337 "typetext" : "<string>"
44660702 21338 },
7aacca6f 21339 "pos" : {
7aacca6f 21340 "description" : "Update rule at position <pos>.",
44660702
DM
21341 "minimum" : 0,
21342 "optional" : 1,
4bd7df8b 21343 "type" : "integer",
013dc89f 21344 "typetext" : "<integer> (0 - N)"
56122987
DM
21345 }
21346 }
21347 },
44660702
DM
21348 "permissions" : {
21349 "check" : [
21350 "perm",
21351 "/nodes/{node}",
21352 [
21353 "Sys.Modify"
21354 ]
21355 ]
21356 },
21357 "protected" : 1,
21358 "proxyto" : "node",
56122987
DM
21359 "returns" : {
21360 "type" : "null"
44660702
DM
21361 }
21362 },
21363 "GET" : {
21364 "description" : "Get single rule data.",
21365 "method" : "GET",
21366 "name" : "get_rule",
21367 "parameters" : {
21368 "additionalProperties" : 0,
21369 "properties" : {
21370 "node" : {
21371 "description" : "The cluster node name.",
21372 "format" : "pve-node",
013dc89f
DM
21373 "type" : "string",
21374 "typetext" : "<string>"
44660702
DM
21375 },
21376 "pos" : {
21377 "description" : "Update rule at position <pos>.",
21378 "minimum" : 0,
21379 "optional" : 1,
4bd7df8b 21380 "type" : "integer",
013dc89f 21381 "typetext" : "<integer> (0 - N)"
44660702
DM
21382 }
21383 }
56122987 21384 },
56122987
DM
21385 "permissions" : {
21386 "check" : [
21387 "perm",
21388 "/nodes/{node}",
21389 [
44660702 21390 "Sys.Audit"
56122987
DM
21391 ]
21392 ]
44660702
DM
21393 },
21394 "proxyto" : "node",
21395 "returns" : {
21396 "properties" : {
21397 "pos" : {
21398 "type" : "integer"
21399 }
21400 },
21401 "type" : "object"
7aacca6f 21402 }
56122987
DM
21403 },
21404 "PUT" : {
44660702
DM
21405 "description" : "Modify rule data.",
21406 "method" : "PUT",
56122987 21407 "name" : "update_rule",
56122987 21408 "parameters" : {
44660702 21409 "additionalProperties" : 0,
56122987 21410 "properties" : {
44660702
DM
21411 "action" : {
21412 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21413 "maxLength" : 20,
21414 "minLength" : 2,
56122987 21415 "optional" : 1,
44660702
DM
21416 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21417 "type" : "string"
56122987 21418 },
7aacca6f 21419 "comment" : {
e94f0d56 21420 "description" : "Descriptive comment.",
56122987 21421 "optional" : 1,
013dc89f
DM
21422 "type" : "string",
21423 "typetext" : "<string>"
56122987 21424 },
44660702
DM
21425 "delete" : {
21426 "description" : "A list of settings you want to delete.",
21427 "format" : "pve-configid-list",
56122987 21428 "optional" : 1,
013dc89f
DM
21429 "type" : "string",
21430 "typetext" : "<string>"
56122987 21431 },
44660702
DM
21432 "dest" : {
21433 "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.",
21434 "format" : "pve-fw-addr-spec",
56122987 21435 "optional" : 1,
013dc89f
DM
21436 "type" : "string",
21437 "typetext" : "<string>"
56122987 21438 },
44660702
DM
21439 "digest" : {
21440 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21441 "maxLength" : 40,
56122987 21442 "optional" : 1,
013dc89f
DM
21443 "type" : "string",
21444 "typetext" : "<string>"
56122987 21445 },
7aacca6f 21446 "dport" : {
7aacca6f 21447 "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
21448 "format" : "pve-fw-dport-spec",
21449 "optional" : 1,
013dc89f
DM
21450 "type" : "string",
21451 "typetext" : "<string>"
7aacca6f 21452 },
44660702 21453 "enable" : {
e94f0d56 21454 "description" : "Flag to enable/disable a rule.",
44660702 21455 "minimum" : 0,
56122987 21456 "optional" : 1,
4bd7df8b 21457 "type" : "integer",
013dc89f 21458 "typetext" : "<integer> (0 - N)"
56122987 21459 },
7aacca6f 21460 "iface" : {
44660702 21461 "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 21462 "format" : "pve-iface",
44660702 21463 "maxLength" : 20,
56122987 21464 "minLength" : 2,
44660702 21465 "optional" : 1,
013dc89f
DM
21466 "type" : "string",
21467 "typetext" : "<string>"
56122987 21468 },
44660702 21469 "macro" : {
e94f0d56 21470 "description" : "Use predefined standard macro.",
44660702
DM
21471 "maxLength" : 128,
21472 "optional" : 1,
013dc89f
DM
21473 "type" : "string",
21474 "typetext" : "<string>"
44660702
DM
21475 },
21476 "moveto" : {
21477 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21478 "minimum" : 0,
7aacca6f 21479 "optional" : 1,
4bd7df8b 21480 "type" : "integer",
013dc89f 21481 "typetext" : "<integer> (0 - N)"
44660702
DM
21482 },
21483 "node" : {
21484 "description" : "The cluster node name.",
21485 "format" : "pve-node",
013dc89f
DM
21486 "type" : "string",
21487 "typetext" : "<string>"
56122987
DM
21488 },
21489 "pos" : {
44660702 21490 "description" : "Update rule at position <pos>.",
7aacca6f 21491 "minimum" : 0,
7aacca6f 21492 "optional" : 1,
4bd7df8b 21493 "type" : "integer",
013dc89f 21494 "typetext" : "<integer> (0 - N)"
7aacca6f 21495 },
44660702
DM
21496 "proto" : {
21497 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21498 "format" : "pve-fw-protocol-spec",
7aacca6f 21499 "optional" : 1,
013dc89f
DM
21500 "type" : "string",
21501 "typetext" : "<string>"
7aacca6f 21502 },
44660702
DM
21503 "source" : {
21504 "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.",
21505 "format" : "pve-fw-addr-spec",
56122987 21506 "optional" : 1,
013dc89f
DM
21507 "type" : "string",
21508 "typetext" : "<string>"
7aacca6f 21509 },
44660702
DM
21510 "sport" : {
21511 "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.",
21512 "format" : "pve-fw-sport-spec",
21513 "optional" : 1,
013dc89f
DM
21514 "type" : "string",
21515 "typetext" : "<string>"
44660702
DM
21516 },
21517 "type" : {
e94f0d56 21518 "description" : "Rule type.",
44660702
DM
21519 "enum" : [
21520 "in",
21521 "out",
21522 "group"
21523 ],
21524 "optional" : 1,
21525 "type" : "string"
56122987 21526 }
44660702 21527 }
56122987 21528 },
56122987
DM
21529 "permissions" : {
21530 "check" : [
21531 "perm",
21532 "/nodes/{node}",
21533 [
21534 "Sys.Modify"
21535 ]
21536 ]
7aacca6f 21537 },
44660702 21538 "protected" : 1,
7aacca6f 21539 "proxyto" : "node",
7aacca6f
DM
21540 "returns" : {
21541 "type" : "null"
56122987
DM
21542 }
21543 }
7aacca6f 21544 },
44660702 21545 "leaf" : 1,
7aacca6f 21546 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 21547 "text" : "{pos}"
56122987
DM
21548 }
21549 ],
56122987
DM
21550 "info" : {
21551 "GET" : {
44660702
DM
21552 "description" : "List rules.",
21553 "method" : "GET",
21554 "name" : "get_rules",
21555 "parameters" : {
21556 "additionalProperties" : 0,
21557 "properties" : {
21558 "node" : {
21559 "description" : "The cluster node name.",
21560 "format" : "pve-node",
013dc89f
DM
21561 "type" : "string",
21562 "typetext" : "<string>"
44660702
DM
21563 }
21564 }
21565 },
21566 "permissions" : {
21567 "check" : [
21568 "perm",
21569 "/nodes/{node}",
21570 [
21571 "Sys.Audit"
21572 ]
21573 ]
21574 },
21575 "proxyto" : "node",
56122987 21576 "returns" : {
56122987
DM
21577 "items" : {
21578 "properties" : {
21579 "pos" : {
21580 "type" : "integer"
21581 }
44660702
DM
21582 },
21583 "type" : "object"
56122987 21584 },
7aacca6f
DM
21585 "links" : [
21586 {
21587 "href" : "{pos}",
21588 "rel" : "child"
21589 }
21590 ],
21591 "type" : "array"
44660702 21592 }
56122987
DM
21593 },
21594 "POST" : {
44660702 21595 "description" : "Create new rule.",
7aacca6f
DM
21596 "method" : "POST",
21597 "name" : "create_rule",
56122987 21598 "parameters" : {
44660702 21599 "additionalProperties" : 0,
56122987 21600 "properties" : {
7aacca6f 21601 "action" : {
7aacca6f 21602 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 21603 "maxLength" : 20,
7aacca6f
DM
21604 "minLength" : 2,
21605 "optional" : 0,
44660702
DM
21606 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21607 "type" : "string"
56122987 21608 },
44660702 21609 "comment" : {
e94f0d56 21610 "description" : "Descriptive comment.",
56122987 21611 "optional" : 1,
013dc89f
DM
21612 "type" : "string",
21613 "typetext" : "<string>"
56122987 21614 },
44660702
DM
21615 "dest" : {
21616 "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.",
21617 "format" : "pve-fw-addr-spec",
7aacca6f 21618 "optional" : 1,
013dc89f
DM
21619 "type" : "string",
21620 "typetext" : "<string>"
56122987 21621 },
44660702
DM
21622 "digest" : {
21623 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21624 "maxLength" : 40,
21625 "optional" : 1,
013dc89f
DM
21626 "type" : "string",
21627 "typetext" : "<string>"
56122987 21628 },
44660702
DM
21629 "dport" : {
21630 "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.",
21631 "format" : "pve-fw-dport-spec",
7aacca6f 21632 "optional" : 1,
013dc89f
DM
21633 "type" : "string",
21634 "typetext" : "<string>"
56122987 21635 },
44660702 21636 "enable" : {
e94f0d56 21637 "description" : "Flag to enable/disable a rule.",
44660702
DM
21638 "minimum" : 0,
21639 "optional" : 1,
4bd7df8b 21640 "type" : "integer",
013dc89f 21641 "typetext" : "<integer> (0 - N)"
44660702 21642 },
7aacca6f 21643 "iface" : {
44660702 21644 "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 21645 "format" : "pve-iface",
56122987 21646 "maxLength" : 20,
7aacca6f 21647 "minLength" : 2,
7aacca6f 21648 "optional" : 1,
013dc89f
DM
21649 "type" : "string",
21650 "typetext" : "<string>"
56122987 21651 },
44660702 21652 "macro" : {
e94f0d56 21653 "description" : "Use predefined standard macro.",
44660702 21654 "maxLength" : 128,
7aacca6f 21655 "optional" : 1,
013dc89f
DM
21656 "type" : "string",
21657 "typetext" : "<string>"
56122987 21658 },
44660702
DM
21659 "node" : {
21660 "description" : "The cluster node name.",
21661 "format" : "pve-node",
013dc89f
DM
21662 "type" : "string",
21663 "typetext" : "<string>"
44660702
DM
21664 },
21665 "pos" : {
21666 "description" : "Update rule at position <pos>.",
21667 "minimum" : 0,
21668 "optional" : 1,
4bd7df8b 21669 "type" : "integer",
013dc89f 21670 "typetext" : "<integer> (0 - N)"
44660702
DM
21671 },
21672 "proto" : {
21673 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21674 "format" : "pve-fw-protocol-spec",
56122987 21675 "optional" : 1,
013dc89f
DM
21676 "type" : "string",
21677 "typetext" : "<string>"
56122987 21678 },
7aacca6f 21679 "source" : {
7aacca6f 21680 "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
21681 "format" : "pve-fw-addr-spec",
21682 "optional" : 1,
013dc89f
DM
21683 "type" : "string",
21684 "typetext" : "<string>"
7aacca6f 21685 },
44660702
DM
21686 "sport" : {
21687 "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.",
21688 "format" : "pve-fw-sport-spec",
7aacca6f 21689 "optional" : 1,
013dc89f
DM
21690 "type" : "string",
21691 "typetext" : "<string>"
44660702
DM
21692 },
21693 "type" : {
e94f0d56 21694 "description" : "Rule type.",
44660702
DM
21695 "enum" : [
21696 "in",
21697 "out",
21698 "group"
21699 ],
21700 "optional" : 0,
21701 "type" : "string"
56122987 21702 }
44660702 21703 }
7aacca6f 21704 },
56122987
DM
21705 "permissions" : {
21706 "check" : [
21707 "perm",
21708 "/nodes/{node}",
21709 [
21710 "Sys.Modify"
21711 ]
21712 ]
21713 },
44660702
DM
21714 "protected" : 1,
21715 "proxyto" : "node",
21716 "returns" : {
21717 "type" : "null"
21718 }
56122987
DM
21719 }
21720 },
44660702 21721 "leaf" : 0,
7aacca6f 21722 "path" : "/nodes/{node}/firewall/rules",
44660702 21723 "text" : "rules"
56122987
DM
21724 },
21725 {
56122987 21726 "info" : {
44660702
DM
21727 "GET" : {
21728 "description" : "Get host firewall options.",
21729 "method" : "GET",
21730 "name" : "get_options",
56122987 21731 "parameters" : {
7aacca6f 21732 "additionalProperties" : 0,
56122987 21733 "properties" : {
44660702
DM
21734 "node" : {
21735 "description" : "The cluster node name.",
21736 "format" : "pve-node",
013dc89f
DM
21737 "type" : "string",
21738 "typetext" : "<string>"
44660702
DM
21739 }
21740 }
21741 },
21742 "permissions" : {
21743 "check" : [
21744 "perm",
21745 "/nodes/{node}",
21746 [
21747 "Sys.Audit"
21748 ]
21749 ]
21750 },
21751 "proxyto" : "node",
21752 "returns" : {
21753 "properties" : {
21754 "enable" : {
21755 "description" : "Enable host firewall rules.",
7aacca6f 21756 "optional" : 1,
44660702 21757 "type" : "boolean"
7aacca6f 21758 },
44660702
DM
21759 "log_level_in" : {
21760 "description" : "Log level for incoming traffic.",
56122987
DM
21761 "enum" : [
21762 "emerg",
21763 "alert",
21764 "crit",
21765 "err",
21766 "warning",
21767 "notice",
21768 "info",
21769 "debug",
21770 "nolog"
21771 ],
56122987 21772 "optional" : 1,
44660702
DM
21773 "type" : "string"
21774 },
21775 "log_level_out" : {
21776 "description" : "Log level for outgoing traffic.",
56122987
DM
21777 "enum" : [
21778 "emerg",
21779 "alert",
21780 "crit",
21781 "err",
21782 "warning",
21783 "notice",
21784 "info",
21785 "debug",
21786 "nolog"
21787 ],
44660702
DM
21788 "optional" : 1,
21789 "type" : "string"
21790 },
21791 "ndp" : {
21792 "description" : "Enable NDP.",
21793 "optional" : 1,
21794 "type" : "boolean"
21795 },
21796 "nf_conntrack_max" : {
21797 "description" : "Maximum number of tracked connections.",
21798 "minimum" : 32768,
21799 "optional" : 1,
21800 "type" : "integer"
21801 },
21802 "nf_conntrack_tcp_timeout_established" : {
21803 "description" : "Conntrack established timeout.",
21804 "minimum" : 7875,
21805 "optional" : 1,
21806 "type" : "integer"
21807 },
21808 "nosmurfs" : {
21809 "description" : "Enable SMURFS filter.",
21810 "optional" : 1,
21811 "type" : "boolean"
56122987 21812 },
7aacca6f 21813 "smurf_log_level" : {
44660702 21814 "description" : "Log level for SMURFS filter.",
56122987
DM
21815 "enum" : [
21816 "emerg",
21817 "alert",
21818 "crit",
21819 "err",
21820 "warning",
21821 "notice",
21822 "info",
21823 "debug",
21824 "nolog"
7aacca6f 21825 ],
7aacca6f
DM
21826 "optional" : 1,
21827 "type" : "string"
56122987 21828 },
44660702
DM
21829 "tcp_flags_log_level" : {
21830 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21831 "enum" : [
21832 "emerg",
21833 "alert",
21834 "crit",
21835 "err",
21836 "warning",
21837 "notice",
21838 "info",
21839 "debug",
21840 "nolog"
21841 ],
44660702
DM
21842 "optional" : 1,
21843 "type" : "string"
7aacca6f 21844 },
44660702
DM
21845 "tcpflags" : {
21846 "description" : "Filter illegal combinations of TCP flags.",
56122987 21847 "optional" : 1,
44660702 21848 "type" : "boolean"
56122987 21849 }
44660702
DM
21850 },
21851 "type" : "object"
7aacca6f 21852 }
56122987 21853 },
44660702
DM
21854 "PUT" : {
21855 "description" : "Set Firewall options.",
21856 "method" : "PUT",
21857 "name" : "set_options",
7aacca6f 21858 "parameters" : {
44660702 21859 "additionalProperties" : 0,
7aacca6f 21860 "properties" : {
44660702
DM
21861 "delete" : {
21862 "description" : "A list of settings you want to delete.",
21863 "format" : "pve-configid-list",
7aacca6f 21864 "optional" : 1,
013dc89f
DM
21865 "type" : "string",
21866 "typetext" : "<string>"
56122987 21867 },
44660702
DM
21868 "digest" : {
21869 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21870 "maxLength" : 40,
21871 "optional" : 1,
013dc89f
DM
21872 "type" : "string",
21873 "typetext" : "<string>"
56122987 21874 },
44660702
DM
21875 "enable" : {
21876 "description" : "Enable host firewall rules.",
7aacca6f 21877 "optional" : 1,
013dc89f
DM
21878 "type" : "boolean",
21879 "typetext" : "<boolean>"
44660702
DM
21880 },
21881 "log_level_in" : {
21882 "description" : "Log level for incoming traffic.",
56122987
DM
21883 "enum" : [
21884 "emerg",
21885 "alert",
21886 "crit",
21887 "err",
21888 "warning",
21889 "notice",
21890 "info",
21891 "debug",
21892 "nolog"
44660702 21893 ],
7aacca6f 21894 "optional" : 1,
44660702 21895 "type" : "string"
7aacca6f 21896 },
44660702
DM
21897 "log_level_out" : {
21898 "description" : "Log level for outgoing traffic.",
56122987
DM
21899 "enum" : [
21900 "emerg",
21901 "alert",
21902 "crit",
21903 "err",
21904 "warning",
21905 "notice",
21906 "info",
21907 "debug",
21908 "nolog"
21909 ],
21910 "optional" : 1,
7aacca6f 21911 "type" : "string"
56122987 21912 },
44660702
DM
21913 "ndp" : {
21914 "description" : "Enable NDP.",
7aacca6f 21915 "optional" : 1,
013dc89f
DM
21916 "type" : "boolean",
21917 "typetext" : "<boolean>"
44660702
DM
21918 },
21919 "nf_conntrack_max" : {
21920 "description" : "Maximum number of tracked connections.",
21921 "minimum" : 32768,
21922 "optional" : 1,
4bd7df8b 21923 "type" : "integer",
013dc89f 21924 "typetext" : "<integer> (32768 - N)"
44660702
DM
21925 },
21926 "nf_conntrack_tcp_timeout_established" : {
21927 "description" : "Conntrack established timeout.",
21928 "minimum" : 7875,
21929 "optional" : 1,
4bd7df8b 21930 "type" : "integer",
013dc89f 21931 "typetext" : "<integer> (7875 - N)"
44660702
DM
21932 },
21933 "node" : {
21934 "description" : "The cluster node name.",
21935 "format" : "pve-node",
013dc89f
DM
21936 "type" : "string",
21937 "typetext" : "<string>"
44660702
DM
21938 },
21939 "nosmurfs" : {
21940 "description" : "Enable SMURFS filter.",
21941 "optional" : 1,
013dc89f
DM
21942 "type" : "boolean",
21943 "typetext" : "<boolean>"
44660702
DM
21944 },
21945 "smurf_log_level" : {
21946 "description" : "Log level for SMURFS filter.",
56122987
DM
21947 "enum" : [
21948 "emerg",
21949 "alert",
21950 "crit",
21951 "err",
21952 "warning",
21953 "notice",
21954 "info",
21955 "debug",
21956 "nolog"
44660702
DM
21957 ],
21958 "optional" : 1,
21959 "type" : "string"
56122987 21960 },
44660702
DM
21961 "tcp_flags_log_level" : {
21962 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21963 "enum" : [
21964 "emerg",
21965 "alert",
21966 "crit",
21967 "err",
21968 "warning",
21969 "notice",
21970 "info",
21971 "debug",
21972 "nolog"
21973 ],
44660702
DM
21974 "optional" : 1,
21975 "type" : "string"
7aacca6f 21976 },
44660702
DM
21977 "tcpflags" : {
21978 "description" : "Filter illegal combinations of TCP flags.",
56122987 21979 "optional" : 1,
013dc89f
DM
21980 "type" : "boolean",
21981 "typetext" : "<boolean>"
56122987 21982 }
7aacca6f 21983 }
56122987 21984 },
44660702
DM
21985 "permissions" : {
21986 "check" : [
21987 "perm",
21988 "/nodes/{node}",
21989 [
21990 "Sys.Modify"
21991 ]
21992 ]
21993 },
21994 "protected" : 1,
21995 "proxyto" : "node",
21996 "returns" : {
21997 "type" : "null"
21998 }
7aacca6f
DM
21999 }
22000 },
44660702
DM
22001 "leaf" : 1,
22002 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
22003 "text" : "options"
22004 },
22005 {
7aacca6f
DM
22006 "info" : {
22007 "GET" : {
44660702
DM
22008 "description" : "Read firewall log",
22009 "method" : "GET",
7aacca6f 22010 "name" : "log",
56122987 22011 "parameters" : {
44660702 22012 "additionalProperties" : 0,
56122987 22013 "properties" : {
7aacca6f 22014 "limit" : {
44660702 22015 "minimum" : 0,
7aacca6f 22016 "optional" : 1,
4bd7df8b 22017 "type" : "integer",
013dc89f 22018 "typetext" : "<integer> (0 - N)"
7aacca6f 22019 },
56122987 22020 "node" : {
7aacca6f 22021 "description" : "The cluster node name.",
44660702 22022 "format" : "pve-node",
013dc89f
DM
22023 "type" : "string",
22024 "typetext" : "<string>"
44660702
DM
22025 },
22026 "start" : {
22027 "minimum" : 0,
22028 "optional" : 1,
4bd7df8b 22029 "type" : "integer",
013dc89f 22030 "typetext" : "<integer> (0 - N)"
56122987 22031 }
44660702 22032 }
7aacca6f 22033 },
56122987
DM
22034 "permissions" : {
22035 "check" : [
22036 "perm",
22037 "/nodes/{node}",
22038 [
22039 "Sys.Syslog"
22040 ]
22041 ]
22042 },
44660702
DM
22043 "protected" : 1,
22044 "proxyto" : "node",
56122987
DM
22045 "returns" : {
22046 "items" : {
56122987 22047 "properties" : {
56122987 22048 "n" : {
44660702
DM
22049 "description" : "Line number",
22050 "type" : "integer"
7aacca6f
DM
22051 },
22052 "t" : {
44660702
DM
22053 "description" : "Line text",
22054 "type" : "string"
56122987 22055 }
44660702
DM
22056 },
22057 "type" : "object"
56122987
DM
22058 },
22059 "type" : "array"
7aacca6f 22060 }
56122987
DM
22061 }
22062 },
44660702
DM
22063 "leaf" : 1,
22064 "path" : "/nodes/{node}/firewall/log",
7aacca6f 22065 "text" : "log"
56122987
DM
22066 }
22067 ],
22068 "info" : {
22069 "GET" : {
44660702
DM
22070 "description" : "Directory index.",
22071 "method" : "GET",
22072 "name" : "index",
56122987 22073 "parameters" : {
44660702 22074 "additionalProperties" : 0,
56122987
DM
22075 "properties" : {
22076 "node" : {
22077 "description" : "The cluster node name.",
44660702 22078 "format" : "pve-node",
013dc89f
DM
22079 "type" : "string",
22080 "typetext" : "<string>"
56122987 22081 }
44660702 22082 }
56122987 22083 },
7aacca6f
DM
22084 "permissions" : {
22085 "user" : "all"
22086 },
56122987
DM
22087 "returns" : {
22088 "items" : {
22089 "properties" : {},
22090 "type" : "object"
22091 },
56122987
DM
22092 "links" : [
22093 {
44660702
DM
22094 "href" : "{name}",
22095 "rel" : "child"
56122987 22096 }
44660702
DM
22097 ],
22098 "type" : "array"
22099 }
56122987 22100 }
7aacca6f 22101 },
44660702 22102 "leaf" : 0,
7aacca6f 22103 "path" : "/nodes/{node}/firewall",
44660702 22104 "text" : "firewall"
56122987
DM
22105 },
22106 {
56122987
DM
22107 "info" : {
22108 "GET" : {
44660702
DM
22109 "description" : "API version details",
22110 "method" : "GET",
22111 "name" : "version",
56122987 22112 "parameters" : {
44660702 22113 "additionalProperties" : 0,
56122987
DM
22114 "properties" : {
22115 "node" : {
56122987 22116 "description" : "The cluster node name.",
44660702 22117 "format" : "pve-node",
013dc89f
DM
22118 "type" : "string",
22119 "typetext" : "<string>"
56122987 22120 }
44660702 22121 }
56122987 22122 },
56122987 22123 "permissions" : {
7aacca6f 22124 "user" : "all"
56122987 22125 },
56122987 22126 "proxyto" : "node",
56122987 22127 "returns" : {
56122987 22128 "properties" : {
44660702 22129 "release" : {
56122987
DM
22130 "type" : "string"
22131 },
44660702 22132 "repoid" : {
7aacca6f
DM
22133 "type" : "string"
22134 },
22135 "version" : {
22136 "type" : "string"
22137 }
44660702
DM
22138 },
22139 "type" : "object"
7aacca6f 22140 }
56122987
DM
22141 }
22142 },
56122987 22143 "leaf" : 1,
44660702
DM
22144 "path" : "/nodes/{node}/version",
22145 "text" : "version"
56122987
DM
22146 },
22147 {
56122987
DM
22148 "info" : {
22149 "GET" : {
7aacca6f 22150 "description" : "Read node status",
44660702 22151 "method" : "GET",
7aacca6f 22152 "name" : "status",
56122987 22153 "parameters" : {
44660702 22154 "additionalProperties" : 0,
56122987
DM
22155 "properties" : {
22156 "node" : {
7aacca6f 22157 "description" : "The cluster node name.",
44660702 22158 "format" : "pve-node",
013dc89f
DM
22159 "type" : "string",
22160 "typetext" : "<string>"
56122987 22161 }
44660702 22162 }
56122987 22163 },
56122987
DM
22164 "permissions" : {
22165 "check" : [
22166 "perm",
22167 "/nodes/{node}",
22168 [
22169 "Sys.Audit"
22170 ]
22171 ]
44660702
DM
22172 },
22173 "proxyto" : "node",
22174 "returns" : {
22175 "properties" : {},
22176 "type" : "object"
7aacca6f
DM
22177 }
22178 },
22179 "POST" : {
44660702
DM
22180 "description" : "Reboot or shutdown a node.",
22181 "method" : "POST",
7aacca6f 22182 "name" : "node_cmd",
56122987 22183 "parameters" : {
44660702 22184 "additionalProperties" : 0,
56122987 22185 "properties" : {
7aacca6f
DM
22186 "command" : {
22187 "description" : "Specify the command.",
56122987 22188 "enum" : [
7aacca6f
DM
22189 "reboot",
22190 "shutdown"
56122987
DM
22191 ],
22192 "type" : "string"
44660702
DM
22193 },
22194 "node" : {
22195 "description" : "The cluster node name.",
22196 "format" : "pve-node",
013dc89f
DM
22197 "type" : "string",
22198 "typetext" : "<string>"
56122987 22199 }
44660702 22200 }
7aacca6f 22201 },
7aacca6f
DM
22202 "permissions" : {
22203 "check" : [
22204 "perm",
22205 "/nodes/{node}",
22206 [
22207 "Sys.PowerMgmt"
22208 ]
22209 ]
22210 },
44660702 22211 "protected" : 1,
7aacca6f 22212 "proxyto" : "node",
7aacca6f
DM
22213 "returns" : {
22214 "type" : "null"
56122987
DM
22215 }
22216 }
22217 },
7aacca6f 22218 "leaf" : 1,
44660702
DM
22219 "path" : "/nodes/{node}/status",
22220 "text" : "status"
56122987
DM
22221 },
22222 {
56122987
DM
22223 "info" : {
22224 "GET" : {
44660702
DM
22225 "description" : "Read tap/vm network device interface counters",
22226 "method" : "GET",
22227 "name" : "netstat",
22228 "parameters" : {
22229 "additionalProperties" : 0,
22230 "properties" : {
22231 "node" : {
22232 "description" : "The cluster node name.",
22233 "format" : "pve-node",
013dc89f
DM
22234 "type" : "string",
22235 "typetext" : "<string>"
44660702 22236 }
56122987
DM
22237 }
22238 },
22239 "permissions" : {
22240 "check" : [
22241 "perm",
22242 "/nodes/{node}",
22243 [
7aacca6f 22244 "Sys.Audit"
56122987
DM
22245 ]
22246 ]
22247 },
7aacca6f 22248 "proxyto" : "node",
44660702
DM
22249 "returns" : {
22250 "items" : {
22251 "properties" : {},
22252 "type" : "object"
22253 },
22254 "type" : "array"
22255 }
7aacca6f
DM
22256 }
22257 },
44660702
DM
22258 "leaf" : 1,
22259 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
22260 "text" : "netstat"
22261 },
22262 {
22263 "info" : {
22264 "POST" : {
7aacca6f 22265 "description" : "Execute multiple commands in order.",
7aacca6f 22266 "method" : "POST",
7aacca6f 22267 "name" : "execute",
56122987
DM
22268 "parameters" : {
22269 "additionalProperties" : 0,
22270 "properties" : {
7aacca6f
DM
22271 "commands" : {
22272 "description" : "JSON encoded array of commands.",
013dc89f
DM
22273 "type" : "string",
22274 "typetext" : "<string>"
56122987
DM
22275 },
22276 "node" : {
44660702 22277 "description" : "The cluster node name.",
56122987 22278 "format" : "pve-node",
013dc89f
DM
22279 "type" : "string",
22280 "typetext" : "<string>"
56122987
DM
22281 }
22282 }
44660702
DM
22283 },
22284 "permissions" : {
22285 "check" : [
22286 "perm",
22287 "/nodes/{node}",
22288 [
22289 "Sys.Audit"
22290 ]
22291 ]
22292 },
22293 "protected" : 1,
22294 "proxyto" : "node",
22295 "returns" : {
22296 "properties" : {},
22297 "type" : "array"
56122987
DM
22298 }
22299 }
22300 },
56122987 22301 "leaf" : 1,
44660702
DM
22302 "path" : "/nodes/{node}/execute",
22303 "text" : "execute"
56122987
DM
22304 },
22305 {
22306 "info" : {
7aacca6f 22307 "GET" : {
44660702
DM
22308 "description" : "Read node RRD statistics (returns PNG)",
22309 "method" : "GET",
7aacca6f 22310 "name" : "rrd",
56122987 22311 "parameters" : {
7aacca6f 22312 "additionalProperties" : 0,
56122987 22313 "properties" : {
44660702
DM
22314 "cf" : {
22315 "description" : "The RRD consolidation function",
22316 "enum" : [
22317 "AVERAGE",
22318 "MAX"
22319 ],
22320 "optional" : 1,
22321 "type" : "string"
22322 },
7aacca6f 22323 "ds" : {
7aacca6f 22324 "description" : "The list of datasources you want to display.",
44660702 22325 "format" : "pve-configid-list",
013dc89f
DM
22326 "type" : "string",
22327 "typetext" : "<string>"
44660702
DM
22328 },
22329 "node" : {
22330 "description" : "The cluster node name.",
22331 "format" : "pve-node",
013dc89f
DM
22332 "type" : "string",
22333 "typetext" : "<string>"
7aacca6f
DM
22334 },
22335 "timeframe" : {
22336 "description" : "Specify the time frame you are interested in.",
22337 "enum" : [
22338 "hour",
22339 "day",
22340 "week",
22341 "month",
22342 "year"
22343 ],
22344 "type" : "string"
56122987 22345 }
7aacca6f 22346 }
56122987 22347 },
56122987 22348 "permissions" : {
56122987
DM
22349 "check" : [
22350 "perm",
22351 "/nodes/{node}",
22352 [
7aacca6f 22353 "Sys.Audit"
56122987
DM
22354 ]
22355 ]
22356 },
7aacca6f 22357 "protected" : 1,
56122987 22358 "returns" : {
56122987 22359 "properties" : {
7aacca6f 22360 "filename" : {
56122987
DM
22361 "type" : "string"
22362 }
44660702
DM
22363 },
22364 "type" : "object"
22365 }
56122987
DM
22366 }
22367 },
44660702 22368 "leaf" : 1,
7aacca6f 22369 "path" : "/nodes/{node}/rrd",
44660702 22370 "text" : "rrd"
56122987
DM
22371 },
22372 {
22373 "info" : {
7aacca6f 22374 "GET" : {
44660702
DM
22375 "description" : "Read node RRD statistics",
22376 "method" : "GET",
7aacca6f 22377 "name" : "rrddata",
56122987 22378 "parameters" : {
44660702 22379 "additionalProperties" : 0,
56122987 22380 "properties" : {
7aacca6f 22381 "cf" : {
7aacca6f
DM
22382 "description" : "The RRD consolidation function",
22383 "enum" : [
22384 "AVERAGE",
22385 "MAX"
44660702
DM
22386 ],
22387 "optional" : 1,
22388 "type" : "string"
56122987
DM
22389 },
22390 "node" : {
44660702 22391 "description" : "The cluster node name.",
56122987 22392 "format" : "pve-node",
013dc89f
DM
22393 "type" : "string",
22394 "typetext" : "<string>"
56122987 22395 },
7aacca6f 22396 "timeframe" : {
7aacca6f
DM
22397 "description" : "Specify the time frame you are interested in.",
22398 "enum" : [
22399 "hour",
22400 "day",
22401 "week",
22402 "month",
22403 "year"
44660702
DM
22404 ],
22405 "type" : "string"
56122987 22406 }
56122987
DM
22407 }
22408 },
56122987
DM
22409 "permissions" : {
22410 "check" : [
22411 "perm",
22412 "/nodes/{node}",
22413 [
44660702 22414 "Sys.Audit"
56122987
DM
22415 ]
22416 ]
7aacca6f 22417 },
44660702 22418 "protected" : 1,
56122987 22419 "returns" : {
7aacca6f 22420 "items" : {
44660702 22421 "properties" : {},
7aacca6f
DM
22422 "type" : "object"
22423 },
22424 "type" : "array"
44660702
DM
22425 }
22426 }
22427 },
22428 "leaf" : 1,
22429 "path" : "/nodes/{node}/rrddata",
22430 "text" : "rrddata"
22431 },
22432 {
22433 "info" : {
22434 "GET" : {
22435 "description" : "Read system log",
22436 "method" : "GET",
22437 "name" : "syslog",
56122987 22438 "parameters" : {
44660702 22439 "additionalProperties" : 0,
56122987 22440 "properties" : {
44660702
DM
22441 "limit" : {
22442 "minimum" : 0,
7aacca6f 22443 "optional" : 1,
4bd7df8b 22444 "type" : "integer",
013dc89f 22445 "typetext" : "<integer> (0 - N)"
7aacca6f 22446 },
56122987 22447 "node" : {
7aacca6f 22448 "description" : "The cluster node name.",
44660702 22449 "format" : "pve-node",
013dc89f
DM
22450 "type" : "string",
22451 "typetext" : "<string>"
56122987 22452 },
44660702
DM
22453 "since" : {
22454 "description" : "Display all log since this date-time string.",
22455 "optional" : 1,
22456 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
22457 "type" : "string"
22458 },
22459 "start" : {
7aacca6f
DM
22460 "minimum" : 0,
22461 "optional" : 1,
4bd7df8b 22462 "type" : "integer",
013dc89f 22463 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22464 },
22465 "until" : {
22466 "description" : "Display all log until this date-time string.",
7aacca6f 22467 "optional" : 1,
44660702 22468 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
22469 "type" : "string"
22470 }
44660702 22471 }
56122987 22472 },
44660702
DM
22473 "permissions" : {
22474 "check" : [
22475 "perm",
22476 "/nodes/{node}",
22477 [
22478 "Sys.Syslog"
22479 ]
22480 ]
22481 },
22482 "protected" : 1,
22483 "proxyto" : "node",
22484 "returns" : {
22485 "items" : {
22486 "properties" : {
22487 "n" : {
22488 "description" : "Line number",
22489 "type" : "integer"
22490 },
22491 "t" : {
22492 "description" : "Line text",
22493 "type" : "string"
22494 }
22495 },
22496 "type" : "object"
22497 },
22498 "type" : "array"
22499 }
56122987
DM
22500 }
22501 },
44660702
DM
22502 "leaf" : 1,
22503 "path" : "/nodes/{node}/syslog",
7aacca6f 22504 "text" : "syslog"
56122987
DM
22505 },
22506 {
56122987
DM
22507 "info" : {
22508 "POST" : {
44660702
DM
22509 "description" : "Creates a VNC Shell proxy.",
22510 "method" : "POST",
22511 "name" : "vncshell",
22512 "parameters" : {
22513 "additionalProperties" : 0,
56122987 22514 "properties" : {
44660702
DM
22515 "node" : {
22516 "description" : "The cluster node name.",
22517 "format" : "pve-node",
013dc89f
DM
22518 "type" : "string",
22519 "typetext" : "<string>"
7aacca6f 22520 },
44660702
DM
22521 "upgrade" : {
22522 "default" : 0,
22523 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22524 "optional" : 1,
013dc89f
DM
22525 "type" : "boolean",
22526 "typetext" : "<boolean>"
7aacca6f 22527 },
44660702
DM
22528 "websocket" : {
22529 "description" : "use websocket instead of standard vnc.",
22530 "optional" : 1,
013dc89f
DM
22531 "type" : "boolean",
22532 "typetext" : "<boolean>"
56122987 22533 }
44660702 22534 }
56122987 22535 },
56122987
DM
22536 "permissions" : {
22537 "check" : [
22538 "perm",
7aacca6f 22539 "/nodes/{node}",
56122987 22540 [
7aacca6f 22541 "Sys.Console"
56122987 22542 ]
44660702
DM
22543 ],
22544 "description" : "Restricted to users on realm 'pam'"
56122987 22545 },
44660702
DM
22546 "protected" : 1,
22547 "returns" : {
22548 "additionalProperties" : 0,
56122987 22549 "properties" : {
44660702
DM
22550 "cert" : {
22551 "type" : "string"
7aacca6f 22552 },
44660702
DM
22553 "port" : {
22554 "type" : "integer"
7aacca6f 22555 },
44660702
DM
22556 "ticket" : {
22557 "type" : "string"
22558 },
22559 "upid" : {
22560 "type" : "string"
22561 },
22562 "user" : {
22563 "type" : "string"
56122987 22564 }
44660702
DM
22565 }
22566 }
56122987
DM
22567 }
22568 },
7aacca6f 22569 "leaf" : 1,
44660702
DM
22570 "path" : "/nodes/{node}/vncshell",
22571 "text" : "vncshell"
56122987
DM
22572 },
22573 {
22574 "info" : {
22575 "GET" : {
7aacca6f 22576 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
22577 "method" : "GET",
22578 "name" : "vncwebsocket",
56122987 22579 "parameters" : {
44660702 22580 "additionalProperties" : 0,
56122987
DM
22581 "properties" : {
22582 "node" : {
22583 "description" : "The cluster node name.",
44660702 22584 "format" : "pve-node",
013dc89f
DM
22585 "type" : "string",
22586 "typetext" : "<string>"
7aacca6f
DM
22587 },
22588 "port" : {
7aacca6f
DM
22589 "description" : "Port number returned by previous vncproxy call.",
22590 "maximum" : 5999,
44660702 22591 "minimum" : 5900,
4bd7df8b 22592 "type" : "integer",
013dc89f 22593 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
22594 },
22595 "vncticket" : {
22596 "description" : "Ticket from previous call to vncproxy.",
22597 "maxLength" : 512,
013dc89f
DM
22598 "type" : "string",
22599 "typetext" : "<string>"
56122987 22600 }
44660702 22601 }
56122987 22602 },
56122987
DM
22603 "permissions" : {
22604 "check" : [
22605 "perm",
22606 "/nodes/{node}",
22607 [
7aacca6f 22608 "Sys.Console"
56122987 22609 ]
44660702
DM
22610 ],
22611 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
22612 },
22613 "returns" : {
22614 "properties" : {
22615 "port" : {
22616 "type" : "string"
22617 }
22618 },
22619 "type" : "object"
7aacca6f 22620 }
56122987
DM
22621 }
22622 },
44660702 22623 "leaf" : 1,
7aacca6f 22624 "path" : "/nodes/{node}/vncwebsocket",
44660702 22625 "text" : "vncwebsocket"
56122987
DM
22626 },
22627 {
22628 "info" : {
22629 "POST" : {
44660702 22630 "description" : "Creates a SPICE shell.",
7aacca6f 22631 "method" : "POST",
44660702 22632 "name" : "spiceshell",
56122987 22633 "parameters" : {
7aacca6f 22634 "additionalProperties" : 0,
56122987 22635 "properties" : {
7aacca6f 22636 "node" : {
44660702 22637 "description" : "The cluster node name.",
56122987 22638 "format" : "pve-node",
013dc89f
DM
22639 "type" : "string",
22640 "typetext" : "<string>"
7aacca6f 22641 },
44660702
DM
22642 "proxy" : {
22643 "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).",
22644 "format" : "address",
22645 "optional" : 1,
013dc89f
DM
22646 "type" : "string",
22647 "typetext" : "<string>"
7aacca6f 22648 },
44660702
DM
22649 "upgrade" : {
22650 "default" : 0,
22651 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22652 "optional" : 1,
013dc89f
DM
22653 "type" : "boolean",
22654 "typetext" : "<boolean>"
56122987 22655 }
7aacca6f 22656 }
56122987 22657 },
56122987
DM
22658 "permissions" : {
22659 "check" : [
22660 "perm",
7aacca6f 22661 "/nodes/{node}",
56122987 22662 [
7aacca6f 22663 "Sys.Console"
56122987 22664 ]
7aacca6f
DM
22665 ],
22666 "description" : "Restricted to users on realm 'pam'"
44660702
DM
22667 },
22668 "protected" : 1,
22669 "proxyto" : "node",
22670 "returns" : {
22671 "additionalProperties" : 1,
22672 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22673 "properties" : {
22674 "host" : {
22675 "type" : "string"
22676 },
22677 "password" : {
22678 "type" : "string"
22679 },
22680 "proxy" : {
22681 "type" : "string"
22682 },
22683 "tls-port" : {
22684 "type" : "integer"
22685 },
22686 "type" : {
22687 "type" : "string"
22688 }
22689 }
7aacca6f 22690 }
56122987
DM
22691 }
22692 },
56122987 22693 "leaf" : 1,
44660702
DM
22694 "path" : "/nodes/{node}/spiceshell",
22695 "text" : "spiceshell"
56122987
DM
22696 },
22697 {
56122987 22698 "info" : {
7aacca6f 22699 "GET" : {
44660702 22700 "description" : "Read DNS settings.",
7aacca6f 22701 "method" : "GET",
44660702
DM
22702 "name" : "dns",
22703 "parameters" : {
7aacca6f
DM
22704 "additionalProperties" : 0,
22705 "properties" : {
44660702
DM
22706 "node" : {
22707 "description" : "The cluster node name.",
22708 "format" : "pve-node",
013dc89f
DM
22709 "type" : "string",
22710 "typetext" : "<string>"
7aacca6f
DM
22711 }
22712 }
22713 },
7aacca6f
DM
22714 "permissions" : {
22715 "check" : [
22716 "perm",
22717 "/nodes/{node}",
22718 [
22719 "Sys.Audit"
22720 ]
22721 ]
22722 },
44660702
DM
22723 "proxyto" : "node",
22724 "returns" : {
56122987
DM
22725 "additionalProperties" : 0,
22726 "properties" : {
44660702
DM
22727 "dns1" : {
22728 "description" : "First name server IP address.",
22729 "optional" : 1,
22730 "type" : "string"
22731 },
22732 "dns2" : {
22733 "description" : "Second name server IP address.",
22734 "optional" : 1,
22735 "type" : "string"
22736 },
22737 "dns3" : {
22738 "description" : "Third name server IP address.",
22739 "optional" : 1,
22740 "type" : "string"
22741 },
22742 "search" : {
22743 "description" : "Search domain for host-name lookup.",
22744 "optional" : 1,
22745 "type" : "string"
7aacca6f 22746 }
44660702
DM
22747 },
22748 "type" : "object"
22749 }
7aacca6f
DM
22750 },
22751 "PUT" : {
44660702
DM
22752 "description" : "Write DNS settings.",
22753 "method" : "PUT",
7aacca6f
DM
22754 "name" : "update_dns",
22755 "parameters" : {
22756 "additionalProperties" : 0,
22757 "properties" : {
44660702
DM
22758 "dns1" : {
22759 "description" : "First name server IP address.",
22760 "format" : "ip",
22761 "optional" : 1,
013dc89f
DM
22762 "type" : "string",
22763 "typetext" : "<string>"
7aacca6f 22764 },
44660702
DM
22765 "dns2" : {
22766 "description" : "Second name server IP address.",
22767 "format" : "ip",
7aacca6f 22768 "optional" : 1,
013dc89f
DM
22769 "type" : "string",
22770 "typetext" : "<string>"
7aacca6f 22771 },
44660702
DM
22772 "dns3" : {
22773 "description" : "Third name server IP address.",
22774 "format" : "ip",
7aacca6f 22775 "optional" : 1,
013dc89f
DM
22776 "type" : "string",
22777 "typetext" : "<string>"
7aacca6f
DM
22778 },
22779 "node" : {
44660702 22780 "description" : "The cluster node name.",
56122987 22781 "format" : "pve-node",
013dc89f
DM
22782 "type" : "string",
22783 "typetext" : "<string>"
7aacca6f 22784 },
44660702
DM
22785 "search" : {
22786 "description" : "Search domain for host-name lookup.",
013dc89f
DM
22787 "type" : "string",
22788 "typetext" : "<string>"
56122987
DM
22789 }
22790 }
22791 },
22792 "permissions" : {
22793 "check" : [
22794 "perm",
7aacca6f 22795 "/nodes/{node}",
56122987 22796 [
7aacca6f 22797 "Sys.Modify"
56122987
DM
22798 ]
22799 ]
22800 },
44660702 22801 "protected" : 1,
7aacca6f 22802 "proxyto" : "node",
56122987 22803 "returns" : {
7aacca6f
DM
22804 "type" : "null"
22805 }
56122987 22806 }
44660702
DM
22807 },
22808 "leaf" : 1,
22809 "path" : "/nodes/{node}/dns",
22810 "text" : "dns"
56122987
DM
22811 },
22812 {
22813 "info" : {
7aacca6f 22814 "GET" : {
7aacca6f 22815 "description" : "Read server time and time zone settings.",
44660702
DM
22816 "method" : "GET",
22817 "name" : "time",
56122987 22818 "parameters" : {
44660702 22819 "additionalProperties" : 0,
56122987
DM
22820 "properties" : {
22821 "node" : {
44660702 22822 "description" : "The cluster node name.",
56122987 22823 "format" : "pve-node",
013dc89f
DM
22824 "type" : "string",
22825 "typetext" : "<string>"
56122987 22826 }
44660702 22827 }
56122987
DM
22828 },
22829 "permissions" : {
22830 "check" : [
22831 "perm",
7aacca6f 22832 "/nodes/{node}",
56122987 22833 [
7aacca6f 22834 "Sys.Audit"
56122987
DM
22835 ]
22836 ]
44660702
DM
22837 },
22838 "proxyto" : "node",
22839 "returns" : {
22840 "additionalProperties" : 0,
22841 "properties" : {
22842 "localtime" : {
22843 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
22844 "minimum" : 1297163644,
22845 "type" : "integer"
22846 },
22847 "time" : {
22848 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
22849 "minimum" : 1297163644,
22850 "type" : "integer"
22851 },
22852 "timezone" : {
22853 "description" : "Time zone",
22854 "type" : "string"
22855 }
22856 },
22857 "type" : "object"
7aacca6f
DM
22858 }
22859 },
22860 "PUT" : {
7aacca6f 22861 "description" : "Set time zone.",
44660702
DM
22862 "method" : "PUT",
22863 "name" : "set_timezone",
22864 "parameters" : {
22865 "additionalProperties" : 0,
22866 "properties" : {
22867 "node" : {
22868 "description" : "The cluster node name.",
22869 "format" : "pve-node",
013dc89f
DM
22870 "type" : "string",
22871 "typetext" : "<string>"
44660702
DM
22872 },
22873 "timezone" : {
22874 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
22875 "type" : "string",
22876 "typetext" : "<string>"
44660702
DM
22877 }
22878 }
22879 },
7aacca6f
DM
22880 "permissions" : {
22881 "check" : [
22882 "perm",
22883 "/nodes/{node}",
22884 [
22885 "Sys.Modify"
22886 ]
22887 ]
56122987 22888 },
7aacca6f 22889 "protected" : 1,
44660702
DM
22890 "proxyto" : "node",
22891 "returns" : {
22892 "type" : "null"
22893 }
7aacca6f
DM
22894 }
22895 },
7aacca6f 22896 "leaf" : 1,
44660702
DM
22897 "path" : "/nodes/{node}/time",
22898 "text" : "time"
7aacca6f
DM
22899 },
22900 {
22901 "info" : {
44660702
DM
22902 "GET" : {
22903 "description" : "Get list of appliances.",
22904 "method" : "GET",
22905 "name" : "aplinfo",
7aacca6f
DM
22906 "parameters" : {
22907 "additionalProperties" : 0,
22908 "properties" : {
7aacca6f 22909 "node" : {
44660702 22910 "description" : "The cluster node name.",
7aacca6f 22911 "format" : "pve-node",
013dc89f
DM
22912 "type" : "string",
22913 "typetext" : "<string>"
7aacca6f
DM
22914 }
22915 }
56122987 22916 },
7aacca6f 22917 "permissions" : {
44660702 22918 "user" : "all"
56122987 22919 },
44660702 22920 "proxyto" : "node",
7aacca6f
DM
22921 "returns" : {
22922 "items" : {
44660702
DM
22923 "properties" : {},
22924 "type" : "object"
7aacca6f
DM
22925 },
22926 "type" : "array"
44660702
DM
22927 }
22928 },
22929 "POST" : {
22930 "description" : "Download appliance templates.",
22931 "method" : "POST",
22932 "name" : "apl_download",
7aacca6f
DM
22933 "parameters" : {
22934 "additionalProperties" : 0,
22935 "properties" : {
22936 "node" : {
7aacca6f 22937 "description" : "The cluster node name.",
44660702 22938 "format" : "pve-node",
013dc89f
DM
22939 "type" : "string",
22940 "typetext" : "<string>"
44660702
DM
22941 },
22942 "storage" : {
4bd7df8b 22943 "description" : "The storage where the template will be stored",
44660702 22944 "format" : "pve-storage-id",
013dc89f
DM
22945 "type" : "string",
22946 "typetext" : "<string>"
44660702
DM
22947 },
22948 "template" : {
22949 "description" : "The template wich will downloaded",
22950 "maxLength" : 255,
013dc89f
DM
22951 "type" : "string",
22952 "typetext" : "<string>"
7aacca6f
DM
22953 }
22954 }
56122987 22955 },
7aacca6f 22956 "permissions" : {
44660702
DM
22957 "check" : [
22958 "perm",
22959 "/storage/{storage}",
22960 [
22961 "Datastore.AllocateTemplate"
22962 ]
22963 ]
22964 },
22965 "protected" : 1,
22966 "proxyto" : "node",
22967 "returns" : {
22968 "type" : "string"
7aacca6f
DM
22969 }
22970 }
22971 },
7aacca6f 22972 "leaf" : 1,
44660702
DM
22973 "path" : "/nodes/{node}/aplinfo",
22974 "text" : "aplinfo"
7aacca6f
DM
22975 },
22976 {
22977 "info" : {
22978 "GET" : {
44660702
DM
22979 "description" : "Gather various systems information about a node",
22980 "method" : "GET",
22981 "name" : "report",
7aacca6f 22982 "parameters" : {
44660702 22983 "additionalProperties" : 0,
7aacca6f
DM
22984 "properties" : {
22985 "node" : {
7aacca6f 22986 "description" : "The cluster node name.",
44660702 22987 "format" : "pve-node",
013dc89f
DM
22988 "type" : "string",
22989 "typetext" : "<string>"
7aacca6f 22990 }
44660702 22991 }
56122987 22992 },
7aacca6f
DM
22993 "permissions" : {
22994 "check" : [
22995 "perm",
22996 "/nodes/{node}",
22997 [
22998 "Sys.Audit"
22999 ]
23000 ]
56122987 23001 },
44660702 23002 "protected" : 1,
7aacca6f
DM
23003 "proxyto" : "node",
23004 "returns" : {
56122987 23005 "type" : "string"
7aacca6f
DM
23006 }
23007 }
23008 },
7aacca6f 23009 "leaf" : 1,
44660702
DM
23010 "path" : "/nodes/{node}/report",
23011 "text" : "report"
7aacca6f
DM
23012 },
23013 {
7aacca6f
DM
23014 "info" : {
23015 "POST" : {
44660702 23016 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 23017 "method" : "POST",
44660702 23018 "name" : "startall",
7aacca6f 23019 "parameters" : {
44660702 23020 "additionalProperties" : 0,
7aacca6f
DM
23021 "properties" : {
23022 "force" : {
44660702 23023 "description" : "force if onboot=0.",
7aacca6f 23024 "optional" : 1,
013dc89f
DM
23025 "type" : "boolean",
23026 "typetext" : "<boolean>"
7aacca6f
DM
23027 },
23028 "node" : {
7aacca6f 23029 "description" : "The cluster node name.",
44660702 23030 "format" : "pve-node",
013dc89f
DM
23031 "type" : "string",
23032 "typetext" : "<string>"
7aacca6f 23033 }
44660702 23034 }
56122987 23035 },
7aacca6f
DM
23036 "permissions" : {
23037 "check" : [
23038 "perm",
23039 "/",
23040 [
23041 "VM.PowerMgmt"
23042 ]
23043 ]
44660702
DM
23044 },
23045 "protected" : 1,
23046 "proxyto" : "node",
23047 "returns" : {
23048 "type" : "string"
7aacca6f
DM
23049 }
23050 }
23051 },
44660702 23052 "leaf" : 1,
7aacca6f 23053 "path" : "/nodes/{node}/startall",
44660702 23054 "text" : "startall"
7aacca6f
DM
23055 },
23056 {
7aacca6f
DM
23057 "info" : {
23058 "POST" : {
23059 "description" : "Stop all VMs and Containers.",
44660702
DM
23060 "method" : "POST",
23061 "name" : "stopall",
7aacca6f 23062 "parameters" : {
44660702 23063 "additionalProperties" : 0,
7aacca6f
DM
23064 "properties" : {
23065 "node" : {
44660702 23066 "description" : "The cluster node name.",
7aacca6f 23067 "format" : "pve-node",
013dc89f
DM
23068 "type" : "string",
23069 "typetext" : "<string>"
7aacca6f 23070 }
44660702 23071 }
56122987 23072 },
7aacca6f
DM
23073 "permissions" : {
23074 "check" : [
23075 "perm",
23076 "/",
23077 [
44660702 23078 "VM.PowerMgmt"
7aacca6f
DM
23079 ]
23080 ]
56122987 23081 },
44660702 23082 "protected" : 1,
7aacca6f 23083 "proxyto" : "node",
44660702
DM
23084 "returns" : {
23085 "type" : "string"
23086 }
23087 }
56122987 23088 },
44660702
DM
23089 "leaf" : 1,
23090 "path" : "/nodes/{node}/stopall",
23091 "text" : "stopall"
23092 },
23093 {
23094 "info" : {
23095 "POST" : {
23096 "description" : "Migrate all VMs and Containers.",
23097 "method" : "POST",
23098 "name" : "migrateall",
23099 "parameters" : {
23100 "additionalProperties" : 0,
23101 "properties" : {
23102 "maxworkers" : {
23103 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
23104 "minimum" : 1,
23105 "optional" : 1,
4bd7df8b 23106 "type" : "integer",
013dc89f 23107 "typetext" : "<integer> (1 - N)"
44660702
DM
23108 },
23109 "node" : {
23110 "description" : "The cluster node name.",
23111 "format" : "pve-node",
013dc89f
DM
23112 "type" : "string",
23113 "typetext" : "<string>"
44660702
DM
23114 },
23115 "target" : {
23116 "description" : "Target node.",
23117 "format" : "pve-node",
013dc89f
DM
23118 "type" : "string",
23119 "typetext" : "<string>"
44660702
DM
23120 }
23121 }
23122 },
23123 "permissions" : {
23124 "check" : [
23125 "perm",
23126 "/",
23127 [
23128 "VM.Migrate"
23129 ]
23130 ]
23131 },
23132 "protected" : 1,
23133 "proxyto" : "node",
23134 "returns" : {
23135 "type" : "string"
23136 }
23137 }
56122987 23138 },
44660702
DM
23139 "leaf" : 1,
23140 "path" : "/nodes/{node}/migrateall",
23141 "text" : "migrateall"
23142 }
23143 ],
23144 "info" : {
23145 "GET" : {
23146 "description" : "Node index.",
23147 "method" : "GET",
23148 "name" : "index",
23149 "parameters" : {
23150 "additionalProperties" : 0,
23151 "properties" : {
23152 "node" : {
23153 "description" : "The cluster node name.",
23154 "format" : "pve-node",
013dc89f
DM
23155 "type" : "string",
23156 "typetext" : "<string>"
44660702
DM
23157 }
23158 }
56122987 23159 },
44660702
DM
23160 "permissions" : {
23161 "user" : "all"
56122987 23162 },
44660702
DM
23163 "returns" : {
23164 "items" : {
23165 "properties" : {},
23166 "type" : "object"
23167 },
23168 "links" : [
23169 {
23170 "href" : "{name}",
23171 "rel" : "child"
23172 }
56122987 23173 ],
44660702 23174 "type" : "array"
7aacca6f
DM
23175 }
23176 }
23177 },
44660702
DM
23178 "leaf" : 0,
23179 "path" : "/nodes/{node}",
23180 "text" : "{node}"
23181 }
23182 ],
23183 "info" : {
7aacca6f 23184 "GET" : {
44660702 23185 "description" : "Cluster node index.",
7aacca6f 23186 "method" : "GET",
44660702 23187 "name" : "index",
7aacca6f 23188 "parameters" : {
7aacca6f
DM
23189 "additionalProperties" : 0
23190 },
23191 "permissions" : {
7aacca6f
DM
23192 "user" : "all"
23193 },
44660702
DM
23194 "returns" : {
23195 "items" : {
23196 "properties" : {},
23197 "type" : "object"
23198 },
23199 "links" : [
23200 {
23201 "href" : "{node}",
23202 "rel" : "child"
23203 }
23204 ],
23205 "type" : "array"
23206 }
7aacca6f
DM
23207 }
23208 },
44660702
DM
23209 "leaf" : 0,
23210 "path" : "/nodes",
23211 "text" : "nodes"
23212 },
23213 {
7aacca6f
DM
23214 "children" : [
23215 {
7aacca6f 23216 "info" : {
44660702
DM
23217 "DELETE" : {
23218 "description" : "Delete storage configuration.",
23219 "method" : "DELETE",
23220 "name" : "delete",
7aacca6f
DM
23221 "parameters" : {
23222 "additionalProperties" : 0,
23223 "properties" : {
23224 "storage" : {
7aacca6f 23225 "description" : "The storage identifier.",
44660702 23226 "format" : "pve-storage-id",
013dc89f
DM
23227 "type" : "string",
23228 "typetext" : "<string>"
7aacca6f
DM
23229 }
23230 }
56122987 23231 },
7aacca6f
DM
23232 "permissions" : {
23233 "check" : [
23234 "perm",
23235 "/storage",
23236 [
23237 "Datastore.Allocate"
23238 ]
23239 ]
56122987 23240 },
44660702
DM
23241 "protected" : 1,
23242 "returns" : {
23243 "type" : "null"
23244 }
23245 },
23246 "GET" : {
23247 "description" : "Read storage configuration.",
23248 "method" : "GET",
23249 "name" : "read",
7aacca6f
DM
23250 "parameters" : {
23251 "additionalProperties" : 0,
23252 "properties" : {
23253 "storage" : {
44660702 23254 "description" : "The storage identifier.",
7aacca6f 23255 "format" : "pve-storage-id",
013dc89f
DM
23256 "type" : "string",
23257 "typetext" : "<string>"
7aacca6f
DM
23258 }
23259 }
23260 },
44660702
DM
23261 "permissions" : {
23262 "check" : [
23263 "perm",
23264 "/storage/{storage}",
23265 [
23266 "Datastore.Allocate"
23267 ]
23268 ]
23269 },
23270 "returns" : {}
7aacca6f
DM
23271 },
23272 "PUT" : {
44660702
DM
23273 "description" : "Update storage configuration.",
23274 "method" : "PUT",
23275 "name" : "update",
23276 "parameters" : {
23277 "additionalProperties" : 0,
23278 "properties" : {
23279 "blocksize" : {
23280 "description" : "block size",
7aacca6f 23281 "optional" : 1,
013dc89f
DM
23282 "type" : "string",
23283 "typetext" : "<string>"
7aacca6f 23284 },
44660702
DM
23285 "comstar_hg" : {
23286 "description" : "host group for comstar views",
23287 "optional" : 1,
013dc89f
DM
23288 "type" : "string",
23289 "typetext" : "<string>"
7aacca6f 23290 },
44660702
DM
23291 "comstar_tg" : {
23292 "description" : "target group for comstar views",
7aacca6f 23293 "optional" : 1,
013dc89f
DM
23294 "type" : "string",
23295 "typetext" : "<string>"
7aacca6f 23296 },
44660702
DM
23297 "content" : {
23298 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23299 "format" : "pve-storage-content-list",
7aacca6f 23300 "optional" : 1,
013dc89f
DM
23301 "type" : "string",
23302 "typetext" : "<string>"
7aacca6f 23303 },
44660702
DM
23304 "delete" : {
23305 "description" : "A list of settings you want to delete.",
23306 "format" : "pve-configid-list",
23307 "maxLength" : 4096,
7aacca6f 23308 "optional" : 1,
013dc89f
DM
23309 "type" : "string",
23310 "typetext" : "<string>"
7aacca6f
DM
23311 },
23312 "digest" : {
44660702 23313 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 23314 "maxLength" : 40,
7aacca6f 23315 "optional" : 1,
013dc89f
DM
23316 "type" : "string",
23317 "typetext" : "<string>"
7aacca6f 23318 },
44660702
DM
23319 "disable" : {
23320 "description" : "Flag to disable the storage.",
23321 "optional" : 1,
013dc89f
DM
23322 "type" : "boolean",
23323 "typetext" : "<boolean>"
7aacca6f
DM
23324 },
23325 "format" : {
23326 "description" : "Default image format.",
44660702 23327 "format" : "pve-storage-format",
7aacca6f 23328 "optional" : 1,
013dc89f
DM
23329 "type" : "string",
23330 "typetext" : "<string>"
7aacca6f 23331 },
2c0dde61
DM
23332 "is_mountpoint" : {
23333 "default" : "no",
23334 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23335 "optional" : 1,
013dc89f
DM
23336 "type" : "boolean",
23337 "typetext" : "<boolean>"
2c0dde61 23338 },
44660702
DM
23339 "krbd" : {
23340 "description" : "Access rbd through krbd kernel module.",
7aacca6f 23341 "optional" : 1,
013dc89f
DM
23342 "type" : "boolean",
23343 "typetext" : "<boolean>"
7aacca6f 23344 },
44660702
DM
23345 "maxfiles" : {
23346 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23347 "minimum" : 0,
23348 "optional" : 1,
4bd7df8b 23349 "type" : "integer",
013dc89f 23350 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23351 },
23352 "mkdir" : {
23353 "default" : "yes",
23354 "description" : "Create the directory if it doesn't exist.",
23355 "optional" : 1,
013dc89f
DM
23356 "type" : "boolean",
23357 "typetext" : "<boolean>"
7aacca6f
DM
23358 },
23359 "nodes" : {
44660702 23360 "description" : "List of cluster node names.",
7aacca6f
DM
23361 "format" : "pve-node-list",
23362 "optional" : 1,
013dc89f
DM
23363 "type" : "string",
23364 "typetext" : "<string>"
7aacca6f 23365 },
44660702
DM
23366 "nowritecache" : {
23367 "description" : "disable write caching on the target",
7aacca6f 23368 "optional" : 1,
013dc89f
DM
23369 "type" : "boolean",
23370 "typetext" : "<boolean>"
7aacca6f
DM
23371 },
23372 "options" : {
7aacca6f 23373 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
23374 "format" : "pve-storage-options",
23375 "optional" : 1,
013dc89f
DM
23376 "type" : "string",
23377 "typetext" : "<string>"
44660702
DM
23378 },
23379 "pool" : {
23380 "description" : "Pool.",
23381 "optional" : 1,
013dc89f
DM
23382 "type" : "string",
23383 "typetext" : "<string>"
44660702
DM
23384 },
23385 "redundancy" : {
23386 "default" : 2,
23387 "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.",
23388 "maximum" : 16,
23389 "minimum" : 1,
23390 "optional" : 1,
4bd7df8b 23391 "type" : "integer",
013dc89f 23392 "typetext" : "<integer> (1 - 16)"
44660702
DM
23393 },
23394 "saferemove" : {
23395 "description" : "Zero-out data when removing LVs.",
23396 "optional" : 1,
013dc89f
DM
23397 "type" : "boolean",
23398 "typetext" : "<boolean>"
7aacca6f
DM
23399 },
23400 "saferemove_throughput" : {
44660702 23401 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 23402 "optional" : 1,
013dc89f
DM
23403 "type" : "string",
23404 "typetext" : "<string>"
7aacca6f 23405 },
44660702
DM
23406 "server" : {
23407 "description" : "Server IP or DNS name.",
23408 "format" : "pve-storage-server",
7aacca6f 23409 "optional" : 1,
013dc89f
DM
23410 "type" : "string",
23411 "typetext" : "<string>"
7aacca6f 23412 },
44660702
DM
23413 "server2" : {
23414 "description" : "Backup volfile server IP or DNS name.",
23415 "format" : "pve-storage-server",
7aacca6f 23416 "optional" : 1,
44660702 23417 "requires" : "server",
013dc89f
DM
23418 "type" : "string",
23419 "typetext" : "<string>"
44660702
DM
23420 },
23421 "shared" : {
23422 "description" : "Mark storage as shared.",
23423 "optional" : 1,
013dc89f
DM
23424 "type" : "boolean",
23425 "typetext" : "<boolean>"
44660702
DM
23426 },
23427 "sparse" : {
23428 "description" : "use sparse volumes",
23429 "optional" : 1,
013dc89f
DM
23430 "type" : "boolean",
23431 "typetext" : "<boolean>"
44660702
DM
23432 },
23433 "storage" : {
23434 "description" : "The storage identifier.",
23435 "format" : "pve-storage-id",
013dc89f
DM
23436 "type" : "string",
23437 "typetext" : "<string>"
44660702 23438 },
4bd7df8b
DM
23439 "tagged_only" : {
23440 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
23441 "optional" : 1,
013dc89f
DM
23442 "type" : "boolean",
23443 "typetext" : "<boolean>"
4bd7df8b 23444 },
44660702
DM
23445 "transport" : {
23446 "description" : "Gluster transport: tcp or rdma",
23447 "enum" : [
23448 "tcp",
23449 "rdma",
23450 "unix"
23451 ],
23452 "optional" : 1,
23453 "type" : "string"
7aacca6f
DM
23454 },
23455 "username" : {
23456 "description" : "RBD Id.",
44660702 23457 "optional" : 1,
013dc89f
DM
23458 "type" : "string",
23459 "typetext" : "<string>"
7aacca6f 23460 }
44660702
DM
23461 },
23462 "type" : "object"
23463 },
23464 "permissions" : {
23465 "check" : [
23466 "perm",
23467 "/storage",
23468 [
23469 "Datastore.Allocate"
23470 ]
23471 ]
23472 },
23473 "protected" : 1,
23474 "returns" : {
23475 "type" : "null"
23476 }
23477 }
23478 },
23479 "leaf" : 1,
23480 "path" : "/storage/{storage}",
23481 "text" : "{storage}"
23482 }
23483 ],
23484 "info" : {
23485 "GET" : {
23486 "description" : "Storage index.",
23487 "method" : "GET",
23488 "name" : "index",
23489 "parameters" : {
23490 "additionalProperties" : 0,
23491 "properties" : {
23492 "type" : {
23493 "description" : "Only list storage of specific type",
23494 "enum" : [
23495 "dir",
23496 "drbd",
23497 "glusterfs",
23498 "iscsi",
23499 "iscsidirect",
23500 "lvm",
23501 "lvmthin",
23502 "nfs",
23503 "rbd",
23504 "sheepdog",
23505 "zfs",
23506 "zfspool"
23507 ],
23508 "optional" : 1,
23509 "type" : "string"
23510 }
23511 }
23512 },
23513 "permissions" : {
23514 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
23515 "user" : "all"
23516 },
23517 "returns" : {
23518 "items" : {
23519 "properties" : {
23520 "storage" : {
23521 "type" : "string"
7aacca6f 23522 }
56122987 23523 },
44660702
DM
23524 "type" : "object"
23525 },
23526 "links" : [
23527 {
23528 "href" : "{storage}",
23529 "rel" : "child"
23530 }
23531 ],
23532 "type" : "array"
23533 }
23534 },
23535 "POST" : {
23536 "description" : "Create a new storage.",
23537 "method" : "POST",
23538 "name" : "create",
23539 "parameters" : {
23540 "additionalProperties" : 0,
23541 "properties" : {
23542 "authsupported" : {
23543 "description" : "Authsupported.",
23544 "optional" : 1,
013dc89f
DM
23545 "type" : "string",
23546 "typetext" : "<string>"
44660702
DM
23547 },
23548 "base" : {
23549 "description" : "Base volume. This volume is automatically activated.",
23550 "format" : "pve-volume-id",
23551 "optional" : 1,
013dc89f
DM
23552 "type" : "string",
23553 "typetext" : "<string>"
44660702
DM
23554 },
23555 "blocksize" : {
23556 "description" : "block size",
23557 "optional" : 1,
013dc89f
DM
23558 "type" : "string",
23559 "typetext" : "<string>"
44660702
DM
23560 },
23561 "comstar_hg" : {
23562 "description" : "host group for comstar views",
23563 "optional" : 1,
013dc89f
DM
23564 "type" : "string",
23565 "typetext" : "<string>"
44660702
DM
23566 },
23567 "comstar_tg" : {
23568 "description" : "target group for comstar views",
23569 "optional" : 1,
013dc89f
DM
23570 "type" : "string",
23571 "typetext" : "<string>"
44660702
DM
23572 },
23573 "content" : {
23574 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23575 "format" : "pve-storage-content-list",
23576 "optional" : 1,
013dc89f
DM
23577 "type" : "string",
23578 "typetext" : "<string>"
44660702
DM
23579 },
23580 "disable" : {
23581 "description" : "Flag to disable the storage.",
23582 "optional" : 1,
013dc89f
DM
23583 "type" : "boolean",
23584 "typetext" : "<boolean>"
44660702
DM
23585 },
23586 "export" : {
23587 "description" : "NFS export path.",
23588 "format" : "pve-storage-path",
23589 "optional" : 1,
013dc89f
DM
23590 "type" : "string",
23591 "typetext" : "<string>"
44660702
DM
23592 },
23593 "format" : {
23594 "description" : "Default image format.",
23595 "format" : "pve-storage-format",
23596 "optional" : 1,
013dc89f
DM
23597 "type" : "string",
23598 "typetext" : "<string>"
44660702 23599 },
2c0dde61
DM
23600 "is_mountpoint" : {
23601 "default" : "no",
23602 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23603 "optional" : 1,
013dc89f
DM
23604 "type" : "boolean",
23605 "typetext" : "<boolean>"
2c0dde61 23606 },
44660702
DM
23607 "iscsiprovider" : {
23608 "description" : "iscsi provider",
23609 "optional" : 1,
013dc89f
DM
23610 "type" : "string",
23611 "typetext" : "<string>"
44660702
DM
23612 },
23613 "krbd" : {
23614 "description" : "Access rbd through krbd kernel module.",
23615 "optional" : 1,
013dc89f
DM
23616 "type" : "boolean",
23617 "typetext" : "<boolean>"
56122987 23618 },
44660702
DM
23619 "maxfiles" : {
23620 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23621 "minimum" : 0,
23622 "optional" : 1,
4bd7df8b 23623 "type" : "integer",
013dc89f 23624 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23625 },
23626 "mkdir" : {
23627 "default" : "yes",
23628 "description" : "Create the directory if it doesn't exist.",
23629 "optional" : 1,
013dc89f
DM
23630 "type" : "boolean",
23631 "typetext" : "<boolean>"
7aacca6f 23632 },
44660702
DM
23633 "monhost" : {
23634 "description" : "Monitors daemon ips.",
4bd7df8b 23635 "format" : "pve-storage-portal-dns-list",
44660702 23636 "optional" : 1,
013dc89f
DM
23637 "type" : "string",
23638 "typetext" : "<string>"
7aacca6f 23639 },
44660702
DM
23640 "nodes" : {
23641 "description" : "List of cluster node names.",
23642 "format" : "pve-node-list",
23643 "optional" : 1,
013dc89f
DM
23644 "type" : "string",
23645 "typetext" : "<string>"
7aacca6f 23646 },
44660702
DM
23647 "nowritecache" : {
23648 "description" : "disable write caching on the target",
23649 "optional" : 1,
013dc89f
DM
23650 "type" : "boolean",
23651 "typetext" : "<boolean>"
44660702
DM
23652 },
23653 "options" : {
23654 "description" : "NFS mount options (see 'man nfs')",
23655 "format" : "pve-storage-options",
23656 "optional" : 1,
013dc89f
DM
23657 "type" : "string",
23658 "typetext" : "<string>"
44660702
DM
23659 },
23660 "path" : {
23661 "description" : "File system path.",
23662 "format" : "pve-storage-path",
23663 "optional" : 1,
013dc89f
DM
23664 "type" : "string",
23665 "typetext" : "<string>"
44660702
DM
23666 },
23667 "pool" : {
23668 "description" : "Pool.",
23669 "optional" : 1,
013dc89f
DM
23670 "type" : "string",
23671 "typetext" : "<string>"
44660702
DM
23672 },
23673 "portal" : {
23674 "description" : "iSCSI portal (IP or DNS name with optional port).",
23675 "format" : "pve-storage-portal-dns",
23676 "optional" : 1,
013dc89f
DM
23677 "type" : "string",
23678 "typetext" : "<string>"
44660702
DM
23679 },
23680 "redundancy" : {
23681 "default" : 2,
23682 "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.",
23683 "maximum" : 16,
23684 "minimum" : 1,
23685 "optional" : 1,
4bd7df8b 23686 "type" : "integer",
013dc89f 23687 "typetext" : "<integer> (1 - 16)"
44660702
DM
23688 },
23689 "saferemove" : {
23690 "description" : "Zero-out data when removing LVs.",
23691 "optional" : 1,
013dc89f
DM
23692 "type" : "boolean",
23693 "typetext" : "<boolean>"
44660702
DM
23694 },
23695 "saferemove_throughput" : {
23696 "description" : "Wipe throughput (cstream -t parameter value).",
23697 "optional" : 1,
013dc89f
DM
23698 "type" : "string",
23699 "typetext" : "<string>"
44660702
DM
23700 },
23701 "server" : {
23702 "description" : "Server IP or DNS name.",
23703 "format" : "pve-storage-server",
23704 "optional" : 1,
013dc89f
DM
23705 "type" : "string",
23706 "typetext" : "<string>"
44660702
DM
23707 },
23708 "server2" : {
23709 "description" : "Backup volfile server IP or DNS name.",
23710 "format" : "pve-storage-server",
23711 "optional" : 1,
23712 "requires" : "server",
013dc89f
DM
23713 "type" : "string",
23714 "typetext" : "<string>"
44660702
DM
23715 },
23716 "shared" : {
23717 "description" : "Mark storage as shared.",
23718 "optional" : 1,
013dc89f
DM
23719 "type" : "boolean",
23720 "typetext" : "<boolean>"
44660702
DM
23721 },
23722 "sparse" : {
23723 "description" : "use sparse volumes",
23724 "optional" : 1,
013dc89f
DM
23725 "type" : "boolean",
23726 "typetext" : "<boolean>"
44660702
DM
23727 },
23728 "storage" : {
23729 "description" : "The storage identifier.",
23730 "format" : "pve-storage-id",
013dc89f
DM
23731 "type" : "string",
23732 "typetext" : "<string>"
44660702 23733 },
4bd7df8b
DM
23734 "tagged_only" : {
23735 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
23736 "optional" : 1,
013dc89f
DM
23737 "type" : "boolean",
23738 "typetext" : "<boolean>"
4bd7df8b 23739 },
44660702
DM
23740 "target" : {
23741 "description" : "iSCSI target.",
23742 "optional" : 1,
013dc89f
DM
23743 "type" : "string",
23744 "typetext" : "<string>"
44660702
DM
23745 },
23746 "thinpool" : {
23747 "description" : "LVM thin pool LV name.",
23748 "format" : "pve-storage-vgname",
23749 "optional" : 1,
013dc89f
DM
23750 "type" : "string",
23751 "typetext" : "<string>"
44660702
DM
23752 },
23753 "transport" : {
23754 "description" : "Gluster transport: tcp or rdma",
23755 "enum" : [
23756 "tcp",
23757 "rdma",
23758 "unix"
7aacca6f 23759 ],
44660702
DM
23760 "optional" : 1,
23761 "type" : "string"
56122987 23762 },
44660702
DM
23763 "type" : {
23764 "description" : "Storage type.",
23765 "enum" : [
23766 "dir",
23767 "drbd",
23768 "glusterfs",
23769 "iscsi",
23770 "iscsidirect",
23771 "lvm",
23772 "lvmthin",
23773 "nfs",
23774 "rbd",
23775 "sheepdog",
23776 "zfs",
23777 "zfspool"
23778 ],
23779 "type" : "string"
56122987 23780 },
44660702
DM
23781 "username" : {
23782 "description" : "RBD Id.",
23783 "optional" : 1,
013dc89f
DM
23784 "type" : "string",
23785 "typetext" : "<string>"
7aacca6f 23786 },
44660702
DM
23787 "vgname" : {
23788 "description" : "Volume group name.",
23789 "format" : "pve-storage-vgname",
23790 "optional" : 1,
013dc89f
DM
23791 "type" : "string",
23792 "typetext" : "<string>"
44660702
DM
23793 },
23794 "volume" : {
23795 "description" : "Glusterfs Volume.",
23796 "optional" : 1,
013dc89f
DM
23797 "type" : "string",
23798 "typetext" : "<string>"
44660702
DM
23799 }
23800 },
23801 "type" : "object"
23802 },
23803 "permissions" : {
23804 "check" : [
23805 "perm",
23806 "/storage",
23807 [
23808 "Datastore.Allocate"
23809 ]
23810 ]
56122987 23811 },
44660702
DM
23812 "protected" : 1,
23813 "returns" : {
23814 "type" : "null"
23815 }
23816 }
23817 },
23818 "leaf" : 0,
23819 "path" : "/storage",
23820 "text" : "storage"
23821 },
23822 {
23823 "children" : [
23824 {
56122987
DM
23825 "children" : [
23826 {
56122987 23827 "info" : {
44660702
DM
23828 "DELETE" : {
23829 "description" : "Delete user.",
23830 "method" : "DELETE",
23831 "name" : "delete_user",
56122987 23832 "parameters" : {
7aacca6f 23833 "additionalProperties" : 0,
56122987 23834 "properties" : {
56122987 23835 "userid" : {
56122987
DM
23836 "description" : "User ID",
23837 "format" : "pve-userid",
44660702 23838 "maxLength" : 64,
013dc89f
DM
23839 "type" : "string",
23840 "typetext" : "<string>"
56122987 23841 }
7aacca6f 23842 }
56122987 23843 },
56122987
DM
23844 "permissions" : {
23845 "check" : [
44660702 23846 "and",
56122987 23847 [
44660702
DM
23848 "userid-param",
23849 "Realm.AllocateUser"
56122987 23850 ],
44660702
DM
23851 [
23852 "userid-group",
23853 [
23854 "User.Modify"
23855 ]
23856 ]
56122987 23857 ]
7aacca6f 23858 },
44660702 23859 "protected" : 1,
56122987
DM
23860 "returns" : {
23861 "type" : "null"
44660702 23862 }
7aacca6f 23863 },
44660702
DM
23864 "GET" : {
23865 "description" : "Get user configuration.",
23866 "method" : "GET",
23867 "name" : "read_user",
56122987
DM
23868 "parameters" : {
23869 "additionalProperties" : 0,
23870 "properties" : {
23871 "userid" : {
44660702 23872 "description" : "User ID",
56122987 23873 "format" : "pve-userid",
44660702 23874 "maxLength" : 64,
013dc89f
DM
23875 "type" : "string",
23876 "typetext" : "<string>"
56122987
DM
23877 }
23878 }
23879 },
56122987
DM
23880 "permissions" : {
23881 "check" : [
44660702 23882 "userid-group",
56122987 23883 [
44660702
DM
23884 "User.Modify",
23885 "Sys.Audit"
56122987
DM
23886 ]
23887 ]
23888 },
56122987 23889 "returns" : {
7aacca6f 23890 "additionalProperties" : 0,
56122987 23891 "properties" : {
44660702
DM
23892 "comment" : {
23893 "optional" : 1,
23894 "type" : "string"
56122987 23895 },
44660702
DM
23896 "email" : {
23897 "optional" : 1,
23898 "type" : "string"
7aacca6f
DM
23899 },
23900 "enable" : {
23901 "type" : "boolean"
23902 },
44660702
DM
23903 "expire" : {
23904 "optional" : 1,
23905 "type" : "integer"
23906 },
23907 "firstname" : {
56122987
DM
23908 "optional" : 1,
23909 "type" : "string"
23910 },
44660702
DM
23911 "groups" : {
23912 "type" : "array"
56122987 23913 },
44660702
DM
23914 "keys" : {
23915 "optional" : 1,
23916 "type" : "string"
7aacca6f 23917 },
44660702
DM
23918 "lastname" : {
23919 "optional" : 1,
23920 "type" : "string"
56122987 23921 }
7aacca6f 23922 }
44660702
DM
23923 }
23924 },
23925 "PUT" : {
23926 "description" : "Update user configuration.",
23927 "method" : "PUT",
23928 "name" : "update_user",
56122987 23929 "parameters" : {
44660702 23930 "additionalProperties" : 0,
56122987 23931 "properties" : {
44660702
DM
23932 "append" : {
23933 "optional" : 1,
23934 "requires" : "groups",
013dc89f
DM
23935 "type" : "boolean",
23936 "typetext" : "<boolean>"
44660702
DM
23937 },
23938 "comment" : {
23939 "optional" : 1,
013dc89f
DM
23940 "type" : "string",
23941 "typetext" : "<string>"
44660702
DM
23942 },
23943 "email" : {
23944 "format" : "email-opt",
23945 "optional" : 1,
013dc89f
DM
23946 "type" : "string",
23947 "typetext" : "<string>"
44660702
DM
23948 },
23949 "enable" : {
23950 "description" : "Enable/disable the account.",
23951 "optional" : 1,
013dc89f
DM
23952 "type" : "boolean",
23953 "typetext" : "<boolean>"
44660702
DM
23954 },
23955 "expire" : {
23956 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
23957 "minimum" : 0,
23958 "optional" : 1,
4bd7df8b 23959 "type" : "integer",
013dc89f 23960 "typetext" : "<integer> (0 - N)"
44660702
DM
23961 },
23962 "firstname" : {
23963 "optional" : 1,
013dc89f
DM
23964 "type" : "string",
23965 "typetext" : "<string>"
44660702
DM
23966 },
23967 "groups" : {
23968 "format" : "pve-groupid-list",
23969 "optional" : 1,
013dc89f
DM
23970 "type" : "string",
23971 "typetext" : "<string>"
44660702
DM
23972 },
23973 "keys" : {
23974 "description" : "Keys for two factor auth (yubico).",
23975 "optional" : 1,
013dc89f
DM
23976 "type" : "string",
23977 "typetext" : "<string>"
44660702
DM
23978 },
23979 "lastname" : {
23980 "optional" : 1,
013dc89f
DM
23981 "type" : "string",
23982 "typetext" : "<string>"
44660702 23983 },
56122987 23984 "userid" : {
56122987
DM
23985 "description" : "User ID",
23986 "format" : "pve-userid",
44660702 23987 "maxLength" : 64,
013dc89f
DM
23988 "type" : "string",
23989 "typetext" : "<string>"
56122987 23990 }
44660702 23991 }
56122987 23992 },
56122987
DM
23993 "permissions" : {
23994 "check" : [
23995 "userid-group",
23996 [
44660702
DM
23997 "User.Modify"
23998 ],
23999 "groups_param",
24000 1
56122987
DM
24001 ]
24002 },
44660702
DM
24003 "protected" : 1,
24004 "returns" : {
24005 "type" : "null"
24006 }
56122987
DM
24007 }
24008 },
44660702
DM
24009 "leaf" : 1,
24010 "path" : "/access/users/{userid}",
7aacca6f 24011 "text" : "{userid}"
56122987 24012 }
7aacca6f 24013 ],
56122987 24014 "info" : {
7aacca6f 24015 "GET" : {
44660702
DM
24016 "description" : "User index.",
24017 "method" : "GET",
7aacca6f 24018 "name" : "index",
56122987 24019 "parameters" : {
44660702
DM
24020 "additionalProperties" : 0,
24021 "properties" : {
24022 "enabled" : {
24023 "description" : "Optional filter for enable property.",
24024 "optional" : 1,
013dc89f
DM
24025 "type" : "boolean",
24026 "typetext" : "<boolean>"
44660702
DM
24027 }
24028 }
24029 },
24030 "permissions" : {
24031 "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.",
24032 "user" : "all"
56122987 24033 },
7aacca6f 24034 "returns" : {
7aacca6f
DM
24035 "items" : {
24036 "properties" : {
44660702 24037 "userid" : {
7aacca6f
DM
24038 "type" : "string"
24039 }
24040 },
24041 "type" : "object"
24042 },
44660702
DM
24043 "links" : [
24044 {
24045 "href" : "{userid}",
24046 "rel" : "child"
24047 }
24048 ],
7aacca6f
DM
24049 "type" : "array"
24050 }
24051 },
24052 "POST" : {
44660702 24053 "description" : "Create new user.",
7aacca6f 24054 "method" : "POST",
44660702 24055 "name" : "create_user",
56122987 24056 "parameters" : {
7aacca6f
DM
24057 "additionalProperties" : 0,
24058 "properties" : {
44660702
DM
24059 "comment" : {
24060 "optional" : 1,
013dc89f
DM
24061 "type" : "string",
24062 "typetext" : "<string>"
7aacca6f 24063 },
44660702
DM
24064 "email" : {
24065 "format" : "email-opt",
24066 "optional" : 1,
013dc89f
DM
24067 "type" : "string",
24068 "typetext" : "<string>"
44660702
DM
24069 },
24070 "enable" : {
24071 "default" : 1,
24072 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
24073 "optional" : 1,
013dc89f
DM
24074 "type" : "boolean",
24075 "typetext" : "<boolean>"
44660702
DM
24076 },
24077 "expire" : {
24078 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
24079 "minimum" : 0,
24080 "optional" : 1,
4bd7df8b 24081 "type" : "integer",
013dc89f 24082 "typetext" : "<integer> (0 - N)"
44660702
DM
24083 },
24084 "firstname" : {
24085 "optional" : 1,
013dc89f
DM
24086 "type" : "string",
24087 "typetext" : "<string>"
44660702
DM
24088 },
24089 "groups" : {
24090 "format" : "pve-groupid-list",
24091 "optional" : 1,
013dc89f
DM
24092 "type" : "string",
24093 "typetext" : "<string>"
44660702
DM
24094 },
24095 "keys" : {
24096 "description" : "Keys for two factor auth (yubico).",
24097 "optional" : 1,
013dc89f
DM
24098 "type" : "string",
24099 "typetext" : "<string>"
44660702
DM
24100 },
24101 "lastname" : {
7aacca6f 24102 "optional" : 1,
013dc89f
DM
24103 "type" : "string",
24104 "typetext" : "<string>"
44660702
DM
24105 },
24106 "password" : {
24107 "description" : "Initial password.",
24108 "maxLength" : 64,
24109 "minLength" : 5,
24110 "optional" : 1,
013dc89f
DM
24111 "type" : "string",
24112 "typetext" : "<string>"
44660702
DM
24113 },
24114 "userid" : {
24115 "description" : "User ID",
24116 "format" : "pve-userid",
24117 "maxLength" : 64,
013dc89f
DM
24118 "type" : "string",
24119 "typetext" : "<string>"
56122987 24120 }
7aacca6f 24121 }
56122987 24122 },
44660702
DM
24123 "permissions" : {
24124 "check" : [
24125 "and",
24126 [
24127 "userid-param",
24128 "Realm.AllocateUser"
24129 ],
24130 [
24131 "userid-group",
24132 [
24133 "User.Modify"
24134 ],
24135 "groups_param",
24136 1
24137 ]
24138 ],
24139 "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."
24140 },
24141 "protected" : 1,
24142 "returns" : {
24143 "type" : "null"
24144 }
56122987
DM
24145 }
24146 },
44660702
DM
24147 "leaf" : 0,
24148 "path" : "/access/users",
24149 "text" : "users"
24150 },
24151 {
56122987
DM
24152 "children" : [
24153 {
56122987
DM
24154 "info" : {
24155 "DELETE" : {
44660702
DM
24156 "description" : "Delete group.",
24157 "method" : "DELETE",
24158 "name" : "delete_group",
24159 "parameters" : {
24160 "additionalProperties" : 0,
24161 "properties" : {
24162 "groupid" : {
24163 "format" : "pve-groupid",
013dc89f
DM
24164 "type" : "string",
24165 "typetext" : "<string>"
44660702
DM
24166 }
24167 }
24168 },
7aacca6f
DM
24169 "permissions" : {
24170 "check" : [
24171 "perm",
24172 "/access/groups",
24173 [
24174 "Group.Allocate"
24175 ]
24176 ]
24177 },
7aacca6f 24178 "protected" : 1,
7aacca6f
DM
24179 "returns" : {
24180 "type" : "null"
44660702 24181 }
7aacca6f 24182 },
44660702
DM
24183 "GET" : {
24184 "description" : "Get group configuration.",
24185 "method" : "GET",
24186 "name" : "read_group",
24187 "parameters" : {
24188 "additionalProperties" : 0,
24189 "properties" : {
24190 "groupid" : {
24191 "format" : "pve-groupid",
013dc89f
DM
24192 "type" : "string",
24193 "typetext" : "<string>"
44660702
DM
24194 }
24195 }
56122987 24196 },
7aacca6f
DM
24197 "permissions" : {
24198 "check" : [
24199 "perm",
24200 "/access/groups",
24201 [
44660702 24202 "Sys.Audit",
7aacca6f 24203 "Group.Allocate"
44660702
DM
24204 ],
24205 "any",
24206 1
7aacca6f
DM
24207 ]
24208 },
7aacca6f 24209 "returns" : {
44660702 24210 "additionalProperties" : 0,
7aacca6f
DM
24211 "properties" : {
24212 "comment" : {
44660702
DM
24213 "optional" : 1,
24214 "type" : "string"
7aacca6f
DM
24215 },
24216 "members" : {
24217 "items" : {
24218 "type" : "string"
24219 },
24220 "type" : "array"
24221 }
24222 },
44660702
DM
24223 "type" : "object"
24224 }
24225 },
24226 "PUT" : {
24227 "description" : "Update group data.",
24228 "method" : "PUT",
24229 "name" : "update_group",
56122987 24230 "parameters" : {
44660702 24231 "additionalProperties" : 0,
56122987 24232 "properties" : {
44660702
DM
24233 "comment" : {
24234 "optional" : 1,
013dc89f
DM
24235 "type" : "string",
24236 "typetext" : "<string>"
44660702 24237 },
56122987
DM
24238 "groupid" : {
24239 "format" : "pve-groupid",
013dc89f
DM
24240 "type" : "string",
24241 "typetext" : "<string>"
56122987 24242 }
44660702 24243 }
56122987 24244 },
56122987
DM
24245 "permissions" : {
24246 "check" : [
24247 "perm",
24248 "/access/groups",
24249 [
24250 "Group.Allocate"
44660702 24251 ]
56122987
DM
24252 ]
24253 },
44660702
DM
24254 "protected" : 1,
24255 "returns" : {
24256 "type" : "null"
24257 }
7aacca6f
DM
24258 }
24259 },
7aacca6f 24260 "leaf" : 1,
44660702
DM
24261 "path" : "/access/groups/{groupid}",
24262 "text" : "{groupid}"
24263 }
24264 ],
24265 "info" : {
24266 "GET" : {
24267 "description" : "Group index.",
24268 "method" : "GET",
24269 "name" : "index",
24270 "parameters" : {
24271 "additionalProperties" : 0
24272 },
24273 "permissions" : {
24274 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
24275 "user" : "all"
24276 },
24277 "returns" : {
24278 "items" : {
24279 "properties" : {
24280 "groupid" : {
24281 "type" : "string"
24282 }
24283 },
24284 "type" : "object"
24285 },
24286 "links" : [
24287 {
24288 "href" : "{groupid}",
24289 "rel" : "child"
24290 }
24291 ],
24292 "type" : "array"
24293 }
24294 },
24295 "POST" : {
24296 "description" : "Create new group.",
24297 "method" : "POST",
24298 "name" : "create_group",
24299 "parameters" : {
24300 "additionalProperties" : 0,
24301 "properties" : {
24302 "comment" : {
24303 "optional" : 1,
013dc89f
DM
24304 "type" : "string",
24305 "typetext" : "<string>"
44660702
DM
24306 },
24307 "groupid" : {
24308 "format" : "pve-groupid",
013dc89f
DM
24309 "type" : "string",
24310 "typetext" : "<string>"
44660702
DM
24311 }
24312 }
24313 },
24314 "permissions" : {
24315 "check" : [
24316 "perm",
24317 "/access/groups",
24318 [
24319 "Group.Allocate"
24320 ]
24321 ]
24322 },
24323 "protected" : 1,
24324 "returns" : {
24325 "type" : "null"
24326 }
7aacca6f 24327 }
44660702 24328 },
7aacca6f 24329 "leaf" : 0,
44660702
DM
24330 "path" : "/access/groups",
24331 "text" : "groups"
7aacca6f
DM
24332 },
24333 {
24334 "children" : [
24335 {
7aacca6f 24336 "info" : {
7aacca6f 24337 "DELETE" : {
7aacca6f 24338 "description" : "Delete role.",
44660702 24339 "method" : "DELETE",
7aacca6f 24340 "name" : "delete_role",
56122987
DM
24341 "parameters" : {
24342 "additionalProperties" : 0,
24343 "properties" : {
7aacca6f
DM
24344 "roleid" : {
24345 "format" : "pve-roleid",
013dc89f
DM
24346 "type" : "string",
24347 "typetext" : "<string>"
56122987
DM
24348 }
24349 }
24350 },
56122987
DM
24351 "permissions" : {
24352 "check" : [
24353 "perm",
7aacca6f 24354 "/access",
56122987 24355 [
7aacca6f
DM
24356 "Sys.Modify"
24357 ]
56122987 24358 ]
44660702
DM
24359 },
24360 "protected" : 1,
24361 "returns" : {
24362 "type" : "null"
56122987
DM
24363 }
24364 },
44660702
DM
24365 "GET" : {
24366 "description" : "Get role configuration.",
24367 "method" : "GET",
24368 "name" : "read_role",
24369 "parameters" : {
24370 "additionalProperties" : 0,
24371 "properties" : {
24372 "roleid" : {
24373 "format" : "pve-roleid",
013dc89f
DM
24374 "type" : "string",
24375 "typetext" : "<string>"
44660702
DM
24376 }
24377 }
24378 },
7aacca6f 24379 "permissions" : {
44660702 24380 "user" : "all"
56122987 24381 },
44660702
DM
24382 "returns" : {}
24383 },
24384 "PUT" : {
24385 "description" : "Create new role.",
24386 "method" : "PUT",
24387 "name" : "update_role",
56122987
DM
24388 "parameters" : {
24389 "additionalProperties" : 0,
24390 "properties" : {
7aacca6f 24391 "append" : {
44660702 24392 "optional" : 1,
7aacca6f 24393 "requires" : "privs",
013dc89f
DM
24394 "type" : "boolean",
24395 "typetext" : "<boolean>"
7aacca6f
DM
24396 },
24397 "privs" : {
24398 "format" : "pve-priv-list",
013dc89f
DM
24399 "type" : "string",
24400 "typetext" : "<string>"
44660702
DM
24401 },
24402 "roleid" : {
24403 "format" : "pve-roleid",
013dc89f
DM
24404 "type" : "string",
24405 "typetext" : "<string>"
56122987
DM
24406 }
24407 }
24408 },
44660702
DM
24409 "permissions" : {
24410 "check" : [
24411 "perm",
24412 "/access",
24413 [
24414 "Sys.Modify"
24415 ]
24416 ]
24417 },
56122987 24418 "protected" : 1,
7aacca6f
DM
24419 "returns" : {
24420 "type" : "null"
56122987
DM
24421 }
24422 }
24423 },
44660702 24424 "leaf" : 1,
7aacca6f 24425 "path" : "/access/roles/{roleid}",
44660702 24426 "text" : "{roleid}"
56122987
DM
24427 }
24428 ],
56122987 24429 "info" : {
7aacca6f
DM
24430 "GET" : {
24431 "description" : "Role index.",
44660702 24432 "method" : "GET",
7aacca6f 24433 "name" : "index",
56122987 24434 "parameters" : {
56122987
DM
24435 "additionalProperties" : 0
24436 },
7aacca6f
DM
24437 "permissions" : {
24438 "user" : "all"
24439 },
56122987 24440 "returns" : {
7aacca6f 24441 "items" : {
7aacca6f
DM
24442 "properties" : {
24443 "roleid" : {
24444 "type" : "string"
24445 }
44660702
DM
24446 },
24447 "type" : "object"
24448 },
24449 "links" : [
24450 {
24451 "href" : "{roleid}",
24452 "rel" : "child"
7aacca6f 24453 }
44660702
DM
24454 ],
24455 "type" : "array"
24456 }
7aacca6f
DM
24457 },
24458 "POST" : {
24459 "description" : "Create new role.",
44660702
DM
24460 "method" : "POST",
24461 "name" : "create_role",
7aacca6f
DM
24462 "parameters" : {
24463 "additionalProperties" : 0,
24464 "properties" : {
7aacca6f
DM
24465 "privs" : {
24466 "format" : "pve-priv-list",
24467 "optional" : 1,
013dc89f
DM
24468 "type" : "string",
24469 "typetext" : "<string>"
44660702
DM
24470 },
24471 "roleid" : {
24472 "format" : "pve-roleid",
013dc89f
DM
24473 "type" : "string",
24474 "typetext" : "<string>"
7aacca6f
DM
24475 }
24476 }
24477 },
44660702
DM
24478 "permissions" : {
24479 "check" : [
24480 "perm",
24481 "/access",
24482 [
24483 "Sys.Modify"
24484 ]
24485 ]
24486 },
24487 "protected" : 1,
7aacca6f
DM
24488 "returns" : {
24489 "type" : "null"
24490 }
24491 }
24492 },
44660702 24493 "leaf" : 0,
7aacca6f 24494 "path" : "/access/roles",
44660702 24495 "text" : "roles"
7aacca6f
DM
24496 },
24497 {
24498 "info" : {
56122987 24499 "GET" : {
44660702
DM
24500 "description" : "Get Access Control List (ACLs).",
24501 "method" : "GET",
24502 "name" : "read_acl",
7aacca6f
DM
24503 "parameters" : {
24504 "additionalProperties" : 0
24505 },
44660702
DM
24506 "permissions" : {
24507 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
24508 "user" : "all"
24509 },
56122987 24510 "returns" : {
56122987 24511 "items" : {
44660702 24512 "additionalProperties" : 0,
56122987 24513 "properties" : {
7aacca6f
DM
24514 "path" : {
24515 "type" : "string"
24516 },
44660702
DM
24517 "propagate" : {
24518 "type" : "boolean"
24519 },
24520 "roleid" : {
24521 "type" : "string"
24522 },
7aacca6f
DM
24523 "type" : {
24524 "enum" : [
24525 "user",
24526 "group"
24527 ],
24528 "type" : "string"
24529 },
7aacca6f
DM
24530 "ugid" : {
24531 "type" : "string"
56122987 24532 }
7aacca6f 24533 },
44660702 24534 "type" : "object"
7aacca6f
DM
24535 },
24536 "type" : "array"
44660702 24537 }
7aacca6f
DM
24538 },
24539 "PUT" : {
44660702
DM
24540 "description" : "Update Access Control List (add or remove permissions).",
24541 "method" : "PUT",
7aacca6f
DM
24542 "name" : "update_acl",
24543 "parameters" : {
24544 "additionalProperties" : 0,
24545 "properties" : {
24546 "delete" : {
44660702 24547 "description" : "Remove permissions (instead of adding it).",
7aacca6f 24548 "optional" : 1,
013dc89f
DM
24549 "type" : "boolean",
24550 "typetext" : "<boolean>"
7aacca6f 24551 },
44660702
DM
24552 "groups" : {
24553 "description" : "List of groups.",
24554 "format" : "pve-groupid-list",
7aacca6f 24555 "optional" : 1,
013dc89f
DM
24556 "type" : "string",
24557 "typetext" : "<string>"
7aacca6f
DM
24558 },
24559 "path" : {
24560 "description" : "Access control path",
013dc89f
DM
24561 "type" : "string",
24562 "typetext" : "<string>"
7aacca6f 24563 },
7aacca6f 24564 "propagate" : {
44660702 24565 "default" : 1,
7aacca6f 24566 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 24567 "optional" : 1,
013dc89f
DM
24568 "type" : "boolean",
24569 "typetext" : "<boolean>"
7aacca6f 24570 },
44660702
DM
24571 "roles" : {
24572 "description" : "List of roles.",
24573 "format" : "pve-roleid-list",
013dc89f
DM
24574 "type" : "string",
24575 "typetext" : "<string>"
44660702
DM
24576 },
24577 "users" : {
24578 "description" : "List of users.",
24579 "format" : "pve-userid-list",
7aacca6f 24580 "optional" : 1,
013dc89f
DM
24581 "type" : "string",
24582 "typetext" : "<string>"
56122987
DM
24583 }
24584 }
24585 },
56122987 24586 "permissions" : {
7aacca6f
DM
24587 "check" : [
24588 "perm-modify",
24589 "{path}"
24590 ]
24591 },
7aacca6f
DM
24592 "protected" : 1,
24593 "returns" : {
24594 "type" : "null"
44660702 24595 }
56122987
DM
24596 }
24597 },
7aacca6f 24598 "leaf" : 1,
44660702
DM
24599 "path" : "/access/acl",
24600 "text" : "acl"
7aacca6f
DM
24601 },
24602 {
56122987
DM
24603 "children" : [
24604 {
56122987 24605 "info" : {
44660702
DM
24606 "DELETE" : {
24607 "description" : "Delete an authentication server.",
24608 "method" : "DELETE",
24609 "name" : "delete",
24610 "parameters" : {
24611 "additionalProperties" : 0,
24612 "properties" : {
24613 "realm" : {
24614 "description" : "Authentication domain ID",
24615 "format" : "pve-realm",
24616 "maxLength" : 32,
013dc89f
DM
24617 "type" : "string",
24618 "typetext" : "<string>"
56122987 24619 }
44660702 24620 }
56122987 24621 },
56122987
DM
24622 "permissions" : {
24623 "check" : [
24624 "perm",
7aacca6f 24625 "/access/realm",
56122987 24626 [
7aacca6f 24627 "Realm.Allocate"
56122987
DM
24628 ]
24629 ]
24630 },
7aacca6f 24631 "protected" : 1,
7aacca6f
DM
24632 "returns" : {
24633 "type" : "null"
44660702 24634 }
7aacca6f 24635 },
44660702
DM
24636 "GET" : {
24637 "description" : "Get auth server configuration.",
24638 "method" : "GET",
24639 "name" : "read",
56122987 24640 "parameters" : {
44660702 24641 "additionalProperties" : 0,
56122987 24642 "properties" : {
7aacca6f 24643 "realm" : {
44660702 24644 "description" : "Authentication domain ID",
7aacca6f
DM
24645 "format" : "pve-realm",
24646 "maxLength" : 32,
013dc89f
DM
24647 "type" : "string",
24648 "typetext" : "<string>"
56122987 24649 }
44660702 24650 }
7aacca6f 24651 },
7aacca6f
DM
24652 "permissions" : {
24653 "check" : [
24654 "perm",
24655 "/access/realm",
24656 [
44660702
DM
24657 "Realm.Allocate",
24658 "Sys.Audit"
24659 ],
24660 "any",
24661 1
7aacca6f 24662 ]
44660702
DM
24663 },
24664 "returns" : {}
7aacca6f 24665 },
44660702
DM
24666 "PUT" : {
24667 "description" : "Update authentication server settings.",
24668 "method" : "PUT",
24669 "name" : "update",
7aacca6f 24670 "parameters" : {
44660702 24671 "additionalProperties" : 0,
7aacca6f 24672 "properties" : {
44660702
DM
24673 "base_dn" : {
24674 "description" : "LDAP base domain name",
24675 "maxLength" : 256,
24676 "optional" : 1,
24677 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24678 "type" : "string"
24679 },
4bd7df8b
DM
24680 "bind_dn" : {
24681 "description" : "LDAP bind domain name",
24682 "maxLength" : 256,
24683 "optional" : 1,
24684 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24685 "type" : "string"
24686 },
44660702
DM
24687 "comment" : {
24688 "description" : "Description.",
24689 "maxLength" : 4096,
24690 "optional" : 1,
013dc89f
DM
24691 "type" : "string",
24692 "typetext" : "<string>"
44660702
DM
24693 },
24694 "default" : {
24695 "description" : "Use this as default realm",
24696 "optional" : 1,
013dc89f
DM
24697 "type" : "boolean",
24698 "typetext" : "<boolean>"
44660702
DM
24699 },
24700 "delete" : {
24701 "description" : "A list of settings you want to delete.",
24702 "format" : "pve-configid-list",
24703 "maxLength" : 4096,
24704 "optional" : 1,
013dc89f
DM
24705 "type" : "string",
24706 "typetext" : "<string>"
44660702
DM
24707 },
24708 "digest" : {
24709 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24710 "maxLength" : 40,
24711 "optional" : 1,
013dc89f
DM
24712 "type" : "string",
24713 "typetext" : "<string>"
44660702
DM
24714 },
24715 "domain" : {
24716 "description" : "AD domain name",
24717 "maxLength" : 256,
24718 "optional" : 1,
24719 "pattern" : "\\S+",
24720 "type" : "string"
24721 },
24722 "port" : {
24723 "description" : "Server port.",
24724 "maximum" : 65535,
24725 "minimum" : 1,
24726 "optional" : 1,
4bd7df8b 24727 "type" : "integer",
013dc89f 24728 "typetext" : "<integer> (1 - 65535)"
44660702 24729 },
7aacca6f 24730 "realm" : {
7aacca6f
DM
24731 "description" : "Authentication domain ID",
24732 "format" : "pve-realm",
44660702 24733 "maxLength" : 32,
013dc89f
DM
24734 "type" : "string",
24735 "typetext" : "<string>"
44660702
DM
24736 },
24737 "secure" : {
24738 "description" : "Use secure LDAPS protocol.",
24739 "optional" : 1,
013dc89f
DM
24740 "type" : "boolean",
24741 "typetext" : "<boolean>"
44660702
DM
24742 },
24743 "server1" : {
24744 "description" : "Server IP address (or DNS name)",
24745 "format" : "address",
24746 "maxLength" : 256,
24747 "optional" : 1,
013dc89f
DM
24748 "type" : "string",
24749 "typetext" : "<string>"
44660702
DM
24750 },
24751 "server2" : {
24752 "description" : "Fallback Server IP address (or DNS name)",
24753 "format" : "address",
24754 "maxLength" : 256,
24755 "optional" : 1,
013dc89f
DM
24756 "type" : "string",
24757 "typetext" : "<string>"
44660702
DM
24758 },
24759 "tfa" : {
24760 "description" : "Use Two-factor authentication.",
24761 "format" : "pve-tfa-config",
24762 "maxLength" : 128,
24763 "optional" : 1,
013dc89f
DM
24764 "type" : "string",
24765 "typetext" : "<string>"
44660702
DM
24766 },
24767 "user_attr" : {
24768 "description" : "LDAP user attribute name",
24769 "maxLength" : 256,
24770 "optional" : 1,
24771 "pattern" : "\\S{2,}",
24772 "type" : "string"
7aacca6f 24773 }
56122987 24774 },
44660702 24775 "type" : "object"
56122987 24776 },
7aacca6f
DM
24777 "permissions" : {
24778 "check" : [
24779 "perm",
24780 "/access/realm",
24781 [
44660702
DM
24782 "Realm.Allocate"
24783 ]
7aacca6f
DM
24784 ]
24785 },
44660702
DM
24786 "protected" : 1,
24787 "returns" : {
24788 "type" : "null"
24789 }
56122987 24790 }
44660702
DM
24791 },
24792 "leaf" : 1,
24793 "path" : "/access/domains/{realm}",
24794 "text" : "{realm}"
56122987 24795 }
7aacca6f 24796 ],
56122987
DM
24797 "info" : {
24798 "GET" : {
44660702
DM
24799 "description" : "Authentication domain index.",
24800 "method" : "GET",
24801 "name" : "index",
24802 "parameters" : {
24803 "additionalProperties" : 0
24804 },
24805 "permissions" : {
24806 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
24807 "user" : "world"
24808 },
56122987 24809 "returns" : {
56122987
DM
24810 "items" : {
24811 "properties" : {
7aacca6f
DM
24812 "comment" : {
24813 "optional" : 1,
24814 "type" : "string"
24815 },
56122987
DM
24816 "realm" : {
24817 "type" : "string"
24818 },
24819 "tfa" : {
7aacca6f 24820 "description" : "Two-factor authentication provider.",
56122987
DM
24821 "enum" : [
24822 "yubico",
24823 "oath"
24824 ],
44660702
DM
24825 "optional" : 1,
24826 "type" : "string"
56122987
DM
24827 }
24828 },
24829 "type" : "object"
44660702
DM
24830 },
24831 "links" : [
24832 {
24833 "href" : "{realm}",
24834 "rel" : "child"
24835 }
24836 ],
24837 "type" : "array"
24838 }
56122987
DM
24839 },
24840 "POST" : {
7aacca6f 24841 "description" : "Add an authentication server.",
44660702 24842 "method" : "POST",
7aacca6f 24843 "name" : "create",
56122987 24844 "parameters" : {
44660702 24845 "additionalProperties" : 0,
56122987 24846 "properties" : {
44660702
DM
24847 "base_dn" : {
24848 "description" : "LDAP base domain name",
56122987 24849 "maxLength" : 256,
44660702
DM
24850 "optional" : 1,
24851 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 24852 "type" : "string"
56122987 24853 },
4bd7df8b
DM
24854 "bind_dn" : {
24855 "description" : "LDAP bind domain name",
24856 "maxLength" : 256,
24857 "optional" : 1,
24858 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24859 "type" : "string"
24860 },
44660702
DM
24861 "comment" : {
24862 "description" : "Description.",
24863 "maxLength" : 4096,
56122987 24864 "optional" : 1,
013dc89f
DM
24865 "type" : "string",
24866 "typetext" : "<string>"
56122987 24867 },
44660702
DM
24868 "default" : {
24869 "description" : "Use this as default realm",
7aacca6f 24870 "optional" : 1,
013dc89f
DM
24871 "type" : "boolean",
24872 "typetext" : "<boolean>"
56122987 24873 },
44660702
DM
24874 "domain" : {
24875 "description" : "AD domain name",
24876 "maxLength" : 256,
7aacca6f 24877 "optional" : 1,
44660702
DM
24878 "pattern" : "\\S+",
24879 "type" : "string"
56122987 24880 },
7aacca6f 24881 "port" : {
44660702 24882 "description" : "Server port.",
7aacca6f 24883 "maximum" : 65535,
44660702 24884 "minimum" : 1,
7aacca6f 24885 "optional" : 1,
4bd7df8b 24886 "type" : "integer",
013dc89f 24887 "typetext" : "<integer> (1 - 65535)"
56122987 24888 },
44660702
DM
24889 "realm" : {
24890 "description" : "Authentication domain ID",
24891 "format" : "pve-realm",
24892 "maxLength" : 32,
013dc89f
DM
24893 "type" : "string",
24894 "typetext" : "<string>"
44660702
DM
24895 },
24896 "secure" : {
24897 "description" : "Use secure LDAPS protocol.",
7aacca6f 24898 "optional" : 1,
013dc89f
DM
24899 "type" : "boolean",
24900 "typetext" : "<boolean>"
56122987 24901 },
44660702
DM
24902 "server1" : {
24903 "description" : "Server IP address (or DNS name)",
24904 "format" : "address",
24905 "maxLength" : 256,
24906 "optional" : 1,
013dc89f
DM
24907 "type" : "string",
24908 "typetext" : "<string>"
56122987 24909 },
44660702
DM
24910 "server2" : {
24911 "description" : "Fallback Server IP address (or DNS name)",
24912 "format" : "address",
7aacca6f 24913 "maxLength" : 256,
7aacca6f 24914 "optional" : 1,
013dc89f
DM
24915 "type" : "string",
24916 "typetext" : "<string>"
7aacca6f 24917 },
44660702
DM
24918 "tfa" : {
24919 "description" : "Use Two-factor authentication.",
24920 "format" : "pve-tfa-config",
24921 "maxLength" : 128,
24922 "optional" : 1,
013dc89f
DM
24923 "type" : "string",
24924 "typetext" : "<string>"
44660702
DM
24925 },
24926 "type" : {
24927 "description" : "Realm type.",
24928 "enum" : [
24929 "ad",
24930 "ldap",
24931 "pam",
24932 "pve"
24933 ],
24934 "type" : "string"
24935 },
24936 "user_attr" : {
24937 "description" : "LDAP user attribute name",
7aacca6f 24938 "maxLength" : 256,
7aacca6f 24939 "optional" : 1,
44660702
DM
24940 "pattern" : "\\S{2,}",
24941 "type" : "string"
7aacca6f
DM
24942 }
24943 },
7aacca6f 24944 "type" : "object"
56122987 24945 },
7aacca6f
DM
24946 "permissions" : {
24947 "check" : [
24948 "perm",
24949 "/access/realm",
24950 [
24951 "Realm.Allocate"
24952 ]
24953 ]
44660702
DM
24954 },
24955 "protected" : 1,
24956 "returns" : {
24957 "type" : "null"
7aacca6f 24958 }
56122987 24959 }
7aacca6f 24960 },
44660702 24961 "leaf" : 0,
56122987 24962 "path" : "/access/domains",
44660702 24963 "text" : "domains"
56122987
DM
24964 },
24965 {
56122987 24966 "info" : {
44660702
DM
24967 "GET" : {
24968 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
24969 "method" : "GET",
24970 "name" : "get_ticket",
24971 "parameters" : {
24972 "additionalProperties" : 0
24973 },
24974 "permissions" : {
24975 "user" : "world"
24976 },
24977 "returns" : {
24978 "type" : "null"
24979 }
24980 },
56122987 24981 "POST" : {
44660702 24982 "description" : "Create or verify authentication ticket.",
56122987 24983 "method" : "POST",
44660702
DM
24984 "name" : "create_ticket",
24985 "parameters" : {
24986 "additionalProperties" : 0,
56122987 24987 "properties" : {
44660702
DM
24988 "otp" : {
24989 "description" : "One-time password for Two-factor authentication.",
7aacca6f 24990 "optional" : 1,
013dc89f
DM
24991 "type" : "string",
24992 "typetext" : "<string>"
56122987 24993 },
7aacca6f
DM
24994 "password" : {
24995 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
24996 "type" : "string",
24997 "typetext" : "<string>"
7aacca6f 24998 },
44660702
DM
24999 "path" : {
25000 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 25001 "maxLength" : 64,
56122987 25002 "optional" : 1,
56122987 25003 "requires" : "privs",
013dc89f
DM
25004 "type" : "string",
25005 "typetext" : "<string>"
44660702
DM
25006 },
25007 "privs" : {
7aacca6f 25008 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
25009 "format" : "pve-priv-list",
25010 "maxLength" : 64,
56122987 25011 "optional" : 1,
44660702 25012 "requires" : "path",
013dc89f
DM
25013 "type" : "string",
25014 "typetext" : "<string>"
56122987
DM
25015 },
25016 "realm" : {
56122987 25017 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 25018 "format" : "pve-realm",
7aacca6f 25019 "maxLength" : 32,
44660702 25020 "optional" : 1,
013dc89f
DM
25021 "type" : "string",
25022 "typetext" : "<string>"
56122987
DM
25023 },
25024 "username" : {
25025 "description" : "User name",
44660702 25026 "maxLength" : 64,
013dc89f
DM
25027 "type" : "string",
25028 "typetext" : "<string>"
56122987 25029 }
44660702 25030 }
7aacca6f 25031 },
56122987 25032 "permissions" : {
44660702 25033 "description" : "You need to pass valid credientials.",
56122987
DM
25034 "user" : "world"
25035 },
44660702 25036 "protected" : 1,
7aacca6f 25037 "returns" : {
56122987 25038 "properties" : {
44660702
DM
25039 "CSRFPreventionToken" : {
25040 "optional" : 1,
25041 "type" : "string"
56122987 25042 },
44660702
DM
25043 "ticket" : {
25044 "optional" : 1,
25045 "type" : "string"
25046 },
25047 "username" : {
56122987
DM
25048 "type" : "string"
25049 }
25050 },
44660702 25051 "type" : "object"
7aacca6f 25052 }
7aacca6f
DM
25053 }
25054 },
44660702
DM
25055 "leaf" : 1,
25056 "path" : "/access/ticket",
25057 "text" : "ticket"
7aacca6f 25058 },
56122987 25059 {
56122987 25060 "info" : {
7aacca6f 25061 "PUT" : {
44660702 25062 "description" : "Change user password.",
7aacca6f 25063 "method" : "PUT",
44660702 25064 "name" : "change_passsword",
56122987
DM
25065 "parameters" : {
25066 "additionalProperties" : 0,
25067 "properties" : {
44660702
DM
25068 "password" : {
25069 "description" : "The new password.",
25070 "maxLength" : 64,
25071 "minLength" : 5,
013dc89f
DM
25072 "type" : "string",
25073 "typetext" : "<string>"
7aacca6f 25074 },
44660702
DM
25075 "userid" : {
25076 "description" : "User ID",
25077 "format" : "pve-userid",
25078 "maxLength" : 64,
013dc89f
DM
25079 "type" : "string",
25080 "typetext" : "<string>"
56122987 25081 }
7aacca6f 25082 }
56122987
DM
25083 },
25084 "permissions" : {
25085 "check" : [
44660702 25086 "or",
56122987 25087 [
44660702
DM
25088 "userid-param",
25089 "self"
25090 ],
25091 [
25092 "and",
25093 [
25094 "userid-param",
25095 "Realm.AllocateUser"
25096 ],
25097 [
25098 "userid-group",
25099 [
25100 "User.Modify"
25101 ]
25102 ]
56122987 25103 ]
7aacca6f 25104 ],
44660702 25105 "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 25106 },
44660702 25107 "protected" : 1,
7aacca6f
DM
25108 "returns" : {
25109 "type" : "null"
44660702
DM
25110 }
25111 }
25112 },
25113 "leaf" : 1,
25114 "path" : "/access/password",
25115 "text" : "password"
25116 }
25117 ],
25118 "info" : {
25119 "GET" : {
25120 "description" : "Directory index.",
25121 "method" : "GET",
25122 "name" : "index",
25123 "parameters" : {
25124 "additionalProperties" : 0
25125 },
25126 "permissions" : {
25127 "user" : "all"
25128 },
25129 "returns" : {
25130 "items" : {
25131 "properties" : {
25132 "subdir" : {
25133 "type" : "string"
25134 }
7aacca6f 25135 },
44660702
DM
25136 "type" : "object"
25137 },
25138 "links" : [
25139 {
25140 "href" : "{subdir}",
25141 "rel" : "child"
25142 }
25143 ],
25144 "type" : "array"
25145 }
25146 }
25147 },
25148 "leaf" : 0,
25149 "path" : "/access",
25150 "text" : "access"
25151 },
25152 {
25153 "children" : [
25154 {
25155 "info" : {
25156 "DELETE" : {
7aacca6f 25157 "description" : "Delete pool.",
44660702
DM
25158 "method" : "DELETE",
25159 "name" : "delete_pool",
7aacca6f
DM
25160 "parameters" : {
25161 "additionalProperties" : 0,
25162 "properties" : {
25163 "poolid" : {
25164 "format" : "pve-poolid",
013dc89f
DM
25165 "type" : "string",
25166 "typetext" : "<string>"
7aacca6f
DM
25167 }
25168 }
25169 },
56122987
DM
25170 "permissions" : {
25171 "check" : [
25172 "perm",
25173 "/pool/{poolid}",
25174 [
25175 "Pool.Allocate"
25176 ]
44660702
DM
25177 ],
25178 "description" : "You can only delete empty pools (no members)."
25179 },
25180 "protected" : 1,
25181 "returns" : {
25182 "type" : "null"
7aacca6f
DM
25183 }
25184 },
25185 "GET" : {
25186 "description" : "Get pool configuration.",
44660702 25187 "method" : "GET",
7aacca6f 25188 "name" : "read_pool",
56122987 25189 "parameters" : {
44660702 25190 "additionalProperties" : 0,
56122987
DM
25191 "properties" : {
25192 "poolid" : {
44660702 25193 "format" : "pve-poolid",
013dc89f
DM
25194 "type" : "string",
25195 "typetext" : "<string>"
56122987 25196 }
44660702 25197 }
56122987 25198 },
56122987 25199 "permissions" : {
56122987
DM
25200 "check" : [
25201 "perm",
25202 "/pool/{poolid}",
25203 [
25204 "Pool.Allocate"
25205 ]
25206 ]
25207 },
7aacca6f 25208 "returns" : {
44660702 25209 "additionalProperties" : 0,
56122987 25210 "properties" : {
44660702
DM
25211 "comment" : {
25212 "optional" : 1,
25213 "type" : "string"
25214 },
7aacca6f 25215 "members" : {
7aacca6f
DM
25216 "items" : {
25217 "additionalProperties" : 1,
7aacca6f 25218 "properties" : {
7aacca6f
DM
25219 "id" : {
25220 "type" : "string"
25221 },
25222 "node" : {
25223 "type" : "string"
25224 },
44660702
DM
25225 "storage" : {
25226 "optional" : 1,
25227 "type" : "string"
25228 },
7aacca6f 25229 "type" : {
7aacca6f
DM
25230 "enum" : [
25231 "qemu",
25232 "lxc",
25233 "openvz",
25234 "storage"
44660702
DM
25235 ],
25236 "type" : "string"
25237 },
25238 "vmid" : {
25239 "optional" : 1,
25240 "type" : "integer"
7aacca6f 25241 }
44660702
DM
25242 },
25243 "type" : "object"
25244 },
25245 "type" : "array"
25246 }
25247 },
25248 "type" : "object"
25249 }
25250 },
25251 "PUT" : {
25252 "description" : "Update pool data.",
25253 "method" : "PUT",
25254 "name" : "update_pool",
25255 "parameters" : {
25256 "additionalProperties" : 0,
25257 "properties" : {
56122987
DM
25258 "comment" : {
25259 "optional" : 1,
013dc89f
DM
25260 "type" : "string",
25261 "typetext" : "<string>"
44660702
DM
25262 },
25263 "delete" : {
25264 "description" : "Remove vms/storage (instead of adding it).",
25265 "optional" : 1,
013dc89f
DM
25266 "type" : "boolean",
25267 "typetext" : "<boolean>"
44660702
DM
25268 },
25269 "poolid" : {
25270 "format" : "pve-poolid",
013dc89f
DM
25271 "type" : "string",
25272 "typetext" : "<string>"
44660702
DM
25273 },
25274 "storage" : {
25275 "description" : "List of storage IDs.",
25276 "format" : "pve-storage-id-list",
25277 "optional" : 1,
013dc89f
DM
25278 "type" : "string",
25279 "typetext" : "<string>"
44660702
DM
25280 },
25281 "vms" : {
25282 "description" : "List of virtual machines.",
25283 "format" : "pve-vmid-list",
25284 "optional" : 1,
013dc89f
DM
25285 "type" : "string",
25286 "typetext" : "<string>"
56122987 25287 }
44660702
DM
25288 }
25289 },
25290 "permissions" : {
25291 "check" : [
25292 "perm",
25293 "/pool/{poolid}",
25294 [
25295 "Pool.Allocate"
25296 ]
25297 ],
25298 "description" : "You also need the right to modify permissions on any object you add/delete."
25299 },
25300 "protected" : 1,
25301 "returns" : {
25302 "type" : "null"
56122987
DM
25303 }
25304 }
25305 },
44660702
DM
25306 "leaf" : 1,
25307 "path" : "/pools/{poolid}",
7aacca6f 25308 "text" : "{poolid}"
56122987 25309 }
7aacca6f 25310 ],
56122987
DM
25311 "info" : {
25312 "GET" : {
44660702
DM
25313 "description" : "Pool index.",
25314 "method" : "GET",
25315 "name" : "index",
25316 "parameters" : {
25317 "additionalProperties" : 0
25318 },
25319 "permissions" : {
25320 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
25321 "user" : "all"
25322 },
56122987 25323 "returns" : {
44660702
DM
25324 "items" : {
25325 "properties" : {
25326 "poolid" : {
25327 "type" : "string"
25328 }
56122987 25329 },
44660702
DM
25330 "type" : "object"
25331 },
25332 "links" : [
25333 {
25334 "href" : "{poolid}",
25335 "rel" : "child"
25336 }
25337 ],
25338 "type" : "array"
25339 }
25340 },
25341 "POST" : {
25342 "description" : "Create new pool.",
25343 "method" : "POST",
25344 "name" : "create_pool",
25345 "parameters" : {
25346 "additionalProperties" : 0,
25347 "properties" : {
25348 "comment" : {
25349 "optional" : 1,
013dc89f
DM
25350 "type" : "string",
25351 "typetext" : "<string>"
7aacca6f 25352 },
44660702
DM
25353 "poolid" : {
25354 "format" : "pve-poolid",
013dc89f
DM
25355 "type" : "string",
25356 "typetext" : "<string>"
56122987
DM
25357 }
25358 }
25359 },
56122987 25360 "permissions" : {
44660702
DM
25361 "check" : [
25362 "perm",
25363 "/pool/{poolid}",
25364 [
25365 "Pool.Allocate"
25366 ]
25367 ]
56122987 25368 },
44660702
DM
25369 "protected" : 1,
25370 "returns" : {
25371 "type" : "null"
25372 }
25373 }
25374 },
25375 "leaf" : 0,
25376 "path" : "/pools",
25377 "text" : "pools"
25378 },
25379 {
25380 "info" : {
25381 "GET" : {
25382 "description" : "API version details. The result also includes the global datacenter confguration.",
25383 "method" : "GET",
25384 "name" : "version",
7aacca6f
DM
25385 "parameters" : {
25386 "additionalProperties" : 0
25387 },
44660702
DM
25388 "permissions" : {
25389 "user" : "all"
25390 },
25391 "returns" : {
25392 "properties" : {
25393 "release" : {
25394 "type" : "string"
25395 },
25396 "repoid" : {
25397 "type" : "string"
25398 },
25399 "version" : {
25400 "type" : "string"
25401 }
25402 },
25403 "type" : "object"
25404 }
56122987
DM
25405 }
25406 },
44660702
DM
25407 "leaf" : 1,
25408 "path" : "/version",
56122987
DM
25409 "text" : "version"
25410 }
25411]
25412;
25413