]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
ha-manager.adoc: improve configuration section
[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" : {
44660702
DM
2570 "default" : "enabled",
2571 "description" : "Resource state.",
7aacca6f
DM
2572 "enum" : [
2573 "enabled",
2574 "disabled"
2575 ],
7aacca6f 2576 "optional" : 1,
44660702 2577 "type" : "string"
56122987 2578 }
44660702
DM
2579 },
2580 "type" : "object"
56122987 2581 },
56122987
DM
2582 "permissions" : {
2583 "check" : [
2584 "perm",
2585 "/",
2586 [
2587 "Sys.Console"
2588 ]
2589 ]
2590 },
7aacca6f 2591 "protected" : 1,
56122987
DM
2592 "returns" : {
2593 "type" : "null"
2594 }
2595 }
2596 },
44660702 2597 "leaf" : 0,
7aacca6f 2598 "path" : "/cluster/ha/resources/{sid}",
44660702 2599 "text" : "{sid}"
56122987
DM
2600 }
2601 ],
7aacca6f
DM
2602 "info" : {
2603 "GET" : {
44660702
DM
2604 "description" : "List HA resources.",
2605 "method" : "GET",
2606 "name" : "index",
7aacca6f 2607 "parameters" : {
44660702
DM
2608 "additionalProperties" : 0,
2609 "properties" : {
2610 "type" : {
2611 "description" : "Only list resources of specific type",
2612 "enum" : [
2613 "ct",
2614 "vm"
2615 ],
2616 "optional" : 1,
2617 "type" : "string"
2618 }
2619 }
7aacca6f 2620 },
7aacca6f
DM
2621 "permissions" : {
2622 "check" : [
2623 "perm",
2624 "/",
2625 [
2626 "Sys.Audit"
2627 ]
2628 ]
2629 },
7aacca6f 2630 "returns" : {
7aacca6f 2631 "items" : {
7aacca6f 2632 "properties" : {
44660702 2633 "sid" : {
7aacca6f
DM
2634 "type" : "string"
2635 }
44660702
DM
2636 },
2637 "type" : "object"
7aacca6f
DM
2638 },
2639 "links" : [
2640 {
44660702 2641 "href" : "{sid}",
7aacca6f
DM
2642 "rel" : "child"
2643 }
44660702
DM
2644 ],
2645 "type" : "array"
7aacca6f
DM
2646 }
2647 },
2648 "POST" : {
44660702 2649 "description" : "Create a new HA resource.",
7aacca6f 2650 "method" : "POST",
44660702 2651 "name" : "create",
7aacca6f 2652 "parameters" : {
44660702 2653 "additionalProperties" : 0,
7aacca6f
DM
2654 "properties" : {
2655 "comment" : {
7aacca6f 2656 "description" : "Description.",
44660702 2657 "maxLength" : 4096,
7aacca6f 2658 "optional" : 1,
013dc89f
DM
2659 "type" : "string",
2660 "typetext" : "<string>"
7aacca6f 2661 },
44660702
DM
2662 "group" : {
2663 "description" : "The HA group identifier.",
2664 "format" : "pve-configid",
7aacca6f 2665 "optional" : 1,
013dc89f
DM
2666 "type" : "string",
2667 "typetext" : "<string>"
7aacca6f 2668 },
44660702
DM
2669 "max_relocate" : {
2670 "default" : 1,
2671 "description" : "Maximal number of service relocate tries when a service failes to start.",
2672 "minimum" : 0,
7aacca6f 2673 "optional" : 1,
4bd7df8b 2674 "type" : "integer",
013dc89f 2675 "typetext" : "<integer> (0 - N)"
7aacca6f 2676 },
44660702
DM
2677 "max_restart" : {
2678 "default" : 1,
2679 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2680 "minimum" : 0,
2681 "optional" : 1,
4bd7df8b 2682 "type" : "integer",
013dc89f 2683 "typetext" : "<integer> (0 - N)"
44660702
DM
2684 },
2685 "sid" : {
2686 "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).",
2687 "format" : "pve-ha-resource-or-vm-id",
2688 "type" : "string",
2689 "typetext" : "<type>:<name>"
2690 },
2691 "state" : {
2692 "default" : "enabled",
2693 "description" : "Resource state.",
7aacca6f 2694 "enum" : [
44660702
DM
2695 "enabled",
2696 "disabled"
7aacca6f 2697 ],
7aacca6f
DM
2698 "optional" : 1,
2699 "type" : "string"
2700 },
44660702
DM
2701 "type" : {
2702 "description" : "Resource type.",
2703 "enum" : [
2704 "ct",
2705 "vm"
2706 ],
2707 "optional" : 1,
2708 "type" : "string"
2709 }
7aacca6f 2710 },
44660702 2711 "type" : "object"
7aacca6f
DM
2712 },
2713 "permissions" : {
2714 "check" : [
2715 "perm",
2716 "/",
2717 [
2718 "Sys.Console"
2719 ]
2720 ]
2721 },
44660702
DM
2722 "protected" : 1,
2723 "returns" : {
2724 "type" : "null"
2725 }
7aacca6f
DM
2726 }
2727 },
44660702
DM
2728 "leaf" : 0,
2729 "path" : "/cluster/ha/resources",
2730 "text" : "resources"
2731 },
2732 {
56122987
DM
2733 "children" : [
2734 {
56122987 2735 "info" : {
44660702
DM
2736 "DELETE" : {
2737 "description" : "Delete ha group configuration.",
2738 "method" : "DELETE",
2739 "name" : "delete",
56122987 2740 "parameters" : {
7aacca6f 2741 "additionalProperties" : 0,
56122987 2742 "properties" : {
7aacca6f
DM
2743 "group" : {
2744 "description" : "The HA group identifier.",
44660702 2745 "format" : "pve-configid",
013dc89f
DM
2746 "type" : "string",
2747 "typetext" : "<string>"
56122987 2748 }
7aacca6f 2749 }
56122987 2750 },
56122987
DM
2751 "permissions" : {
2752 "check" : [
2753 "perm",
2754 "/",
2755 [
7aacca6f 2756 "Sys.Console"
56122987
DM
2757 ]
2758 ]
2759 },
44660702 2760 "protected" : 1,
7aacca6f
DM
2761 "returns" : {
2762 "type" : "null"
56122987
DM
2763 }
2764 },
44660702
DM
2765 "GET" : {
2766 "description" : "Read ha group configuration.",
2767 "method" : "GET",
2768 "name" : "read",
56122987 2769 "parameters" : {
44660702 2770 "additionalProperties" : 0,
56122987
DM
2771 "properties" : {
2772 "group" : {
2773 "description" : "The HA group identifier.",
44660702 2774 "format" : "pve-configid",
013dc89f
DM
2775 "type" : "string",
2776 "typetext" : "<string>"
56122987 2777 }
44660702 2778 }
56122987 2779 },
56122987
DM
2780 "permissions" : {
2781 "check" : [
2782 "perm",
2783 "/",
2784 [
44660702 2785 "Sys.Audit"
56122987
DM
2786 ]
2787 ]
2788 },
44660702 2789 "returns" : {}
7aacca6f 2790 },
44660702
DM
2791 "PUT" : {
2792 "description" : "Update ha group configuration.",
2793 "method" : "PUT",
2794 "name" : "update",
7aacca6f 2795 "parameters" : {
44660702 2796 "additionalProperties" : 0,
7aacca6f 2797 "properties" : {
44660702
DM
2798 "comment" : {
2799 "description" : "Description.",
2800 "maxLength" : 4096,
2801 "optional" : 1,
013dc89f
DM
2802 "type" : "string",
2803 "typetext" : "<string>"
44660702
DM
2804 },
2805 "delete" : {
2806 "description" : "A list of settings you want to delete.",
2807 "format" : "pve-configid-list",
2808 "maxLength" : 4096,
2809 "optional" : 1,
013dc89f
DM
2810 "type" : "string",
2811 "typetext" : "<string>"
44660702
DM
2812 },
2813 "digest" : {
2814 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2815 "maxLength" : 40,
2816 "optional" : 1,
013dc89f
DM
2817 "type" : "string",
2818 "typetext" : "<string>"
44660702 2819 },
7aacca6f
DM
2820 "group" : {
2821 "description" : "The HA group identifier.",
44660702 2822 "format" : "pve-configid",
013dc89f
DM
2823 "type" : "string",
2824 "typetext" : "<string>"
44660702
DM
2825 },
2826 "nodes" : {
2827 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2828 "format" : "pve-ha-group-node-list",
2829 "optional" : 1,
7aacca6f 2830 "type" : "string",
44660702
DM
2831 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2832 },
2833 "nofailback" : {
2834 "default" : 0,
2835 "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.",
2836 "optional" : 1,
013dc89f
DM
2837 "type" : "boolean",
2838 "typetext" : "<boolean>"
44660702
DM
2839 },
2840 "restricted" : {
2841 "default" : 0,
2842 "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.",
2843 "optional" : 1,
013dc89f
DM
2844 "type" : "boolean",
2845 "typetext" : "<boolean>"
7aacca6f
DM
2846 }
2847 },
44660702 2848 "type" : "object"
7aacca6f 2849 },
7aacca6f
DM
2850 "permissions" : {
2851 "check" : [
2852 "perm",
2853 "/",
2854 [
44660702 2855 "Sys.Console"
7aacca6f
DM
2856 ]
2857 ]
2858 },
44660702
DM
2859 "protected" : 1,
2860 "returns" : {
2861 "type" : "null"
2862 }
56122987
DM
2863 }
2864 },
2865 "leaf" : 1,
44660702
DM
2866 "path" : "/cluster/ha/groups/{group}",
2867 "text" : "{group}"
56122987 2868 }
44660702
DM
2869 ],
2870 "info" : {
2871 "GET" : {
2872 "description" : "Get HA groups.",
2873 "method" : "GET",
2874 "name" : "index",
2875 "parameters" : {
2876 "additionalProperties" : 0
2877 },
2878 "permissions" : {
2879 "check" : [
2880 "perm",
2881 "/",
2882 [
2883 "Sys.Audit"
2884 ]
2885 ]
2886 },
2887 "returns" : {
2888 "items" : {
2889 "properties" : {
2890 "group" : {
2891 "type" : "string"
2892 }
2893 },
2894 "type" : "object"
2895 },
2896 "links" : [
2897 {
2898 "href" : "{group}",
2899 "rel" : "child"
2900 }
2901 ],
2902 "type" : "array"
2903 }
2904 },
2905 "POST" : {
2906 "description" : "Create a new HA group.",
2907 "method" : "POST",
2908 "name" : "create",
2909 "parameters" : {
2910 "additionalProperties" : 0,
2911 "properties" : {
2912 "comment" : {
2913 "description" : "Description.",
2914 "maxLength" : 4096,
2915 "optional" : 1,
013dc89f
DM
2916 "type" : "string",
2917 "typetext" : "<string>"
44660702
DM
2918 },
2919 "group" : {
2920 "description" : "The HA group identifier.",
2921 "format" : "pve-configid",
013dc89f
DM
2922 "type" : "string",
2923 "typetext" : "<string>"
44660702
DM
2924 },
2925 "nodes" : {
2926 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
2927 "format" : "pve-ha-group-node-list",
2928 "optional" : 0,
2929 "type" : "string",
2930 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
2931 },
2932 "nofailback" : {
2933 "default" : 0,
2934 "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.",
2935 "optional" : 1,
013dc89f
DM
2936 "type" : "boolean",
2937 "typetext" : "<boolean>"
44660702
DM
2938 },
2939 "restricted" : {
2940 "default" : 0,
2941 "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.",
2942 "optional" : 1,
013dc89f
DM
2943 "type" : "boolean",
2944 "typetext" : "<boolean>"
44660702
DM
2945 },
2946 "type" : {
2947 "description" : "Group type.",
2948 "enum" : [
2949 "group"
2950 ],
2951 "optional" : 1,
2952 "type" : "string"
2953 }
2954 },
2955 "type" : "object"
2956 },
2957 "permissions" : {
2958 "check" : [
2959 "perm",
2960 "/",
2961 [
2962 "Sys.Console"
2963 ]
2964 ]
2965 },
2966 "protected" : 1,
2967 "returns" : {
2968 "type" : "null"
2969 }
2970 }
2971 },
2972 "leaf" : 0,
2973 "path" : "/cluster/ha/groups",
2974 "text" : "groups"
7aacca6f
DM
2975 },
2976 {
7aacca6f
DM
2977 "children" : [
2978 {
2979 "info" : {
2980 "GET" : {
56122987 2981 "description" : "Get HA manger status.",
44660702 2982 "method" : "GET",
7aacca6f 2983 "name" : "status",
44660702
DM
2984 "parameters" : {
2985 "additionalProperties" : 0
2986 },
56122987
DM
2987 "permissions" : {
2988 "check" : [
2989 "perm",
2990 "/",
2991 [
2992 "Sys.Audit"
2993 ]
2994 ]
7aacca6f 2995 },
44660702
DM
2996 "returns" : {
2997 "type" : "array"
56122987
DM
2998 }
2999 }
7aacca6f 3000 },
7aacca6f 3001 "leaf" : 1,
44660702
DM
3002 "path" : "/cluster/ha/status/current",
3003 "text" : "current"
56122987
DM
3004 },
3005 {
3006 "info" : {
3007 "GET" : {
7aacca6f 3008 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3009 "method" : "GET",
3010 "name" : "manager_status",
7aacca6f
DM
3011 "parameters" : {
3012 "additionalProperties" : 0
3013 },
56122987
DM
3014 "permissions" : {
3015 "check" : [
3016 "perm",
3017 "/",
3018 [
3019 "Sys.Audit"
3020 ]
3021 ]
44660702
DM
3022 },
3023 "returns" : {
3024 "type" : "object"
7aacca6f 3025 }
56122987
DM
3026 }
3027 },
56122987 3028 "leaf" : 1,
44660702
DM
3029 "path" : "/cluster/ha/status/manager_status",
3030 "text" : "manager_status"
56122987
DM
3031 }
3032 ],
56122987
DM
3033 "info" : {
3034 "GET" : {
44660702 3035 "description" : "Directory index.",
7aacca6f 3036 "method" : "GET",
44660702
DM
3037 "name" : "index",
3038 "parameters" : {
3039 "additionalProperties" : 0
3040 },
3041 "permissions" : {
3042 "user" : "all"
3043 },
56122987 3044 "returns" : {
56122987
DM
3045 "items" : {
3046 "properties" : {},
3047 "type" : "object"
3048 },
3049 "links" : [
3050 {
44660702
DM
3051 "href" : "{name}",
3052 "rel" : "child"
56122987 3053 }
7aacca6f
DM
3054 ],
3055 "type" : "array"
44660702 3056 }
56122987 3057 }
7aacca6f 3058 },
44660702 3059 "leaf" : 0,
7aacca6f 3060 "path" : "/cluster/ha/status",
44660702 3061 "text" : "status"
56122987
DM
3062 }
3063 ],
56122987
DM
3064 "info" : {
3065 "GET" : {
7aacca6f 3066 "description" : "Directory index.",
44660702
DM
3067 "method" : "GET",
3068 "name" : "index",
3069 "parameters" : {
3070 "additionalProperties" : 0
3071 },
7aacca6f
DM
3072 "permissions" : {
3073 "check" : [
3074 "perm",
3075 "/",
3076 [
3077 "Sys.Audit"
3078 ]
3079 ]
3080 },
56122987 3081 "returns" : {
56122987 3082 "items" : {
7aacca6f
DM
3083 "properties" : {
3084 "id" : {
3085 "type" : "string"
3086 }
44660702
DM
3087 },
3088 "type" : "object"
7aacca6f
DM
3089 },
3090 "links" : [
3091 {
3092 "href" : "{id}",
3093 "rel" : "child"
3094 }
44660702
DM
3095 ],
3096 "type" : "array"
7aacca6f
DM
3097 }
3098 }
44660702
DM
3099 },
3100 "leaf" : 0,
3101 "path" : "/cluster/ha",
3102 "text" : "ha"
7aacca6f
DM
3103 },
3104 {
7aacca6f
DM
3105 "info" : {
3106 "GET" : {
3107 "description" : "Read cluster log",
44660702
DM
3108 "method" : "GET",
3109 "name" : "log",
56122987 3110 "parameters" : {
7aacca6f 3111 "additionalProperties" : 0,
56122987
DM
3112 "properties" : {
3113 "max" : {
7aacca6f 3114 "description" : "Maximum number of entries.",
44660702
DM
3115 "minimum" : 1,
3116 "optional" : 1,
4bd7df8b 3117 "type" : "integer",
013dc89f 3118 "typetext" : "<integer> (1 - N)"
56122987 3119 }
7aacca6f 3120 }
56122987 3121 },
44660702
DM
3122 "permissions" : {
3123 "user" : "all"
3124 },
7aacca6f 3125 "returns" : {
7aacca6f 3126 "items" : {
44660702
DM
3127 "properties" : {},
3128 "type" : "object"
3129 },
3130 "type" : "array"
7aacca6f 3131 }
56122987 3132 }
44660702
DM
3133 },
3134 "leaf" : 1,
3135 "path" : "/cluster/log",
3136 "text" : "log"
56122987
DM
3137 },
3138 {
56122987
DM
3139 "info" : {
3140 "GET" : {
44660702 3141 "description" : "Resources index (cluster wide).",
7aacca6f 3142 "method" : "GET",
7aacca6f 3143 "name" : "resources",
56122987
DM
3144 "parameters" : {
3145 "additionalProperties" : 0,
3146 "properties" : {
3147 "type" : {
3148 "enum" : [
3149 "vm",
3150 "storage",
3151 "node"
44660702
DM
3152 ],
3153 "optional" : 1,
3154 "type" : "string"
56122987
DM
3155 }
3156 }
3157 },
44660702
DM
3158 "permissions" : {
3159 "user" : "all"
3160 },
3161 "returns" : {
3162 "items" : {
3163 "properties" : {},
3164 "type" : "object"
3165 },
3166 "type" : "array"
3167 }
56122987
DM
3168 }
3169 },
7aacca6f 3170 "leaf" : 1,
44660702
DM
3171 "path" : "/cluster/resources",
3172 "text" : "resources"
56122987
DM
3173 },
3174 {
56122987
DM
3175 "info" : {
3176 "GET" : {
7aacca6f 3177 "description" : "List recent tasks (cluster wide).",
44660702 3178 "method" : "GET",
7aacca6f 3179 "name" : "tasks",
56122987
DM
3180 "parameters" : {
3181 "additionalProperties" : 0
3182 },
44660702
DM
3183 "permissions" : {
3184 "user" : "all"
3185 },
56122987
DM
3186 "returns" : {
3187 "items" : {
3188 "properties" : {
3189 "upid" : {
3190 "type" : "string"
3191 }
44660702
DM
3192 },
3193 "type" : "object"
3194 },
3195 "type" : "array"
7aacca6f 3196 }
56122987
DM
3197 }
3198 },
7aacca6f 3199 "leaf" : 1,
44660702
DM
3200 "path" : "/cluster/tasks",
3201 "text" : "tasks"
56122987
DM
3202 },
3203 {
56122987 3204 "info" : {
7aacca6f 3205 "GET" : {
44660702
DM
3206 "description" : "Get datacenter options.",
3207 "method" : "GET",
3208 "name" : "get_options",
56122987 3209 "parameters" : {
7aacca6f
DM
3210 "additionalProperties" : 0
3211 },
3212 "permissions" : {
3213 "check" : [
3214 "perm",
3215 "/",
3216 [
3217 "Sys.Audit"
3218 ]
3219 ]
3220 },
7aacca6f 3221 "returns" : {
44660702
DM
3222 "properties" : {},
3223 "type" : "object"
7aacca6f
DM
3224 }
3225 },
3226 "PUT" : {
44660702
DM
3227 "description" : "Set datacenter options.",
3228 "method" : "PUT",
7aacca6f
DM
3229 "name" : "set_options",
3230 "parameters" : {
3231 "additionalProperties" : 0,
3232 "properties" : {
56122987 3233 "console" : {
56122987 3234 "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
3235 "enum" : [
3236 "applet",
3237 "vv",
3238 "html5"
44660702
DM
3239 ],
3240 "optional" : 1,
3241 "type" : "string"
56122987 3242 },
7aacca6f 3243 "delete" : {
7aacca6f 3244 "description" : "A list of settings you want to delete.",
44660702 3245 "format" : "pve-configid-list",
7aacca6f 3246 "optional" : 1,
013dc89f
DM
3247 "type" : "string",
3248 "typetext" : "<string>"
7aacca6f 3249 },
44660702
DM
3250 "email_from" : {
3251 "description" : "Specify email address to send notification from (default is root@$hostname)",
3252 "format" : "email-opt",
7aacca6f 3253 "optional" : 1,
013dc89f
DM
3254 "type" : "string",
3255 "typetext" : "<string>"
44660702
DM
3256 },
3257 "fencing" : {
3258 "default" : "watchdog",
3259 "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 3260 "enum" : [
44660702
DM
3261 "watchdog",
3262 "hardware",
3263 "both"
7aacca6f 3264 ],
44660702
DM
3265 "optional" : 1,
3266 "type" : "string"
3267 },
3268 "http_proxy" : {
3269 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3270 "optional" : 1,
3271 "pattern" : "http://.*",
3272 "type" : "string"
7aacca6f 3273 },
56122987 3274 "keyboard" : {
44660702 3275 "description" : "Default keybord layout for vnc server.",
56122987 3276 "enum" : [
44660702
DM
3277 "de",
3278 "de-ch",
7aacca6f 3279 "da",
56122987 3280 "en-gb",
44660702
DM
3281 "en-us",
3282 "es",
3283 "fi",
3284 "fr",
3285 "fr-be",
3286 "fr-ca",
3287 "fr-ch",
3288 "hu",
7aacca6f 3289 "is",
44660702
DM
3290 "it",
3291 "ja",
3292 "lt",
56122987 3293 "mk",
7aacca6f 3294 "nl",
56122987 3295 "no",
44660702 3296 "pl",
7aacca6f 3297 "pt",
44660702
DM
3298 "pt-br",
3299 "sv",
3300 "sl",
3301 "tr"
56122987 3302 ],
56122987
DM
3303 "optional" : 1,
3304 "type" : "string"
3305 },
44660702
DM
3306 "language" : {
3307 "description" : "Default GUI language.",
3308 "enum" : [
3309 "en",
3310 "de"
3311 ],
56122987 3312 "optional" : 1,
44660702 3313 "type" : "string"
56122987 3314 },
4bd7df8b
DM
3315 "mac_prefix" : {
3316 "description" : "Prefix for autogenerated MAC addresses.",
3317 "optional" : 1,
3318 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3319 "type" : "string"
3320 },
44660702
DM
3321 "max_workers" : {
3322 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3323 "minimum" : 1,
56122987 3324 "optional" : 1,
4bd7df8b 3325 "type" : "integer",
013dc89f 3326 "typetext" : "<integer> (1 - N)"
56122987 3327 },
de0983cb
DM
3328 "migration" : {
3329 "description" : "For cluster wide migration settings.",
3330 "format" : {
3331 "network" : {
3332 "description" : "CIDR of the (sub) network that is used for migration.",
3333 "format" : "CIDR",
3334 "format_description" : "CIDR",
3335 "optional" : 1,
3336 "type" : "string"
3337 },
3338 "type" : {
3339 "default" : "secure",
3340 "default_key" : 1,
3341 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3342 "enum" : [
3343 "secure",
3344 "insecure"
3345 ],
3346 "type" : "string"
3347 }
3348 },
3349 "optional" : 1,
3350 "type" : "string",
3351 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3352 },
7aacca6f 3353 "migration_unsecure" : {
de0983cb 3354 "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 3355 "optional" : 1,
013dc89f
DM
3356 "type" : "boolean",
3357 "typetext" : "<boolean>"
56122987
DM
3358 }
3359 }
3360 },
44660702
DM
3361 "permissions" : {
3362 "check" : [
3363 "perm",
3364 "/",
3365 [
3366 "Sys.Modify"
3367 ]
3368 ]
3369 },
56122987 3370 "protected" : 1,
7aacca6f
DM
3371 "returns" : {
3372 "type" : "null"
44660702 3373 }
7aacca6f
DM
3374 }
3375 },
44660702
DM
3376 "leaf" : 1,
3377 "path" : "/cluster/options",
7aacca6f
DM
3378 "text" : "options"
3379 },
3380 {
7aacca6f 3381 "info" : {
56122987 3382 "GET" : {
44660702
DM
3383 "description" : "Get cluster status informations.",
3384 "method" : "GET",
3385 "name" : "get_status",
56122987
DM
3386 "parameters" : {
3387 "additionalProperties" : 0
3388 },
56122987
DM
3389 "permissions" : {
3390 "check" : [
3391 "perm",
3392 "/",
3393 [
3394 "Sys.Audit"
3395 ]
3396 ]
3397 },
7aacca6f 3398 "protected" : 1,
56122987 3399 "returns" : {
56122987 3400 "items" : {
56122987
DM
3401 "properties" : {
3402 "type" : {
3403 "type" : "string"
3404 }
44660702
DM
3405 },
3406 "type" : "object"
7aacca6f
DM
3407 },
3408 "type" : "array"
56122987
DM
3409 }
3410 }
3411 },
44660702 3412 "leaf" : 1,
7aacca6f 3413 "path" : "/cluster/status",
44660702 3414 "text" : "status"
56122987
DM
3415 },
3416 {
56122987
DM
3417 "info" : {
3418 "GET" : {
56122987 3419 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3420 "method" : "GET",
3421 "name" : "nextid",
56122987 3422 "parameters" : {
44660702 3423 "additionalProperties" : 0,
56122987
DM
3424 "properties" : {
3425 "vmid" : {
44660702 3426 "description" : "The (unique) ID of the VM.",
56122987 3427 "format" : "pve-vmid",
7aacca6f 3428 "minimum" : 1,
7aacca6f 3429 "optional" : 1,
4bd7df8b 3430 "type" : "integer",
013dc89f 3431 "typetext" : "<integer> (1 - N)"
56122987 3432 }
44660702 3433 }
56122987 3434 },
7aacca6f
DM
3435 "permissions" : {
3436 "user" : "all"
44660702
DM
3437 },
3438 "returns" : {
3439 "description" : "The next free VMID.",
3440 "type" : "integer"
7aacca6f 3441 }
56122987
DM
3442 }
3443 },
7aacca6f 3444 "leaf" : 1,
44660702
DM
3445 "path" : "/cluster/nextid",
3446 "text" : "nextid"
56122987
DM
3447 }
3448 ],
44660702
DM
3449 "info" : {
3450 "GET" : {
3451 "description" : "Cluster index.",
3452 "method" : "GET",
3453 "name" : "index",
3454 "parameters" : {
3455 "additionalProperties" : 0
3456 },
3457 "permissions" : {
3458 "user" : "all"
3459 },
3460 "returns" : {
3461 "items" : {
3462 "properties" : {},
3463 "type" : "object"
3464 },
3465 "links" : [
3466 {
3467 "href" : "{name}",
3468 "rel" : "child"
3469 }
3470 ],
3471 "type" : "array"
3472 }
3473 }
3474 },
3475 "leaf" : 0,
3476 "path" : "/cluster",
7aacca6f 3477 "text" : "cluster"
56122987
DM
3478 },
3479 {
56122987
DM
3480 "children" : [
3481 {
7aacca6f
DM
3482 "children" : [
3483 {
3484 "children" : [
3485 {
56122987
DM
3486 "children" : [
3487 {
56122987
DM
3488 "children" : [
3489 {
3490 "children" : [
3491 {
56122987
DM
3492 "info" : {
3493 "DELETE" : {
44660702 3494 "description" : "Delete rule.",
7aacca6f 3495 "method" : "DELETE",
44660702 3496 "name" : "delete_rule",
56122987 3497 "parameters" : {
44660702 3498 "additionalProperties" : 0,
56122987 3499 "properties" : {
44660702
DM
3500 "digest" : {
3501 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3502 "maxLength" : 40,
3503 "optional" : 1,
013dc89f
DM
3504 "type" : "string",
3505 "typetext" : "<string>"
44660702 3506 },
56122987 3507 "node" : {
7aacca6f 3508 "description" : "The cluster node name.",
44660702 3509 "format" : "pve-node",
013dc89f
DM
3510 "type" : "string",
3511 "typetext" : "<string>"
7aacca6f 3512 },
56122987 3513 "pos" : {
7aacca6f 3514 "description" : "Update rule at position <pos>.",
44660702 3515 "minimum" : 0,
56122987 3516 "optional" : 1,
4bd7df8b 3517 "type" : "integer",
013dc89f 3518 "typetext" : "<integer> (0 - N)"
44660702
DM
3519 },
3520 "vmid" : {
3521 "description" : "The (unique) ID of the VM.",
3522 "format" : "pve-vmid",
3523 "minimum" : 1,
4bd7df8b 3524 "type" : "integer",
013dc89f 3525 "typetext" : "<integer> (1 - N)"
56122987 3526 }
44660702 3527 }
7aacca6f 3528 },
56122987
DM
3529 "permissions" : {
3530 "check" : [
3531 "perm",
3532 "/vms/{vmid}",
3533 [
3534 "VM.Config.Network"
3535 ]
3536 ]
3537 },
44660702
DM
3538 "protected" : 1,
3539 "proxyto" : null,
56122987
DM
3540 "returns" : {
3541 "type" : "null"
44660702
DM
3542 }
3543 },
3544 "GET" : {
3545 "description" : "Get single rule data.",
3546 "method" : "GET",
3547 "name" : "get_rule",
3548 "parameters" : {
3549 "additionalProperties" : 0,
3550 "properties" : {
3551 "node" : {
3552 "description" : "The cluster node name.",
3553 "format" : "pve-node",
013dc89f
DM
3554 "type" : "string",
3555 "typetext" : "<string>"
44660702
DM
3556 },
3557 "pos" : {
3558 "description" : "Update rule at position <pos>.",
3559 "minimum" : 0,
3560 "optional" : 1,
4bd7df8b 3561 "type" : "integer",
013dc89f 3562 "typetext" : "<integer> (0 - N)"
44660702
DM
3563 },
3564 "vmid" : {
3565 "description" : "The (unique) ID of the VM.",
3566 "format" : "pve-vmid",
3567 "minimum" : 1,
4bd7df8b 3568 "type" : "integer",
013dc89f 3569 "typetext" : "<integer> (1 - N)"
44660702
DM
3570 }
3571 }
56122987 3572 },
56122987
DM
3573 "permissions" : {
3574 "check" : [
3575 "perm",
3576 "/vms/{vmid}",
3577 [
44660702 3578 "VM.Audit"
56122987
DM
3579 ]
3580 ]
3581 },
56122987 3582 "proxyto" : null,
44660702
DM
3583 "returns" : {
3584 "properties" : {
3585 "pos" : {
3586 "type" : "integer"
3587 }
3588 },
3589 "type" : "object"
3590 }
3591 },
3592 "PUT" : {
7aacca6f
DM
3593 "description" : "Modify rule data.",
3594 "method" : "PUT",
44660702 3595 "name" : "update_rule",
56122987 3596 "parameters" : {
44660702 3597 "additionalProperties" : 0,
56122987 3598 "properties" : {
44660702
DM
3599 "action" : {
3600 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3601 "maxLength" : 20,
3602 "minLength" : 2,
56122987 3603 "optional" : 1,
44660702 3604 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3605 "type" : "string"
3606 },
7aacca6f 3607 "comment" : {
e94f0d56 3608 "description" : "Descriptive comment.",
7aacca6f 3609 "optional" : 1,
013dc89f
DM
3610 "type" : "string",
3611 "typetext" : "<string>"
7aacca6f
DM
3612 },
3613 "delete" : {
7aacca6f 3614 "description" : "A list of settings you want to delete.",
44660702
DM
3615 "format" : "pve-configid-list",
3616 "optional" : 1,
013dc89f
DM
3617 "type" : "string",
3618 "typetext" : "<string>"
7aacca6f
DM
3619 },
3620 "dest" : {
44660702 3621 "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 3622 "format" : "pve-fw-addr-spec",
56122987 3623 "optional" : 1,
013dc89f
DM
3624 "type" : "string",
3625 "typetext" : "<string>"
56122987 3626 },
7aacca6f 3627 "digest" : {
44660702 3628 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 3629 "maxLength" : 40,
56122987 3630 "optional" : 1,
013dc89f
DM
3631 "type" : "string",
3632 "typetext" : "<string>"
44660702
DM
3633 },
3634 "dport" : {
3635 "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.",
3636 "format" : "pve-fw-dport-spec",
3637 "optional" : 1,
013dc89f
DM
3638 "type" : "string",
3639 "typetext" : "<string>"
56122987 3640 },
7aacca6f 3641 "enable" : {
e94f0d56 3642 "description" : "Flag to enable/disable a rule.",
44660702 3643 "minimum" : 0,
56122987 3644 "optional" : 1,
4bd7df8b 3645 "type" : "integer",
013dc89f 3646 "typetext" : "<integer> (0 - N)"
7aacca6f 3647 },
44660702
DM
3648 "iface" : {
3649 "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.",
3650 "format" : "pve-iface",
3651 "maxLength" : 20,
7aacca6f 3652 "minLength" : 2,
56122987 3653 "optional" : 1,
013dc89f
DM
3654 "type" : "string",
3655 "typetext" : "<string>"
56122987 3656 },
44660702 3657 "macro" : {
e94f0d56 3658 "description" : "Use predefined standard macro.",
44660702 3659 "maxLength" : 128,
56122987 3660 "optional" : 1,
013dc89f
DM
3661 "type" : "string",
3662 "typetext" : "<string>"
56122987 3663 },
44660702
DM
3664 "moveto" : {
3665 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
3666 "minimum" : 0,
56122987 3667 "optional" : 1,
4bd7df8b 3668 "type" : "integer",
013dc89f 3669 "typetext" : "<integer> (0 - N)"
56122987 3670 },
44660702
DM
3671 "node" : {
3672 "description" : "The cluster node name.",
3673 "format" : "pve-node",
013dc89f
DM
3674 "type" : "string",
3675 "typetext" : "<string>"
44660702
DM
3676 },
3677 "pos" : {
3678 "description" : "Update rule at position <pos>.",
3679 "minimum" : 0,
3680 "optional" : 1,
4bd7df8b 3681 "type" : "integer",
013dc89f 3682 "typetext" : "<integer> (0 - N)"
56122987 3683 },
44660702
DM
3684 "proto" : {
3685 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3686 "format" : "pve-fw-protocol-spec",
3687 "optional" : 1,
013dc89f
DM
3688 "type" : "string",
3689 "typetext" : "<string>"
7aacca6f 3690 },
44660702
DM
3691 "source" : {
3692 "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.",
3693 "format" : "pve-fw-addr-spec",
56122987 3694 "optional" : 1,
013dc89f
DM
3695 "type" : "string",
3696 "typetext" : "<string>"
56122987
DM
3697 },
3698 "sport" : {
3699 "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
3700 "format" : "pve-fw-sport-spec",
3701 "optional" : 1,
013dc89f
DM
3702 "type" : "string",
3703 "typetext" : "<string>"
44660702
DM
3704 },
3705 "type" : {
e94f0d56 3706 "description" : "Rule type.",
44660702
DM
3707 "enum" : [
3708 "in",
3709 "out",
3710 "group"
3711 ],
56122987 3712 "optional" : 1,
56122987 3713 "type" : "string"
44660702
DM
3714 },
3715 "vmid" : {
3716 "description" : "The (unique) ID of the VM.",
3717 "format" : "pve-vmid",
3718 "minimum" : 1,
4bd7df8b 3719 "type" : "integer",
013dc89f 3720 "typetext" : "<integer> (1 - N)"
56122987 3721 }
44660702 3722 }
56122987 3723 },
56122987
DM
3724 "permissions" : {
3725 "check" : [
3726 "perm",
3727 "/vms/{vmid}",
3728 [
44660702 3729 "VM.Config.Network"
56122987
DM
3730 ]
3731 ]
7aacca6f 3732 },
44660702 3733 "protected" : 1,
7aacca6f 3734 "proxyto" : null,
7aacca6f 3735 "returns" : {
44660702
DM
3736 "type" : "null"
3737 }
56122987 3738 }
7aacca6f 3739 },
44660702 3740 "leaf" : 1,
7aacca6f 3741 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 3742 "text" : "{pos}"
56122987
DM
3743 }
3744 ],
56122987 3745 "info" : {
44660702
DM
3746 "GET" : {
3747 "description" : "List rules.",
3748 "method" : "GET",
3749 "name" : "get_rules",
3750 "parameters" : {
3751 "additionalProperties" : 0,
3752 "properties" : {
3753 "node" : {
3754 "description" : "The cluster node name.",
3755 "format" : "pve-node",
013dc89f
DM
3756 "type" : "string",
3757 "typetext" : "<string>"
44660702
DM
3758 },
3759 "vmid" : {
3760 "description" : "The (unique) ID of the VM.",
3761 "format" : "pve-vmid",
3762 "minimum" : 1,
4bd7df8b 3763 "type" : "integer",
013dc89f 3764 "typetext" : "<integer> (1 - N)"
44660702
DM
3765 }
3766 }
56122987 3767 },
56122987
DM
3768 "permissions" : {
3769 "check" : [
3770 "perm",
3771 "/vms/{vmid}",
3772 [
44660702 3773 "VM.Audit"
56122987
DM
3774 ]
3775 ]
7aacca6f 3776 },
44660702
DM
3777 "proxyto" : null,
3778 "returns" : {
3779 "items" : {
3780 "properties" : {
3781 "pos" : {
3782 "type" : "integer"
3783 }
3784 },
3785 "type" : "object"
3786 },
3787 "links" : [
3788 {
3789 "href" : "{pos}",
3790 "rel" : "child"
3791 }
3792 ],
3793 "type" : "array"
3794 }
3795 },
3796 "POST" : {
3797 "description" : "Create new rule.",
7aacca6f 3798 "method" : "POST",
44660702 3799 "name" : "create_rule",
56122987 3800 "parameters" : {
44660702 3801 "additionalProperties" : 0,
56122987 3802 "properties" : {
44660702
DM
3803 "action" : {
3804 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3805 "maxLength" : 20,
3806 "minLength" : 2,
3807 "optional" : 0,
3808 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3809 "type" : "string"
56122987 3810 },
44660702 3811 "comment" : {
e94f0d56 3812 "description" : "Descriptive comment.",
56122987 3813 "optional" : 1,
013dc89f
DM
3814 "type" : "string",
3815 "typetext" : "<string>"
56122987 3816 },
44660702
DM
3817 "dest" : {
3818 "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.",
3819 "format" : "pve-fw-addr-spec",
3820 "optional" : 1,
013dc89f
DM
3821 "type" : "string",
3822 "typetext" : "<string>"
56122987 3823 },
44660702
DM
3824 "digest" : {
3825 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3826 "maxLength" : 40,
56122987 3827 "optional" : 1,
013dc89f
DM
3828 "type" : "string",
3829 "typetext" : "<string>"
56122987 3830 },
7aacca6f
DM
3831 "dport" : {
3832 "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 3833 "format" : "pve-fw-dport-spec",
7aacca6f 3834 "optional" : 1,
013dc89f
DM
3835 "type" : "string",
3836 "typetext" : "<string>"
56122987
DM
3837 },
3838 "enable" : {
e94f0d56 3839 "description" : "Flag to enable/disable a rule.",
56122987 3840 "minimum" : 0,
44660702 3841 "optional" : 1,
4bd7df8b 3842 "type" : "integer",
013dc89f 3843 "typetext" : "<integer> (0 - N)"
56122987 3844 },
44660702
DM
3845 "iface" : {
3846 "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.",
3847 "format" : "pve-iface",
3848 "maxLength" : 20,
7aacca6f 3849 "minLength" : 2,
44660702 3850 "optional" : 1,
013dc89f
DM
3851 "type" : "string",
3852 "typetext" : "<string>"
56122987 3853 },
44660702 3854 "macro" : {
e94f0d56 3855 "description" : "Use predefined standard macro.",
44660702 3856 "maxLength" : 128,
56122987 3857 "optional" : 1,
013dc89f
DM
3858 "type" : "string",
3859 "typetext" : "<string>"
7aacca6f 3860 },
44660702
DM
3861 "node" : {
3862 "description" : "The cluster node name.",
3863 "format" : "pve-node",
013dc89f
DM
3864 "type" : "string",
3865 "typetext" : "<string>"
44660702
DM
3866 },
3867 "pos" : {
3868 "description" : "Update rule at position <pos>.",
3869 "minimum" : 0,
3870 "optional" : 1,
4bd7df8b 3871 "type" : "integer",
013dc89f 3872 "typetext" : "<integer> (0 - N)"
44660702
DM
3873 },
3874 "proto" : {
3875 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3876 "format" : "pve-fw-protocol-spec",
7aacca6f 3877 "optional" : 1,
013dc89f
DM
3878 "type" : "string",
3879 "typetext" : "<string>"
7aacca6f
DM
3880 },
3881 "source" : {
3882 "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 3883 "format" : "pve-fw-addr-spec",
7aacca6f 3884 "optional" : 1,
013dc89f
DM
3885 "type" : "string",
3886 "typetext" : "<string>"
7aacca6f 3887 },
44660702
DM
3888 "sport" : {
3889 "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.",
3890 "format" : "pve-fw-sport-spec",
7aacca6f 3891 "optional" : 1,
013dc89f
DM
3892 "type" : "string",
3893 "typetext" : "<string>"
7aacca6f 3894 },
44660702 3895 "type" : {
e94f0d56 3896 "description" : "Rule type.",
44660702
DM
3897 "enum" : [
3898 "in",
3899 "out",
3900 "group"
3901 ],
3902 "optional" : 0,
3903 "type" : "string"
7aacca6f 3904 },
7aacca6f 3905 "vmid" : {
44660702 3906 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
3907 "format" : "pve-vmid",
3908 "minimum" : 1,
4bd7df8b 3909 "type" : "integer",
013dc89f 3910 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
3911 }
3912 }
3913 },
56122987
DM
3914 "permissions" : {
3915 "check" : [
3916 "perm",
3917 "/vms/{vmid}",
3918 [
44660702 3919 "VM.Config.Network"
56122987
DM
3920 ]
3921 ]
3922 },
44660702
DM
3923 "protected" : 1,
3924 "proxyto" : null,
56122987 3925 "returns" : {
44660702
DM
3926 "type" : "null"
3927 }
56122987
DM
3928 }
3929 },
44660702 3930 "leaf" : 0,
7aacca6f 3931 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 3932 "text" : "rules"
56122987
DM
3933 },
3934 {
3935 "children" : [
3936 {
56122987 3937 "info" : {
44660702
DM
3938 "DELETE" : {
3939 "description" : "Remove IP or Network alias.",
3940 "method" : "DELETE",
3941 "name" : "remove_alias",
56122987 3942 "parameters" : {
44660702 3943 "additionalProperties" : 0,
56122987 3944 "properties" : {
44660702
DM
3945 "digest" : {
3946 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3947 "maxLength" : 40,
3948 "optional" : 1,
013dc89f
DM
3949 "type" : "string",
3950 "typetext" : "<string>"
56122987
DM
3951 },
3952 "name" : {
56122987 3953 "description" : "Alias name.",
44660702 3954 "maxLength" : 64,
7aacca6f 3955 "minLength" : 2,
44660702 3956 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
3957 "type" : "string"
3958 },
7aacca6f 3959 "node" : {
44660702 3960 "description" : "The cluster node name.",
7aacca6f 3961 "format" : "pve-node",
013dc89f
DM
3962 "type" : "string",
3963 "typetext" : "<string>"
44660702
DM
3964 },
3965 "vmid" : {
3966 "description" : "The (unique) ID of the VM.",
3967 "format" : "pve-vmid",
3968 "minimum" : 1,
4bd7df8b 3969 "type" : "integer",
013dc89f 3970 "typetext" : "<integer> (1 - N)"
56122987 3971 }
44660702 3972 }
56122987 3973 },
7aacca6f
DM
3974 "permissions" : {
3975 "check" : [
3976 "perm",
3977 "/vms/{vmid}",
3978 [
3979 "VM.Config.Network"
3980 ]
3981 ]
56122987 3982 },
44660702
DM
3983 "protected" : 1,
3984 "returns" : {
3985 "type" : "null"
3986 }
3987 },
3988 "GET" : {
3989 "description" : "Read alias.",
3990 "method" : "GET",
3991 "name" : "read_alias",
56122987 3992 "parameters" : {
44660702 3993 "additionalProperties" : 0,
56122987 3994 "properties" : {
56122987 3995 "name" : {
7aacca6f 3996 "description" : "Alias name.",
44660702 3997 "maxLength" : 64,
56122987 3998 "minLength" : 2,
44660702 3999 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4000 "type" : "string"
7aacca6f
DM
4001 },
4002 "node" : {
4003 "description" : "The cluster node name.",
44660702 4004 "format" : "pve-node",
013dc89f
DM
4005 "type" : "string",
4006 "typetext" : "<string>"
44660702
DM
4007 },
4008 "vmid" : {
4009 "description" : "The (unique) ID of the VM.",
4010 "format" : "pve-vmid",
4011 "minimum" : 1,
4bd7df8b 4012 "type" : "integer",
013dc89f 4013 "typetext" : "<integer> (1 - N)"
56122987 4014 }
44660702 4015 }
56122987 4016 },
44660702
DM
4017 "permissions" : {
4018 "check" : [
4019 "perm",
4020 "/vms/{vmid}",
4021 [
4022 "VM.Audit"
4023 ]
4024 ]
56122987 4025 },
44660702
DM
4026 "returns" : {
4027 "type" : "object"
4028 }
7aacca6f 4029 },
44660702
DM
4030 "PUT" : {
4031 "description" : "Update IP or Network alias.",
4032 "method" : "PUT",
4033 "name" : "update_alias",
56122987
DM
4034 "parameters" : {
4035 "additionalProperties" : 0,
4036 "properties" : {
44660702
DM
4037 "cidr" : {
4038 "description" : "Network/IP specification in CIDR format.",
4039 "format" : "IPorCIDR",
013dc89f
DM
4040 "type" : "string",
4041 "typetext" : "<string>"
44660702
DM
4042 },
4043 "comment" : {
4044 "optional" : 1,
013dc89f
DM
4045 "type" : "string",
4046 "typetext" : "<string>"
56122987
DM
4047 },
4048 "digest" : {
44660702 4049 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4050 "maxLength" : 40,
4051 "optional" : 1,
013dc89f
DM
4052 "type" : "string",
4053 "typetext" : "<string>"
56122987 4054 },
7aacca6f 4055 "name" : {
44660702 4056 "description" : "Alias name.",
56122987
DM
4057 "maxLength" : 64,
4058 "minLength" : 2,
4059 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4060 "type" : "string"
7aacca6f
DM
4061 },
4062 "node" : {
7aacca6f 4063 "description" : "The cluster node name.",
44660702 4064 "format" : "pve-node",
013dc89f
DM
4065 "type" : "string",
4066 "typetext" : "<string>"
44660702
DM
4067 },
4068 "rename" : {
4069 "description" : "Rename an existing alias.",
4070 "maxLength" : 64,
4071 "minLength" : 2,
4072 "optional" : 1,
4073 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4074 "type" : "string"
4075 },
4076 "vmid" : {
4077 "description" : "The (unique) ID of the VM.",
4078 "format" : "pve-vmid",
4079 "minimum" : 1,
4bd7df8b 4080 "type" : "integer",
013dc89f 4081 "typetext" : "<integer> (1 - N)"
56122987
DM
4082 }
4083 }
4084 },
7aacca6f
DM
4085 "permissions" : {
4086 "check" : [
4087 "perm",
4088 "/vms/{vmid}",
4089 [
4090 "VM.Config.Network"
4091 ]
4092 ]
4093 },
4094 "protected" : 1,
7aacca6f
DM
4095 "returns" : {
4096 "type" : "null"
44660702 4097 }
56122987
DM
4098 }
4099 },
44660702 4100 "leaf" : 1,
7aacca6f 4101 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4102 "text" : "{name}"
56122987
DM
4103 }
4104 ],
4105 "info" : {
44660702
DM
4106 "GET" : {
4107 "description" : "List aliases",
4108 "method" : "GET",
4109 "name" : "get_aliases",
56122987 4110 "parameters" : {
44660702 4111 "additionalProperties" : 0,
56122987 4112 "properties" : {
7aacca6f 4113 "node" : {
7aacca6f 4114 "description" : "The cluster node name.",
44660702 4115 "format" : "pve-node",
013dc89f
DM
4116 "type" : "string",
4117 "typetext" : "<string>"
56122987 4118 },
44660702
DM
4119 "vmid" : {
4120 "description" : "The (unique) ID of the VM.",
4121 "format" : "pve-vmid",
4122 "minimum" : 1,
4bd7df8b 4123 "type" : "integer",
013dc89f 4124 "typetext" : "<integer> (1 - N)"
56122987 4125 }
44660702 4126 }
56122987 4127 },
56122987
DM
4128 "permissions" : {
4129 "check" : [
4130 "perm",
4131 "/vms/{vmid}",
4132 [
44660702 4133 "VM.Audit"
56122987
DM
4134 ]
4135 ]
4136 },
56122987
DM
4137 "returns" : {
4138 "items" : {
4139 "properties" : {
44660702 4140 "cidr" : {
56122987
DM
4141 "type" : "string"
4142 },
44660702
DM
4143 "comment" : {
4144 "optional" : 1,
7aacca6f 4145 "type" : "string"
56122987
DM
4146 },
4147 "digest" : {
56122987 4148 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4149 "maxLength" : 40,
56122987
DM
4150 "optional" : 0,
4151 "type" : "string"
4152 },
44660702 4153 "name" : {
56122987
DM
4154 "type" : "string"
4155 }
44660702
DM
4156 },
4157 "type" : "object"
56122987 4158 },
56122987
DM
4159 "links" : [
4160 {
4161 "href" : "{name}",
4162 "rel" : "child"
4163 }
44660702
DM
4164 ],
4165 "type" : "array"
4166 }
4167 },
4168 "POST" : {
4169 "description" : "Create IP or Network Alias.",
4170 "method" : "POST",
4171 "name" : "create_alias",
56122987 4172 "parameters" : {
7aacca6f 4173 "additionalProperties" : 0,
56122987 4174 "properties" : {
44660702
DM
4175 "cidr" : {
4176 "description" : "Network/IP specification in CIDR format.",
4177 "format" : "IPorCIDR",
013dc89f
DM
4178 "type" : "string",
4179 "typetext" : "<string>"
44660702
DM
4180 },
4181 "comment" : {
4182 "optional" : 1,
013dc89f
DM
4183 "type" : "string",
4184 "typetext" : "<string>"
44660702
DM
4185 },
4186 "name" : {
4187 "description" : "Alias name.",
4188 "maxLength" : 64,
4189 "minLength" : 2,
4190 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4191 "type" : "string"
56122987
DM
4192 },
4193 "node" : {
7aacca6f 4194 "description" : "The cluster node name.",
44660702 4195 "format" : "pve-node",
013dc89f
DM
4196 "type" : "string",
4197 "typetext" : "<string>"
44660702
DM
4198 },
4199 "vmid" : {
4200 "description" : "The (unique) ID of the VM.",
4201 "format" : "pve-vmid",
4202 "minimum" : 1,
4bd7df8b 4203 "type" : "integer",
013dc89f 4204 "typetext" : "<integer> (1 - N)"
56122987 4205 }
7aacca6f 4206 }
56122987 4207 },
44660702
DM
4208 "permissions" : {
4209 "check" : [
4210 "perm",
4211 "/vms/{vmid}",
4212 [
4213 "VM.Config.Network"
4214 ]
4215 ]
4216 },
4217 "protected" : 1,
4218 "returns" : {
4219 "type" : "null"
4220 }
56122987 4221 }
44660702
DM
4222 },
4223 "leaf" : 0,
4224 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4225 "text" : "aliases"
56122987
DM
4226 },
4227 {
56122987
DM
4228 "children" : [
4229 {
7aacca6f
DM
4230 "children" : [
4231 {
4232 "info" : {
4233 "DELETE" : {
44660702 4234 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4235 "method" : "DELETE",
44660702 4236 "name" : "remove_ip",
7aacca6f 4237 "parameters" : {
44660702 4238 "additionalProperties" : 0,
7aacca6f 4239 "properties" : {
44660702
DM
4240 "cidr" : {
4241 "description" : "Network/IP specification in CIDR format.",
4242 "format" : "IPorCIDRorAlias",
013dc89f
DM
4243 "type" : "string",
4244 "typetext" : "<string>"
44660702
DM
4245 },
4246 "digest" : {
4247 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4248 "maxLength" : 40,
4249 "optional" : 1,
013dc89f
DM
4250 "type" : "string",
4251 "typetext" : "<string>"
44660702 4252 },
7aacca6f 4253 "name" : {
7aacca6f 4254 "description" : "IP set name.",
44660702
DM
4255 "maxLength" : 64,
4256 "minLength" : 2,
7aacca6f 4257 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4258 "type" : "string"
7aacca6f
DM
4259 },
4260 "node" : {
4261 "description" : "The cluster node name.",
44660702 4262 "format" : "pve-node",
013dc89f
DM
4263 "type" : "string",
4264 "typetext" : "<string>"
7aacca6f
DM
4265 },
4266 "vmid" : {
44660702 4267 "description" : "The (unique) ID of the VM.",
7aacca6f 4268 "format" : "pve-vmid",
44660702 4269 "minimum" : 1,
4bd7df8b 4270 "type" : "integer",
013dc89f 4271 "typetext" : "<integer> (1 - N)"
7aacca6f 4272 }
44660702 4273 }
7aacca6f 4274 },
7aacca6f
DM
4275 "permissions" : {
4276 "check" : [
4277 "perm",
4278 "/vms/{vmid}",
4279 [
4280 "VM.Config.Network"
4281 ]
4282 ]
4283 },
4284 "protected" : 1,
44660702
DM
4285 "returns" : {
4286 "type" : "null"
4287 }
56122987 4288 },
44660702
DM
4289 "GET" : {
4290 "description" : "Read IP or Network settings from IPSet.",
4291 "method" : "GET",
4292 "name" : "read_ip",
7aacca6f 4293 "parameters" : {
44660702 4294 "additionalProperties" : 0,
7aacca6f 4295 "properties" : {
7aacca6f 4296 "cidr" : {
44660702 4297 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4298 "format" : "IPorCIDRorAlias",
013dc89f
DM
4299 "type" : "string",
4300 "typetext" : "<string>"
7aacca6f
DM
4301 },
4302 "name" : {
7aacca6f 4303 "description" : "IP set name.",
44660702 4304 "maxLength" : 64,
7aacca6f 4305 "minLength" : 2,
44660702
DM
4306 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4307 "type" : "string"
7aacca6f 4308 },
44660702
DM
4309 "node" : {
4310 "description" : "The cluster node name.",
4311 "format" : "pve-node",
013dc89f
DM
4312 "type" : "string",
4313 "typetext" : "<string>"
7aacca6f 4314 },
44660702
DM
4315 "vmid" : {
4316 "description" : "The (unique) ID of the VM.",
4317 "format" : "pve-vmid",
4318 "minimum" : 1,
4bd7df8b 4319 "type" : "integer",
013dc89f 4320 "typetext" : "<integer> (1 - N)"
7aacca6f 4321 }
44660702 4322 }
7aacca6f 4323 },
44660702
DM
4324 "permissions" : {
4325 "check" : [
4326 "perm",
4327 "/vms/{vmid}",
4328 [
4329 "VM.Audit"
4330 ]
4331 ]
4332 },
4333 "protected" : 1,
7aacca6f 4334 "returns" : {
44660702 4335 "type" : "object"
7aacca6f 4336 }
56122987 4337 },
44660702
DM
4338 "PUT" : {
4339 "description" : "Update IP or Network settings",
4340 "method" : "PUT",
4341 "name" : "update_ip",
7aacca6f
DM
4342 "parameters" : {
4343 "additionalProperties" : 0,
4344 "properties" : {
44660702
DM
4345 "cidr" : {
4346 "description" : "Network/IP specification in CIDR format.",
4347 "format" : "IPorCIDRorAlias",
013dc89f
DM
4348 "type" : "string",
4349 "typetext" : "<string>"
44660702
DM
4350 },
4351 "comment" : {
4352 "optional" : 1,
013dc89f
DM
4353 "type" : "string",
4354 "typetext" : "<string>"
44660702
DM
4355 },
4356 "digest" : {
4357 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4358 "maxLength" : 40,
4359 "optional" : 1,
013dc89f
DM
4360 "type" : "string",
4361 "typetext" : "<string>"
44660702 4362 },
7aacca6f 4363 "name" : {
7aacca6f 4364 "description" : "IP set name.",
44660702 4365 "maxLength" : 64,
7aacca6f 4366 "minLength" : 2,
44660702
DM
4367 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4368 "type" : "string"
7aacca6f
DM
4369 },
4370 "node" : {
7aacca6f 4371 "description" : "The cluster node name.",
44660702 4372 "format" : "pve-node",
013dc89f
DM
4373 "type" : "string",
4374 "typetext" : "<string>"
7aacca6f 4375 },
44660702
DM
4376 "nomatch" : {
4377 "optional" : 1,
013dc89f
DM
4378 "type" : "boolean",
4379 "typetext" : "<boolean>"
7aacca6f
DM
4380 },
4381 "vmid" : {
4382 "description" : "The (unique) ID of the VM.",
44660702 4383 "format" : "pve-vmid",
7aacca6f 4384 "minimum" : 1,
4bd7df8b 4385 "type" : "integer",
013dc89f 4386 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4387 }
4388 }
4389 },
4390 "permissions" : {
4391 "check" : [
4392 "perm",
4393 "/vms/{vmid}",
4394 [
44660702 4395 "VM.Config.Network"
7aacca6f
DM
4396 ]
4397 ]
4398 },
7aacca6f 4399 "protected" : 1,
7aacca6f 4400 "returns" : {
44660702 4401 "type" : "null"
7aacca6f 4402 }
56122987 4403 }
7aacca6f 4404 },
7aacca6f 4405 "leaf" : 1,
44660702
DM
4406 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4407 "text" : "{cidr}"
7aacca6f 4408 }
44660702
DM
4409 ],
4410 "info" : {
4411 "DELETE" : {
4412 "description" : "Delete IPSet",
4413 "method" : "DELETE",
4414 "name" : "delete_ipset",
4415 "parameters" : {
4416 "additionalProperties" : 0,
4417 "properties" : {
4418 "name" : {
4419 "description" : "IP set name.",
4420 "maxLength" : 64,
4421 "minLength" : 2,
4422 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4423 "type" : "string"
4424 },
4425 "node" : {
4426 "description" : "The cluster node name.",
4427 "format" : "pve-node",
013dc89f
DM
4428 "type" : "string",
4429 "typetext" : "<string>"
44660702
DM
4430 },
4431 "vmid" : {
4432 "description" : "The (unique) ID of the VM.",
4433 "format" : "pve-vmid",
4434 "minimum" : 1,
4bd7df8b 4435 "type" : "integer",
013dc89f 4436 "typetext" : "<integer> (1 - N)"
44660702
DM
4437 }
4438 }
7aacca6f 4439 },
44660702
DM
4440 "permissions" : {
4441 "check" : [
4442 "perm",
4443 "/vms/{vmid}",
4444 [
4445 "VM.Config.Network"
4446 ]
4447 ]
7aacca6f 4448 },
44660702
DM
4449 "protected" : 1,
4450 "returns" : {
4451 "type" : "null"
4452 }
4453 },
4454 "GET" : {
4455 "description" : "List IPSet content",
4456 "method" : "GET",
4457 "name" : "get_ipset",
4458 "parameters" : {
4459 "additionalProperties" : 0,
4460 "properties" : {
4461 "name" : {
4462 "description" : "IP set name.",
4463 "maxLength" : 64,
4464 "minLength" : 2,
4465 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4466 "type" : "string"
4467 },
4468 "node" : {
4469 "description" : "The cluster node name.",
4470 "format" : "pve-node",
013dc89f
DM
4471 "type" : "string",
4472 "typetext" : "<string>"
44660702
DM
4473 },
4474 "vmid" : {
4475 "description" : "The (unique) ID of the VM.",
4476 "format" : "pve-vmid",
4477 "minimum" : 1,
4bd7df8b 4478 "type" : "integer",
013dc89f 4479 "typetext" : "<integer> (1 - N)"
44660702
DM
4480 }
4481 }
7aacca6f 4482 },
44660702
DM
4483 "permissions" : {
4484 "check" : [
4485 "perm",
4486 "/vms/{vmid}",
4487 [
4488 "VM.Audit"
4489 ]
4490 ]
7aacca6f 4491 },
44660702
DM
4492 "returns" : {
4493 "items" : {
4494 "properties" : {
4495 "cidr" : {
4496 "type" : "string"
4497 },
4498 "comment" : {
4499 "optional" : 1,
4500 "type" : "string"
4501 },
4502 "digest" : {
4503 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4504 "maxLength" : 40,
4505 "optional" : 0,
4506 "type" : "string"
4507 },
4508 "nomatch" : {
4509 "optional" : 1,
4510 "type" : "boolean"
4511 }
4512 },
4513 "type" : "object"
4514 },
4515 "links" : [
4516 {
4517 "href" : "{cidr}",
4518 "rel" : "child"
4519 }
4520 ],
4521 "type" : "array"
56122987
DM
4522 }
4523 },
44660702
DM
4524 "POST" : {
4525 "description" : "Add IP or Network to IPSet.",
4526 "method" : "POST",
4527 "name" : "create_ip",
4528 "parameters" : {
4529 "additionalProperties" : 0,
4530 "properties" : {
4531 "cidr" : {
4532 "description" : "Network/IP specification in CIDR format.",
4533 "format" : "IPorCIDRorAlias",
013dc89f
DM
4534 "type" : "string",
4535 "typetext" : "<string>"
44660702
DM
4536 },
4537 "comment" : {
4538 "optional" : 1,
013dc89f
DM
4539 "type" : "string",
4540 "typetext" : "<string>"
44660702
DM
4541 },
4542 "name" : {
4543 "description" : "IP set name.",
4544 "maxLength" : 64,
4545 "minLength" : 2,
4546 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4547 "type" : "string"
4548 },
4549 "node" : {
4550 "description" : "The cluster node name.",
4551 "format" : "pve-node",
013dc89f
DM
4552 "type" : "string",
4553 "typetext" : "<string>"
44660702
DM
4554 },
4555 "nomatch" : {
4556 "optional" : 1,
013dc89f
DM
4557 "type" : "boolean",
4558 "typetext" : "<boolean>"
44660702
DM
4559 },
4560 "vmid" : {
4561 "description" : "The (unique) ID of the VM.",
4562 "format" : "pve-vmid",
4563 "minimum" : 1,
4bd7df8b 4564 "type" : "integer",
013dc89f 4565 "typetext" : "<integer> (1 - N)"
44660702
DM
4566 }
4567 }
4568 },
4569 "permissions" : {
4570 "check" : [
4571 "perm",
4572 "/vms/{vmid}",
4573 [
4574 "VM.Config.Network"
4575 ]
4576 ]
4577 },
4578 "protected" : 1,
4579 "returns" : {
4580 "type" : "null"
4581 }
4582 }
4583 },
4584 "leaf" : 0,
4585 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4586 "text" : "{name}"
4587 }
4588 ],
4589 "info" : {
4590 "GET" : {
4591 "description" : "List IPSets",
4592 "method" : "GET",
4593 "name" : "ipset_index",
4594 "parameters" : {
4595 "additionalProperties" : 0,
4596 "properties" : {
4597 "node" : {
4598 "description" : "The cluster node name.",
4599 "format" : "pve-node",
013dc89f
DM
4600 "type" : "string",
4601 "typetext" : "<string>"
44660702
DM
4602 },
4603 "vmid" : {
4604 "description" : "The (unique) ID of the VM.",
4605 "format" : "pve-vmid",
4606 "minimum" : 1,
4bd7df8b 4607 "type" : "integer",
013dc89f 4608 "typetext" : "<integer> (1 - N)"
44660702
DM
4609 }
4610 }
56122987
DM
4611 },
4612 "permissions" : {
4613 "check" : [
4614 "perm",
4615 "/vms/{vmid}",
4616 [
44660702 4617 "VM.Audit"
56122987
DM
4618 ]
4619 ]
4620 },
7aacca6f 4621 "returns" : {
7aacca6f
DM
4622 "items" : {
4623 "properties" : {
7aacca6f
DM
4624 "comment" : {
4625 "optional" : 1,
4626 "type" : "string"
4627 },
4628 "digest" : {
7aacca6f 4629 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
4630 "maxLength" : 40,
4631 "optional" : 0,
4632 "type" : "string"
4633 },
4634 "name" : {
4635 "description" : "IP set name.",
4636 "maxLength" : 64,
4637 "minLength" : 2,
4638 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4639 "type" : "string"
7aacca6f
DM
4640 }
4641 },
4642 "type" : "object"
4643 },
4644 "links" : [
4645 {
44660702
DM
4646 "href" : "{name}",
4647 "rel" : "child"
7aacca6f 4648 }
44660702
DM
4649 ],
4650 "type" : "array"
4651 }
4652 },
4653 "POST" : {
4654 "description" : "Create new IPSet",
4655 "method" : "POST",
4656 "name" : "create_ipset",
56122987
DM
4657 "parameters" : {
4658 "additionalProperties" : 0,
4659 "properties" : {
44660702
DM
4660 "comment" : {
4661 "optional" : 1,
013dc89f
DM
4662 "type" : "string",
4663 "typetext" : "<string>"
56122987 4664 },
44660702
DM
4665 "digest" : {
4666 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4667 "maxLength" : 40,
4668 "optional" : 1,
013dc89f
DM
4669 "type" : "string",
4670 "typetext" : "<string>"
44660702
DM
4671 },
4672 "name" : {
4673 "description" : "IP set name.",
4674 "maxLength" : 64,
4675 "minLength" : 2,
4676 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4677 "type" : "string"
4678 },
4679 "node" : {
4680 "description" : "The cluster node name.",
4681 "format" : "pve-node",
013dc89f
DM
4682 "type" : "string",
4683 "typetext" : "<string>"
44660702
DM
4684 },
4685 "rename" : {
4686 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
4687 "maxLength" : 64,
4688 "minLength" : 2,
4689 "optional" : 1,
4690 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4691 "type" : "string"
4692 },
4693 "vmid" : {
4694 "description" : "The (unique) ID of the VM.",
4695 "format" : "pve-vmid",
4696 "minimum" : 1,
4bd7df8b 4697 "type" : "integer",
013dc89f 4698 "typetext" : "<integer> (1 - N)"
44660702
DM
4699 }
4700 }
4701 },
7aacca6f
DM
4702 "permissions" : {
4703 "check" : [
4704 "perm",
4705 "/vms/{vmid}",
4706 [
4707 "VM.Config.Network"
4708 ]
4709 ]
4710 },
44660702 4711 "protected" : 1,
56122987 4712 "returns" : {
7aacca6f 4713 "type" : "null"
44660702
DM
4714 }
4715 }
4716 },
4717 "leaf" : 0,
4718 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
4719 "text" : "ipset"
4720 },
4721 {
4722 "info" : {
4723 "GET" : {
4724 "description" : "Get VM firewall options.",
4725 "method" : "GET",
4726 "name" : "get_options",
7aacca6f
DM
4727 "parameters" : {
4728 "additionalProperties" : 0,
56122987 4729 "properties" : {
7aacca6f
DM
4730 "node" : {
4731 "description" : "The cluster node name.",
44660702 4732 "format" : "pve-node",
013dc89f
DM
4733 "type" : "string",
4734 "typetext" : "<string>"
7aacca6f 4735 },
44660702
DM
4736 "vmid" : {
4737 "description" : "The (unique) ID of the VM.",
4738 "format" : "pve-vmid",
4739 "minimum" : 1,
4bd7df8b 4740 "type" : "integer",
013dc89f 4741 "typetext" : "<integer> (1 - N)"
44660702
DM
4742 }
4743 }
4744 },
4745 "permissions" : {
4746 "check" : [
4747 "perm",
4748 "/vms/{vmid}",
4749 [
4750 "VM.Audit"
4751 ]
4752 ]
4753 },
4754 "proxyto" : "node",
4755 "returns" : {
4756 "properties" : {
4757 "dhcp" : {
4758 "description" : "Enable DHCP.",
56122987 4759 "optional" : 1,
44660702 4760 "type" : "boolean"
56122987 4761 },
44660702
DM
4762 "enable" : {
4763 "description" : "Enable/disable firewall rules.",
7aacca6f 4764 "optional" : 1,
44660702 4765 "type" : "boolean"
56122987 4766 },
44660702
DM
4767 "ipfilter" : {
4768 "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 4769 "optional" : 1,
44660702 4770 "type" : "boolean"
7aacca6f 4771 },
56122987 4772 "log_level_in" : {
7aacca6f 4773 "description" : "Log level for incoming traffic.",
56122987
DM
4774 "enum" : [
4775 "emerg",
4776 "alert",
4777 "crit",
4778 "err",
4779 "warning",
4780 "notice",
4781 "info",
4782 "debug",
4783 "nolog"
4784 ],
56122987
DM
4785 "optional" : 1,
4786 "type" : "string"
4787 },
44660702
DM
4788 "log_level_out" : {
4789 "description" : "Log level for outgoing traffic.",
4790 "enum" : [
4791 "emerg",
4792 "alert",
4793 "crit",
4794 "err",
4795 "warning",
4796 "notice",
4797 "info",
4798 "debug",
4799 "nolog"
4800 ],
4801 "optional" : 1,
4802 "type" : "string"
4803 },
4804 "macfilter" : {
4805 "description" : "Enable/disable MAC address filter.",
56122987 4806 "optional" : 1,
7aacca6f 4807 "type" : "boolean"
56122987
DM
4808 },
4809 "ndp" : {
44660702 4810 "description" : "Enable NDP.",
56122987 4811 "optional" : 1,
44660702 4812 "type" : "boolean"
56122987
DM
4813 },
4814 "policy_in" : {
56122987
DM
4815 "description" : "Input policy.",
4816 "enum" : [
4817 "ACCEPT",
4818 "REJECT",
4819 "DROP"
44660702
DM
4820 ],
4821 "optional" : 1,
4822 "type" : "string"
56122987 4823 },
44660702
DM
4824 "policy_out" : {
4825 "description" : "Output policy.",
4826 "enum" : [
4827 "ACCEPT",
4828 "REJECT",
4829 "DROP"
4830 ],
4831 "optional" : 1,
4832 "type" : "string"
4833 },
4834 "radv" : {
4835 "description" : "Allow sending Router Advertisement.",
4836 "optional" : 1,
4837 "type" : "boolean"
4838 }
4839 },
4840 "type" : "object"
4841 }
4842 },
4843 "PUT" : {
4844 "description" : "Set Firewall options.",
4845 "method" : "PUT",
4846 "name" : "set_options",
4847 "parameters" : {
4848 "additionalProperties" : 0,
4849 "properties" : {
4850 "delete" : {
4851 "description" : "A list of settings you want to delete.",
4852 "format" : "pve-configid-list",
4853 "optional" : 1,
013dc89f
DM
4854 "type" : "string",
4855 "typetext" : "<string>"
44660702
DM
4856 },
4857 "dhcp" : {
4858 "description" : "Enable DHCP.",
7aacca6f 4859 "optional" : 1,
013dc89f
DM
4860 "type" : "boolean",
4861 "typetext" : "<boolean>"
7aacca6f
DM
4862 },
4863 "digest" : {
4864 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4865 "maxLength" : 40,
7aacca6f 4866 "optional" : 1,
013dc89f
DM
4867 "type" : "string",
4868 "typetext" : "<string>"
7aacca6f
DM
4869 },
4870 "enable" : {
4871 "description" : "Enable/disable firewall rules.",
56122987 4872 "optional" : 1,
013dc89f
DM
4873 "type" : "boolean",
4874 "typetext" : "<boolean>"
7aacca6f 4875 },
44660702
DM
4876 "ipfilter" : {
4877 "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.",
4878 "optional" : 1,
013dc89f
DM
4879 "type" : "boolean",
4880 "typetext" : "<boolean>"
44660702
DM
4881 },
4882 "log_level_in" : {
4883 "description" : "Log level for incoming traffic.",
56122987
DM
4884 "enum" : [
4885 "emerg",
4886 "alert",
4887 "crit",
4888 "err",
4889 "warning",
4890 "notice",
4891 "info",
4892 "debug",
4893 "nolog"
7aacca6f 4894 ],
7aacca6f 4895 "optional" : 1,
44660702 4896 "type" : "string"
7aacca6f 4897 },
44660702
DM
4898 "log_level_out" : {
4899 "description" : "Log level for outgoing traffic.",
56122987
DM
4900 "enum" : [
4901 "emerg",
4902 "alert",
4903 "crit",
4904 "err",
4905 "warning",
4906 "notice",
4907 "info",
4908 "debug",
4909 "nolog"
4910 ],
56122987 4911 "optional" : 1,
44660702 4912 "type" : "string"
56122987
DM
4913 },
4914 "macfilter" : {
56122987 4915 "description" : "Enable/disable MAC address filter.",
7aacca6f 4916 "optional" : 1,
013dc89f
DM
4917 "type" : "boolean",
4918 "typetext" : "<boolean>"
56122987 4919 },
44660702
DM
4920 "ndp" : {
4921 "description" : "Enable NDP.",
4922 "optional" : 1,
013dc89f
DM
4923 "type" : "boolean",
4924 "typetext" : "<boolean>"
44660702
DM
4925 },
4926 "node" : {
4927 "description" : "The cluster node name.",
4928 "format" : "pve-node",
013dc89f
DM
4929 "type" : "string",
4930 "typetext" : "<string>"
44660702 4931 },
56122987 4932 "policy_in" : {
44660702 4933 "description" : "Input policy.",
56122987
DM
4934 "enum" : [
4935 "ACCEPT",
4936 "REJECT",
4937 "DROP"
7aacca6f 4938 ],
56122987 4939 "optional" : 1,
7aacca6f 4940 "type" : "string"
56122987 4941 },
44660702
DM
4942 "policy_out" : {
4943 "description" : "Output policy.",
4944 "enum" : [
4945 "ACCEPT",
4946 "REJECT",
4947 "DROP"
4948 ],
56122987 4949 "optional" : 1,
44660702 4950 "type" : "string"
56122987 4951 },
44660702
DM
4952 "radv" : {
4953 "description" : "Allow sending Router Advertisement.",
56122987 4954 "optional" : 1,
013dc89f
DM
4955 "type" : "boolean",
4956 "typetext" : "<boolean>"
7aacca6f
DM
4957 },
4958 "vmid" : {
4959 "description" : "The (unique) ID of the VM.",
44660702 4960 "format" : "pve-vmid",
7aacca6f 4961 "minimum" : 1,
4bd7df8b 4962 "type" : "integer",
013dc89f 4963 "typetext" : "<integer> (1 - N)"
56122987
DM
4964 }
4965 }
4966 },
56122987
DM
4967 "permissions" : {
4968 "check" : [
4969 "perm",
4970 "/vms/{vmid}",
4971 [
44660702 4972 "VM.Config.Network"
56122987
DM
4973 ]
4974 ]
7aacca6f 4975 },
44660702 4976 "protected" : 1,
7aacca6f 4977 "proxyto" : "node",
44660702
DM
4978 "returns" : {
4979 "type" : "null"
4980 }
56122987
DM
4981 }
4982 },
44660702 4983 "leaf" : 1,
7aacca6f 4984 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 4985 "text" : "options"
56122987
DM
4986 },
4987 {
56122987
DM
4988 "info" : {
4989 "GET" : {
44660702
DM
4990 "description" : "Read firewall log",
4991 "method" : "GET",
4992 "name" : "log",
4993 "parameters" : {
4994 "additionalProperties" : 0,
4995 "properties" : {
4996 "limit" : {
4997 "minimum" : 0,
4998 "optional" : 1,
4bd7df8b 4999 "type" : "integer",
013dc89f 5000 "typetext" : "<integer> (0 - N)"
56122987 5001 },
44660702
DM
5002 "node" : {
5003 "description" : "The cluster node name.",
5004 "format" : "pve-node",
013dc89f
DM
5005 "type" : "string",
5006 "typetext" : "<string>"
44660702
DM
5007 },
5008 "start" : {
5009 "minimum" : 0,
5010 "optional" : 1,
4bd7df8b 5011 "type" : "integer",
013dc89f 5012 "typetext" : "<integer> (0 - N)"
44660702
DM
5013 },
5014 "vmid" : {
5015 "description" : "The (unique) ID of the VM.",
5016 "format" : "pve-vmid",
5017 "minimum" : 1,
4bd7df8b 5018 "type" : "integer",
013dc89f 5019 "typetext" : "<integer> (1 - N)"
44660702
DM
5020 }
5021 }
7aacca6f 5022 },
7aacca6f
DM
5023 "permissions" : {
5024 "check" : [
5025 "perm",
5026 "/vms/{vmid}",
5027 [
5028 "VM.Console"
5029 ]
5030 ]
56122987 5031 },
7aacca6f 5032 "protected" : 1,
44660702
DM
5033 "proxyto" : "node",
5034 "returns" : {
5035 "items" : {
5036 "properties" : {
5037 "n" : {
5038 "description" : "Line number",
5039 "type" : "integer"
5040 },
5041 "t" : {
5042 "description" : "Line text",
5043 "type" : "string"
5044 }
56122987 5045 },
44660702 5046 "type" : "object"
7aacca6f 5047 },
44660702 5048 "type" : "array"
7aacca6f
DM
5049 }
5050 }
5051 },
44660702 5052 "leaf" : 1,
7aacca6f 5053 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5054 "text" : "log"
7aacca6f
DM
5055 },
5056 {
7aacca6f
DM
5057 "info" : {
5058 "GET" : {
5059 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5060 "method" : "GET",
5061 "name" : "refs",
56122987 5062 "parameters" : {
44660702 5063 "additionalProperties" : 0,
56122987
DM
5064 "properties" : {
5065 "node" : {
7aacca6f 5066 "description" : "The cluster node name.",
44660702 5067 "format" : "pve-node",
013dc89f
DM
5068 "type" : "string",
5069 "typetext" : "<string>"
56122987
DM
5070 },
5071 "type" : {
56122987
DM
5072 "description" : "Only list references of specified type.",
5073 "enum" : [
5074 "alias",
5075 "ipset"
7aacca6f 5076 ],
44660702
DM
5077 "optional" : 1,
5078 "type" : "string"
5079 },
5080 "vmid" : {
5081 "description" : "The (unique) ID of the VM.",
5082 "format" : "pve-vmid",
5083 "minimum" : 1,
4bd7df8b 5084 "type" : "integer",
013dc89f 5085 "typetext" : "<integer> (1 - N)"
56122987 5086 }
44660702
DM
5087 }
5088 },
5089 "permissions" : {
5090 "check" : [
5091 "perm",
5092 "/vms/{vmid}",
5093 [
5094 "VM.Audit"
5095 ]
5096 ]
56122987
DM
5097 },
5098 "returns" : {
56122987
DM
5099 "items" : {
5100 "properties" : {
44660702
DM
5101 "comment" : {
5102 "optional" : 1,
56122987
DM
5103 "type" : "string"
5104 },
5105 "name" : {
5106 "type" : "string"
5107 },
44660702
DM
5108 "type" : {
5109 "enum" : [
5110 "alias",
5111 "ipset"
5112 ],
7aacca6f 5113 "type" : "string"
56122987
DM
5114 }
5115 },
5116 "type" : "object"
7aacca6f
DM
5117 },
5118 "type" : "array"
5119 }
56122987 5120 }
44660702
DM
5121 },
5122 "leaf" : 1,
5123 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5124 "text" : "refs"
56122987
DM
5125 }
5126 ],
56122987
DM
5127 "info" : {
5128 "GET" : {
44660702 5129 "description" : "Directory index.",
56122987 5130 "method" : "GET",
44660702 5131 "name" : "index",
56122987 5132 "parameters" : {
44660702 5133 "additionalProperties" : 0,
56122987
DM
5134 "properties" : {
5135 "node" : {
5136 "description" : "The cluster node name.",
44660702 5137 "format" : "pve-node",
013dc89f
DM
5138 "type" : "string",
5139 "typetext" : "<string>"
56122987
DM
5140 },
5141 "vmid" : {
44660702 5142 "description" : "The (unique) ID of the VM.",
56122987
DM
5143 "format" : "pve-vmid",
5144 "minimum" : 1,
4bd7df8b 5145 "type" : "integer",
013dc89f 5146 "typetext" : "<integer> (1 - N)"
56122987 5147 }
44660702 5148 }
56122987 5149 },
56122987
DM
5150 "permissions" : {
5151 "user" : "all"
7aacca6f 5152 },
44660702
DM
5153 "returns" : {
5154 "items" : {
5155 "properties" : {},
5156 "type" : "object"
5157 },
5158 "links" : [
5159 {
5160 "href" : "{name}",
5161 "rel" : "child"
5162 }
5163 ],
5164 "type" : "array"
5165 }
56122987 5166 }
44660702
DM
5167 },
5168 "leaf" : 0,
5169 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5170 "text" : "firewall"
56122987
DM
5171 },
5172 {
56122987
DM
5173 "info" : {
5174 "GET" : {
44660702
DM
5175 "description" : "Read VM RRD statistics (returns PNG)",
5176 "method" : "GET",
7aacca6f 5177 "name" : "rrd",
56122987
DM
5178 "parameters" : {
5179 "additionalProperties" : 0,
5180 "properties" : {
7aacca6f 5181 "cf" : {
44660702 5182 "description" : "The RRD consolidation function",
7aacca6f
DM
5183 "enum" : [
5184 "AVERAGE",
5185 "MAX"
5186 ],
7aacca6f
DM
5187 "optional" : 1,
5188 "type" : "string"
5189 },
44660702
DM
5190 "ds" : {
5191 "description" : "The list of datasources you want to display.",
5192 "format" : "pve-configid-list",
013dc89f
DM
5193 "type" : "string",
5194 "typetext" : "<string>"
56122987
DM
5195 },
5196 "node" : {
44660702 5197 "description" : "The cluster node name.",
56122987 5198 "format" : "pve-node",
013dc89f
DM
5199 "type" : "string",
5200 "typetext" : "<string>"
56122987
DM
5201 },
5202 "timeframe" : {
44660702 5203 "description" : "Specify the time frame you are interested in.",
56122987
DM
5204 "enum" : [
5205 "hour",
5206 "day",
5207 "week",
5208 "month",
5209 "year"
5210 ],
56122987
DM
5211 "type" : "string"
5212 },
44660702
DM
5213 "vmid" : {
5214 "description" : "The (unique) ID of the VM.",
5215 "format" : "pve-vmid",
5216 "minimum" : 1,
4bd7df8b 5217 "type" : "integer",
013dc89f 5218 "typetext" : "<integer> (1 - N)"
56122987
DM
5219 }
5220 }
5221 },
56122987
DM
5222 "permissions" : {
5223 "check" : [
5224 "perm",
5225 "/vms/{vmid}",
5226 [
5227 "VM.Audit"
5228 ]
5229 ]
5230 },
7aacca6f
DM
5231 "protected" : 1,
5232 "returns" : {
5233 "properties" : {
5234 "filename" : {
5235 "type" : "string"
5236 }
5237 },
5238 "type" : "object"
44660702 5239 }
56122987 5240 }
44660702
DM
5241 },
5242 "leaf" : 1,
5243 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5244 "text" : "rrd"
56122987
DM
5245 },
5246 {
7aacca6f 5247 "info" : {
56122987 5248 "GET" : {
7aacca6f 5249 "description" : "Read VM RRD statistics",
44660702 5250 "method" : "GET",
56122987 5251 "name" : "rrddata",
56122987 5252 "parameters" : {
44660702 5253 "additionalProperties" : 0,
56122987 5254 "properties" : {
44660702
DM
5255 "cf" : {
5256 "description" : "The RRD consolidation function",
5257 "enum" : [
5258 "AVERAGE",
5259 "MAX"
5260 ],
5261 "optional" : 1,
5262 "type" : "string"
5263 },
56122987 5264 "node" : {
44660702 5265 "description" : "The cluster node name.",
56122987 5266 "format" : "pve-node",
013dc89f
DM
5267 "type" : "string",
5268 "typetext" : "<string>"
56122987
DM
5269 },
5270 "timeframe" : {
44660702 5271 "description" : "Specify the time frame you are interested in.",
56122987
DM
5272 "enum" : [
5273 "hour",
5274 "day",
5275 "week",
5276 "month",
5277 "year"
7aacca6f 5278 ],
44660702 5279 "type" : "string"
7aacca6f
DM
5280 },
5281 "vmid" : {
7aacca6f
DM
5282 "description" : "The (unique) ID of the VM.",
5283 "format" : "pve-vmid",
44660702 5284 "minimum" : 1,
4bd7df8b 5285 "type" : "integer",
013dc89f 5286 "typetext" : "<integer> (1 - N)"
56122987 5287 }
44660702 5288 }
56122987 5289 },
56122987
DM
5290 "permissions" : {
5291 "check" : [
5292 "perm",
5293 "/vms/{vmid}",
5294 [
5295 "VM.Audit"
5296 ]
5297 ]
5298 },
44660702 5299 "protected" : 1,
7aacca6f 5300 "returns" : {
7aacca6f 5301 "items" : {
44660702
DM
5302 "properties" : {},
5303 "type" : "object"
5304 },
5305 "type" : "array"
7aacca6f 5306 }
56122987
DM
5307 }
5308 },
44660702
DM
5309 "leaf" : 1,
5310 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5311 "text" : "rrddata"
5312 },
5313 {
56122987 5314 "info" : {
44660702
DM
5315 "GET" : {
5316 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5317 "method" : "GET",
5318 "name" : "vm_config",
5319 "parameters" : {
5320 "additionalProperties" : 0,
5321 "properties" : {
5322 "current" : {
5323 "default" : 0,
5324 "description" : "Get current values (instead of pending values).",
5325 "optional" : 1,
013dc89f
DM
5326 "type" : "boolean",
5327 "typetext" : "<boolean>"
44660702
DM
5328 },
5329 "node" : {
5330 "description" : "The cluster node name.",
5331 "format" : "pve-node",
013dc89f
DM
5332 "type" : "string",
5333 "typetext" : "<string>"
44660702
DM
5334 },
5335 "vmid" : {
5336 "description" : "The (unique) ID of the VM.",
5337 "format" : "pve-vmid",
5338 "minimum" : 1,
4bd7df8b 5339 "type" : "integer",
013dc89f 5340 "typetext" : "<integer> (1 - N)"
44660702
DM
5341 }
5342 }
7aacca6f 5343 },
56122987
DM
5344 "permissions" : {
5345 "check" : [
5346 "perm",
5347 "/vms/{vmid}",
5348 [
44660702
DM
5349 "VM.Audit"
5350 ]
56122987
DM
5351 ]
5352 },
56122987 5353 "proxyto" : "node",
44660702
DM
5354 "returns" : {
5355 "properties" : {
5356 "digest" : {
5357 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5358 "type" : "string"
5359 }
5360 },
5361 "type" : "object"
5362 }
5363 },
5364 "POST" : {
7aacca6f
DM
5365 "description" : "Set virtual machine options (asynchrounous API).",
5366 "method" : "POST",
44660702 5367 "name" : "update_vm_async",
56122987 5368 "parameters" : {
44660702 5369 "additionalProperties" : 0,
56122987 5370 "properties" : {
44660702
DM
5371 "acpi" : {
5372 "default" : 1,
5373 "description" : "Enable/disable ACPI.",
5374 "optional" : 1,
013dc89f
DM
5375 "type" : "boolean",
5376 "typetext" : "<boolean>"
44660702
DM
5377 },
5378 "agent" : {
7aacca6f 5379 "default" : 0,
44660702 5380 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5381 "optional" : 1,
013dc89f
DM
5382 "type" : "boolean",
5383 "typetext" : "<boolean>"
7aacca6f 5384 },
44660702 5385 "args" : {
c2993fe5 5386 "description" : "Arbitrary arguments passed to kvm.",
44660702 5387 "optional" : 1,
c2993fe5 5388 "type" : "string",
013dc89f 5389 "typetext" : "<string>",
c2993fe5 5390 "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 5391 },
44660702
DM
5392 "autostart" : {
5393 "default" : 0,
5394 "description" : "Automatic restart after crash (currently ignored).",
56122987 5395 "optional" : 1,
013dc89f
DM
5396 "type" : "boolean",
5397 "typetext" : "<boolean>"
56122987 5398 },
44660702
DM
5399 "background_delay" : {
5400 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5401 "maximum" : 30,
5402 "minimum" : 1,
7aacca6f 5403 "optional" : 1,
4bd7df8b 5404 "type" : "integer",
013dc89f 5405 "typetext" : "<integer> (1 - 30)"
56122987 5406 },
44660702
DM
5407 "balloon" : {
5408 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5409 "minimum" : 0,
7aacca6f 5410 "optional" : 1,
4bd7df8b 5411 "type" : "integer",
013dc89f 5412 "typetext" : "<integer> (0 - N)"
7aacca6f 5413 },
44660702
DM
5414 "bios" : {
5415 "default" : "seabios",
5416 "description" : "Select BIOS implementation.",
5417 "enum" : [
5418 "seabios",
5419 "ovmf"
5420 ],
56122987 5421 "optional" : 1,
44660702 5422 "type" : "string"
7aacca6f 5423 },
44660702
DM
5424 "boot" : {
5425 "default" : "cdn",
5426 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5427 "optional" : 1,
5428 "pattern" : "[acdn]{1,4}",
5429 "type" : "string"
5430 },
5431 "bootdisk" : {
5432 "description" : "Enable booting from specified disk.",
5433 "format" : "pve-qm-bootdisk",
5434 "optional" : 1,
5435 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5436 "type" : "string"
5437 },
5438 "cdrom" : {
5439 "description" : "This is an alias for option -ide2",
de0983cb 5440 "format" : "pve-qm-ide",
44660702 5441 "optional" : 1,
7aacca6f 5442 "type" : "string",
013dc89f 5443 "typetext" : "<volume>"
44660702
DM
5444 },
5445 "cores" : {
5446 "default" : 1,
5447 "description" : "The number of cores per socket.",
5448 "minimum" : 1,
7aacca6f 5449 "optional" : 1,
4bd7df8b 5450 "type" : "integer",
013dc89f 5451 "typetext" : "<integer> (1 - N)"
7aacca6f 5452 },
44660702
DM
5453 "cpu" : {
5454 "description" : "Emulated CPU type.",
56122987 5455 "format" : {
44660702
DM
5456 "cputype" : {
5457 "default" : "kvm64",
7aacca6f 5458 "default_key" : 1,
44660702 5459 "description" : "Emulated CPU type.",
56122987 5460 "enum" : [
44660702
DM
5461 "486",
5462 "athlon",
f004f5b9
DM
5463 "Broadwell",
5464 "Broadwell-noTSX",
5465 "Conroe",
44660702 5466 "core2duo",
f004f5b9
DM
5467 "coreduo",
5468 "Haswell",
5469 "Haswell-noTSX",
5470 "host",
5471 "IvyBridge",
44660702
DM
5472 "kvm32",
5473 "kvm64",
44660702 5474 "Nehalem",
44660702
DM
5475 "Opteron_G1",
5476 "Opteron_G2",
5477 "Opteron_G3",
5478 "Opteron_G4",
5479 "Opteron_G5",
f004f5b9
DM
5480 "Penryn",
5481 "pentium",
5482 "pentium2",
5483 "pentium3",
5484 "phenom",
5485 "qemu32",
5486 "qemu64",
5487 "SandyBridge",
5488 "Westmere"
56122987 5489 ],
56122987
DM
5490 "type" : "string"
5491 },
44660702
DM
5492 "hidden" : {
5493 "default" : 0,
5494 "description" : "Do not identify as a KVM virtual machine.",
56122987 5495 "optional" : 1,
44660702
DM
5496 "type" : "boolean"
5497 }
5498 },
5499 "optional" : 1,
4bd7df8b 5500 "type" : "string",
013dc89f 5501 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
5502 },
5503 "cpulimit" : {
5504 "default" : 0,
c2993fe5 5505 "description" : "Limit of CPU usage.",
44660702
DM
5506 "maximum" : 128,
5507 "minimum" : 0,
5508 "optional" : 1,
c2993fe5 5509 "type" : "number",
013dc89f 5510 "typetext" : "<number> (0 - 128)",
c2993fe5 5511 "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
5512 },
5513 "cpuunits" : {
de0983cb 5514 "default" : 1024,
c2993fe5 5515 "description" : "CPU weight for a VM.",
44660702
DM
5516 "maximum" : 500000,
5517 "minimum" : 0,
5518 "optional" : 1,
c2993fe5 5519 "type" : "integer",
013dc89f 5520 "typetext" : "<integer> (0 - 500000)",
c2993fe5 5521 "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
5522 },
5523 "delete" : {
5524 "description" : "A list of settings you want to delete.",
5525 "format" : "pve-configid-list",
5526 "optional" : 1,
013dc89f
DM
5527 "type" : "string",
5528 "typetext" : "<string>"
44660702
DM
5529 },
5530 "description" : {
5531 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5532 "optional" : 1,
013dc89f
DM
5533 "type" : "string",
5534 "typetext" : "<string>"
44660702
DM
5535 },
5536 "digest" : {
5537 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5538 "maxLength" : 40,
5539 "optional" : 1,
013dc89f
DM
5540 "type" : "string",
5541 "typetext" : "<string>"
44660702
DM
5542 },
5543 "force" : {
5544 "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.",
5545 "optional" : 1,
5546 "requires" : "delete",
013dc89f
DM
5547 "type" : "boolean",
5548 "typetext" : "<boolean>"
44660702
DM
5549 },
5550 "freeze" : {
5551 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5552 "optional" : 1,
013dc89f
DM
5553 "type" : "boolean",
5554 "typetext" : "<boolean>"
44660702
DM
5555 },
5556 "hostpci[n]" : {
c2993fe5 5557 "description" : "Map host PCI devices into guest.",
44660702
DM
5558 "format" : "pve-qm-hostpci",
5559 "optional" : 1,
57b78691 5560 "type" : "string",
4bd7df8b 5561 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 5562 "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
5563 },
5564 "hotplug" : {
5565 "default" : "network,disk,usb",
5566 "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'.",
5567 "format" : "pve-hotplug-features",
5568 "optional" : 1,
013dc89f
DM
5569 "type" : "string",
5570 "typetext" : "<string>"
44660702 5571 },
4bd7df8b
DM
5572 "hugepages" : {
5573 "description" : "Enable/disable hugepages memory.",
5574 "enum" : [
5575 "any",
5576 "2",
5577 "1024"
5578 ],
5579 "optional" : 1,
5580 "type" : "string"
5581 },
44660702
DM
5582 "ide[n]" : {
5583 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5584 "format" : {
5585 "aio" : {
5586 "description" : "AIO type to use.",
5587 "enum" : [
5588 "native",
5589 "threads"
56122987 5590 ],
56122987 5591 "optional" : 1,
44660702 5592 "type" : "string"
56122987 5593 },
44660702
DM
5594 "backup" : {
5595 "description" : "Whether the drive should be included when making backups.",
56122987 5596 "optional" : 1,
44660702 5597 "type" : "boolean"
56122987 5598 },
7aacca6f 5599 "bps" : {
de0983cb 5600 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
5601 "format_description" : "bps",
5602 "optional" : 1,
5603 "type" : "integer"
5604 },
de0983cb
DM
5605 "bps_max_length" : {
5606 "description" : "Maximum length of I/O bursts in seconds.",
5607 "format_description" : "seconds",
5608 "minimum" : 1,
5609 "optional" : 1,
5610 "type" : "integer"
5611 },
44660702 5612 "bps_rd" : {
de0983cb 5613 "description" : "Maximum read speed in bytes per second.",
44660702 5614 "format_description" : "bps",
56122987 5615 "optional" : 1,
44660702 5616 "type" : "integer"
56122987 5617 },
de0983cb
DM
5618 "bps_rd_length" : {
5619 "description" : "Maximum length of read I/O bursts in seconds.",
5620 "format_description" : "seconds",
5621 "minimum" : 1,
5622 "optional" : 1,
5623 "type" : "integer"
5624 },
44660702 5625 "bps_wr" : {
de0983cb 5626 "description" : "Maximum write speed in bytes per second.",
44660702
DM
5627 "format_description" : "bps",
5628 "optional" : 1,
5629 "type" : "integer"
5630 },
de0983cb
DM
5631 "bps_wr_length" : {
5632 "description" : "Maximum length of write I/O bursts in seconds.",
5633 "format_description" : "seconds",
5634 "minimum" : 1,
5635 "optional" : 1,
5636 "type" : "integer"
5637 },
44660702
DM
5638 "cache" : {
5639 "description" : "The drive's cache mode",
5640 "enum" : [
5641 "none",
5642 "writethrough",
5643 "writeback",
5644 "unsafe",
5645 "directsync"
5646 ],
44660702
DM
5647 "optional" : 1,
5648 "type" : "string"
5649 },
5650 "cyls" : {
5651 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
5652 "optional" : 1,
5653 "type" : "integer"
5654 },
5655 "detect_zeroes" : {
5656 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5657 "optional" : 1,
5658 "type" : "boolean"
5659 },
5660 "discard" : {
5661 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5662 "enum" : [
5663 "ignore",
5664 "on"
5665 ],
56122987 5666 "optional" : 1,
44660702
DM
5667 "type" : "string"
5668 },
5669 "file" : {
5670 "default_key" : 1,
5671 "description" : "The drive's backing volume.",
5672 "format" : "pve-volume-id-or-qm-path",
5673 "format_description" : "volume",
5674 "type" : "string"
56122987 5675 },
7aacca6f 5676 "format" : {
7aacca6f 5677 "description" : "The drive's backing file's data format.",
56122987 5678 "enum" : [
7aacca6f
DM
5679 "raw",
5680 "cow",
5681 "qcow",
5682 "qed",
5683 "qcow2",
5684 "vmdk",
5685 "cloop"
56122987
DM
5686 ],
5687 "optional" : 1,
56122987
DM
5688 "type" : "string"
5689 },
44660702
DM
5690 "heads" : {
5691 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
5692 "optional" : 1,
5693 "type" : "integer"
7aacca6f 5694 },
44660702 5695 "iops" : {
de0983cb 5696 "description" : "Maximum r/w I/O in operations per second.",
44660702 5697 "format_description" : "iops",
56122987 5698 "optional" : 1,
44660702 5699 "type" : "integer"
56122987 5700 },
44660702 5701 "iops_max" : {
de0983cb 5702 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 5703 "format_description" : "iops",
56122987 5704 "optional" : 1,
44660702 5705 "type" : "integer"
56122987 5706 },
de0983cb
DM
5707 "iops_max_length" : {
5708 "description" : "Maximum length of I/O bursts in seconds.",
5709 "format_description" : "seconds",
5710 "minimum" : 1,
5711 "optional" : 1,
5712 "type" : "integer"
5713 },
44660702 5714 "iops_rd" : {
de0983cb 5715 "description" : "Maximum read I/O in operations per second.",
44660702
DM
5716 "format_description" : "iops",
5717 "optional" : 1,
5718 "type" : "integer"
5719 },
de0983cb
DM
5720 "iops_rd_length" : {
5721 "description" : "Maximum length of read I/O bursts in seconds.",
5722 "format_description" : "seconds",
5723 "minimum" : 1,
5724 "optional" : 1,
5725 "type" : "integer"
5726 },
44660702 5727 "iops_rd_max" : {
de0983cb 5728 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 5729 "format_description" : "iops",
44660702
DM
5730 "optional" : 1,
5731 "type" : "integer"
5732 },
5733 "iops_wr" : {
de0983cb 5734 "description" : "Maximum write I/O in operations per second.",
44660702 5735 "format_description" : "iops",
56122987 5736 "optional" : 1,
7aacca6f 5737 "type" : "integer"
56122987 5738 },
de0983cb
DM
5739 "iops_wr_length" : {
5740 "description" : "Maximum length of write I/O bursts in seconds.",
5741 "format_description" : "seconds",
5742 "minimum" : 1,
5743 "optional" : 1,
5744 "type" : "integer"
5745 },
44660702 5746 "iops_wr_max" : {
de0983cb 5747 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 5748 "format_description" : "iops",
7aacca6f 5749 "optional" : 1,
44660702 5750 "type" : "integer"
56122987 5751 },
44660702 5752 "mbps" : {
de0983cb 5753 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
5754 "format_description" : "mbps",
5755 "optional" : 1,
5756 "type" : "number"
5757 },
5758 "mbps_max" : {
de0983cb 5759 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
5760 "format_description" : "mbps",
5761 "optional" : 1,
5762 "type" : "number"
5763 },
5764 "mbps_rd" : {
de0983cb 5765 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
5766 "format_description" : "mbps",
5767 "optional" : 1,
5768 "type" : "number"
5769 },
5770 "mbps_rd_max" : {
de0983cb 5771 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
5772 "format_description" : "mbps",
5773 "optional" : 1,
5774 "type" : "number"
5775 },
5776 "mbps_wr" : {
de0983cb 5777 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
5778 "format_description" : "mbps",
5779 "optional" : 1,
5780 "type" : "number"
5781 },
5782 "mbps_wr_max" : {
de0983cb 5783 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 5784 "format_description" : "mbps",
56122987 5785 "optional" : 1,
44660702 5786 "type" : "number"
56122987 5787 },
7aacca6f 5788 "media" : {
7aacca6f 5789 "default" : "disk",
7aacca6f
DM
5790 "description" : "The drive's media type.",
5791 "enum" : [
5792 "cdrom",
5793 "disk"
44660702 5794 ],
44660702
DM
5795 "optional" : 1,
5796 "type" : "string"
56122987 5797 },
44660702
DM
5798 "model" : {
5799 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
5800 "format" : "urlencoded",
5801 "format_description" : "model",
5802 "maxLength" : 120,
56122987 5803 "optional" : 1,
44660702 5804 "type" : "string"
56122987 5805 },
44660702
DM
5806 "rerror" : {
5807 "description" : "Read error action.",
5808 "enum" : [
5809 "ignore",
5810 "report",
5811 "stop"
5812 ],
56122987 5813 "optional" : 1,
44660702
DM
5814 "type" : "string"
5815 },
5816 "secs" : {
5817 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
5818 "optional" : 1,
5819 "type" : "integer"
5820 },
5821 "serial" : {
5822 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
5823 "format" : "urlencoded",
5824 "format_description" : "serial",
5825 "maxLength" : 60,
5826 "optional" : 1,
5827 "type" : "string"
5828 },
5829 "size" : {
5830 "description" : "Disk size. This is purely informational and has no effect.",
5831 "format" : "disk-size",
f004f5b9 5832 "format_description" : "DiskSize",
44660702
DM
5833 "optional" : 1,
5834 "type" : "string"
5835 },
5836 "snapshot" : {
5837 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
5838 "optional" : 1,
5839 "type" : "boolean"
5840 },
5841 "trans" : {
5842 "description" : "Force disk geometry bios translation mode.",
5843 "enum" : [
5844 "none",
5845 "lba",
5846 "auto"
5847 ],
44660702
DM
5848 "optional" : 1,
5849 "type" : "string"
5850 },
5851 "volume" : {
5852 "alias" : "file"
5853 },
5854 "werror" : {
5855 "description" : "Write error action.",
5856 "enum" : [
5857 "enospc",
5858 "ignore",
5859 "report",
5860 "stop"
5861 ],
44660702
DM
5862 "optional" : 1,
5863 "type" : "string"
56122987
DM
5864 }
5865 },
44660702 5866 "optional" : 1,
4bd7df8b 5867 "type" : "string",
013dc89f 5868 "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 5869 },
44660702
DM
5870 "keyboard" : {
5871 "default" : "en-us",
c2993fe5 5872 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
5873 "enum" : [
5874 "de",
5875 "de-ch",
5876 "da",
5877 "en-gb",
5878 "en-us",
5879 "es",
5880 "fi",
5881 "fr",
5882 "fr-be",
5883 "fr-ca",
5884 "fr-ch",
5885 "hu",
5886 "is",
5887 "it",
5888 "ja",
5889 "lt",
5890 "mk",
5891 "nl",
5892 "no",
5893 "pl",
5894 "pt",
5895 "pt-br",
5896 "sv",
5897 "sl",
5898 "tr"
5899 ],
56122987 5900 "optional" : 1,
44660702
DM
5901 "type" : "string"
5902 },
5903 "kvm" : {
7aacca6f 5904 "default" : 1,
44660702
DM
5905 "description" : "Enable/disable KVM hardware virtualization.",
5906 "optional" : 1,
013dc89f
DM
5907 "type" : "boolean",
5908 "typetext" : "<boolean>"
56122987 5909 },
44660702
DM
5910 "localtime" : {
5911 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 5912 "optional" : 1,
013dc89f
DM
5913 "type" : "boolean",
5914 "typetext" : "<boolean>"
56122987 5915 },
44660702
DM
5916 "lock" : {
5917 "description" : "Lock/unlock the VM.",
5918 "enum" : [
5919 "migrate",
5920 "backup",
5921 "snapshot",
5922 "rollback"
5923 ],
7aacca6f 5924 "optional" : 1,
44660702
DM
5925 "type" : "string"
5926 },
5927 "machine" : {
5928 "description" : "Specific the Qemu machine type.",
5929 "maxLength" : 40,
5930 "optional" : 1,
5931 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
5932 "type" : "string"
5933 },
5934 "memory" : {
5935 "default" : 512,
5936 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
5937 "minimum" : 16,
5938 "optional" : 1,
4bd7df8b 5939 "type" : "integer",
013dc89f 5940 "typetext" : "<integer> (16 - N)"
44660702
DM
5941 },
5942 "migrate_downtime" : {
5943 "default" : 0.1,
5944 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
5945 "minimum" : 0,
5946 "optional" : 1,
4bd7df8b 5947 "type" : "number",
013dc89f 5948 "typetext" : "<number> (0 - N)"
44660702
DM
5949 },
5950 "migrate_speed" : {
5951 "default" : 0,
5952 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
5953 "minimum" : 0,
5954 "optional" : 1,
4bd7df8b 5955 "type" : "integer",
013dc89f 5956 "typetext" : "<integer> (0 - N)"
44660702
DM
5957 },
5958 "name" : {
5959 "description" : "Set a name for the VM. Only used on the configuration web interface.",
5960 "format" : "dns-name",
5961 "optional" : 1,
013dc89f
DM
5962 "type" : "string",
5963 "typetext" : "<string>"
44660702
DM
5964 },
5965 "net[n]" : {
c2993fe5 5966 "description" : "Specify network devices.",
f004f5b9
DM
5967 "format" : {
5968 "bridge" : {
c2993fe5 5969 "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
5970 "format_description" : "bridge",
5971 "optional" : 1,
5972 "type" : "string"
5973 },
5974 "e1000" : {
5975 "alias" : "macaddr",
5976 "keyAlias" : "model"
5977 },
5978 "e1000-82540em" : {
5979 "alias" : "macaddr",
5980 "keyAlias" : "model"
5981 },
5982 "e1000-82544gc" : {
5983 "alias" : "macaddr",
5984 "keyAlias" : "model"
5985 },
5986 "e1000-82545em" : {
5987 "alias" : "macaddr",
5988 "keyAlias" : "model"
5989 },
5990 "firewall" : {
5991 "description" : "Whether this interface should be protected by the firewall.",
5992 "optional" : 1,
5993 "type" : "boolean"
5994 },
5995 "i82551" : {
5996 "alias" : "macaddr",
5997 "keyAlias" : "model"
5998 },
5999 "i82557b" : {
6000 "alias" : "macaddr",
6001 "keyAlias" : "model"
6002 },
6003 "i82559er" : {
6004 "alias" : "macaddr",
6005 "keyAlias" : "model"
6006 },
6007 "link_down" : {
c2993fe5 6008 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
6009 "optional" : 1,
6010 "type" : "boolean"
6011 },
6012 "macaddr" : {
c2993fe5 6013 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 6014 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
6015 "optional" : 1,
6016 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
6017 "type" : "string"
6018 },
6019 "model" : {
6020 "default_key" : 1,
c2993fe5 6021 "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
6022 "enum" : [
6023 "rtl8139",
6024 "ne2k_pci",
6025 "e1000",
6026 "pcnet",
6027 "virtio",
6028 "ne2k_isa",
6029 "i82551",
6030 "i82557b",
6031 "i82559er",
6032 "vmxnet3",
6033 "e1000-82540em",
6034 "e1000-82544gc",
6035 "e1000-82545em"
6036 ],
f004f5b9
DM
6037 "type" : "string"
6038 },
6039 "ne2k_isa" : {
6040 "alias" : "macaddr",
6041 "keyAlias" : "model"
6042 },
6043 "ne2k_pci" : {
6044 "alias" : "macaddr",
6045 "keyAlias" : "model"
6046 },
6047 "pcnet" : {
6048 "alias" : "macaddr",
6049 "keyAlias" : "model"
6050 },
6051 "queues" : {
6052 "description" : "Number of packet queues to be used on the device.",
6053 "maximum" : 16,
6054 "minimum" : 0,
6055 "optional" : 1,
6056 "type" : "integer"
6057 },
6058 "rate" : {
c2993fe5 6059 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
6060 "minimum" : 0,
6061 "optional" : 1,
6062 "type" : "number"
6063 },
6064 "rtl8139" : {
6065 "alias" : "macaddr",
6066 "keyAlias" : "model"
6067 },
6068 "tag" : {
6069 "description" : "VLAN tag to apply to packets on this interface.",
6070 "maximum" : 4094,
c2993fe5 6071 "minimum" : 1,
f004f5b9
DM
6072 "optional" : 1,
6073 "type" : "integer"
6074 },
6075 "trunks" : {
6076 "description" : "VLAN trunks to pass through this interface.",
6077 "format_description" : "vlanid[;vlanid...]",
6078 "optional" : 1,
6079 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6080 "type" : "string"
6081 },
6082 "virtio" : {
6083 "alias" : "macaddr",
6084 "keyAlias" : "model"
6085 },
6086 "vmxnet3" : {
6087 "alias" : "macaddr",
6088 "keyAlias" : "model"
6089 }
6090 },
44660702 6091 "optional" : 1,
4bd7df8b 6092 "type" : "string",
013dc89f 6093 "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
6094 },
6095 "node" : {
6096 "description" : "The cluster node name.",
6097 "format" : "pve-node",
013dc89f
DM
6098 "type" : "string",
6099 "typetext" : "<string>"
44660702
DM
6100 },
6101 "numa" : {
6102 "default" : 0,
6103 "description" : "Enable/disable NUMA.",
6104 "optional" : 1,
013dc89f
DM
6105 "type" : "boolean",
6106 "typetext" : "<boolean>"
44660702
DM
6107 },
6108 "numa[n]" : {
c2993fe5 6109 "description" : "NUMA topology.",
56122987 6110 "format" : {
7aacca6f 6111 "cpus" : {
c2993fe5 6112 "description" : "CPUs accessing this NUMA node.",
44660702
DM
6113 "format_description" : "id[-id];...",
6114 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6115 "type" : "string"
7aacca6f
DM
6116 },
6117 "hostnodes" : {
c2993fe5 6118 "description" : "Host NUMA nodes to use.",
44660702 6119 "format_description" : "id[-id];...",
7aacca6f 6120 "optional" : 1,
7aacca6f 6121 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 6122 "type" : "string"
7aacca6f 6123 },
44660702 6124 "memory" : {
c2993fe5 6125 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 6126 "optional" : 1,
44660702
DM
6127 "type" : "number"
6128 },
6129 "policy" : {
c2993fe5 6130 "description" : "NUMA allocation policy.",
7aacca6f
DM
6131 "enum" : [
6132 "preferred",
6133 "bind",
6134 "interleave"
6135 ],
44660702
DM
6136 "optional" : 1,
6137 "type" : "string"
56122987 6138 }
44660702 6139 },
56122987 6140 "optional" : 1,
4bd7df8b
DM
6141 "type" : "string",
6142 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 6143 },
44660702 6144 "onboot" : {
7aacca6f 6145 "default" : 0,
44660702
DM
6146 "description" : "Specifies whether a VM will be started during system bootup.",
6147 "optional" : 1,
013dc89f
DM
6148 "type" : "boolean",
6149 "typetext" : "<boolean>"
7aacca6f
DM
6150 },
6151 "ostype" : {
c2993fe5 6152 "description" : "Specify guest operating system.",
7aacca6f
DM
6153 "enum" : [
6154 "other",
6155 "wxp",
6156 "w2k",
6157 "w2k3",
6158 "w2k8",
6159 "wvista",
6160 "win7",
6161 "win8",
6162 "l24",
6163 "l26",
6164 "solaris"
6165 ],
7aacca6f 6166 "optional" : 1,
c2993fe5
DM
6167 "type" : "string",
6168 "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 6169 },
44660702 6170 "parallel[n]" : {
c2993fe5 6171 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 6172 "optional" : 1,
44660702 6173 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
6174 "type" : "string",
6175 "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
6176 },
6177 "protection" : {
6178 "default" : 0,
c2993fe5 6179 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 6180 "optional" : 1,
013dc89f
DM
6181 "type" : "boolean",
6182 "typetext" : "<boolean>"
7aacca6f 6183 },
44660702
DM
6184 "reboot" : {
6185 "default" : 1,
6186 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 6187 "optional" : 1,
013dc89f
DM
6188 "type" : "boolean",
6189 "typetext" : "<boolean>"
7aacca6f 6190 },
44660702
DM
6191 "revert" : {
6192 "description" : "Revert a pending change.",
6193 "format" : "pve-configid-list",
7aacca6f 6194 "optional" : 1,
013dc89f
DM
6195 "type" : "string",
6196 "typetext" : "<string>"
44660702
DM
6197 },
6198 "sata[n]" : {
6199 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 6200 "format" : {
44660702
DM
6201 "aio" : {
6202 "description" : "AIO type to use.",
7aacca6f 6203 "enum" : [
44660702
DM
6204 "native",
6205 "threads"
7aacca6f 6206 ],
44660702
DM
6207 "optional" : 1,
6208 "type" : "string"
7aacca6f 6209 },
44660702
DM
6210 "backup" : {
6211 "description" : "Whether the drive should be included when making backups.",
56122987 6212 "optional" : 1,
7aacca6f 6213 "type" : "boolean"
44660702
DM
6214 },
6215 "bps" : {
de0983cb 6216 "description" : "Maximum r/w speed in bytes per second.",
44660702 6217 "format_description" : "bps",
7aacca6f 6218 "optional" : 1,
44660702 6219 "type" : "integer"
56122987 6220 },
de0983cb
DM
6221 "bps_max_length" : {
6222 "description" : "Maximum length of I/O bursts in seconds.",
6223 "format_description" : "seconds",
6224 "minimum" : 1,
6225 "optional" : 1,
6226 "type" : "integer"
6227 },
44660702 6228 "bps_rd" : {
de0983cb 6229 "description" : "Maximum read speed in bytes per second.",
44660702 6230 "format_description" : "bps",
56122987 6231 "optional" : 1,
44660702 6232 "type" : "integer"
56122987 6233 },
de0983cb
DM
6234 "bps_rd_length" : {
6235 "description" : "Maximum length of read I/O bursts in seconds.",
6236 "format_description" : "seconds",
6237 "minimum" : 1,
6238 "optional" : 1,
6239 "type" : "integer"
6240 },
44660702 6241 "bps_wr" : {
de0983cb 6242 "description" : "Maximum write speed in bytes per second.",
44660702 6243 "format_description" : "bps",
56122987 6244 "optional" : 1,
44660702 6245 "type" : "integer"
56122987 6246 },
de0983cb
DM
6247 "bps_wr_length" : {
6248 "description" : "Maximum length of write I/O bursts in seconds.",
6249 "format_description" : "seconds",
6250 "minimum" : 1,
6251 "optional" : 1,
6252 "type" : "integer"
6253 },
56122987 6254 "cache" : {
44660702 6255 "description" : "The drive's cache mode",
56122987
DM
6256 "enum" : [
6257 "none",
6258 "writethrough",
6259 "writeback",
6260 "unsafe",
6261 "directsync"
6262 ],
56122987 6263 "optional" : 1,
44660702 6264 "type" : "string"
56122987 6265 },
44660702
DM
6266 "cyls" : {
6267 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6268 "optional" : 1,
44660702 6269 "type" : "integer"
7aacca6f
DM
6270 },
6271 "detect_zeroes" : {
6272 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6273 "optional" : 1,
44660702 6274 "type" : "boolean"
56122987 6275 },
44660702
DM
6276 "discard" : {
6277 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6278 "enum" : [
6279 "ignore",
6280 "on"
6281 ],
56122987 6282 "optional" : 1,
44660702 6283 "type" : "string"
7aacca6f 6284 },
44660702
DM
6285 "file" : {
6286 "default_key" : 1,
6287 "description" : "The drive's backing volume.",
6288 "format" : "pve-volume-id-or-qm-path",
6289 "format_description" : "volume",
6290 "type" : "string"
56122987 6291 },
7aacca6f 6292 "format" : {
44660702 6293 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6294 "enum" : [
6295 "raw",
6296 "cow",
6297 "qcow",
6298 "qed",
6299 "qcow2",
6300 "vmdk",
6301 "cloop"
6302 ],
7aacca6f 6303 "optional" : 1,
44660702 6304 "type" : "string"
56122987 6305 },
7aacca6f 6306 "heads" : {
7aacca6f 6307 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6308 "optional" : 1,
7aacca6f 6309 "type" : "integer"
56122987 6310 },
44660702 6311 "iops" : {
de0983cb 6312 "description" : "Maximum r/w I/O in operations per second.",
44660702 6313 "format_description" : "iops",
56122987 6314 "optional" : 1,
44660702 6315 "type" : "integer"
56122987 6316 },
44660702 6317 "iops_max" : {
de0983cb 6318 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6319 "format_description" : "iops",
56122987 6320 "optional" : 1,
44660702 6321 "type" : "integer"
56122987 6322 },
de0983cb
DM
6323 "iops_max_length" : {
6324 "description" : "Maximum length of I/O bursts in seconds.",
6325 "format_description" : "seconds",
6326 "minimum" : 1,
6327 "optional" : 1,
6328 "type" : "integer"
6329 },
44660702 6330 "iops_rd" : {
de0983cb 6331 "description" : "Maximum read I/O in operations per second.",
44660702 6332 "format_description" : "iops",
7aacca6f 6333 "optional" : 1,
44660702 6334 "type" : "integer"
56122987 6335 },
de0983cb
DM
6336 "iops_rd_length" : {
6337 "description" : "Maximum length of read I/O bursts in seconds.",
6338 "format_description" : "seconds",
6339 "minimum" : 1,
6340 "optional" : 1,
6341 "type" : "integer"
6342 },
44660702 6343 "iops_rd_max" : {
de0983cb 6344 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6345 "format_description" : "iops",
56122987 6346 "optional" : 1,
44660702 6347 "type" : "integer"
7aacca6f 6348 },
44660702 6349 "iops_wr" : {
de0983cb 6350 "description" : "Maximum write I/O in operations per second.",
44660702 6351 "format_description" : "iops",
56122987 6352 "optional" : 1,
44660702 6353 "type" : "integer"
56122987 6354 },
de0983cb
DM
6355 "iops_wr_length" : {
6356 "description" : "Maximum length of write I/O bursts in seconds.",
6357 "format_description" : "seconds",
6358 "minimum" : 1,
6359 "optional" : 1,
6360 "type" : "integer"
6361 },
56122987 6362 "iops_wr_max" : {
de0983cb 6363 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6364 "format_description" : "iops",
56122987 6365 "optional" : 1,
44660702 6366 "type" : "integer"
56122987 6367 },
44660702 6368 "mbps" : {
de0983cb 6369 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6370 "format_description" : "mbps",
56122987 6371 "optional" : 1,
44660702 6372 "type" : "number"
56122987 6373 },
44660702 6374 "mbps_max" : {
de0983cb 6375 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6376 "format_description" : "mbps",
6377 "optional" : 1,
6378 "type" : "number"
56122987 6379 },
44660702 6380 "mbps_rd" : {
de0983cb 6381 "description" : "Maximum read speed in megabytes per second.",
44660702 6382 "format_description" : "mbps",
56122987 6383 "optional" : 1,
44660702 6384 "type" : "number"
56122987 6385 },
44660702 6386 "mbps_rd_max" : {
de0983cb 6387 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6388 "format_description" : "mbps",
56122987 6389 "optional" : 1,
44660702 6390 "type" : "number"
56122987 6391 },
44660702 6392 "mbps_wr" : {
de0983cb 6393 "description" : "Maximum write speed in megabytes per second.",
56122987 6394 "format_description" : "mbps",
44660702
DM
6395 "optional" : 1,
6396 "type" : "number"
56122987 6397 },
44660702 6398 "mbps_wr_max" : {
de0983cb 6399 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6400 "format_description" : "mbps",
6401 "optional" : 1,
6402 "type" : "number"
7aacca6f 6403 },
44660702
DM
6404 "media" : {
6405 "default" : "disk",
6406 "description" : "The drive's media type.",
6407 "enum" : [
6408 "cdrom",
6409 "disk"
6410 ],
56122987 6411 "optional" : 1,
44660702
DM
6412 "type" : "string"
6413 },
6414 "rerror" : {
6415 "description" : "Read error action.",
7aacca6f 6416 "enum" : [
44660702
DM
6417 "ignore",
6418 "report",
6419 "stop"
6420 ],
7aacca6f 6421 "optional" : 1,
44660702 6422 "type" : "string"
56122987 6423 },
44660702
DM
6424 "secs" : {
6425 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6426 "optional" : 1,
44660702 6427 "type" : "integer"
56122987 6428 },
44660702
DM
6429 "serial" : {
6430 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6431 "format" : "urlencoded",
6432 "format_description" : "serial",
6433 "maxLength" : 60,
56122987 6434 "optional" : 1,
44660702 6435 "type" : "string"
56122987 6436 },
44660702
DM
6437 "size" : {
6438 "description" : "Disk size. This is purely informational and has no effect.",
6439 "format" : "disk-size",
f004f5b9 6440 "format_description" : "DiskSize",
44660702
DM
6441 "optional" : 1,
6442 "type" : "string"
6443 },
6444 "snapshot" : {
6445 "description" : "Whether the drive should be included when making snapshots.",
56122987 6446 "optional" : 1,
44660702
DM
6447 "type" : "boolean"
6448 },
6449 "trans" : {
6450 "description" : "Force disk geometry bios translation mode.",
56122987 6451 "enum" : [
7aacca6f
DM
6452 "none",
6453 "lba",
6454 "auto"
56122987 6455 ],
44660702
DM
6456 "optional" : 1,
6457 "type" : "string"
56122987 6458 },
7aacca6f
DM
6459 "volume" : {
6460 "alias" : "file"
56122987 6461 },
44660702
DM
6462 "werror" : {
6463 "description" : "Write error action.",
6464 "enum" : [
6465 "enospc",
6466 "ignore",
6467 "report",
6468 "stop"
6469 ],
7aacca6f 6470 "optional" : 1,
44660702
DM
6471 "type" : "string"
6472 }
6473 },
6474 "optional" : 1,
4bd7df8b 6475 "type" : "string",
013dc89f 6476 "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
6477 },
6478 "scsi[n]" : {
6479 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6480 "format" : {
56122987 6481 "aio" : {
56122987
DM
6482 "description" : "AIO type to use.",
6483 "enum" : [
6484 "native",
6485 "threads"
6486 ],
7aacca6f 6487 "optional" : 1,
44660702 6488 "type" : "string"
56122987 6489 },
44660702
DM
6490 "backup" : {
6491 "description" : "Whether the drive should be included when making backups.",
56122987 6492 "optional" : 1,
44660702 6493 "type" : "boolean"
56122987 6494 },
44660702 6495 "bps" : {
de0983cb 6496 "description" : "Maximum r/w speed in bytes per second.",
44660702 6497 "format_description" : "bps",
56122987 6498 "optional" : 1,
44660702 6499 "type" : "integer"
56122987 6500 },
de0983cb
DM
6501 "bps_max_length" : {
6502 "description" : "Maximum length of I/O bursts in seconds.",
6503 "format_description" : "seconds",
6504 "minimum" : 1,
6505 "optional" : 1,
6506 "type" : "integer"
6507 },
44660702 6508 "bps_rd" : {
de0983cb 6509 "description" : "Maximum read speed in bytes per second.",
44660702 6510 "format_description" : "bps",
56122987 6511 "optional" : 1,
44660702 6512 "type" : "integer"
56122987 6513 },
de0983cb
DM
6514 "bps_rd_length" : {
6515 "description" : "Maximum length of read I/O bursts in seconds.",
6516 "format_description" : "seconds",
6517 "minimum" : 1,
6518 "optional" : 1,
6519 "type" : "integer"
6520 },
7aacca6f 6521 "bps_wr" : {
de0983cb 6522 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6523 "format_description" : "bps",
56122987 6524 "optional" : 1,
44660702 6525 "type" : "integer"
56122987 6526 },
de0983cb
DM
6527 "bps_wr_length" : {
6528 "description" : "Maximum length of write I/O bursts in seconds.",
6529 "format_description" : "seconds",
6530 "minimum" : 1,
6531 "optional" : 1,
6532 "type" : "integer"
6533 },
44660702
DM
6534 "cache" : {
6535 "description" : "The drive's cache mode",
7aacca6f 6536 "enum" : [
44660702
DM
6537 "none",
6538 "writethrough",
6539 "writeback",
6540 "unsafe",
6541 "directsync"
7aacca6f 6542 ],
56122987 6543 "optional" : 1,
44660702 6544 "type" : "string"
56122987 6545 },
44660702
DM
6546 "cyls" : {
6547 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6548 "optional" : 1,
44660702 6549 "type" : "integer"
56122987 6550 },
44660702
DM
6551 "detect_zeroes" : {
6552 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6553 "optional" : 1,
44660702 6554 "type" : "boolean"
56122987 6555 },
44660702
DM
6556 "discard" : {
6557 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6558 "enum" : [
6559 "ignore",
6560 "on"
6561 ],
7aacca6f 6562 "optional" : 1,
44660702 6563 "type" : "string"
56122987 6564 },
44660702
DM
6565 "file" : {
6566 "default_key" : 1,
6567 "description" : "The drive's backing volume.",
6568 "format" : "pve-volume-id-or-qm-path",
6569 "format_description" : "volume",
6570 "type" : "string"
56122987 6571 },
7aacca6f 6572 "format" : {
44660702 6573 "description" : "The drive's backing file's data format.",
56122987 6574 "enum" : [
7aacca6f
DM
6575 "raw",
6576 "cow",
6577 "qcow",
6578 "qed",
6579 "qcow2",
6580 "vmdk",
6581 "cloop"
6582 ],
44660702
DM
6583 "optional" : 1,
6584 "type" : "string"
56122987 6585 },
44660702
DM
6586 "heads" : {
6587 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6588 "optional" : 1,
7aacca6f 6589 "type" : "integer"
56122987 6590 },
44660702 6591 "iops" : {
de0983cb 6592 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 6593 "format_description" : "iops",
44660702
DM
6594 "optional" : 1,
6595 "type" : "integer"
7aacca6f 6596 },
44660702 6597 "iops_max" : {
de0983cb 6598 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6599 "format_description" : "iops",
56122987 6600 "optional" : 1,
44660702 6601 "type" : "integer"
7aacca6f 6602 },
de0983cb
DM
6603 "iops_max_length" : {
6604 "description" : "Maximum length of I/O bursts in seconds.",
6605 "format_description" : "seconds",
6606 "minimum" : 1,
6607 "optional" : 1,
6608 "type" : "integer"
6609 },
44660702 6610 "iops_rd" : {
de0983cb 6611 "description" : "Maximum read I/O in operations per second.",
44660702 6612 "format_description" : "iops",
7aacca6f 6613 "optional" : 1,
44660702 6614 "type" : "integer"
56122987 6615 },
de0983cb
DM
6616 "iops_rd_length" : {
6617 "description" : "Maximum length of read I/O bursts in seconds.",
6618 "format_description" : "seconds",
6619 "minimum" : 1,
6620 "optional" : 1,
6621 "type" : "integer"
6622 },
44660702 6623 "iops_rd_max" : {
de0983cb 6624 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
6625 "format_description" : "iops",
6626 "optional" : 1,
6627 "type" : "integer"
6628 },
6629 "iops_wr" : {
de0983cb 6630 "description" : "Maximum write I/O in operations per second.",
44660702 6631 "format_description" : "iops",
56122987 6632 "optional" : 1,
44660702
DM
6633 "type" : "integer"
6634 },
de0983cb
DM
6635 "iops_wr_length" : {
6636 "description" : "Maximum length of write I/O bursts in seconds.",
6637 "format_description" : "seconds",
6638 "minimum" : 1,
6639 "optional" : 1,
6640 "type" : "integer"
6641 },
44660702 6642 "iops_wr_max" : {
de0983cb 6643 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
6644 "format_description" : "iops",
6645 "optional" : 1,
6646 "type" : "integer"
56122987 6647 },
7aacca6f 6648 "iothread" : {
7aacca6f 6649 "description" : "Whether to use iothreads for this drive",
56122987 6650 "optional" : 1,
56122987
DM
6651 "type" : "boolean"
6652 },
44660702 6653 "mbps" : {
de0983cb 6654 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6655 "format_description" : "mbps",
6656 "optional" : 1,
6657 "type" : "number"
6658 },
6659 "mbps_max" : {
de0983cb 6660 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6661 "format_description" : "mbps",
6662 "optional" : 1,
6663 "type" : "number"
6664 },
6665 "mbps_rd" : {
de0983cb 6666 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6667 "format_description" : "mbps",
6668 "optional" : 1,
6669 "type" : "number"
6670 },
6671 "mbps_rd_max" : {
de0983cb 6672 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6673 "format_description" : "mbps",
6674 "optional" : 1,
6675 "type" : "number"
6676 },
6677 "mbps_wr" : {
de0983cb 6678 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6679 "format_description" : "mbps",
6680 "optional" : 1,
6681 "type" : "number"
6682 },
6683 "mbps_wr_max" : {
de0983cb 6684 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6685 "format_description" : "mbps",
6686 "optional" : 1,
6687 "type" : "number"
6688 },
7aacca6f 6689 "media" : {
44660702
DM
6690 "default" : "disk",
6691 "description" : "The drive's media type.",
7aacca6f
DM
6692 "enum" : [
6693 "cdrom",
6694 "disk"
6695 ],
56122987 6696 "optional" : 1,
44660702
DM
6697 "type" : "string"
6698 },
6699 "queues" : {
6700 "description" : "Number of queues.",
44660702
DM
6701 "minimum" : 2,
6702 "optional" : 1,
6703 "type" : "integer"
6704 },
6705 "secs" : {
6706 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6707 "optional" : 1,
6708 "type" : "integer"
6709 },
6710 "serial" : {
6711 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6712 "format" : "urlencoded",
6713 "format_description" : "serial",
6714 "maxLength" : 60,
6715 "optional" : 1,
6716 "type" : "string"
6717 },
6718 "size" : {
6719 "description" : "Disk size. This is purely informational and has no effect.",
6720 "format" : "disk-size",
f004f5b9 6721 "format_description" : "DiskSize",
44660702
DM
6722 "optional" : 1,
6723 "type" : "string"
56122987 6724 },
7aacca6f
DM
6725 "snapshot" : {
6726 "description" : "Whether the drive should be included when making snapshots.",
6727 "optional" : 1,
44660702 6728 "type" : "boolean"
7aacca6f 6729 },
44660702
DM
6730 "trans" : {
6731 "description" : "Force disk geometry bios translation mode.",
6732 "enum" : [
6733 "none",
6734 "lba",
6735 "auto"
6736 ],
44660702
DM
6737 "optional" : 1,
6738 "type" : "string"
6739 },
6740 "volume" : {
6741 "alias" : "file"
6742 },
6743 "werror" : {
6744 "description" : "Write error action.",
6745 "enum" : [
6746 "enospc",
6747 "ignore",
6748 "report",
6749 "stop"
6750 ],
56122987 6751 "optional" : 1,
44660702 6752 "type" : "string"
56122987 6753 }
44660702 6754 },
7aacca6f 6755 "optional" : 1,
4bd7df8b 6756 "type" : "string",
013dc89f 6757 "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
6758 },
6759 "scsihw" : {
6760 "default" : "lsi",
c2993fe5 6761 "description" : "SCSI controller model",
7aacca6f 6762 "enum" : [
44660702
DM
6763 "lsi",
6764 "lsi53c810",
6765 "virtio-scsi-pci",
6766 "virtio-scsi-single",
6767 "megasas",
6768 "pvscsi"
7aacca6f 6769 ],
44660702
DM
6770 "optional" : 1,
6771 "type" : "string"
56122987 6772 },
44660702 6773 "serial[n]" : {
c2993fe5 6774 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 6775 "optional" : 1,
44660702 6776 "pattern" : "(/dev/.+|socket)",
c2993fe5 6777 "type" : "string",
57b78691 6778 "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 6779 },
44660702
DM
6780 "shares" : {
6781 "default" : 1000,
6782 "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",
6783 "maximum" : 50000,
6784 "minimum" : 0,
56122987 6785 "optional" : 1,
4bd7df8b 6786 "type" : "integer",
013dc89f 6787 "typetext" : "<integer> (0 - 50000)"
56122987 6788 },
44660702
DM
6789 "skiplock" : {
6790 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 6791 "optional" : 1,
013dc89f
DM
6792 "type" : "boolean",
6793 "typetext" : "<boolean>"
56122987 6794 },
44660702
DM
6795 "smbios1" : {
6796 "description" : "Specify SMBIOS type 1 fields.",
6797 "format" : "pve-qm-smbios1",
6798 "maxLength" : 256,
56122987 6799 "optional" : 1,
4bd7df8b
DM
6800 "type" : "string",
6801 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 6802 },
44660702
DM
6803 "smp" : {
6804 "default" : 1,
6805 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 6806 "minimum" : 1,
7aacca6f 6807 "optional" : 1,
4bd7df8b 6808 "type" : "integer",
013dc89f 6809 "typetext" : "<integer> (1 - N)"
7aacca6f 6810 },
44660702
DM
6811 "sockets" : {
6812 "default" : 1,
6813 "description" : "The number of CPU sockets.",
6814 "minimum" : 1,
7aacca6f 6815 "optional" : 1,
4bd7df8b 6816 "type" : "integer",
013dc89f 6817 "typetext" : "<integer> (1 - N)"
56122987 6818 },
44660702
DM
6819 "startdate" : {
6820 "default" : "now",
6821 "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 6822 "optional" : 1,
44660702 6823 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 6824 "type" : "string",
44660702 6825 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 6826 },
7aacca6f 6827 "startup" : {
7aacca6f 6828 "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 6829 "format" : "pve-startup-order",
56122987 6830 "optional" : 1,
44660702
DM
6831 "type" : "string",
6832 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 6833 },
44660702 6834 "tablet" : {
7aacca6f 6835 "default" : 1,
c2993fe5 6836 "description" : "Enable/disable the USB tablet device.",
7aacca6f 6837 "optional" : 1,
c2993fe5 6838 "type" : "boolean",
013dc89f 6839 "typetext" : "<boolean>",
c2993fe5 6840 "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 6841 },
44660702
DM
6842 "tdf" : {
6843 "default" : 0,
6844 "description" : "Enable/disable time drift fix.",
7aacca6f 6845 "optional" : 1,
013dc89f
DM
6846 "type" : "boolean",
6847 "typetext" : "<boolean>"
7aacca6f 6848 },
44660702
DM
6849 "template" : {
6850 "default" : 0,
6851 "description" : "Enable/disable Template.",
7aacca6f 6852 "optional" : 1,
013dc89f
DM
6853 "type" : "boolean",
6854 "typetext" : "<boolean>"
7aacca6f 6855 },
44660702 6856 "unused[n]" : {
c2993fe5 6857 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 6858 "format" : "pve-volume-id",
7aacca6f 6859 "optional" : 1,
013dc89f
DM
6860 "type" : "string",
6861 "typetext" : "<string>"
7aacca6f 6862 },
44660702 6863 "usb[n]" : {
c2993fe5 6864 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
6865 "format" : {
6866 "host" : {
6867 "default_key" : 1,
c2993fe5 6868 "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
6869 "format" : "pve-qm-usb-device",
6870 "format_description" : "HOSTUSBDEVICE|spice",
6871 "type" : "string"
6872 },
6873 "usb3" : {
c2993fe5
DM
6874 "default" : 0,
6875 "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
6876 "optional" : 1,
6877 "type" : "boolean"
6878 }
6879 },
7aacca6f 6880 "optional" : 1,
4bd7df8b
DM
6881 "type" : "string",
6882 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 6883 },
44660702
DM
6884 "vcpus" : {
6885 "default" : 0,
6886 "description" : "Number of hotplugged vcpus.",
6887 "minimum" : 1,
56122987 6888 "optional" : 1,
4bd7df8b 6889 "type" : "integer",
013dc89f 6890 "typetext" : "<integer> (1 - N)"
56122987 6891 },
44660702 6892 "vga" : {
c2993fe5 6893 "description" : "Select the VGA type.",
44660702
DM
6894 "enum" : [
6895 "std",
6896 "cirrus",
6897 "vmware",
6898 "qxl",
6899 "serial0",
6900 "serial1",
6901 "serial2",
6902 "serial3",
6903 "qxl2",
6904 "qxl3",
6905 "qxl4"
6906 ],
56122987 6907 "optional" : 1,
c2993fe5
DM
6908 "type" : "string",
6909 "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 6910 },
44660702
DM
6911 "virtio[n]" : {
6912 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 6913 "format" : {
44660702
DM
6914 "aio" : {
6915 "description" : "AIO type to use.",
56122987 6916 "enum" : [
44660702
DM
6917 "native",
6918 "threads"
56122987 6919 ],
56122987
DM
6920 "optional" : 1,
6921 "type" : "string"
6922 },
44660702
DM
6923 "backup" : {
6924 "description" : "Whether the drive should be included when making backups.",
44660702
DM
6925 "optional" : 1,
6926 "type" : "boolean"
7aacca6f 6927 },
44660702 6928 "bps" : {
de0983cb 6929 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
6930 "format_description" : "bps",
6931 "optional" : 1,
6932 "type" : "integer"
56122987 6933 },
de0983cb
DM
6934 "bps_max_length" : {
6935 "description" : "Maximum length of I/O bursts in seconds.",
6936 "format_description" : "seconds",
6937 "minimum" : 1,
6938 "optional" : 1,
6939 "type" : "integer"
6940 },
44660702 6941 "bps_rd" : {
de0983cb 6942 "description" : "Maximum read speed in bytes per second.",
44660702 6943 "format_description" : "bps",
56122987 6944 "optional" : 1,
44660702 6945 "type" : "integer"
56122987 6946 },
de0983cb
DM
6947 "bps_rd_length" : {
6948 "description" : "Maximum length of read I/O bursts in seconds.",
6949 "format_description" : "seconds",
6950 "minimum" : 1,
6951 "optional" : 1,
6952 "type" : "integer"
6953 },
44660702 6954 "bps_wr" : {
de0983cb 6955 "description" : "Maximum write speed in bytes per second.",
44660702 6956 "format_description" : "bps",
56122987 6957 "optional" : 1,
44660702
DM
6958 "type" : "integer"
6959 },
de0983cb
DM
6960 "bps_wr_length" : {
6961 "description" : "Maximum length of write I/O bursts in seconds.",
6962 "format_description" : "seconds",
6963 "minimum" : 1,
6964 "optional" : 1,
6965 "type" : "integer"
6966 },
44660702
DM
6967 "cache" : {
6968 "description" : "The drive's cache mode",
56122987 6969 "enum" : [
44660702
DM
6970 "none",
6971 "writethrough",
6972 "writeback",
6973 "unsafe",
6974 "directsync"
56122987 6975 ],
56122987 6976 "optional" : 1,
44660702 6977 "type" : "string"
56122987 6978 },
44660702
DM
6979 "cyls" : {
6980 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 6981 "optional" : 1,
44660702 6982 "type" : "integer"
7aacca6f 6983 },
44660702
DM
6984 "detect_zeroes" : {
6985 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6986 "optional" : 1,
6987 "type" : "boolean"
7aacca6f 6988 },
44660702
DM
6989 "discard" : {
6990 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6991 "enum" : [
6992 "ignore",
6993 "on"
6994 ],
56122987 6995 "optional" : 1,
44660702 6996 "type" : "string"
56122987
DM
6997 },
6998 "file" : {
7aacca6f 6999 "default_key" : 1,
44660702 7000 "description" : "The drive's backing volume.",
7aacca6f 7001 "format" : "pve-volume-id-or-qm-path",
44660702
DM
7002 "format_description" : "volume",
7003 "type" : "string"
7aacca6f
DM
7004 },
7005 "format" : {
7aacca6f
DM
7006 "description" : "The drive's backing file's data format.",
7007 "enum" : [
7008 "raw",
7009 "cow",
7010 "qcow",
7011 "qed",
7012 "qcow2",
7013 "vmdk",
7014 "cloop"
56122987
DM
7015 ],
7016 "optional" : 1,
56122987
DM
7017 "type" : "string"
7018 },
44660702
DM
7019 "heads" : {
7020 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7021 "optional" : 1,
44660702 7022 "type" : "integer"
56122987 7023 },
44660702 7024 "iops" : {
de0983cb 7025 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7026 "format_description" : "iops",
56122987 7027 "optional" : 1,
44660702 7028 "type" : "integer"
56122987 7029 },
44660702 7030 "iops_max" : {
de0983cb 7031 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7032 "format_description" : "iops",
56122987 7033 "optional" : 1,
56122987
DM
7034 "type" : "integer"
7035 },
de0983cb
DM
7036 "iops_max_length" : {
7037 "description" : "Maximum length of I/O bursts in seconds.",
7038 "format_description" : "seconds",
7039 "minimum" : 1,
7040 "optional" : 1,
7041 "type" : "integer"
7042 },
44660702 7043 "iops_rd" : {
de0983cb 7044 "description" : "Maximum read I/O in operations per second.",
44660702 7045 "format_description" : "iops",
56122987 7046 "optional" : 1,
44660702 7047 "type" : "integer"
56122987 7048 },
de0983cb
DM
7049 "iops_rd_length" : {
7050 "description" : "Maximum length of read I/O bursts in seconds.",
7051 "format_description" : "seconds",
7052 "minimum" : 1,
7053 "optional" : 1,
7054 "type" : "integer"
7055 },
44660702 7056 "iops_rd_max" : {
de0983cb 7057 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7058 "format_description" : "iops",
7aacca6f 7059 "optional" : 1,
44660702 7060 "type" : "integer"
56122987 7061 },
44660702 7062 "iops_wr" : {
de0983cb 7063 "description" : "Maximum write I/O in operations per second.",
44660702 7064 "format_description" : "iops",
7aacca6f 7065 "optional" : 1,
44660702 7066 "type" : "integer"
56122987 7067 },
de0983cb
DM
7068 "iops_wr_length" : {
7069 "description" : "Maximum length of write I/O bursts in seconds.",
7070 "format_description" : "seconds",
7071 "minimum" : 1,
7072 "optional" : 1,
7073 "type" : "integer"
7074 },
44660702 7075 "iops_wr_max" : {
de0983cb 7076 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7077 "format_description" : "iops",
56122987
DM
7078 "optional" : 1,
7079 "type" : "integer"
7080 },
44660702
DM
7081 "iothread" : {
7082 "description" : "Whether to use iothreads for this drive",
44660702
DM
7083 "optional" : 1,
7084 "type" : "boolean"
7085 },
7086 "mbps" : {
de0983cb 7087 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7088 "format_description" : "mbps",
44660702
DM
7089 "optional" : 1,
7090 "type" : "number"
7091 },
7092 "mbps_max" : {
de0983cb 7093 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7094 "format_description" : "mbps",
7095 "optional" : 1,
7096 "type" : "number"
7aacca6f 7097 },
44660702 7098 "mbps_rd" : {
de0983cb 7099 "description" : "Maximum read speed in megabytes per second.",
44660702 7100 "format_description" : "mbps",
56122987 7101 "optional" : 1,
44660702 7102 "type" : "number"
56122987 7103 },
44660702 7104 "mbps_rd_max" : {
de0983cb 7105 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 7106 "format_description" : "mbps",
7aacca6f 7107 "optional" : 1,
44660702 7108 "type" : "number"
56122987 7109 },
44660702 7110 "mbps_wr" : {
de0983cb 7111 "description" : "Maximum write speed in megabytes per second.",
44660702 7112 "format_description" : "mbps",
56122987 7113 "optional" : 1,
44660702 7114 "type" : "number"
56122987 7115 },
44660702 7116 "mbps_wr_max" : {
de0983cb 7117 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7118 "format_description" : "mbps",
56122987 7119 "optional" : 1,
44660702 7120 "type" : "number"
56122987
DM
7121 },
7122 "media" : {
7aacca6f 7123 "default" : "disk",
44660702 7124 "description" : "The drive's media type.",
56122987
DM
7125 "enum" : [
7126 "cdrom",
7127 "disk"
7128 ],
44660702
DM
7129 "optional" : 1,
7130 "type" : "string"
56122987 7131 },
7aacca6f 7132 "rerror" : {
44660702 7133 "description" : "Read error action.",
56122987 7134 "enum" : [
7aacca6f
DM
7135 "ignore",
7136 "report",
7137 "stop"
56122987 7138 ],
56122987 7139 "optional" : 1,
44660702 7140 "type" : "string"
56122987 7141 },
44660702
DM
7142 "secs" : {
7143 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7144 "optional" : 1,
7145 "type" : "integer"
7146 },
7147 "serial" : {
7148 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7149 "format" : "urlencoded",
7150 "format_description" : "serial",
7151 "maxLength" : 60,
56122987 7152 "optional" : 1,
7aacca6f 7153 "type" : "string"
56122987 7154 },
44660702
DM
7155 "size" : {
7156 "description" : "Disk size. This is purely informational and has no effect.",
7157 "format" : "disk-size",
f004f5b9 7158 "format_description" : "DiskSize",
56122987 7159 "optional" : 1,
44660702 7160 "type" : "string"
56122987 7161 },
44660702
DM
7162 "snapshot" : {
7163 "description" : "Whether the drive should be included when making snapshots.",
56122987 7164 "optional" : 1,
44660702 7165 "type" : "boolean"
56122987 7166 },
44660702
DM
7167 "trans" : {
7168 "description" : "Force disk geometry bios translation mode.",
7169 "enum" : [
7170 "none",
7171 "lba",
7172 "auto"
7173 ],
44660702
DM
7174 "optional" : 1,
7175 "type" : "string"
7176 },
7177 "volume" : {
7178 "alias" : "file"
7179 },
7180 "werror" : {
7181 "description" : "Write error action.",
7182 "enum" : [
7183 "enospc",
7184 "ignore",
7185 "report",
7186 "stop"
7187 ],
56122987 7188 "optional" : 1,
44660702 7189 "type" : "string"
56122987 7190 }
44660702 7191 },
56122987 7192 "optional" : 1,
4bd7df8b 7193 "type" : "string",
013dc89f 7194 "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 7195 },
7aacca6f
DM
7196 "vmid" : {
7197 "description" : "The (unique) ID of the VM.",
7aacca6f 7198 "format" : "pve-vmid",
44660702 7199 "minimum" : 1,
4bd7df8b 7200 "type" : "integer",
013dc89f 7201 "typetext" : "<integer> (1 - N)"
56122987 7202 },
44660702 7203 "watchdog" : {
c2993fe5 7204 "description" : "Create a virtual hardware watchdog device.",
44660702 7205 "format" : "pve-qm-watchdog",
56122987 7206 "optional" : 1,
c2993fe5 7207 "type" : "string",
013dc89f 7208 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 7209 "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 7210 }
44660702 7211 }
56122987 7212 },
7aacca6f
DM
7213 "permissions" : {
7214 "check" : [
7215 "perm",
7216 "/vms/{vmid}",
7217 [
44660702
DM
7218 "VM.Config.Disk",
7219 "VM.Config.CDROM",
7220 "VM.Config.CPU",
7221 "VM.Config.Memory",
7222 "VM.Config.Network",
7223 "VM.Config.HWType",
7224 "VM.Config.Options"
7225 ],
7226 "any",
7227 1
7aacca6f 7228 ]
56122987 7229 },
44660702 7230 "protected" : 1,
7aacca6f 7231 "proxyto" : "node",
44660702
DM
7232 "returns" : {
7233 "optional" : 1,
7234 "type" : "string"
7235 }
56122987 7236 },
7aacca6f 7237 "PUT" : {
44660702
DM
7238 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7239 "method" : "PUT",
7240 "name" : "update_vm",
56122987 7241 "parameters" : {
7aacca6f 7242 "additionalProperties" : 0,
56122987 7243 "properties" : {
44660702
DM
7244 "acpi" : {
7245 "default" : 1,
7246 "description" : "Enable/disable ACPI.",
7aacca6f 7247 "optional" : 1,
013dc89f
DM
7248 "type" : "boolean",
7249 "typetext" : "<boolean>"
7aacca6f 7250 },
44660702
DM
7251 "agent" : {
7252 "default" : 0,
7253 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7254 "optional" : 1,
013dc89f
DM
7255 "type" : "boolean",
7256 "typetext" : "<boolean>"
56122987 7257 },
44660702 7258 "args" : {
c2993fe5 7259 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7260 "optional" : 1,
c2993fe5 7261 "type" : "string",
013dc89f 7262 "typetext" : "<string>",
c2993fe5 7263 "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 7264 },
44660702
DM
7265 "autostart" : {
7266 "default" : 0,
7267 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 7268 "optional" : 1,
013dc89f
DM
7269 "type" : "boolean",
7270 "typetext" : "<boolean>"
7aacca6f 7271 },
44660702
DM
7272 "balloon" : {
7273 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7274 "minimum" : 0,
7275 "optional" : 1,
4bd7df8b 7276 "type" : "integer",
013dc89f 7277 "typetext" : "<integer> (0 - N)"
44660702
DM
7278 },
7279 "bios" : {
7280 "default" : "seabios",
7281 "description" : "Select BIOS implementation.",
7aacca6f 7282 "enum" : [
44660702
DM
7283 "seabios",
7284 "ovmf"
7aacca6f 7285 ],
56122987 7286 "optional" : 1,
7aacca6f
DM
7287 "type" : "string"
7288 },
44660702
DM
7289 "boot" : {
7290 "default" : "cdn",
7291 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7292 "optional" : 1,
44660702
DM
7293 "pattern" : "[acdn]{1,4}",
7294 "type" : "string"
56122987 7295 },
44660702
DM
7296 "bootdisk" : {
7297 "description" : "Enable booting from specified disk.",
7298 "format" : "pve-qm-bootdisk",
7299 "optional" : 1,
7300 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7301 "type" : "string"
7302 },
7303 "cdrom" : {
7304 "description" : "This is an alias for option -ide2",
de0983cb 7305 "format" : "pve-qm-ide",
56122987 7306 "optional" : 1,
7aacca6f 7307 "type" : "string",
013dc89f 7308 "typetext" : "<volume>"
44660702
DM
7309 },
7310 "cores" : {
7311 "default" : 1,
7312 "description" : "The number of cores per socket.",
7313 "minimum" : 1,
7314 "optional" : 1,
4bd7df8b 7315 "type" : "integer",
013dc89f 7316 "typetext" : "<integer> (1 - N)"
44660702
DM
7317 },
7318 "cpu" : {
7319 "description" : "Emulated CPU type.",
7320 "format" : {
7321 "cputype" : {
7322 "default" : "kvm64",
7323 "default_key" : 1,
7324 "description" : "Emulated CPU type.",
7325 "enum" : [
7326 "486",
7327 "athlon",
f004f5b9
DM
7328 "Broadwell",
7329 "Broadwell-noTSX",
7330 "Conroe",
44660702 7331 "core2duo",
f004f5b9
DM
7332 "coreduo",
7333 "Haswell",
7334 "Haswell-noTSX",
7335 "host",
7336 "IvyBridge",
44660702
DM
7337 "kvm32",
7338 "kvm64",
44660702 7339 "Nehalem",
44660702
DM
7340 "Opteron_G1",
7341 "Opteron_G2",
7342 "Opteron_G3",
7343 "Opteron_G4",
7344 "Opteron_G5",
f004f5b9
DM
7345 "Penryn",
7346 "pentium",
7347 "pentium2",
7348 "pentium3",
7349 "phenom",
7350 "qemu32",
7351 "qemu64",
7352 "SandyBridge",
7353 "Westmere"
44660702 7354 ],
44660702
DM
7355 "type" : "string"
7356 },
7357 "hidden" : {
7358 "default" : 0,
7359 "description" : "Do not identify as a KVM virtual machine.",
7360 "optional" : 1,
7361 "type" : "boolean"
7362 }
7363 },
7364 "optional" : 1,
4bd7df8b 7365 "type" : "string",
013dc89f 7366 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
7367 },
7368 "cpulimit" : {
7369 "default" : 0,
c2993fe5 7370 "description" : "Limit of CPU usage.",
44660702
DM
7371 "maximum" : 128,
7372 "minimum" : 0,
7373 "optional" : 1,
c2993fe5 7374 "type" : "number",
013dc89f 7375 "typetext" : "<number> (0 - 128)",
c2993fe5 7376 "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
7377 },
7378 "cpuunits" : {
de0983cb 7379 "default" : 1024,
c2993fe5 7380 "description" : "CPU weight for a VM.",
44660702
DM
7381 "maximum" : 500000,
7382 "minimum" : 0,
7383 "optional" : 1,
c2993fe5 7384 "type" : "integer",
013dc89f 7385 "typetext" : "<integer> (0 - 500000)",
c2993fe5 7386 "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
7387 },
7388 "delete" : {
7389 "description" : "A list of settings you want to delete.",
7390 "format" : "pve-configid-list",
7391 "optional" : 1,
013dc89f
DM
7392 "type" : "string",
7393 "typetext" : "<string>"
44660702
DM
7394 },
7395 "description" : {
7396 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7397 "optional" : 1,
013dc89f
DM
7398 "type" : "string",
7399 "typetext" : "<string>"
44660702
DM
7400 },
7401 "digest" : {
7402 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7403 "maxLength" : 40,
7404 "optional" : 1,
013dc89f
DM
7405 "type" : "string",
7406 "typetext" : "<string>"
44660702
DM
7407 },
7408 "force" : {
7409 "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.",
7410 "optional" : 1,
7411 "requires" : "delete",
013dc89f
DM
7412 "type" : "boolean",
7413 "typetext" : "<boolean>"
44660702
DM
7414 },
7415 "freeze" : {
7416 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7417 "optional" : 1,
013dc89f
DM
7418 "type" : "boolean",
7419 "typetext" : "<boolean>"
44660702
DM
7420 },
7421 "hostpci[n]" : {
c2993fe5 7422 "description" : "Map host PCI devices into guest.",
44660702
DM
7423 "format" : "pve-qm-hostpci",
7424 "optional" : 1,
57b78691 7425 "type" : "string",
4bd7df8b 7426 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 7427 "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 7428 },
7aacca6f 7429 "hotplug" : {
7aacca6f 7430 "default" : "network,disk,usb",
44660702
DM
7431 "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'.",
7432 "format" : "pve-hotplug-features",
56122987 7433 "optional" : 1,
013dc89f
DM
7434 "type" : "string",
7435 "typetext" : "<string>"
56122987 7436 },
4bd7df8b
DM
7437 "hugepages" : {
7438 "description" : "Enable/disable hugepages memory.",
7439 "enum" : [
7440 "any",
7441 "2",
7442 "1024"
7443 ],
7444 "optional" : 1,
7445 "type" : "string"
7446 },
56122987 7447 "ide[n]" : {
7aacca6f 7448 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7449 "format" : {
44660702
DM
7450 "aio" : {
7451 "description" : "AIO type to use.",
7452 "enum" : [
7453 "native",
7454 "threads"
7455 ],
56122987 7456 "optional" : 1,
44660702 7457 "type" : "string"
56122987 7458 },
44660702
DM
7459 "backup" : {
7460 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7461 "optional" : 1,
7462 "type" : "boolean"
7463 },
7464 "bps" : {
de0983cb 7465 "description" : "Maximum r/w speed in bytes per second.",
44660702 7466 "format_description" : "bps",
56122987 7467 "optional" : 1,
44660702 7468 "type" : "integer"
56122987 7469 },
de0983cb
DM
7470 "bps_max_length" : {
7471 "description" : "Maximum length of I/O bursts in seconds.",
7472 "format_description" : "seconds",
7473 "minimum" : 1,
7474 "optional" : 1,
7475 "type" : "integer"
7476 },
44660702 7477 "bps_rd" : {
de0983cb 7478 "description" : "Maximum read speed in bytes per second.",
44660702 7479 "format_description" : "bps",
56122987 7480 "optional" : 1,
44660702 7481 "type" : "integer"
56122987 7482 },
de0983cb
DM
7483 "bps_rd_length" : {
7484 "description" : "Maximum length of read I/O bursts in seconds.",
7485 "format_description" : "seconds",
7486 "minimum" : 1,
7487 "optional" : 1,
7488 "type" : "integer"
7489 },
7aacca6f 7490 "bps_wr" : {
de0983cb 7491 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7492 "format_description" : "bps",
7493 "optional" : 1,
7494 "type" : "integer"
7aacca6f 7495 },
de0983cb
DM
7496 "bps_wr_length" : {
7497 "description" : "Maximum length of write I/O bursts in seconds.",
7498 "format_description" : "seconds",
7499 "minimum" : 1,
7500 "optional" : 1,
7501 "type" : "integer"
7502 },
44660702
DM
7503 "cache" : {
7504 "description" : "The drive's cache mode",
7505 "enum" : [
7506 "none",
7507 "writethrough",
7508 "writeback",
7509 "unsafe",
7510 "directsync"
7511 ],
56122987 7512 "optional" : 1,
44660702
DM
7513 "type" : "string"
7514 },
7515 "cyls" : {
7516 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7517 "optional" : 1,
7518 "type" : "integer"
7519 },
7520 "detect_zeroes" : {
7521 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7522 "optional" : 1,
7523 "type" : "boolean"
56122987 7524 },
7aacca6f 7525 "discard" : {
7aacca6f 7526 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 7527 "enum" : [
7aacca6f
DM
7528 "ignore",
7529 "on"
56122987
DM
7530 ],
7531 "optional" : 1,
44660702 7532 "type" : "string"
7aacca6f 7533 },
44660702
DM
7534 "file" : {
7535 "default_key" : 1,
7536 "description" : "The drive's backing volume.",
7537 "format" : "pve-volume-id-or-qm-path",
7538 "format_description" : "volume",
7539 "type" : "string"
7aacca6f
DM
7540 },
7541 "format" : {
44660702 7542 "description" : "The drive's backing file's data format.",
7aacca6f
DM
7543 "enum" : [
7544 "raw",
7545 "cow",
7546 "qcow",
7547 "qed",
7548 "qcow2",
7549 "vmdk",
7550 "cloop"
7551 ],
7aacca6f 7552 "optional" : 1,
44660702 7553 "type" : "string"
56122987 7554 },
7aacca6f 7555 "heads" : {
44660702 7556 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7557 "optional" : 1,
44660702 7558 "type" : "integer"
7aacca6f 7559 },
44660702 7560 "iops" : {
de0983cb 7561 "description" : "Maximum r/w I/O in operations per second.",
44660702 7562 "format_description" : "iops",
7aacca6f 7563 "optional" : 1,
44660702 7564 "type" : "integer"
56122987 7565 },
44660702 7566 "iops_max" : {
de0983cb 7567 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7568 "format_description" : "iops",
56122987 7569 "optional" : 1,
44660702 7570 "type" : "integer"
56122987 7571 },
de0983cb
DM
7572 "iops_max_length" : {
7573 "description" : "Maximum length of I/O bursts in seconds.",
7574 "format_description" : "seconds",
7575 "minimum" : 1,
7576 "optional" : 1,
7577 "type" : "integer"
7578 },
44660702 7579 "iops_rd" : {
de0983cb 7580 "description" : "Maximum read I/O in operations per second.",
44660702 7581 "format_description" : "iops",
56122987 7582 "optional" : 1,
44660702 7583 "type" : "integer"
7aacca6f 7584 },
de0983cb
DM
7585 "iops_rd_length" : {
7586 "description" : "Maximum length of read I/O bursts in seconds.",
7587 "format_description" : "seconds",
7588 "minimum" : 1,
7589 "optional" : 1,
7590 "type" : "integer"
7591 },
44660702 7592 "iops_rd_max" : {
de0983cb 7593 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7594 "format_description" : "iops",
7aacca6f 7595 "optional" : 1,
44660702 7596 "type" : "integer"
7aacca6f 7597 },
44660702 7598 "iops_wr" : {
de0983cb 7599 "description" : "Maximum write I/O in operations per second.",
44660702 7600 "format_description" : "iops",
7aacca6f 7601 "optional" : 1,
44660702 7602 "type" : "integer"
56122987 7603 },
de0983cb
DM
7604 "iops_wr_length" : {
7605 "description" : "Maximum length of write I/O bursts in seconds.",
7606 "format_description" : "seconds",
7607 "minimum" : 1,
7608 "optional" : 1,
7609 "type" : "integer"
7610 },
44660702 7611 "iops_wr_max" : {
de0983cb 7612 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7613 "format_description" : "iops",
7aacca6f 7614 "optional" : 1,
44660702 7615 "type" : "integer"
7aacca6f
DM
7616 },
7617 "mbps" : {
de0983cb 7618 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7619 "format_description" : "mbps",
7aacca6f 7620 "optional" : 1,
44660702 7621 "type" : "number"
7aacca6f 7622 },
44660702 7623 "mbps_max" : {
de0983cb 7624 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 7625 "format_description" : "mbps",
7aacca6f 7626 "optional" : 1,
44660702 7627 "type" : "number"
7aacca6f 7628 },
44660702 7629 "mbps_rd" : {
de0983cb 7630 "description" : "Maximum read speed in megabytes per second.",
44660702 7631 "format_description" : "mbps",
7aacca6f 7632 "optional" : 1,
44660702 7633 "type" : "number"
7aacca6f 7634 },
44660702 7635 "mbps_rd_max" : {
de0983cb 7636 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7637 "format_description" : "mbps",
7638 "optional" : 1,
7639 "type" : "number"
7aacca6f 7640 },
44660702 7641 "mbps_wr" : {
de0983cb 7642 "description" : "Maximum write speed in megabytes per second.",
44660702 7643 "format_description" : "mbps",
7aacca6f 7644 "optional" : 1,
44660702
DM
7645 "type" : "number"
7646 },
7647 "mbps_wr_max" : {
de0983cb 7648 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7649 "format_description" : "mbps",
7650 "optional" : 1,
7651 "type" : "number"
7652 },
7653 "media" : {
7654 "default" : "disk",
7655 "description" : "The drive's media type.",
56122987 7656 "enum" : [
44660702
DM
7657 "cdrom",
7658 "disk"
56122987 7659 ],
44660702
DM
7660 "optional" : 1,
7661 "type" : "string"
56122987 7662 },
7aacca6f 7663 "model" : {
44660702 7664 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 7665 "format" : "urlencoded",
7aacca6f 7666 "format_description" : "model",
44660702 7667 "maxLength" : 120,
56122987 7668 "optional" : 1,
44660702 7669 "type" : "string"
56122987 7670 },
44660702
DM
7671 "rerror" : {
7672 "description" : "Read error action.",
7673 "enum" : [
7674 "ignore",
7675 "report",
7676 "stop"
7677 ],
56122987 7678 "optional" : 1,
44660702 7679 "type" : "string"
56122987 7680 },
44660702
DM
7681 "secs" : {
7682 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7683 "optional" : 1,
7684 "type" : "integer"
56122987 7685 },
44660702
DM
7686 "serial" : {
7687 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7688 "format" : "urlencoded",
7689 "format_description" : "serial",
7690 "maxLength" : 60,
56122987 7691 "optional" : 1,
44660702 7692 "type" : "string"
56122987 7693 },
44660702
DM
7694 "size" : {
7695 "description" : "Disk size. This is purely informational and has no effect.",
7696 "format" : "disk-size",
f004f5b9 7697 "format_description" : "DiskSize",
56122987 7698 "optional" : 1,
44660702 7699 "type" : "string"
56122987 7700 },
44660702
DM
7701 "snapshot" : {
7702 "description" : "Whether the drive should be included when making snapshots.",
56122987 7703 "optional" : 1,
44660702 7704 "type" : "boolean"
56122987 7705 },
44660702
DM
7706 "trans" : {
7707 "description" : "Force disk geometry bios translation mode.",
7708 "enum" : [
7709 "none",
7710 "lba",
7711 "auto"
7712 ],
56122987 7713 "optional" : 1,
44660702
DM
7714 "type" : "string"
7715 },
7716 "volume" : {
7717 "alias" : "file"
56122987 7718 },
7aacca6f 7719 "werror" : {
44660702 7720 "description" : "Write error action.",
7aacca6f
DM
7721 "enum" : [
7722 "enospc",
7723 "ignore",
7724 "report",
7725 "stop"
7726 ],
56122987 7727 "optional" : 1,
44660702 7728 "type" : "string"
7aacca6f 7729 }
44660702
DM
7730 },
7731 "optional" : 1,
4bd7df8b 7732 "type" : "string",
013dc89f 7733 "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 7734 },
44660702
DM
7735 "keyboard" : {
7736 "default" : "en-us",
c2993fe5 7737 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
7738 "enum" : [
7739 "de",
7740 "de-ch",
7741 "da",
7742 "en-gb",
7743 "en-us",
7744 "es",
7745 "fi",
7746 "fr",
7747 "fr-be",
7748 "fr-ca",
7749 "fr-ch",
7750 "hu",
7751 "is",
7752 "it",
7753 "ja",
7754 "lt",
7755 "mk",
7756 "nl",
7757 "no",
7758 "pl",
7759 "pt",
7760 "pt-br",
7761 "sv",
7762 "sl",
7763 "tr"
7764 ],
7aacca6f 7765 "optional" : 1,
44660702 7766 "type" : "string"
7aacca6f 7767 },
44660702 7768 "kvm" : {
7aacca6f 7769 "default" : 1,
44660702 7770 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 7771 "optional" : 1,
013dc89f
DM
7772 "type" : "boolean",
7773 "typetext" : "<boolean>"
7aacca6f 7774 },
44660702
DM
7775 "localtime" : {
7776 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 7777 "optional" : 1,
013dc89f
DM
7778 "type" : "boolean",
7779 "typetext" : "<boolean>"
7aacca6f 7780 },
44660702
DM
7781 "lock" : {
7782 "description" : "Lock/unlock the VM.",
7783 "enum" : [
7784 "migrate",
7785 "backup",
7786 "snapshot",
7787 "rollback"
7788 ],
7aacca6f 7789 "optional" : 1,
44660702 7790 "type" : "string"
7aacca6f 7791 },
44660702
DM
7792 "machine" : {
7793 "description" : "Specific the Qemu machine type.",
7794 "maxLength" : 40,
7aacca6f 7795 "optional" : 1,
44660702
DM
7796 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7797 "type" : "string"
7aacca6f 7798 },
44660702
DM
7799 "memory" : {
7800 "default" : 512,
7801 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7802 "minimum" : 16,
7aacca6f 7803 "optional" : 1,
4bd7df8b 7804 "type" : "integer",
013dc89f 7805 "typetext" : "<integer> (16 - N)"
7aacca6f 7806 },
44660702
DM
7807 "migrate_downtime" : {
7808 "default" : 0.1,
7809 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7810 "minimum" : 0,
7aacca6f 7811 "optional" : 1,
4bd7df8b 7812 "type" : "number",
013dc89f 7813 "typetext" : "<number> (0 - N)"
7aacca6f 7814 },
44660702 7815 "migrate_speed" : {
7aacca6f 7816 "default" : 0,
44660702
DM
7817 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7818 "minimum" : 0,
7819 "optional" : 1,
4bd7df8b 7820 "type" : "integer",
013dc89f 7821 "typetext" : "<integer> (0 - N)"
7aacca6f 7822 },
44660702
DM
7823 "name" : {
7824 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7825 "format" : "dns-name",
7aacca6f 7826 "optional" : 1,
013dc89f
DM
7827 "type" : "string",
7828 "typetext" : "<string>"
7aacca6f 7829 },
44660702 7830 "net[n]" : {
c2993fe5 7831 "description" : "Specify network devices.",
f004f5b9
DM
7832 "format" : {
7833 "bridge" : {
c2993fe5 7834 "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
7835 "format_description" : "bridge",
7836 "optional" : 1,
7837 "type" : "string"
7838 },
7839 "e1000" : {
7840 "alias" : "macaddr",
7841 "keyAlias" : "model"
7842 },
7843 "e1000-82540em" : {
7844 "alias" : "macaddr",
7845 "keyAlias" : "model"
7846 },
7847 "e1000-82544gc" : {
7848 "alias" : "macaddr",
7849 "keyAlias" : "model"
7850 },
7851 "e1000-82545em" : {
7852 "alias" : "macaddr",
7853 "keyAlias" : "model"
7854 },
7855 "firewall" : {
7856 "description" : "Whether this interface should be protected by the firewall.",
7857 "optional" : 1,
7858 "type" : "boolean"
7859 },
7860 "i82551" : {
7861 "alias" : "macaddr",
7862 "keyAlias" : "model"
7863 },
7864 "i82557b" : {
7865 "alias" : "macaddr",
7866 "keyAlias" : "model"
7867 },
7868 "i82559er" : {
7869 "alias" : "macaddr",
7870 "keyAlias" : "model"
7871 },
7872 "link_down" : {
c2993fe5 7873 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
7874 "optional" : 1,
7875 "type" : "boolean"
7876 },
7877 "macaddr" : {
c2993fe5 7878 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 7879 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
7880 "optional" : 1,
7881 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7882 "type" : "string"
7883 },
7884 "model" : {
7885 "default_key" : 1,
c2993fe5 7886 "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
7887 "enum" : [
7888 "rtl8139",
7889 "ne2k_pci",
7890 "e1000",
7891 "pcnet",
7892 "virtio",
7893 "ne2k_isa",
7894 "i82551",
7895 "i82557b",
7896 "i82559er",
7897 "vmxnet3",
7898 "e1000-82540em",
7899 "e1000-82544gc",
7900 "e1000-82545em"
7901 ],
f004f5b9
DM
7902 "type" : "string"
7903 },
7904 "ne2k_isa" : {
7905 "alias" : "macaddr",
7906 "keyAlias" : "model"
7907 },
7908 "ne2k_pci" : {
7909 "alias" : "macaddr",
7910 "keyAlias" : "model"
7911 },
7912 "pcnet" : {
7913 "alias" : "macaddr",
7914 "keyAlias" : "model"
7915 },
7916 "queues" : {
7917 "description" : "Number of packet queues to be used on the device.",
7918 "maximum" : 16,
7919 "minimum" : 0,
7920 "optional" : 1,
7921 "type" : "integer"
7922 },
7923 "rate" : {
c2993fe5 7924 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
7925 "minimum" : 0,
7926 "optional" : 1,
7927 "type" : "number"
7928 },
7929 "rtl8139" : {
7930 "alias" : "macaddr",
7931 "keyAlias" : "model"
7932 },
7933 "tag" : {
7934 "description" : "VLAN tag to apply to packets on this interface.",
7935 "maximum" : 4094,
c2993fe5 7936 "minimum" : 1,
f004f5b9
DM
7937 "optional" : 1,
7938 "type" : "integer"
7939 },
7940 "trunks" : {
7941 "description" : "VLAN trunks to pass through this interface.",
7942 "format_description" : "vlanid[;vlanid...]",
7943 "optional" : 1,
7944 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7945 "type" : "string"
7946 },
7947 "virtio" : {
7948 "alias" : "macaddr",
7949 "keyAlias" : "model"
7950 },
7951 "vmxnet3" : {
7952 "alias" : "macaddr",
7953 "keyAlias" : "model"
7954 }
7955 },
7aacca6f 7956 "optional" : 1,
4bd7df8b 7957 "type" : "string",
013dc89f 7958 "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 7959 },
44660702
DM
7960 "node" : {
7961 "description" : "The cluster node name.",
7962 "format" : "pve-node",
013dc89f
DM
7963 "type" : "string",
7964 "typetext" : "<string>"
44660702
DM
7965 },
7966 "numa" : {
7967 "default" : 0,
7968 "description" : "Enable/disable NUMA.",
7aacca6f 7969 "optional" : 1,
013dc89f
DM
7970 "type" : "boolean",
7971 "typetext" : "<boolean>"
7aacca6f 7972 },
44660702 7973 "numa[n]" : {
c2993fe5 7974 "description" : "NUMA topology.",
44660702
DM
7975 "format" : {
7976 "cpus" : {
c2993fe5 7977 "description" : "CPUs accessing this NUMA node.",
44660702
DM
7978 "format_description" : "id[-id];...",
7979 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7980 "type" : "string"
7981 },
7982 "hostnodes" : {
c2993fe5 7983 "description" : "Host NUMA nodes to use.",
44660702
DM
7984 "format_description" : "id[-id];...",
7985 "optional" : 1,
7986 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
7987 "type" : "string"
7988 },
7989 "memory" : {
c2993fe5 7990 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
7991 "optional" : 1,
7992 "type" : "number"
7993 },
7994 "policy" : {
c2993fe5 7995 "description" : "NUMA allocation policy.",
44660702
DM
7996 "enum" : [
7997 "preferred",
7998 "bind",
7999 "interleave"
8000 ],
44660702
DM
8001 "optional" : 1,
8002 "type" : "string"
8003 }
8004 },
7aacca6f 8005 "optional" : 1,
4bd7df8b
DM
8006 "type" : "string",
8007 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 8008 },
44660702
DM
8009 "onboot" : {
8010 "default" : 0,
8011 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 8012 "optional" : 1,
013dc89f
DM
8013 "type" : "boolean",
8014 "typetext" : "<boolean>"
7aacca6f 8015 },
44660702 8016 "ostype" : {
c2993fe5 8017 "description" : "Specify guest operating system.",
44660702
DM
8018 "enum" : [
8019 "other",
8020 "wxp",
8021 "w2k",
8022 "w2k3",
8023 "w2k8",
8024 "wvista",
8025 "win7",
8026 "win8",
8027 "l24",
8028 "l26",
8029 "solaris"
8030 ],
7aacca6f 8031 "optional" : 1,
c2993fe5
DM
8032 "type" : "string",
8033 "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 8034 },
44660702 8035 "parallel[n]" : {
c2993fe5 8036 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8037 "optional" : 1,
44660702 8038 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8039 "type" : "string",
8040 "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 8041 },
44660702
DM
8042 "protection" : {
8043 "default" : 0,
c2993fe5 8044 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8045 "optional" : 1,
013dc89f
DM
8046 "type" : "boolean",
8047 "typetext" : "<boolean>"
7aacca6f 8048 },
44660702
DM
8049 "reboot" : {
8050 "default" : 1,
8051 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8052 "optional" : 1,
013dc89f
DM
8053 "type" : "boolean",
8054 "typetext" : "<boolean>"
7aacca6f 8055 },
44660702
DM
8056 "revert" : {
8057 "description" : "Revert a pending change.",
8058 "format" : "pve-configid-list",
7aacca6f 8059 "optional" : 1,
013dc89f
DM
8060 "type" : "string",
8061 "typetext" : "<string>"
7aacca6f 8062 },
44660702
DM
8063 "sata[n]" : {
8064 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 8065 "format" : {
44660702
DM
8066 "aio" : {
8067 "description" : "AIO type to use.",
8068 "enum" : [
8069 "native",
8070 "threads"
8071 ],
44660702
DM
8072 "optional" : 1,
8073 "type" : "string"
8074 },
8075 "backup" : {
8076 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8077 "optional" : 1,
8078 "type" : "boolean"
8079 },
8080 "bps" : {
de0983cb 8081 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 8082 "format_description" : "bps",
7aacca6f
DM
8083 "optional" : 1,
8084 "type" : "integer"
56122987 8085 },
de0983cb
DM
8086 "bps_max_length" : {
8087 "description" : "Maximum length of I/O bursts in seconds.",
8088 "format_description" : "seconds",
8089 "minimum" : 1,
8090 "optional" : 1,
8091 "type" : "integer"
8092 },
44660702 8093 "bps_rd" : {
de0983cb 8094 "description" : "Maximum read speed in bytes per second.",
44660702 8095 "format_description" : "bps",
7aacca6f 8096 "optional" : 1,
44660702 8097 "type" : "integer"
7aacca6f 8098 },
de0983cb
DM
8099 "bps_rd_length" : {
8100 "description" : "Maximum length of read I/O bursts in seconds.",
8101 "format_description" : "seconds",
8102 "minimum" : 1,
8103 "optional" : 1,
8104 "type" : "integer"
8105 },
44660702 8106 "bps_wr" : {
de0983cb 8107 "description" : "Maximum write speed in bytes per second.",
44660702 8108 "format_description" : "bps",
7aacca6f 8109 "optional" : 1,
44660702 8110 "type" : "integer"
7aacca6f 8111 },
de0983cb
DM
8112 "bps_wr_length" : {
8113 "description" : "Maximum length of write I/O bursts in seconds.",
8114 "format_description" : "seconds",
8115 "minimum" : 1,
8116 "optional" : 1,
8117 "type" : "integer"
8118 },
44660702
DM
8119 "cache" : {
8120 "description" : "The drive's cache mode",
8121 "enum" : [
8122 "none",
8123 "writethrough",
8124 "writeback",
8125 "unsafe",
8126 "directsync"
8127 ],
7aacca6f 8128 "optional" : 1,
44660702 8129 "type" : "string"
7aacca6f 8130 },
44660702
DM
8131 "cyls" : {
8132 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8133 "optional" : 1,
44660702 8134 "type" : "integer"
7aacca6f 8135 },
44660702
DM
8136 "detect_zeroes" : {
8137 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 8138 "optional" : 1,
44660702 8139 "type" : "boolean"
7aacca6f 8140 },
44660702
DM
8141 "discard" : {
8142 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8143 "enum" : [
8144 "ignore",
8145 "on"
8146 ],
7aacca6f 8147 "optional" : 1,
44660702
DM
8148 "type" : "string"
8149 },
8150 "file" : {
8151 "default_key" : 1,
8152 "description" : "The drive's backing volume.",
8153 "format" : "pve-volume-id-or-qm-path",
8154 "format_description" : "volume",
8155 "type" : "string"
7aacca6f
DM
8156 },
8157 "format" : {
7aacca6f 8158 "description" : "The drive's backing file's data format.",
56122987
DM
8159 "enum" : [
8160 "raw",
8161 "cow",
8162 "qcow",
8163 "qed",
8164 "qcow2",
8165 "vmdk",
8166 "cloop"
8167 ],
8168 "optional" : 1,
7aacca6f 8169 "type" : "string"
56122987 8170 },
7aacca6f 8171 "heads" : {
7aacca6f 8172 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8173 "optional" : 1,
8174 "type" : "integer"
56122987 8175 },
44660702 8176 "iops" : {
de0983cb 8177 "description" : "Maximum r/w I/O in operations per second.",
44660702 8178 "format_description" : "iops",
56122987 8179 "optional" : 1,
44660702 8180 "type" : "integer"
7aacca6f 8181 },
44660702 8182 "iops_max" : {
de0983cb 8183 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8184 "format_description" : "iops",
7aacca6f 8185 "optional" : 1,
44660702 8186 "type" : "integer"
56122987 8187 },
de0983cb
DM
8188 "iops_max_length" : {
8189 "description" : "Maximum length of I/O bursts in seconds.",
8190 "format_description" : "seconds",
8191 "minimum" : 1,
8192 "optional" : 1,
8193 "type" : "integer"
8194 },
44660702 8195 "iops_rd" : {
de0983cb 8196 "description" : "Maximum read I/O in operations per second.",
44660702 8197 "format_description" : "iops",
56122987 8198 "optional" : 1,
44660702 8199 "type" : "integer"
7aacca6f 8200 },
de0983cb
DM
8201 "iops_rd_length" : {
8202 "description" : "Maximum length of read I/O bursts in seconds.",
8203 "format_description" : "seconds",
8204 "minimum" : 1,
8205 "optional" : 1,
8206 "type" : "integer"
8207 },
44660702 8208 "iops_rd_max" : {
de0983cb 8209 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8210 "format_description" : "iops",
56122987 8211 "optional" : 1,
44660702 8212 "type" : "integer"
56122987 8213 },
44660702 8214 "iops_wr" : {
de0983cb 8215 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8216 "format_description" : "iops",
8217 "optional" : 1,
8218 "type" : "integer"
56122987 8219 },
de0983cb
DM
8220 "iops_wr_length" : {
8221 "description" : "Maximum length of write I/O bursts in seconds.",
8222 "format_description" : "seconds",
8223 "minimum" : 1,
8224 "optional" : 1,
8225 "type" : "integer"
8226 },
44660702 8227 "iops_wr_max" : {
de0983cb 8228 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8229 "format_description" : "iops",
8230 "optional" : 1,
8231 "type" : "integer"
8232 },
8233 "mbps" : {
de0983cb 8234 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8235 "format_description" : "mbps",
8236 "optional" : 1,
8237 "type" : "number"
8238 },
8239 "mbps_max" : {
de0983cb 8240 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8241 "format_description" : "mbps",
8242 "optional" : 1,
8243 "type" : "number"
8244 },
8245 "mbps_rd" : {
de0983cb 8246 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8247 "format_description" : "mbps",
8248 "optional" : 1,
8249 "type" : "number"
8250 },
8251 "mbps_rd_max" : {
de0983cb 8252 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8253 "format_description" : "mbps",
8254 "optional" : 1,
8255 "type" : "number"
8256 },
8257 "mbps_wr" : {
de0983cb 8258 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8259 "format_description" : "mbps",
8260 "optional" : 1,
8261 "type" : "number"
8262 },
8263 "mbps_wr_max" : {
de0983cb 8264 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8265 "format_description" : "mbps",
8266 "optional" : 1,
8267 "type" : "number"
8268 },
8269 "media" : {
8270 "default" : "disk",
8271 "description" : "The drive's media type.",
8272 "enum" : [
8273 "cdrom",
8274 "disk"
8275 ],
56122987 8276 "optional" : 1,
44660702
DM
8277 "type" : "string"
8278 },
8279 "rerror" : {
7aacca6f
DM
8280 "description" : "Read error action.",
8281 "enum" : [
8282 "ignore",
8283 "report",
8284 "stop"
44660702 8285 ],
56122987 8286 "optional" : 1,
44660702 8287 "type" : "string"
56122987 8288 },
7aacca6f 8289 "secs" : {
44660702 8290 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8291 "optional" : 1,
44660702 8292 "type" : "integer"
56122987 8293 },
44660702
DM
8294 "serial" : {
8295 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8296 "format" : "urlencoded",
8297 "format_description" : "serial",
8298 "maxLength" : 60,
56122987 8299 "optional" : 1,
44660702 8300 "type" : "string"
56122987 8301 },
44660702
DM
8302 "size" : {
8303 "description" : "Disk size. This is purely informational and has no effect.",
8304 "format" : "disk-size",
f004f5b9 8305 "format_description" : "DiskSize",
56122987 8306 "optional" : 1,
44660702 8307 "type" : "string"
56122987
DM
8308 },
8309 "snapshot" : {
7aacca6f 8310 "description" : "Whether the drive should be included when making snapshots.",
56122987 8311 "optional" : 1,
44660702 8312 "type" : "boolean"
56122987 8313 },
56122987 8314 "trans" : {
7aacca6f 8315 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8316 "enum" : [
8317 "none",
8318 "lba",
8319 "auto"
8320 ],
8321 "optional" : 1,
44660702 8322 "type" : "string"
56122987 8323 },
44660702
DM
8324 "volume" : {
8325 "alias" : "file"
56122987 8326 },
7aacca6f 8327 "werror" : {
44660702 8328 "description" : "Write error action.",
56122987 8329 "enum" : [
7aacca6f 8330 "enospc",
56122987 8331 "ignore",
7aacca6f
DM
8332 "report",
8333 "stop"
8334 ],
7aacca6f 8335 "optional" : 1,
44660702
DM
8336 "type" : "string"
8337 }
8338 },
8339 "optional" : 1,
4bd7df8b 8340 "type" : "string",
013dc89f 8341 "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
8342 },
8343 "scsi[n]" : {
8344 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8345 "format" : {
8346 "aio" : {
7aacca6f 8347 "description" : "AIO type to use.",
56122987
DM
8348 "enum" : [
8349 "native",
8350 "threads"
44660702 8351 ],
56122987 8352 "optional" : 1,
44660702 8353 "type" : "string"
56122987 8354 },
7aacca6f 8355 "backup" : {
7aacca6f 8356 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8357 "optional" : 1,
44660702 8358 "type" : "boolean"
56122987 8359 },
44660702 8360 "bps" : {
de0983cb 8361 "description" : "Maximum r/w speed in bytes per second.",
44660702 8362 "format_description" : "bps",
7aacca6f 8363 "optional" : 1,
44660702 8364 "type" : "integer"
7aacca6f 8365 },
de0983cb
DM
8366 "bps_max_length" : {
8367 "description" : "Maximum length of I/O bursts in seconds.",
8368 "format_description" : "seconds",
8369 "minimum" : 1,
8370 "optional" : 1,
8371 "type" : "integer"
8372 },
44660702 8373 "bps_rd" : {
de0983cb 8374 "description" : "Maximum read speed in bytes per second.",
44660702 8375 "format_description" : "bps",
56122987 8376 "optional" : 1,
44660702 8377 "type" : "integer"
56122987 8378 },
de0983cb
DM
8379 "bps_rd_length" : {
8380 "description" : "Maximum length of read I/O bursts in seconds.",
8381 "format_description" : "seconds",
8382 "minimum" : 1,
8383 "optional" : 1,
8384 "type" : "integer"
8385 },
44660702 8386 "bps_wr" : {
de0983cb 8387 "description" : "Maximum write speed in bytes per second.",
44660702 8388 "format_description" : "bps",
56122987 8389 "optional" : 1,
44660702 8390 "type" : "integer"
56122987 8391 },
de0983cb
DM
8392 "bps_wr_length" : {
8393 "description" : "Maximum length of write I/O bursts in seconds.",
8394 "format_description" : "seconds",
8395 "minimum" : 1,
8396 "optional" : 1,
8397 "type" : "integer"
8398 },
44660702
DM
8399 "cache" : {
8400 "description" : "The drive's cache mode",
8401 "enum" : [
8402 "none",
8403 "writethrough",
8404 "writeback",
8405 "unsafe",
8406 "directsync"
8407 ],
56122987 8408 "optional" : 1,
44660702
DM
8409 "type" : "string"
8410 },
8411 "cyls" : {
8412 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8413 "optional" : 1,
8414 "type" : "integer"
8415 },
8416 "detect_zeroes" : {
8417 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8418 "optional" : 1,
8419 "type" : "boolean"
8420 },
8421 "discard" : {
8422 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8423 "enum" : [
8424 "ignore",
8425 "on"
8426 ],
44660702
DM
8427 "optional" : 1,
8428 "type" : "string"
8429 },
8430 "file" : {
8431 "default_key" : 1,
8432 "description" : "The drive's backing volume.",
8433 "format" : "pve-volume-id-or-qm-path",
8434 "format_description" : "volume",
8435 "type" : "string"
56122987 8436 },
7aacca6f 8437 "format" : {
44660702 8438 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8439 "enum" : [
8440 "raw",
8441 "cow",
8442 "qcow",
8443 "qed",
8444 "qcow2",
8445 "vmdk",
8446 "cloop"
8447 ],
56122987 8448 "optional" : 1,
44660702 8449 "type" : "string"
56122987 8450 },
44660702
DM
8451 "heads" : {
8452 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8453 "optional" : 1,
44660702 8454 "type" : "integer"
56122987 8455 },
44660702 8456 "iops" : {
de0983cb 8457 "description" : "Maximum r/w I/O in operations per second.",
44660702 8458 "format_description" : "iops",
7aacca6f 8459 "optional" : 1,
44660702 8460 "type" : "integer"
56122987 8461 },
44660702 8462 "iops_max" : {
de0983cb 8463 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 8464 "format_description" : "iops",
7aacca6f 8465 "optional" : 1,
44660702 8466 "type" : "integer"
56122987 8467 },
de0983cb
DM
8468 "iops_max_length" : {
8469 "description" : "Maximum length of I/O bursts in seconds.",
8470 "format_description" : "seconds",
8471 "minimum" : 1,
8472 "optional" : 1,
8473 "type" : "integer"
8474 },
44660702 8475 "iops_rd" : {
de0983cb 8476 "description" : "Maximum read I/O in operations per second.",
44660702 8477 "format_description" : "iops",
56122987 8478 "optional" : 1,
44660702 8479 "type" : "integer"
56122987 8480 },
de0983cb
DM
8481 "iops_rd_length" : {
8482 "description" : "Maximum length of read I/O bursts in seconds.",
8483 "format_description" : "seconds",
8484 "minimum" : 1,
8485 "optional" : 1,
8486 "type" : "integer"
8487 },
44660702 8488 "iops_rd_max" : {
de0983cb 8489 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8490 "format_description" : "iops",
56122987 8491 "optional" : 1,
44660702 8492 "type" : "integer"
56122987 8493 },
44660702 8494 "iops_wr" : {
de0983cb 8495 "description" : "Maximum write I/O in operations per second.",
44660702 8496 "format_description" : "iops",
56122987 8497 "optional" : 1,
44660702 8498 "type" : "integer"
56122987 8499 },
de0983cb
DM
8500 "iops_wr_length" : {
8501 "description" : "Maximum length of write I/O bursts in seconds.",
8502 "format_description" : "seconds",
8503 "minimum" : 1,
8504 "optional" : 1,
8505 "type" : "integer"
8506 },
44660702 8507 "iops_wr_max" : {
de0983cb 8508 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 8509 "format_description" : "iops",
44660702
DM
8510 "optional" : 1,
8511 "type" : "integer"
7aacca6f
DM
8512 },
8513 "iothread" : {
44660702 8514 "description" : "Whether to use iothreads for this drive",
56122987 8515 "optional" : 1,
44660702 8516 "type" : "boolean"
56122987 8517 },
44660702 8518 "mbps" : {
de0983cb 8519 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8520 "format_description" : "mbps",
56122987 8521 "optional" : 1,
44660702 8522 "type" : "number"
56122987 8523 },
44660702 8524 "mbps_max" : {
de0983cb 8525 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8526 "format_description" : "mbps",
56122987 8527 "optional" : 1,
44660702 8528 "type" : "number"
56122987 8529 },
44660702 8530 "mbps_rd" : {
de0983cb 8531 "description" : "Maximum read speed in megabytes per second.",
44660702 8532 "format_description" : "mbps",
7aacca6f 8533 "optional" : 1,
44660702 8534 "type" : "number"
56122987 8535 },
44660702 8536 "mbps_rd_max" : {
de0983cb 8537 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8538 "format_description" : "mbps",
7aacca6f 8539 "optional" : 1,
44660702 8540 "type" : "number"
7aacca6f 8541 },
44660702 8542 "mbps_wr" : {
de0983cb 8543 "description" : "Maximum write speed in megabytes per second.",
44660702 8544 "format_description" : "mbps",
56122987 8545 "optional" : 1,
44660702 8546 "type" : "number"
56122987 8547 },
44660702 8548 "mbps_wr_max" : {
de0983cb 8549 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8550 "format_description" : "mbps",
56122987 8551 "optional" : 1,
44660702
DM
8552 "type" : "number"
8553 },
8554 "media" : {
8555 "default" : "disk",
8556 "description" : "The drive's media type.",
7aacca6f 8557 "enum" : [
44660702
DM
8558 "cdrom",
8559 "disk"
7aacca6f 8560 ],
56122987 8561 "optional" : 1,
44660702 8562 "type" : "string"
56122987 8563 },
7aacca6f 8564 "queues" : {
44660702 8565 "description" : "Number of queues.",
7aacca6f 8566 "minimum" : 2,
7aacca6f
DM
8567 "optional" : 1,
8568 "type" : "integer"
56122987 8569 },
44660702
DM
8570 "secs" : {
8571 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8572 "optional" : 1,
44660702 8573 "type" : "integer"
56122987 8574 },
44660702
DM
8575 "serial" : {
8576 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8577 "format" : "urlencoded",
8578 "format_description" : "serial",
8579 "maxLength" : 60,
56122987 8580 "optional" : 1,
44660702 8581 "type" : "string"
56122987 8582 },
44660702
DM
8583 "size" : {
8584 "description" : "Disk size. This is purely informational and has no effect.",
8585 "format" : "disk-size",
f004f5b9 8586 "format_description" : "DiskSize",
44660702
DM
8587 "optional" : 1,
8588 "type" : "string"
8589 },
8590 "snapshot" : {
8591 "description" : "Whether the drive should be included when making snapshots.",
56122987 8592 "optional" : 1,
44660702
DM
8593 "type" : "boolean"
8594 },
8595 "trans" : {
8596 "description" : "Force disk geometry bios translation mode.",
56122987 8597 "enum" : [
44660702
DM
8598 "none",
8599 "lba",
8600 "auto"
56122987 8601 ],
44660702
DM
8602 "optional" : 1,
8603 "type" : "string"
8604 },
8605 "volume" : {
8606 "alias" : "file"
56122987 8607 },
7aacca6f 8608 "werror" : {
7aacca6f
DM
8609 "description" : "Write error action.",
8610 "enum" : [
8611 "enospc",
8612 "ignore",
8613 "report",
8614 "stop"
44660702 8615 ],
56122987 8616 "optional" : 1,
7aacca6f 8617 "type" : "string"
56122987 8618 }
44660702 8619 },
56122987 8620 "optional" : 1,
4bd7df8b 8621 "type" : "string",
013dc89f 8622 "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
8623 },
8624 "scsihw" : {
44660702 8625 "default" : "lsi",
c2993fe5 8626 "description" : "SCSI controller model",
56122987
DM
8627 "enum" : [
8628 "lsi",
8629 "lsi53c810",
8630 "virtio-scsi-pci",
8631 "virtio-scsi-single",
8632 "megasas",
8633 "pvscsi"
8634 ],
8635 "optional" : 1,
56122987
DM
8636 "type" : "string"
8637 },
44660702 8638 "serial[n]" : {
c2993fe5 8639 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 8640 "optional" : 1,
44660702 8641 "pattern" : "(/dev/.+|socket)",
c2993fe5 8642 "type" : "string",
57b78691 8643 "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 8644 },
44660702
DM
8645 "shares" : {
8646 "default" : 1000,
8647 "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",
8648 "maximum" : 50000,
8649 "minimum" : 0,
7aacca6f 8650 "optional" : 1,
4bd7df8b 8651 "type" : "integer",
013dc89f 8652 "typetext" : "<integer> (0 - 50000)"
56122987 8653 },
7aacca6f
DM
8654 "skiplock" : {
8655 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 8656 "optional" : 1,
013dc89f
DM
8657 "type" : "boolean",
8658 "typetext" : "<boolean>"
56122987 8659 },
44660702
DM
8660 "smbios1" : {
8661 "description" : "Specify SMBIOS type 1 fields.",
8662 "format" : "pve-qm-smbios1",
8663 "maxLength" : 256,
56122987 8664 "optional" : 1,
4bd7df8b
DM
8665 "type" : "string",
8666 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 8667 },
44660702
DM
8668 "smp" : {
8669 "default" : 1,
8670 "description" : "The number of CPUs. Please use option -sockets instead.",
8671 "minimum" : 1,
56122987 8672 "optional" : 1,
4bd7df8b 8673 "type" : "integer",
013dc89f 8674 "typetext" : "<integer> (1 - N)"
56122987 8675 },
44660702
DM
8676 "sockets" : {
8677 "default" : 1,
8678 "description" : "The number of CPU sockets.",
8679 "minimum" : 1,
56122987 8680 "optional" : 1,
4bd7df8b 8681 "type" : "integer",
013dc89f 8682 "typetext" : "<integer> (1 - N)"
56122987 8683 },
44660702
DM
8684 "startdate" : {
8685 "default" : "now",
8686 "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'.",
8687 "optional" : 1,
8688 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 8689 "type" : "string",
44660702
DM
8690 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
8691 },
8692 "startup" : {
8693 "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.",
8694 "format" : "pve-startup-order",
7aacca6f 8695 "optional" : 1,
44660702
DM
8696 "type" : "string",
8697 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 8698 },
44660702
DM
8699 "tablet" : {
8700 "default" : 1,
c2993fe5 8701 "description" : "Enable/disable the USB tablet device.",
7aacca6f 8702 "optional" : 1,
c2993fe5 8703 "type" : "boolean",
013dc89f 8704 "typetext" : "<boolean>",
c2993fe5 8705 "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 8706 },
44660702
DM
8707 "tdf" : {
8708 "default" : 0,
8709 "description" : "Enable/disable time drift fix.",
7aacca6f 8710 "optional" : 1,
013dc89f
DM
8711 "type" : "boolean",
8712 "typetext" : "<boolean>"
7aacca6f 8713 },
44660702
DM
8714 "template" : {
8715 "default" : 0,
8716 "description" : "Enable/disable Template.",
7aacca6f 8717 "optional" : 1,
013dc89f
DM
8718 "type" : "boolean",
8719 "typetext" : "<boolean>"
7aacca6f 8720 },
44660702 8721 "unused[n]" : {
c2993fe5 8722 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 8723 "format" : "pve-volume-id",
7aacca6f 8724 "optional" : 1,
013dc89f
DM
8725 "type" : "string",
8726 "typetext" : "<string>"
7aacca6f 8727 },
44660702 8728 "usb[n]" : {
c2993fe5 8729 "description" : "Configure an USB device (n is 0 to 4).",
56122987 8730 "format" : {
44660702
DM
8731 "host" : {
8732 "default_key" : 1,
c2993fe5 8733 "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
8734 "format" : "pve-qm-usb-device",
8735 "format_description" : "HOSTUSBDEVICE|spice",
8736 "type" : "string"
7aacca6f 8737 },
44660702 8738 "usb3" : {
c2993fe5
DM
8739 "default" : 0,
8740 "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 8741 "optional" : 1,
44660702 8742 "type" : "boolean"
7aacca6f 8743 }
44660702 8744 },
7aacca6f 8745 "optional" : 1,
4bd7df8b
DM
8746 "type" : "string",
8747 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 8748 },
44660702 8749 "vcpus" : {
7aacca6f 8750 "default" : 0,
44660702
DM
8751 "description" : "Number of hotplugged vcpus.",
8752 "minimum" : 1,
7aacca6f 8753 "optional" : 1,
4bd7df8b 8754 "type" : "integer",
013dc89f 8755 "typetext" : "<integer> (1 - N)"
7aacca6f 8756 },
44660702 8757 "vga" : {
c2993fe5 8758 "description" : "Select the VGA type.",
44660702
DM
8759 "enum" : [
8760 "std",
8761 "cirrus",
8762 "vmware",
8763 "qxl",
8764 "serial0",
8765 "serial1",
8766 "serial2",
8767 "serial3",
8768 "qxl2",
8769 "qxl3",
8770 "qxl4"
8771 ],
7aacca6f 8772 "optional" : 1,
c2993fe5
DM
8773 "type" : "string",
8774 "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 8775 },
44660702
DM
8776 "virtio[n]" : {
8777 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 8778 "format" : {
7aacca6f 8779 "aio" : {
7aacca6f 8780 "description" : "AIO type to use.",
56122987 8781 "enum" : [
7aacca6f
DM
8782 "native",
8783 "threads"
7aacca6f 8784 ],
44660702
DM
8785 "optional" : 1,
8786 "type" : "string"
56122987 8787 },
44660702
DM
8788 "backup" : {
8789 "description" : "Whether the drive should be included when making backups.",
56122987 8790 "optional" : 1,
44660702 8791 "type" : "boolean"
7aacca6f 8792 },
44660702 8793 "bps" : {
de0983cb 8794 "description" : "Maximum r/w speed in bytes per second.",
44660702 8795 "format_description" : "bps",
7aacca6f 8796 "optional" : 1,
44660702 8797 "type" : "integer"
56122987 8798 },
de0983cb
DM
8799 "bps_max_length" : {
8800 "description" : "Maximum length of I/O bursts in seconds.",
8801 "format_description" : "seconds",
8802 "minimum" : 1,
8803 "optional" : 1,
8804 "type" : "integer"
8805 },
56122987 8806 "bps_rd" : {
de0983cb 8807 "description" : "Maximum read speed in bytes per second.",
44660702 8808 "format_description" : "bps",
56122987 8809 "optional" : 1,
7aacca6f 8810 "type" : "integer"
56122987 8811 },
de0983cb
DM
8812 "bps_rd_length" : {
8813 "description" : "Maximum length of read I/O bursts in seconds.",
8814 "format_description" : "seconds",
8815 "minimum" : 1,
8816 "optional" : 1,
8817 "type" : "integer"
8818 },
44660702 8819 "bps_wr" : {
de0983cb 8820 "description" : "Maximum write speed in bytes per second.",
44660702 8821 "format_description" : "bps",
56122987 8822 "optional" : 1,
7aacca6f 8823 "type" : "integer"
56122987 8824 },
de0983cb
DM
8825 "bps_wr_length" : {
8826 "description" : "Maximum length of write I/O bursts in seconds.",
8827 "format_description" : "seconds",
8828 "minimum" : 1,
8829 "optional" : 1,
8830 "type" : "integer"
8831 },
7aacca6f 8832 "cache" : {
44660702 8833 "description" : "The drive's cache mode",
7aacca6f
DM
8834 "enum" : [
8835 "none",
8836 "writethrough",
8837 "writeback",
8838 "unsafe",
8839 "directsync"
8840 ],
56122987 8841 "optional" : 1,
44660702 8842 "type" : "string"
7aacca6f 8843 },
44660702
DM
8844 "cyls" : {
8845 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8846 "optional" : 1,
8847 "type" : "integer"
8848 },
8849 "detect_zeroes" : {
8850 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8851 "optional" : 1,
8852 "type" : "boolean"
8853 },
8854 "discard" : {
8855 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8856 "enum" : [
44660702
DM
8857 "ignore",
8858 "on"
56122987
DM
8859 ],
8860 "optional" : 1,
44660702 8861 "type" : "string"
56122987 8862 },
44660702
DM
8863 "file" : {
8864 "default_key" : 1,
8865 "description" : "The drive's backing volume.",
8866 "format" : "pve-volume-id-or-qm-path",
8867 "format_description" : "volume",
8868 "type" : "string"
8869 },
8870 "format" : {
8871 "description" : "The drive's backing file's data format.",
8872 "enum" : [
8873 "raw",
8874 "cow",
8875 "qcow",
8876 "qed",
8877 "qcow2",
8878 "vmdk",
8879 "cloop"
8880 ],
56122987 8881 "optional" : 1,
44660702 8882 "type" : "string"
56122987 8883 },
44660702
DM
8884 "heads" : {
8885 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8886 "optional" : 1,
8887 "type" : "integer"
8888 },
8889 "iops" : {
de0983cb 8890 "description" : "Maximum r/w I/O in operations per second.",
44660702 8891 "format_description" : "iops",
56122987 8892 "optional" : 1,
44660702
DM
8893 "type" : "integer"
8894 },
8895 "iops_max" : {
de0983cb 8896 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
8897 "format_description" : "iops",
8898 "optional" : 1,
8899 "type" : "integer"
56122987 8900 },
de0983cb
DM
8901 "iops_max_length" : {
8902 "description" : "Maximum length of I/O bursts in seconds.",
8903 "format_description" : "seconds",
8904 "minimum" : 1,
8905 "optional" : 1,
8906 "type" : "integer"
8907 },
7aacca6f 8908 "iops_rd" : {
de0983cb 8909 "description" : "Maximum read I/O in operations per second.",
7aacca6f 8910 "format_description" : "iops",
7aacca6f 8911 "optional" : 1,
44660702 8912 "type" : "integer"
56122987 8913 },
de0983cb
DM
8914 "iops_rd_length" : {
8915 "description" : "Maximum length of read I/O bursts in seconds.",
8916 "format_description" : "seconds",
8917 "minimum" : 1,
8918 "optional" : 1,
8919 "type" : "integer"
8920 },
44660702 8921 "iops_rd_max" : {
de0983cb 8922 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
8923 "format_description" : "iops",
8924 "optional" : 1,
8925 "type" : "integer"
8926 },
8927 "iops_wr" : {
de0983cb 8928 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8929 "format_description" : "iops",
8930 "optional" : 1,
8931 "type" : "integer"
8932 },
de0983cb
DM
8933 "iops_wr_length" : {
8934 "description" : "Maximum length of write I/O bursts in seconds.",
8935 "format_description" : "seconds",
8936 "minimum" : 1,
8937 "optional" : 1,
8938 "type" : "integer"
8939 },
44660702 8940 "iops_wr_max" : {
de0983cb 8941 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8942 "format_description" : "iops",
8943 "optional" : 1,
8944 "type" : "integer"
8945 },
8946 "iothread" : {
8947 "description" : "Whether to use iothreads for this drive",
44660702
DM
8948 "optional" : 1,
8949 "type" : "boolean"
8950 },
8951 "mbps" : {
de0983cb 8952 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8953 "format_description" : "mbps",
7aacca6f 8954 "optional" : 1,
44660702 8955 "type" : "number"
7aacca6f
DM
8956 },
8957 "mbps_max" : {
de0983cb 8958 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8959 "format_description" : "mbps",
56122987 8960 "optional" : 1,
44660702 8961 "type" : "number"
56122987 8962 },
44660702 8963 "mbps_rd" : {
de0983cb 8964 "description" : "Maximum read speed in megabytes per second.",
44660702 8965 "format_description" : "mbps",
56122987 8966 "optional" : 1,
44660702 8967 "type" : "number"
56122987 8968 },
44660702 8969 "mbps_rd_max" : {
de0983cb 8970 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8971 "format_description" : "mbps",
8972 "optional" : 1,
8973 "type" : "number"
8974 },
8975 "mbps_wr" : {
de0983cb 8976 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8977 "format_description" : "mbps",
8978 "optional" : 1,
8979 "type" : "number"
8980 },
8981 "mbps_wr_max" : {
de0983cb 8982 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8983 "format_description" : "mbps",
8984 "optional" : 1,
8985 "type" : "number"
8986 },
8987 "media" : {
8988 "default" : "disk",
8989 "description" : "The drive's media type.",
56122987 8990 "enum" : [
44660702
DM
8991 "cdrom",
8992 "disk"
56122987
DM
8993 ],
8994 "optional" : 1,
44660702 8995 "type" : "string"
56122987 8996 },
44660702
DM
8997 "rerror" : {
8998 "description" : "Read error action.",
8999 "enum" : [
9000 "ignore",
9001 "report",
9002 "stop"
9003 ],
56122987 9004 "optional" : 1,
44660702 9005 "type" : "string"
56122987 9006 },
44660702
DM
9007 "secs" : {
9008 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9009 "optional" : 1,
44660702 9010 "type" : "integer"
56122987 9011 },
7aacca6f
DM
9012 "serial" : {
9013 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 9014 "format" : "urlencoded",
44660702 9015 "format_description" : "serial",
7aacca6f 9016 "maxLength" : 60,
44660702
DM
9017 "optional" : 1,
9018 "type" : "string"
56122987 9019 },
44660702
DM
9020 "size" : {
9021 "description" : "Disk size. This is purely informational and has no effect.",
9022 "format" : "disk-size",
f004f5b9 9023 "format_description" : "DiskSize",
44660702
DM
9024 "optional" : 1,
9025 "type" : "string"
56122987 9026 },
44660702
DM
9027 "snapshot" : {
9028 "description" : "Whether the drive should be included when making snapshots.",
56122987 9029 "optional" : 1,
44660702 9030 "type" : "boolean"
56122987 9031 },
44660702
DM
9032 "trans" : {
9033 "description" : "Force disk geometry bios translation mode.",
9034 "enum" : [
9035 "none",
9036 "lba",
9037 "auto"
9038 ],
7aacca6f 9039 "optional" : 1,
44660702 9040 "type" : "string"
7aacca6f 9041 },
44660702
DM
9042 "volume" : {
9043 "alias" : "file"
9044 },
9045 "werror" : {
9046 "description" : "Write error action.",
9047 "enum" : [
9048 "enospc",
9049 "ignore",
9050 "report",
9051 "stop"
9052 ],
7aacca6f 9053 "optional" : 1,
44660702 9054 "type" : "string"
56122987
DM
9055 }
9056 },
7aacca6f 9057 "optional" : 1,
4bd7df8b 9058 "type" : "string",
013dc89f 9059 "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 9060 },
44660702
DM
9061 "vmid" : {
9062 "description" : "The (unique) ID of the VM.",
9063 "format" : "pve-vmid",
9064 "minimum" : 1,
4bd7df8b 9065 "type" : "integer",
013dc89f 9066 "typetext" : "<integer> (1 - N)"
56122987 9067 },
44660702 9068 "watchdog" : {
c2993fe5 9069 "description" : "Create a virtual hardware watchdog device.",
44660702 9070 "format" : "pve-qm-watchdog",
56122987 9071 "optional" : 1,
c2993fe5 9072 "type" : "string",
013dc89f 9073 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9074 "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 9075 }
7aacca6f 9076 }
56122987 9077 },
56122987
DM
9078 "permissions" : {
9079 "check" : [
9080 "perm",
9081 "/vms/{vmid}",
9082 [
9083 "VM.Config.Disk",
9084 "VM.Config.CDROM",
9085 "VM.Config.CPU",
9086 "VM.Config.Memory",
9087 "VM.Config.Network",
9088 "VM.Config.HWType",
9089 "VM.Config.Options"
9090 ],
9091 "any",
9092 1
9093 ]
9094 },
44660702 9095 "protected" : 1,
7aacca6f 9096 "proxyto" : "node",
56122987 9097 "returns" : {
7aacca6f
DM
9098 "type" : "null"
9099 }
9100 }
9101 },
44660702
DM
9102 "leaf" : 1,
9103 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
9104 "text" : "config"
9105 },
9106 {
9107 "info" : {
56122987 9108 "GET" : {
44660702 9109 "description" : "Get virtual machine configuration, including pending changes.",
56122987 9110 "method" : "GET",
44660702 9111 "name" : "vm_pending",
7aacca6f 9112 "parameters" : {
44660702 9113 "additionalProperties" : 0,
7aacca6f
DM
9114 "properties" : {
9115 "node" : {
7aacca6f 9116 "description" : "The cluster node name.",
44660702 9117 "format" : "pve-node",
013dc89f
DM
9118 "type" : "string",
9119 "typetext" : "<string>"
7aacca6f
DM
9120 },
9121 "vmid" : {
44660702 9122 "description" : "The (unique) ID of the VM.",
7aacca6f 9123 "format" : "pve-vmid",
44660702 9124 "minimum" : 1,
4bd7df8b 9125 "type" : "integer",
013dc89f 9126 "typetext" : "<integer> (1 - N)"
7aacca6f 9127 }
44660702 9128 }
7aacca6f 9129 },
56122987
DM
9130 "permissions" : {
9131 "check" : [
9132 "perm",
9133 "/vms/{vmid}",
9134 [
9135 "VM.Audit"
9136 ]
9137 ]
9138 },
7aacca6f 9139 "proxyto" : "node",
44660702
DM
9140 "returns" : {
9141 "items" : {
9142 "properties" : {
9143 "delete" : {
9144 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
9145 "maximum" : 2,
9146 "minimum" : 0,
9147 "optional" : 1,
9148 "type" : "integer"
9149 },
9150 "key" : {
9151 "description" : "Configuration option name.",
9152 "type" : "string"
9153 },
9154 "pending" : {
9155 "description" : "Pending value.",
9156 "optional" : 1,
9157 "type" : "string"
9158 },
9159 "value" : {
9160 "description" : "Current value.",
9161 "optional" : 1,
9162 "type" : "string"
9163 }
9164 },
9165 "type" : "object"
9166 },
9167 "type" : "array"
9168 }
56122987
DM
9169 }
9170 },
7aacca6f 9171 "leaf" : 1,
44660702
DM
9172 "path" : "/nodes/{node}/qemu/{vmid}/pending",
9173 "text" : "pending"
56122987
DM
9174 },
9175 {
56122987
DM
9176 "info" : {
9177 "PUT" : {
7aacca6f 9178 "description" : "Unlink/delete disk images.",
7aacca6f 9179 "method" : "PUT",
7aacca6f 9180 "name" : "unlink",
56122987 9181 "parameters" : {
44660702 9182 "additionalProperties" : 0,
56122987 9183 "properties" : {
7aacca6f 9184 "force" : {
44660702 9185 "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 9186 "optional" : 1,
013dc89f
DM
9187 "type" : "boolean",
9188 "typetext" : "<boolean>"
7aacca6f 9189 },
56122987
DM
9190 "idlist" : {
9191 "description" : "A list of disk IDs you want to delete.",
44660702 9192 "format" : "pve-configid-list",
013dc89f
DM
9193 "type" : "string",
9194 "typetext" : "<string>"
44660702
DM
9195 },
9196 "node" : {
9197 "description" : "The cluster node name.",
9198 "format" : "pve-node",
013dc89f
DM
9199 "type" : "string",
9200 "typetext" : "<string>"
56122987
DM
9201 },
9202 "vmid" : {
7aacca6f 9203 "description" : "The (unique) ID of the VM.",
44660702 9204 "format" : "pve-vmid",
7aacca6f 9205 "minimum" : 1,
4bd7df8b 9206 "type" : "integer",
013dc89f 9207 "typetext" : "<integer> (1 - N)"
56122987 9208 }
44660702
DM
9209 }
9210 },
9211 "permissions" : {
9212 "check" : [
9213 "perm",
9214 "/vms/{vmid}",
9215 [
9216 "VM.Config.Disk"
9217 ]
9218 ]
9219 },
9220 "protected" : 1,
9221 "proxyto" : "node",
9222 "returns" : {
9223 "type" : "null"
7aacca6f 9224 }
56122987 9225 }
7aacca6f 9226 },
44660702 9227 "leaf" : 1,
7aacca6f 9228 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 9229 "text" : "unlink"
56122987
DM
9230 },
9231 {
56122987
DM
9232 "info" : {
9233 "POST" : {
7aacca6f 9234 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
9235 "method" : "POST",
9236 "name" : "vncproxy",
56122987 9237 "parameters" : {
44660702 9238 "additionalProperties" : 0,
56122987 9239 "properties" : {
44660702
DM
9240 "node" : {
9241 "description" : "The cluster node name.",
9242 "format" : "pve-node",
013dc89f
DM
9243 "type" : "string",
9244 "typetext" : "<string>"
44660702 9245 },
56122987 9246 "vmid" : {
7aacca6f 9247 "description" : "The (unique) ID of the VM.",
44660702 9248 "format" : "pve-vmid",
56122987 9249 "minimum" : 1,
4bd7df8b 9250 "type" : "integer",
013dc89f 9251 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9252 },
9253 "websocket" : {
9254 "description" : "starts websockify instead of vncproxy",
44660702 9255 "optional" : 1,
013dc89f
DM
9256 "type" : "boolean",
9257 "typetext" : "<boolean>"
56122987 9258 }
44660702 9259 }
56122987 9260 },
44660702
DM
9261 "permissions" : {
9262 "check" : [
9263 "perm",
9264 "/vms/{vmid}",
9265 [
9266 "VM.Console"
9267 ]
9268 ]
9269 },
9270 "protected" : 1,
56122987 9271 "returns" : {
7aacca6f 9272 "additionalProperties" : 0,
56122987 9273 "properties" : {
7aacca6f 9274 "cert" : {
56122987
DM
9275 "type" : "string"
9276 },
56122987
DM
9277 "port" : {
9278 "type" : "integer"
9279 },
7aacca6f
DM
9280 "ticket" : {
9281 "type" : "string"
9282 },
44660702
DM
9283 "upid" : {
9284 "type" : "string"
9285 },
7aacca6f 9286 "user" : {
56122987
DM
9287 "type" : "string"
9288 }
7aacca6f 9289 }
56122987
DM
9290 }
9291 }
9292 },
44660702
DM
9293 "leaf" : 1,
9294 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9295 "text" : "vncproxy"
56122987
DM
9296 },
9297 {
56122987
DM
9298 "info" : {
9299 "GET" : {
44660702
DM
9300 "description" : "Opens a weksocket for VNC traffic.",
9301 "method" : "GET",
9302 "name" : "vncwebsocket",
56122987 9303 "parameters" : {
44660702 9304 "additionalProperties" : 0,
56122987 9305 "properties" : {
7aacca6f 9306 "node" : {
7aacca6f 9307 "description" : "The cluster node name.",
44660702 9308 "format" : "pve-node",
013dc89f
DM
9309 "type" : "string",
9310 "typetext" : "<string>"
7aacca6f 9311 },
44660702
DM
9312 "port" : {
9313 "description" : "Port number returned by previous vncproxy call.",
9314 "maximum" : 5999,
9315 "minimum" : 5900,
4bd7df8b 9316 "type" : "integer",
013dc89f 9317 "typetext" : "<integer> (5900 - 5999)"
56122987 9318 },
7aacca6f 9319 "vmid" : {
44660702 9320 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9321 "format" : "pve-vmid",
9322 "minimum" : 1,
4bd7df8b 9323 "type" : "integer",
013dc89f 9324 "typetext" : "<integer> (1 - N)"
44660702
DM
9325 },
9326 "vncticket" : {
9327 "description" : "Ticket from previous call to vncproxy.",
9328 "maxLength" : 512,
013dc89f
DM
9329 "type" : "string",
9330 "typetext" : "<string>"
56122987 9331 }
44660702
DM
9332 }
9333 },
9334 "permissions" : {
9335 "check" : [
9336 "perm",
9337 "/vms/{vmid}",
9338 [
9339 "VM.Console"
9340 ]
9341 ],
9342 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 9343 },
7aacca6f
DM
9344 "returns" : {
9345 "properties" : {
9346 "port" : {
9347 "type" : "string"
9348 }
9349 },
9350 "type" : "object"
9351 }
56122987
DM
9352 }
9353 },
7aacca6f 9354 "leaf" : 1,
44660702
DM
9355 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
9356 "text" : "vncwebsocket"
56122987
DM
9357 },
9358 {
9359 "info" : {
9360 "POST" : {
44660702
DM
9361 "description" : "Returns a SPICE configuration to connect to the VM.",
9362 "method" : "POST",
7aacca6f
DM
9363 "name" : "spiceproxy",
9364 "parameters" : {
44660702 9365 "additionalProperties" : 0,
56122987 9366 "properties" : {
44660702
DM
9367 "node" : {
9368 "description" : "The cluster node name.",
9369 "format" : "pve-node",
013dc89f
DM
9370 "type" : "string",
9371 "typetext" : "<string>"
44660702 9372 },
7aacca6f 9373 "proxy" : {
44660702 9374 "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 9375 "format" : "address",
7aacca6f 9376 "optional" : 1,
013dc89f
DM
9377 "type" : "string",
9378 "typetext" : "<string>"
56122987 9379 },
7aacca6f 9380 "vmid" : {
44660702 9381 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9382 "format" : "pve-vmid",
9383 "minimum" : 1,
4bd7df8b 9384 "type" : "integer",
013dc89f 9385 "typetext" : "<integer> (1 - N)"
56122987 9386 }
44660702 9387 }
56122987 9388 },
56122987
DM
9389 "permissions" : {
9390 "check" : [
9391 "perm",
9392 "/vms/{vmid}",
9393 [
9394 "VM.Console"
9395 ]
9396 ]
9397 },
44660702
DM
9398 "protected" : 1,
9399 "proxyto" : "node",
7aacca6f 9400 "returns" : {
44660702
DM
9401 "additionalProperties" : 1,
9402 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 9403 "properties" : {
44660702 9404 "host" : {
7aacca6f
DM
9405 "type" : "string"
9406 },
7aacca6f
DM
9407 "password" : {
9408 "type" : "string"
9409 },
44660702 9410 "proxy" : {
7aacca6f
DM
9411 "type" : "string"
9412 },
44660702
DM
9413 "tls-port" : {
9414 "type" : "integer"
9415 },
9416 "type" : {
7aacca6f
DM
9417 "type" : "string"
9418 }
44660702 9419 }
7aacca6f
DM
9420 }
9421 }
9422 },
44660702
DM
9423 "leaf" : 1,
9424 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
9425 "text" : "spiceproxy"
9426 },
9427 {
56122987
DM
9428 "children" : [
9429 {
56122987
DM
9430 "info" : {
9431 "GET" : {
44660702
DM
9432 "description" : "Get virtual machine status.",
9433 "method" : "GET",
9434 "name" : "vm_status",
56122987 9435 "parameters" : {
44660702 9436 "additionalProperties" : 0,
56122987 9437 "properties" : {
44660702
DM
9438 "node" : {
9439 "description" : "The cluster node name.",
9440 "format" : "pve-node",
013dc89f
DM
9441 "type" : "string",
9442 "typetext" : "<string>"
44660702 9443 },
56122987 9444 "vmid" : {
44660702 9445 "description" : "The (unique) ID of the VM.",
7aacca6f 9446 "format" : "pve-vmid",
56122987 9447 "minimum" : 1,
4bd7df8b 9448 "type" : "integer",
013dc89f 9449 "typetext" : "<integer> (1 - N)"
56122987 9450 }
44660702 9451 }
56122987
DM
9452 },
9453 "permissions" : {
9454 "check" : [
9455 "perm",
9456 "/vms/{vmid}",
9457 [
9458 "VM.Audit"
9459 ]
9460 ]
9461 },
44660702 9462 "protected" : 1,
7aacca6f 9463 "proxyto" : "node",
56122987
DM
9464 "returns" : {
9465 "type" : "object"
7aacca6f 9466 }
56122987 9467 }
7aacca6f 9468 },
7aacca6f 9469 "leaf" : 1,
44660702
DM
9470 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
9471 "text" : "current"
56122987
DM
9472 },
9473 {
56122987
DM
9474 "info" : {
9475 "POST" : {
44660702 9476 "description" : "Start virtual machine.",
56122987 9477 "method" : "POST",
44660702 9478 "name" : "vm_start",
56122987 9479 "parameters" : {
44660702 9480 "additionalProperties" : 0,
56122987 9481 "properties" : {
44660702
DM
9482 "machine" : {
9483 "description" : "Specific the Qemu machine type.",
9484 "maxLength" : 40,
9485 "optional" : 1,
9486 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
9487 "type" : "string"
9488 },
9489 "migratedfrom" : {
9490 "description" : "The cluster node name.",
9491 "format" : "pve-node",
56122987 9492 "optional" : 1,
013dc89f
DM
9493 "type" : "string",
9494 "typetext" : "<string>"
56122987 9495 },
de0983cb
DM
9496 "migration_network" : {
9497 "description" : "CIDR of the (sub) network that is used for migration.",
9498 "format" : "CIDR",
9499 "optional" : 1,
013dc89f
DM
9500 "type" : "string",
9501 "typetext" : "<string>"
de0983cb
DM
9502 },
9503 "migration_type" : {
9504 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
9505 "enum" : [
9506 "secure",
9507 "insecure"
9508 ],
9509 "optional" : 1,
9510 "type" : "string"
9511 },
7aacca6f 9512 "node" : {
7aacca6f 9513 "description" : "The cluster node name.",
44660702 9514 "format" : "pve-node",
013dc89f
DM
9515 "type" : "string",
9516 "typetext" : "<string>"
7aacca6f 9517 },
44660702
DM
9518 "skiplock" : {
9519 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9520 "optional" : 1,
013dc89f
DM
9521 "type" : "boolean",
9522 "typetext" : "<boolean>"
56122987 9523 },
44660702
DM
9524 "stateuri" : {
9525 "description" : "Some command save/restore state from this location.",
9526 "maxLength" : 128,
56122987 9527 "optional" : 1,
013dc89f
DM
9528 "type" : "string",
9529 "typetext" : "<string>"
56122987
DM
9530 },
9531 "vmid" : {
7aacca6f 9532 "description" : "The (unique) ID of the VM.",
44660702
DM
9533 "format" : "pve-vmid",
9534 "minimum" : 1,
4bd7df8b 9535 "type" : "integer",
013dc89f 9536 "typetext" : "<integer> (1 - N)"
56122987 9537 }
44660702 9538 }
7aacca6f 9539 },
56122987
DM
9540 "permissions" : {
9541 "check" : [
9542 "perm",
9543 "/vms/{vmid}",
9544 [
9545 "VM.PowerMgmt"
9546 ]
9547 ]
44660702
DM
9548 },
9549 "protected" : 1,
9550 "proxyto" : "node",
9551 "returns" : {
9552 "type" : "string"
56122987
DM
9553 }
9554 }
44660702
DM
9555 },
9556 "leaf" : 1,
9557 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
9558 "text" : "start"
56122987
DM
9559 },
9560 {
56122987
DM
9561 "info" : {
9562 "POST" : {
7aacca6f 9563 "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
9564 "method" : "POST",
9565 "name" : "vm_stop",
56122987 9566 "parameters" : {
44660702 9567 "additionalProperties" : 0,
56122987 9568 "properties" : {
44660702
DM
9569 "keepActive" : {
9570 "default" : 0,
de0983cb 9571 "description" : "Do not deactivate storage volumes.",
56122987 9572 "optional" : 1,
013dc89f
DM
9573 "type" : "boolean",
9574 "typetext" : "<boolean>"
56122987
DM
9575 },
9576 "migratedfrom" : {
56122987 9577 "description" : "The cluster node name.",
44660702 9578 "format" : "pve-node",
7aacca6f 9579 "optional" : 1,
013dc89f
DM
9580 "type" : "string",
9581 "typetext" : "<string>"
7aacca6f 9582 },
44660702
DM
9583 "node" : {
9584 "description" : "The cluster node name.",
9585 "format" : "pve-node",
013dc89f
DM
9586 "type" : "string",
9587 "typetext" : "<string>"
56122987
DM
9588 },
9589 "skiplock" : {
9590 "description" : "Ignore locks - only root is allowed to use this option.",
9591 "optional" : 1,
013dc89f
DM
9592 "type" : "boolean",
9593 "typetext" : "<boolean>"
56122987 9594 },
44660702
DM
9595 "timeout" : {
9596 "description" : "Wait maximal timeout seconds.",
9597 "minimum" : 0,
56122987 9598 "optional" : 1,
4bd7df8b 9599 "type" : "integer",
013dc89f 9600 "typetext" : "<integer> (0 - N)"
7aacca6f 9601 },
44660702
DM
9602 "vmid" : {
9603 "description" : "The (unique) ID of the VM.",
9604 "format" : "pve-vmid",
9605 "minimum" : 1,
4bd7df8b 9606 "type" : "integer",
013dc89f 9607 "typetext" : "<integer> (1 - N)"
56122987 9608 }
44660702 9609 }
56122987 9610 },
56122987
DM
9611 "permissions" : {
9612 "check" : [
9613 "perm",
9614 "/vms/{vmid}",
9615 [
9616 "VM.PowerMgmt"
9617 ]
9618 ]
9619 },
44660702
DM
9620 "protected" : 1,
9621 "proxyto" : "node",
7aacca6f
DM
9622 "returns" : {
9623 "type" : "string"
44660702
DM
9624 }
9625 }
9626 },
9627 "leaf" : 1,
9628 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
9629 "text" : "stop"
9630 },
9631 {
9632 "info" : {
9633 "POST" : {
9634 "description" : "Reset virtual machine.",
9635 "method" : "POST",
9636 "name" : "vm_reset",
56122987 9637 "parameters" : {
7aacca6f 9638 "additionalProperties" : 0,
56122987 9639 "properties" : {
56122987
DM
9640 "node" : {
9641 "description" : "The cluster node name.",
44660702 9642 "format" : "pve-node",
013dc89f
DM
9643 "type" : "string",
9644 "typetext" : "<string>"
56122987
DM
9645 },
9646 "skiplock" : {
44660702 9647 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9648 "optional" : 1,
013dc89f
DM
9649 "type" : "boolean",
9650 "typetext" : "<boolean>"
7aacca6f
DM
9651 },
9652 "vmid" : {
44660702 9653 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9654 "format" : "pve-vmid",
9655 "minimum" : 1,
4bd7df8b 9656 "type" : "integer",
013dc89f 9657 "typetext" : "<integer> (1 - N)"
56122987 9658 }
7aacca6f 9659 }
56122987 9660 },
7aacca6f
DM
9661 "permissions" : {
9662 "check" : [
9663 "perm",
9664 "/vms/{vmid}",
9665 [
9666 "VM.PowerMgmt"
9667 ]
9668 ]
9669 },
44660702 9670 "protected" : 1,
7aacca6f 9671 "proxyto" : "node",
56122987
DM
9672 "returns" : {
9673 "type" : "string"
44660702
DM
9674 }
9675 }
9676 },
9677 "leaf" : 1,
9678 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
9679 "text" : "reset"
9680 },
9681 {
9682 "info" : {
9683 "POST" : {
9684 "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.",
9685 "method" : "POST",
56122987 9686 "name" : "vm_shutdown",
56122987 9687 "parameters" : {
7aacca6f 9688 "additionalProperties" : 0,
56122987 9689 "properties" : {
56122987 9690 "forceStop" : {
56122987 9691 "default" : 0,
44660702 9692 "description" : "Make sure the VM stops.",
7aacca6f 9693 "optional" : 1,
013dc89f
DM
9694 "type" : "boolean",
9695 "typetext" : "<boolean>"
56122987
DM
9696 },
9697 "keepActive" : {
7aacca6f 9698 "default" : 0,
de0983cb 9699 "description" : "Do not deactivate storage volumes.",
44660702 9700 "optional" : 1,
013dc89f
DM
9701 "type" : "boolean",
9702 "typetext" : "<boolean>"
44660702
DM
9703 },
9704 "node" : {
9705 "description" : "The cluster node name.",
9706 "format" : "pve-node",
013dc89f
DM
9707 "type" : "string",
9708 "typetext" : "<string>"
44660702
DM
9709 },
9710 "skiplock" : {
9711 "description" : "Ignore locks - only root is allowed to use this option.",
9712 "optional" : 1,
013dc89f
DM
9713 "type" : "boolean",
9714 "typetext" : "<boolean>"
56122987 9715 },
7aacca6f 9716 "timeout" : {
7aacca6f 9717 "description" : "Wait maximal timeout seconds.",
44660702 9718 "minimum" : 0,
7aacca6f 9719 "optional" : 1,
4bd7df8b 9720 "type" : "integer",
013dc89f 9721 "typetext" : "<integer> (0 - N)"
7aacca6f 9722 },
56122987 9723 "vmid" : {
7aacca6f 9724 "description" : "The (unique) ID of the VM.",
44660702
DM
9725 "format" : "pve-vmid",
9726 "minimum" : 1,
4bd7df8b 9727 "type" : "integer",
013dc89f 9728 "typetext" : "<integer> (1 - N)"
56122987 9729 }
7aacca6f 9730 }
56122987 9731 },
44660702
DM
9732 "permissions" : {
9733 "check" : [
9734 "perm",
9735 "/vms/{vmid}",
9736 [
9737 "VM.PowerMgmt"
9738 ]
9739 ]
9740 },
7aacca6f 9741 "protected" : 1,
44660702
DM
9742 "proxyto" : "node",
9743 "returns" : {
9744 "type" : "string"
9745 }
56122987
DM
9746 }
9747 },
44660702 9748 "leaf" : 1,
7aacca6f 9749 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 9750 "text" : "shutdown"
56122987
DM
9751 },
9752 {
56122987
DM
9753 "info" : {
9754 "POST" : {
44660702 9755 "description" : "Suspend virtual machine.",
56122987 9756 "method" : "POST",
44660702 9757 "name" : "vm_suspend",
7aacca6f 9758 "parameters" : {
44660702 9759 "additionalProperties" : 0,
7aacca6f
DM
9760 "properties" : {
9761 "node" : {
7aacca6f 9762 "description" : "The cluster node name.",
44660702 9763 "format" : "pve-node",
013dc89f
DM
9764 "type" : "string",
9765 "typetext" : "<string>"
7aacca6f
DM
9766 },
9767 "skiplock" : {
9768 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9769 "optional" : 1,
013dc89f
DM
9770 "type" : "boolean",
9771 "typetext" : "<boolean>"
44660702
DM
9772 },
9773 "vmid" : {
9774 "description" : "The (unique) ID of the VM.",
9775 "format" : "pve-vmid",
9776 "minimum" : 1,
4bd7df8b 9777 "type" : "integer",
013dc89f 9778 "typetext" : "<integer> (1 - N)"
44660702
DM
9779 }
9780 }
56122987
DM
9781 },
9782 "permissions" : {
9783 "check" : [
9784 "perm",
9785 "/vms/{vmid}",
9786 [
9787 "VM.PowerMgmt"
9788 ]
9789 ]
9790 },
44660702
DM
9791 "protected" : 1,
9792 "proxyto" : "node",
9793 "returns" : {
9794 "type" : "string"
9795 }
56122987
DM
9796 }
9797 },
44660702 9798 "leaf" : 1,
7aacca6f 9799 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 9800 "text" : "suspend"
56122987
DM
9801 },
9802 {
56122987
DM
9803 "info" : {
9804 "POST" : {
44660702
DM
9805 "description" : "Resume virtual machine.",
9806 "method" : "POST",
7aacca6f 9807 "name" : "vm_resume",
56122987
DM
9808 "parameters" : {
9809 "additionalProperties" : 0,
9810 "properties" : {
44660702
DM
9811 "nocheck" : {
9812 "optional" : 1,
013dc89f
DM
9813 "type" : "boolean",
9814 "typetext" : "<boolean>"
44660702 9815 },
7aacca6f 9816 "node" : {
44660702 9817 "description" : "The cluster node name.",
7aacca6f 9818 "format" : "pve-node",
013dc89f
DM
9819 "type" : "string",
9820 "typetext" : "<string>"
56122987
DM
9821 },
9822 "skiplock" : {
56122987 9823 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9824 "optional" : 1,
013dc89f
DM
9825 "type" : "boolean",
9826 "typetext" : "<boolean>"
56122987 9827 },
7aacca6f 9828 "vmid" : {
7aacca6f
DM
9829 "description" : "The (unique) ID of the VM.",
9830 "format" : "pve-vmid",
44660702 9831 "minimum" : 1,
4bd7df8b 9832 "type" : "integer",
013dc89f 9833 "typetext" : "<integer> (1 - N)"
56122987
DM
9834 }
9835 }
9836 },
9837 "permissions" : {
9838 "check" : [
9839 "perm",
9840 "/vms/{vmid}",
9841 [
9842 "VM.PowerMgmt"
9843 ]
9844 ]
9845 },
44660702
DM
9846 "protected" : 1,
9847 "proxyto" : "node",
56122987
DM
9848 "returns" : {
9849 "type" : "string"
7aacca6f 9850 }
56122987
DM
9851 }
9852 },
44660702
DM
9853 "leaf" : 1,
9854 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 9855 "text" : "resume"
56122987
DM
9856 }
9857 ],
9858 "info" : {
44660702
DM
9859 "GET" : {
9860 "description" : "Directory index",
9861 "method" : "GET",
9862 "name" : "vmcmdidx",
56122987 9863 "parameters" : {
44660702 9864 "additionalProperties" : 0,
56122987 9865 "properties" : {
44660702
DM
9866 "node" : {
9867 "description" : "The cluster node name.",
9868 "format" : "pve-node",
013dc89f
DM
9869 "type" : "string",
9870 "typetext" : "<string>"
7aacca6f 9871 },
56122987 9872 "vmid" : {
7aacca6f 9873 "description" : "The (unique) ID of the VM.",
44660702
DM
9874 "format" : "pve-vmid",
9875 "minimum" : 1,
4bd7df8b 9876 "type" : "integer",
013dc89f 9877 "typetext" : "<integer> (1 - N)"
56122987 9878 }
44660702 9879 }
56122987 9880 },
44660702
DM
9881 "permissions" : {
9882 "user" : "all"
9883 },
9884 "proxyto" : "node",
9885 "returns" : {
9886 "items" : {
9887 "properties" : {
9888 "subdir" : {
9889 "type" : "string"
9890 }
9891 },
9892 "type" : "object"
9893 },
9894 "links" : [
9895 {
9896 "href" : "{subdir}",
9897 "rel" : "child"
9898 }
9899 ],
9900 "type" : "array"
9901 }
56122987 9902 }
7aacca6f 9903 },
44660702
DM
9904 "leaf" : 0,
9905 "path" : "/nodes/{node}/qemu/{vmid}/status",
9906 "text" : "status"
56122987
DM
9907 },
9908 {
56122987 9909 "info" : {
44660702
DM
9910 "PUT" : {
9911 "description" : "Send key event to virtual machine.",
9912 "method" : "PUT",
9913 "name" : "vm_sendkey",
9914 "parameters" : {
9915 "additionalProperties" : 0,
56122987 9916 "properties" : {
44660702
DM
9917 "key" : {
9918 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
9919 "type" : "string",
9920 "typetext" : "<string>"
44660702
DM
9921 },
9922 "node" : {
9923 "description" : "The cluster node name.",
9924 "format" : "pve-node",
013dc89f
DM
9925 "type" : "string",
9926 "typetext" : "<string>"
44660702
DM
9927 },
9928 "skiplock" : {
9929 "description" : "Ignore locks - only root is allowed to use this option.",
9930 "optional" : 1,
013dc89f
DM
9931 "type" : "boolean",
9932 "typetext" : "<boolean>"
7aacca6f 9933 },
44660702
DM
9934 "vmid" : {
9935 "description" : "The (unique) ID of the VM.",
9936 "format" : "pve-vmid",
9937 "minimum" : 1,
4bd7df8b 9938 "type" : "integer",
013dc89f 9939 "typetext" : "<integer> (1 - N)"
56122987 9940 }
7aacca6f 9941 }
56122987 9942 },
56122987
DM
9943 "permissions" : {
9944 "check" : [
9945 "perm",
9946 "/vms/{vmid}",
9947 [
44660702 9948 "VM.Console"
56122987
DM
9949 ]
9950 ]
9951 },
7aacca6f 9952 "protected" : 1,
44660702
DM
9953 "proxyto" : "node",
9954 "returns" : {
9955 "type" : "null"
9956 }
9957 }
9958 },
9959 "leaf" : 1,
9960 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
9961 "text" : "sendkey"
9962 },
9963 {
9964 "info" : {
9965 "GET" : {
9966 "description" : "Check if feature for virtual machine is available.",
9967 "method" : "GET",
7aacca6f 9968 "name" : "vm_feature",
56122987 9969 "parameters" : {
44660702 9970 "additionalProperties" : 0,
56122987 9971 "properties" : {
56122987 9972 "feature" : {
44660702 9973 "description" : "Feature to check.",
56122987
DM
9974 "enum" : [
9975 "snapshot",
9976 "clone",
9977 "copy"
9978 ],
44660702
DM
9979 "type" : "string"
9980 },
9981 "node" : {
9982 "description" : "The cluster node name.",
9983 "format" : "pve-node",
013dc89f
DM
9984 "type" : "string",
9985 "typetext" : "<string>"
56122987
DM
9986 },
9987 "snapname" : {
56122987 9988 "description" : "The name of the snapshot.",
44660702
DM
9989 "format" : "pve-configid",
9990 "maxLength" : 40,
7aacca6f 9991 "optional" : 1,
013dc89f
DM
9992 "type" : "string",
9993 "typetext" : "<string>"
7aacca6f 9994 },
44660702
DM
9995 "vmid" : {
9996 "description" : "The (unique) ID of the VM.",
9997 "format" : "pve-vmid",
9998 "minimum" : 1,
4bd7df8b 9999 "type" : "integer",
013dc89f 10000 "typetext" : "<integer> (1 - N)"
44660702
DM
10001 }
10002 }
10003 },
10004 "permissions" : {
10005 "check" : [
10006 "perm",
10007 "/vms/{vmid}",
10008 [
10009 "VM.Audit"
10010 ]
10011 ]
10012 },
10013 "protected" : 1,
10014 "proxyto" : "node",
10015 "returns" : {
10016 "properties" : {
10017 "hasFeature" : {
10018 "type" : "boolean"
10019 },
10020 "nodes" : {
10021 "items" : {
10022 "type" : "string"
10023 },
10024 "type" : "array"
56122987
DM
10025 }
10026 },
44660702 10027 "type" : "object"
56122987
DM
10028 }
10029 }
10030 },
7aacca6f 10031 "leaf" : 1,
44660702
DM
10032 "path" : "/nodes/{node}/qemu/{vmid}/feature",
10033 "text" : "feature"
56122987
DM
10034 },
10035 {
56122987
DM
10036 "info" : {
10037 "POST" : {
44660702 10038 "description" : "Create a copy of virtual machine/template.",
56122987 10039 "method" : "POST",
7aacca6f 10040 "name" : "clone_vm",
56122987
DM
10041 "parameters" : {
10042 "additionalProperties" : 0,
10043 "properties" : {
44660702
DM
10044 "description" : {
10045 "description" : "Description for the new VM.",
56122987 10046 "optional" : 1,
013dc89f
DM
10047 "type" : "string",
10048 "typetext" : "<string>"
56122987 10049 },
44660702
DM
10050 "format" : {
10051 "description" : "Target format for file storage.",
10052 "enum" : [
10053 "raw",
10054 "qcow2",
10055 "vmdk"
10056 ],
10057 "optional" : 1,
10058 "requires" : "full",
56122987
DM
10059 "type" : "string"
10060 },
44660702
DM
10061 "full" : {
10062 "default" : 0,
10063 "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 10064 "optional" : 1,
013dc89f
DM
10065 "type" : "boolean",
10066 "typetext" : "<boolean>"
44660702
DM
10067 },
10068 "name" : {
56122987 10069 "description" : "Set a name for the new VM.",
44660702
DM
10070 "format" : "dns-name",
10071 "optional" : 1,
013dc89f
DM
10072 "type" : "string",
10073 "typetext" : "<string>"
44660702
DM
10074 },
10075 "newid" : {
10076 "description" : "VMID for the clone.",
10077 "format" : "pve-vmid",
10078 "minimum" : 1,
4bd7df8b 10079 "type" : "integer",
013dc89f 10080 "typetext" : "<integer> (1 - N)"
44660702
DM
10081 },
10082 "node" : {
10083 "description" : "The cluster node name.",
10084 "format" : "pve-node",
013dc89f
DM
10085 "type" : "string",
10086 "typetext" : "<string>"
7aacca6f
DM
10087 },
10088 "pool" : {
10089 "description" : "Add the new VM to the specified pool.",
44660702 10090 "format" : "pve-poolid",
56122987 10091 "optional" : 1,
013dc89f
DM
10092 "type" : "string",
10093 "typetext" : "<string>"
56122987 10094 },
44660702
DM
10095 "snapname" : {
10096 "description" : "The name of the snapshot.",
10097 "format" : "pve-configid",
10098 "maxLength" : 40,
7aacca6f 10099 "optional" : 1,
013dc89f
DM
10100 "type" : "string",
10101 "typetext" : "<string>"
56122987 10102 },
44660702
DM
10103 "storage" : {
10104 "description" : "Target storage for full clone.",
10105 "format" : "pve-storage-id",
7aacca6f 10106 "optional" : 1,
44660702 10107 "requires" : "full",
013dc89f
DM
10108 "type" : "string",
10109 "typetext" : "<string>"
56122987 10110 },
44660702
DM
10111 "target" : {
10112 "description" : "Target node. Only allowed if the original VM is on shared storage.",
10113 "format" : "pve-node",
56122987 10114 "optional" : 1,
013dc89f
DM
10115 "type" : "string",
10116 "typetext" : "<string>"
44660702
DM
10117 },
10118 "vmid" : {
10119 "description" : "The (unique) ID of the VM.",
10120 "format" : "pve-vmid",
10121 "minimum" : 1,
4bd7df8b 10122 "type" : "integer",
013dc89f 10123 "typetext" : "<integer> (1 - N)"
56122987
DM
10124 }
10125 }
10126 },
56122987
DM
10127 "permissions" : {
10128 "check" : [
10129 "and",
10130 [
10131 "perm",
10132 "/vms/{vmid}",
10133 [
10134 "VM.Clone"
10135 ]
10136 ],
10137 [
10138 "or",
10139 [
10140 "perm",
10141 "/vms/{newid}",
10142 [
10143 "VM.Allocate"
10144 ]
10145 ],
10146 [
10147 "perm",
10148 "/pool/{pool}",
10149 [
10150 "VM.Allocate"
10151 ],
10152 "require_param",
10153 "pool"
10154 ]
10155 ]
44660702
DM
10156 ],
10157 "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."
10158 },
10159 "protected" : 1,
10160 "proxyto" : "node",
10161 "returns" : {
10162 "type" : "string"
56122987
DM
10163 }
10164 }
10165 },
44660702
DM
10166 "leaf" : 1,
10167 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
10168 "text" : "clone"
10169 },
10170 {
56122987
DM
10171 "info" : {
10172 "POST" : {
7aacca6f 10173 "description" : "Move volume to different storage.",
44660702
DM
10174 "method" : "POST",
10175 "name" : "move_vm_disk",
56122987
DM
10176 "parameters" : {
10177 "additionalProperties" : 0,
10178 "properties" : {
10179 "delete" : {
44660702 10180 "default" : 0,
56122987 10181 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 10182 "optional" : 1,
013dc89f
DM
10183 "type" : "boolean",
10184 "typetext" : "<boolean>"
56122987 10185 },
44660702
DM
10186 "digest" : {
10187 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10188 "maxLength" : 40,
10189 "optional" : 1,
013dc89f
DM
10190 "type" : "string",
10191 "typetext" : "<string>"
56122987 10192 },
56122987 10193 "disk" : {
56122987
DM
10194 "description" : "The disk you want to move.",
10195 "enum" : [
10196 "ide0",
10197 "ide1",
10198 "ide2",
10199 "ide3",
10200 "scsi0",
10201 "scsi1",
10202 "scsi2",
10203 "scsi3",
10204 "scsi4",
10205 "scsi5",
10206 "scsi6",
10207 "scsi7",
10208 "scsi8",
10209 "scsi9",
10210 "scsi10",
10211 "scsi11",
10212 "scsi12",
10213 "scsi13",
10214 "virtio0",
10215 "virtio1",
10216 "virtio2",
10217 "virtio3",
10218 "virtio4",
10219 "virtio5",
10220 "virtio6",
10221 "virtio7",
10222 "virtio8",
10223 "virtio9",
10224 "virtio10",
10225 "virtio11",
10226 "virtio12",
10227 "virtio13",
10228 "virtio14",
10229 "virtio15",
10230 "sata0",
10231 "sata1",
10232 "sata2",
10233 "sata3",
10234 "sata4",
2c0dde61
DM
10235 "sata5",
10236 "efidisk0"
44660702
DM
10237 ],
10238 "type" : "string"
7aacca6f
DM
10239 },
10240 "format" : {
10241 "description" : "Target Format.",
10242 "enum" : [
10243 "raw",
10244 "qcow2",
10245 "vmdk"
10246 ],
10247 "optional" : 1,
10248 "type" : "string"
44660702
DM
10249 },
10250 "node" : {
10251 "description" : "The cluster node name.",
10252 "format" : "pve-node",
013dc89f
DM
10253 "type" : "string",
10254 "typetext" : "<string>"
44660702
DM
10255 },
10256 "storage" : {
10257 "description" : "Target storage.",
10258 "format" : "pve-storage-id",
013dc89f
DM
10259 "type" : "string",
10260 "typetext" : "<string>"
44660702
DM
10261 },
10262 "vmid" : {
10263 "description" : "The (unique) ID of the VM.",
10264 "format" : "pve-vmid",
10265 "minimum" : 1,
4bd7df8b 10266 "type" : "integer",
013dc89f 10267 "typetext" : "<integer> (1 - N)"
56122987
DM
10268 }
10269 }
10270 },
44660702
DM
10271 "permissions" : {
10272 "check" : [
10273 "and",
10274 [
10275 "perm",
10276 "/vms/{vmid}",
10277 [
10278 "VM.Config.Disk"
10279 ]
10280 ],
10281 [
10282 "perm",
10283 "/storage/{storage}",
10284 [
10285 "Datastore.AllocateSpace"
10286 ]
10287 ]
10288 ],
10289 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10290 },
10291 "protected" : 1,
10292 "proxyto" : "node",
10293 "returns" : {
10294 "description" : "the task ID.",
10295 "type" : "string"
10296 }
56122987 10297 }
7aacca6f 10298 },
44660702 10299 "leaf" : 1,
7aacca6f 10300 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10301 "text" : "move_disk"
56122987
DM
10302 },
10303 {
56122987
DM
10304 "info" : {
10305 "POST" : {
7aacca6f 10306 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 10307 "method" : "POST",
7aacca6f 10308 "name" : "migrate_vm",
56122987 10309 "parameters" : {
44660702 10310 "additionalProperties" : 0,
56122987 10311 "properties" : {
44660702
DM
10312 "force" : {
10313 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
10314 "optional" : 1,
013dc89f
DM
10315 "type" : "boolean",
10316 "typetext" : "<boolean>"
44660702 10317 },
de0983cb
DM
10318 "migration_network" : {
10319 "description" : "CIDR of the (sub) network that is used for migration.",
10320 "format" : "CIDR",
10321 "optional" : 1,
013dc89f
DM
10322 "type" : "string",
10323 "typetext" : "<string>"
de0983cb
DM
10324 },
10325 "migration_type" : {
10326 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10327 "enum" : [
10328 "secure",
10329 "insecure"
10330 ],
10331 "optional" : 1,
10332 "type" : "string"
10333 },
7aacca6f 10334 "node" : {
44660702 10335 "description" : "The cluster node name.",
7aacca6f 10336 "format" : "pve-node",
013dc89f
DM
10337 "type" : "string",
10338 "typetext" : "<string>"
56122987
DM
10339 },
10340 "online" : {
44660702 10341 "description" : "Use online/live migration.",
56122987 10342 "optional" : 1,
013dc89f
DM
10343 "type" : "boolean",
10344 "typetext" : "<boolean>"
56122987 10345 },
44660702
DM
10346 "target" : {
10347 "description" : "Target node.",
10348 "format" : "pve-node",
013dc89f
DM
10349 "type" : "string",
10350 "typetext" : "<string>"
56122987 10351 },
7aacca6f 10352 "vmid" : {
7aacca6f 10353 "description" : "The (unique) ID of the VM.",
44660702 10354 "format" : "pve-vmid",
7aacca6f 10355 "minimum" : 1,
4bd7df8b 10356 "type" : "integer",
013dc89f 10357 "typetext" : "<integer> (1 - N)"
56122987 10358 }
44660702
DM
10359 }
10360 },
10361 "permissions" : {
10362 "check" : [
10363 "perm",
10364 "/vms/{vmid}",
10365 [
10366 "VM.Migrate"
10367 ]
10368 ]
56122987
DM
10369 },
10370 "protected" : 1,
44660702
DM
10371 "proxyto" : "node",
10372 "returns" : {
10373 "description" : "the task ID.",
10374 "type" : "string"
10375 }
56122987 10376 }
7aacca6f 10377 },
44660702
DM
10378 "leaf" : 1,
10379 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 10380 "text" : "migrate"
56122987
DM
10381 },
10382 {
10383 "info" : {
10384 "POST" : {
44660702 10385 "description" : "Execute Qemu monitor commands.",
56122987 10386 "method" : "POST",
44660702 10387 "name" : "monitor",
56122987 10388 "parameters" : {
7aacca6f 10389 "additionalProperties" : 0,
56122987 10390 "properties" : {
44660702
DM
10391 "command" : {
10392 "description" : "The monitor command.",
013dc89f
DM
10393 "type" : "string",
10394 "typetext" : "<string>"
44660702 10395 },
56122987 10396 "node" : {
44660702 10397 "description" : "The cluster node name.",
7aacca6f 10398 "format" : "pve-node",
013dc89f
DM
10399 "type" : "string",
10400 "typetext" : "<string>"
56122987
DM
10401 },
10402 "vmid" : {
44660702 10403 "description" : "The (unique) ID of the VM.",
56122987 10404 "format" : "pve-vmid",
7aacca6f 10405 "minimum" : 1,
4bd7df8b 10406 "type" : "integer",
013dc89f 10407 "typetext" : "<integer> (1 - N)"
56122987 10408 }
7aacca6f 10409 }
56122987 10410 },
56122987
DM
10411 "permissions" : {
10412 "check" : [
10413 "perm",
10414 "/vms/{vmid}",
10415 [
10416 "VM.Monitor"
10417 ]
10418 ]
7aacca6f 10419 },
44660702
DM
10420 "protected" : 1,
10421 "proxyto" : "node",
10422 "returns" : {
10423 "type" : "string"
10424 }
56122987 10425 }
44660702
DM
10426 },
10427 "leaf" : 1,
10428 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
10429 "text" : "monitor"
56122987
DM
10430 },
10431 {
56122987
DM
10432 "info" : {
10433 "PUT" : {
44660702
DM
10434 "description" : "Extend volume size.",
10435 "method" : "PUT",
10436 "name" : "resize_vm",
56122987 10437 "parameters" : {
44660702 10438 "additionalProperties" : 0,
56122987 10439 "properties" : {
44660702
DM
10440 "digest" : {
10441 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10442 "maxLength" : 40,
10443 "optional" : 1,
013dc89f
DM
10444 "type" : "string",
10445 "typetext" : "<string>"
56122987 10446 },
56122987
DM
10447 "disk" : {
10448 "description" : "The disk you want to resize.",
10449 "enum" : [
10450 "ide0",
10451 "ide1",
10452 "ide2",
10453 "ide3",
10454 "scsi0",
10455 "scsi1",
10456 "scsi2",
10457 "scsi3",
10458 "scsi4",
10459 "scsi5",
10460 "scsi6",
10461 "scsi7",
10462 "scsi8",
10463 "scsi9",
10464 "scsi10",
10465 "scsi11",
10466 "scsi12",
10467 "scsi13",
10468 "virtio0",
10469 "virtio1",
10470 "virtio2",
10471 "virtio3",
10472 "virtio4",
10473 "virtio5",
10474 "virtio6",
10475 "virtio7",
10476 "virtio8",
10477 "virtio9",
10478 "virtio10",
10479 "virtio11",
10480 "virtio12",
10481 "virtio13",
10482 "virtio14",
10483 "virtio15",
10484 "sata0",
10485 "sata1",
10486 "sata2",
10487 "sata3",
10488 "sata4",
2c0dde61
DM
10489 "sata5",
10490 "efidisk0"
44660702
DM
10491 ],
10492 "type" : "string"
56122987 10493 },
44660702
DM
10494 "node" : {
10495 "description" : "The cluster node name.",
10496 "format" : "pve-node",
013dc89f
DM
10497 "type" : "string",
10498 "typetext" : "<string>"
7aacca6f 10499 },
44660702
DM
10500 "size" : {
10501 "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.",
10502 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
10503 "type" : "string"
56122987
DM
10504 },
10505 "skiplock" : {
10506 "description" : "Ignore locks - only root is allowed to use this option.",
10507 "optional" : 1,
013dc89f
DM
10508 "type" : "boolean",
10509 "typetext" : "<boolean>"
56122987
DM
10510 },
10511 "vmid" : {
7aacca6f 10512 "description" : "The (unique) ID of the VM.",
56122987 10513 "format" : "pve-vmid",
44660702 10514 "minimum" : 1,
4bd7df8b 10515 "type" : "integer",
013dc89f 10516 "typetext" : "<integer> (1 - N)"
56122987
DM
10517 }
10518 }
10519 },
10520 "permissions" : {
10521 "check" : [
10522 "perm",
10523 "/vms/{vmid}",
10524 [
44660702 10525 "VM.Config.Disk"
56122987
DM
10526 ]
10527 ]
10528 },
7aacca6f 10529 "protected" : 1,
7aacca6f 10530 "proxyto" : "node",
44660702
DM
10531 "returns" : {
10532 "type" : "null"
10533 }
7aacca6f
DM
10534 }
10535 },
44660702
DM
10536 "leaf" : 1,
10537 "path" : "/nodes/{node}/qemu/{vmid}/resize",
10538 "text" : "resize"
10539 },
10540 {
56122987
DM
10541 "children" : [
10542 {
10543 "children" : [
10544 {
56122987 10545 "info" : {
44660702
DM
10546 "GET" : {
10547 "description" : "Get snapshot configuration",
10548 "method" : "GET",
10549 "name" : "get_snapshot_config",
56122987 10550 "parameters" : {
44660702 10551 "additionalProperties" : 0,
56122987 10552 "properties" : {
56122987 10553 "node" : {
44660702 10554 "description" : "The cluster node name.",
56122987 10555 "format" : "pve-node",
013dc89f
DM
10556 "type" : "string",
10557 "typetext" : "<string>"
7aacca6f
DM
10558 },
10559 "snapname" : {
44660702 10560 "description" : "The name of the snapshot.",
7aacca6f 10561 "format" : "pve-configid",
44660702 10562 "maxLength" : 40,
013dc89f
DM
10563 "type" : "string",
10564 "typetext" : "<string>"
7aacca6f
DM
10565 },
10566 "vmid" : {
44660702 10567 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10568 "format" : "pve-vmid",
10569 "minimum" : 1,
4bd7df8b 10570 "type" : "integer",
013dc89f 10571 "typetext" : "<integer> (1 - N)"
56122987 10572 }
44660702 10573 }
56122987
DM
10574 },
10575 "permissions" : {
10576 "check" : [
10577 "perm",
10578 "/vms/{vmid}",
10579 [
10580 "VM.Snapshot"
10581 ]
10582 ]
10583 },
44660702 10584 "proxyto" : "node",
56122987 10585 "returns" : {
44660702 10586 "type" : "object"
7aacca6f
DM
10587 }
10588 },
44660702
DM
10589 "PUT" : {
10590 "description" : "Update snapshot metadata.",
10591 "method" : "PUT",
10592 "name" : "update_snapshot_config",
56122987 10593 "parameters" : {
44660702 10594 "additionalProperties" : 0,
56122987 10595 "properties" : {
44660702
DM
10596 "description" : {
10597 "description" : "A textual description or comment.",
10598 "optional" : 1,
013dc89f
DM
10599 "type" : "string",
10600 "typetext" : "<string>"
44660702 10601 },
56122987 10602 "node" : {
7aacca6f 10603 "description" : "The cluster node name.",
44660702 10604 "format" : "pve-node",
013dc89f
DM
10605 "type" : "string",
10606 "typetext" : "<string>"
56122987 10607 },
56122987
DM
10608 "snapname" : {
10609 "description" : "The name of the snapshot.",
44660702 10610 "format" : "pve-configid",
7aacca6f 10611 "maxLength" : 40,
013dc89f
DM
10612 "type" : "string",
10613 "typetext" : "<string>"
7aacca6f
DM
10614 },
10615 "vmid" : {
10616 "description" : "The (unique) ID of the VM.",
44660702 10617 "format" : "pve-vmid",
7aacca6f 10618 "minimum" : 1,
4bd7df8b 10619 "type" : "integer",
013dc89f 10620 "typetext" : "<integer> (1 - N)"
56122987 10621 }
44660702 10622 }
56122987 10623 },
7aacca6f
DM
10624 "permissions" : {
10625 "check" : [
10626 "perm",
10627 "/vms/{vmid}",
10628 [
10629 "VM.Snapshot"
10630 ]
10631 ]
44660702
DM
10632 },
10633 "protected" : 1,
10634 "proxyto" : "node",
10635 "returns" : {
10636 "type" : "null"
7aacca6f 10637 }
56122987
DM
10638 }
10639 },
44660702 10640 "leaf" : 1,
7aacca6f 10641 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 10642 "text" : "config"
56122987
DM
10643 },
10644 {
56122987
DM
10645 "info" : {
10646 "POST" : {
44660702 10647 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 10648 "method" : "POST",
44660702 10649 "name" : "rollback",
56122987
DM
10650 "parameters" : {
10651 "additionalProperties" : 0,
10652 "properties" : {
44660702
DM
10653 "node" : {
10654 "description" : "The cluster node name.",
10655 "format" : "pve-node",
013dc89f
DM
10656 "type" : "string",
10657 "typetext" : "<string>"
44660702 10658 },
56122987 10659 "snapname" : {
44660702 10660 "description" : "The name of the snapshot.",
56122987
DM
10661 "format" : "pve-configid",
10662 "maxLength" : 40,
013dc89f
DM
10663 "type" : "string",
10664 "typetext" : "<string>"
7aacca6f 10665 },
56122987 10666 "vmid" : {
7aacca6f 10667 "description" : "The (unique) ID of the VM.",
44660702 10668 "format" : "pve-vmid",
56122987 10669 "minimum" : 1,
4bd7df8b 10670 "type" : "integer",
013dc89f 10671 "typetext" : "<integer> (1 - N)"
56122987
DM
10672 }
10673 }
10674 },
7aacca6f 10675 "permissions" : {
56122987
DM
10676 "check" : [
10677 "perm",
10678 "/vms/{vmid}",
10679 [
10680 "VM.Snapshot"
10681 ]
10682 ]
10683 },
44660702 10684 "protected" : 1,
7aacca6f 10685 "proxyto" : "node",
44660702
DM
10686 "returns" : {
10687 "description" : "the task ID.",
10688 "type" : "string"
10689 }
56122987
DM
10690 }
10691 },
44660702
DM
10692 "leaf" : 1,
10693 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 10694 "text" : "rollback"
56122987 10695 }
44660702
DM
10696 ],
10697 "info" : {
10698 "DELETE" : {
10699 "description" : "Delete a VM snapshot.",
10700 "method" : "DELETE",
10701 "name" : "delsnapshot",
10702 "parameters" : {
10703 "additionalProperties" : 0,
10704 "properties" : {
10705 "force" : {
10706 "description" : "For removal from config file, even if removing disk snapshots fails.",
10707 "optional" : 1,
013dc89f
DM
10708 "type" : "boolean",
10709 "typetext" : "<boolean>"
44660702
DM
10710 },
10711 "node" : {
10712 "description" : "The cluster node name.",
10713 "format" : "pve-node",
013dc89f
DM
10714 "type" : "string",
10715 "typetext" : "<string>"
44660702
DM
10716 },
10717 "snapname" : {
10718 "description" : "The name of the snapshot.",
10719 "format" : "pve-configid",
10720 "maxLength" : 40,
013dc89f
DM
10721 "type" : "string",
10722 "typetext" : "<string>"
44660702
DM
10723 },
10724 "vmid" : {
10725 "description" : "The (unique) ID of the VM.",
10726 "format" : "pve-vmid",
10727 "minimum" : 1,
4bd7df8b 10728 "type" : "integer",
013dc89f 10729 "typetext" : "<integer> (1 - N)"
44660702
DM
10730 }
10731 }
10732 },
10733 "permissions" : {
10734 "check" : [
10735 "perm",
10736 "/vms/{vmid}",
10737 [
10738 "VM.Snapshot"
10739 ]
10740 ]
10741 },
10742 "protected" : 1,
10743 "proxyto" : "node",
10744 "returns" : {
10745 "description" : "the task ID.",
10746 "type" : "string"
10747 }
10748 },
10749 "GET" : {
10750 "description" : "",
10751 "method" : "GET",
10752 "name" : "snapshot_cmd_idx",
10753 "parameters" : {
10754 "additionalProperties" : 0,
10755 "properties" : {
10756 "node" : {
10757 "description" : "The cluster node name.",
10758 "format" : "pve-node",
013dc89f
DM
10759 "type" : "string",
10760 "typetext" : "<string>"
44660702
DM
10761 },
10762 "snapname" : {
10763 "description" : "The name of the snapshot.",
10764 "format" : "pve-configid",
10765 "maxLength" : 40,
013dc89f
DM
10766 "type" : "string",
10767 "typetext" : "<string>"
44660702
DM
10768 },
10769 "vmid" : {
10770 "description" : "The (unique) ID of the VM.",
10771 "format" : "pve-vmid",
10772 "minimum" : 1,
4bd7df8b 10773 "type" : "integer",
013dc89f 10774 "typetext" : "<integer> (1 - N)"
44660702
DM
10775 }
10776 }
10777 },
10778 "permissions" : {
10779 "user" : "all"
10780 },
10781 "returns" : {
10782 "items" : {
10783 "properties" : {},
10784 "type" : "object"
10785 },
10786 "links" : [
10787 {
10788 "href" : "{cmd}",
10789 "rel" : "child"
10790 }
10791 ],
10792 "type" : "array"
10793 }
10794 }
10795 },
10796 "leaf" : 0,
10797 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
10798 "text" : "{snapname}"
56122987
DM
10799 }
10800 ],
44660702
DM
10801 "info" : {
10802 "GET" : {
10803 "description" : "List all snapshots.",
10804 "method" : "GET",
10805 "name" : "snapshot_list",
10806 "parameters" : {
10807 "additionalProperties" : 0,
10808 "properties" : {
10809 "node" : {
10810 "description" : "The cluster node name.",
10811 "format" : "pve-node",
013dc89f
DM
10812 "type" : "string",
10813 "typetext" : "<string>"
44660702
DM
10814 },
10815 "vmid" : {
10816 "description" : "The (unique) ID of the VM.",
10817 "format" : "pve-vmid",
10818 "minimum" : 1,
4bd7df8b 10819 "type" : "integer",
013dc89f 10820 "typetext" : "<integer> (1 - N)"
44660702
DM
10821 }
10822 }
10823 },
10824 "permissions" : {
10825 "check" : [
10826 "perm",
10827 "/vms/{vmid}",
10828 [
10829 "VM.Audit"
10830 ]
10831 ]
10832 },
10833 "protected" : 1,
10834 "proxyto" : "node",
10835 "returns" : {
10836 "items" : {
10837 "properties" : {},
10838 "type" : "object"
10839 },
10840 "links" : [
10841 {
10842 "href" : "{name}",
10843 "rel" : "child"
10844 }
10845 ],
10846 "type" : "array"
10847 }
10848 },
10849 "POST" : {
10850 "description" : "Snapshot a VM.",
10851 "method" : "POST",
10852 "name" : "snapshot",
10853 "parameters" : {
10854 "additionalProperties" : 0,
10855 "properties" : {
10856 "description" : {
10857 "description" : "A textual description or comment.",
10858 "optional" : 1,
013dc89f
DM
10859 "type" : "string",
10860 "typetext" : "<string>"
44660702
DM
10861 },
10862 "node" : {
10863 "description" : "The cluster node name.",
10864 "format" : "pve-node",
013dc89f
DM
10865 "type" : "string",
10866 "typetext" : "<string>"
44660702
DM
10867 },
10868 "snapname" : {
10869 "description" : "The name of the snapshot.",
10870 "format" : "pve-configid",
10871 "maxLength" : 40,
013dc89f
DM
10872 "type" : "string",
10873 "typetext" : "<string>"
44660702
DM
10874 },
10875 "vmid" : {
10876 "description" : "The (unique) ID of the VM.",
10877 "format" : "pve-vmid",
10878 "minimum" : 1,
4bd7df8b 10879 "type" : "integer",
013dc89f 10880 "typetext" : "<integer> (1 - N)"
44660702
DM
10881 },
10882 "vmstate" : {
10883 "description" : "Save the vmstate",
10884 "optional" : 1,
013dc89f
DM
10885 "type" : "boolean",
10886 "typetext" : "<boolean>"
44660702
DM
10887 }
10888 }
10889 },
10890 "permissions" : {
10891 "check" : [
10892 "perm",
10893 "/vms/{vmid}",
10894 [
10895 "VM.Snapshot"
10896 ]
10897 ]
10898 },
10899 "protected" : 1,
10900 "proxyto" : "node",
10901 "returns" : {
10902 "description" : "the task ID.",
10903 "type" : "string"
10904 }
10905 }
10906 },
10907 "leaf" : 0,
10908 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 10909 "text" : "snapshot"
56122987
DM
10910 },
10911 {
56122987
DM
10912 "info" : {
10913 "POST" : {
44660702
DM
10914 "description" : "Create a Template.",
10915 "method" : "POST",
56122987 10916 "name" : "template",
56122987 10917 "parameters" : {
7aacca6f 10918 "additionalProperties" : 0,
56122987 10919 "properties" : {
56122987 10920 "disk" : {
56122987
DM
10921 "description" : "If you want to convert only 1 disk to base image.",
10922 "enum" : [
10923 "ide0",
10924 "ide1",
10925 "ide2",
10926 "ide3",
10927 "scsi0",
10928 "scsi1",
10929 "scsi2",
10930 "scsi3",
10931 "scsi4",
10932 "scsi5",
10933 "scsi6",
10934 "scsi7",
10935 "scsi8",
10936 "scsi9",
10937 "scsi10",
10938 "scsi11",
10939 "scsi12",
10940 "scsi13",
10941 "virtio0",
10942 "virtio1",
10943 "virtio2",
10944 "virtio3",
10945 "virtio4",
10946 "virtio5",
10947 "virtio6",
10948 "virtio7",
10949 "virtio8",
10950 "virtio9",
10951 "virtio10",
10952 "virtio11",
10953 "virtio12",
10954 "virtio13",
10955 "virtio14",
10956 "virtio15",
10957 "sata0",
10958 "sata1",
10959 "sata2",
10960 "sata3",
10961 "sata4",
2c0dde61
DM
10962 "sata5",
10963 "efidisk0"
56122987 10964 ],
7aacca6f 10965 "optional" : 1,
56122987
DM
10966 "type" : "string"
10967 },
44660702
DM
10968 "node" : {
10969 "description" : "The cluster node name.",
10970 "format" : "pve-node",
013dc89f
DM
10971 "type" : "string",
10972 "typetext" : "<string>"
44660702
DM
10973 },
10974 "vmid" : {
10975 "description" : "The (unique) ID of the VM.",
7aacca6f 10976 "format" : "pve-vmid",
44660702 10977 "minimum" : 1,
4bd7df8b 10978 "type" : "integer",
013dc89f 10979 "typetext" : "<integer> (1 - N)"
56122987 10980 }
7aacca6f 10981 }
56122987 10982 },
7aacca6f
DM
10983 "permissions" : {
10984 "check" : [
10985 "perm",
10986 "/vms/{vmid}",
10987 [
10988 "VM.Allocate"
10989 ]
10990 ],
10991 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
10992 },
44660702 10993 "protected" : 1,
7aacca6f 10994 "proxyto" : "node",
7aacca6f
DM
10995 "returns" : {
10996 "type" : "null"
10997 }
56122987
DM
10998 }
10999 },
44660702 11000 "leaf" : 1,
7aacca6f 11001 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 11002 "text" : "template"
56122987
DM
11003 }
11004 ],
7aacca6f 11005 "info" : {
44660702
DM
11006 "DELETE" : {
11007 "description" : "Destroy the vm (also delete all used/owned volumes).",
11008 "method" : "DELETE",
11009 "name" : "destroy_vm",
7aacca6f 11010 "parameters" : {
44660702 11011 "additionalProperties" : 0,
7aacca6f
DM
11012 "properties" : {
11013 "node" : {
44660702 11014 "description" : "The cluster node name.",
7aacca6f 11015 "format" : "pve-node",
013dc89f
DM
11016 "type" : "string",
11017 "typetext" : "<string>"
44660702
DM
11018 },
11019 "skiplock" : {
11020 "description" : "Ignore locks - only root is allowed to use this option.",
11021 "optional" : 1,
013dc89f
DM
11022 "type" : "boolean",
11023 "typetext" : "<boolean>"
7aacca6f
DM
11024 },
11025 "vmid" : {
44660702 11026 "description" : "The (unique) ID of the VM.",
7aacca6f 11027 "format" : "pve-vmid",
44660702 11028 "minimum" : 1,
4bd7df8b 11029 "type" : "integer",
013dc89f 11030 "typetext" : "<integer> (1 - N)"
7aacca6f 11031 }
44660702 11032 }
7aacca6f 11033 },
7aacca6f
DM
11034 "permissions" : {
11035 "check" : [
11036 "perm",
11037 "/vms/{vmid}",
11038 [
11039 "VM.Allocate"
11040 ]
11041 ]
11042 },
44660702
DM
11043 "protected" : 1,
11044 "proxyto" : "node",
7aacca6f
DM
11045 "returns" : {
11046 "type" : "string"
44660702
DM
11047 }
11048 },
11049 "GET" : {
11050 "description" : "Directory index",
11051 "method" : "GET",
11052 "name" : "vmdiridx",
7aacca6f 11053 "parameters" : {
44660702 11054 "additionalProperties" : 0,
7aacca6f 11055 "properties" : {
7aacca6f 11056 "node" : {
7aacca6f 11057 "description" : "The cluster node name.",
44660702 11058 "format" : "pve-node",
013dc89f
DM
11059 "type" : "string",
11060 "typetext" : "<string>"
44660702
DM
11061 },
11062 "vmid" : {
11063 "description" : "The (unique) ID of the VM.",
11064 "format" : "pve-vmid",
11065 "minimum" : 1,
4bd7df8b 11066 "type" : "integer",
013dc89f 11067 "typetext" : "<integer> (1 - N)"
7aacca6f 11068 }
44660702 11069 }
7aacca6f 11070 },
44660702
DM
11071 "permissions" : {
11072 "user" : "all"
11073 },
11074 "proxyto" : "node",
11075 "returns" : {
11076 "items" : {
11077 "properties" : {
11078 "subdir" : {
11079 "type" : "string"
11080 }
11081 },
11082 "type" : "object"
11083 },
11084 "links" : [
11085 {
11086 "href" : "{subdir}",
11087 "rel" : "child"
11088 }
11089 ],
11090 "type" : "array"
11091 }
7aacca6f 11092 }
44660702
DM
11093 },
11094 "leaf" : 0,
11095 "path" : "/nodes/{node}/qemu/{vmid}",
11096 "text" : "{vmid}"
56122987
DM
11097 }
11098 ],
11099 "info" : {
44660702
DM
11100 "GET" : {
11101 "description" : "Virtual machine index (per node).",
11102 "method" : "GET",
11103 "name" : "vmlist",
56122987 11104 "parameters" : {
44660702 11105 "additionalProperties" : 0,
56122987 11106 "properties" : {
44660702
DM
11107 "full" : {
11108 "description" : "Determine the full status of active VMs.",
56122987 11109 "optional" : 1,
013dc89f
DM
11110 "type" : "boolean",
11111 "typetext" : "<boolean>"
56122987 11112 },
44660702
DM
11113 "node" : {
11114 "description" : "The cluster node name.",
11115 "format" : "pve-node",
013dc89f
DM
11116 "type" : "string",
11117 "typetext" : "<string>"
44660702
DM
11118 }
11119 }
11120 },
11121 "permissions" : {
11122 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
11123 "user" : "all"
11124 },
11125 "protected" : 1,
11126 "proxyto" : "node",
11127 "returns" : {
11128 "items" : {
11129 "properties" : {},
11130 "type" : "object"
11131 },
11132 "links" : [
11133 {
11134 "href" : "{vmid}",
11135 "rel" : "child"
11136 }
11137 ],
11138 "type" : "array"
11139 }
11140 },
11141 "POST" : {
11142 "description" : "Create or restore a virtual machine.",
11143 "method" : "POST",
11144 "name" : "create_vm",
11145 "parameters" : {
11146 "additionalProperties" : 0,
11147 "properties" : {
7aacca6f 11148 "acpi" : {
7aacca6f 11149 "default" : 1,
44660702 11150 "description" : "Enable/disable ACPI.",
56122987 11151 "optional" : 1,
013dc89f
DM
11152 "type" : "boolean",
11153 "typetext" : "<boolean>"
56122987 11154 },
44660702
DM
11155 "agent" : {
11156 "default" : 0,
11157 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 11158 "optional" : 1,
013dc89f
DM
11159 "type" : "boolean",
11160 "typetext" : "<boolean>"
56122987 11161 },
44660702
DM
11162 "archive" : {
11163 "description" : "The backup file.",
11164 "maxLength" : 255,
56122987 11165 "optional" : 1,
013dc89f
DM
11166 "type" : "string",
11167 "typetext" : "<string>"
56122987 11168 },
44660702 11169 "args" : {
c2993fe5 11170 "description" : "Arbitrary arguments passed to kvm.",
56122987 11171 "optional" : 1,
c2993fe5 11172 "type" : "string",
013dc89f 11173 "typetext" : "<string>",
c2993fe5 11174 "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 11175 },
44660702 11176 "autostart" : {
7aacca6f 11177 "default" : 0,
44660702
DM
11178 "description" : "Automatic restart after crash (currently ignored).",
11179 "optional" : 1,
013dc89f
DM
11180 "type" : "boolean",
11181 "typetext" : "<boolean>"
7aacca6f 11182 },
44660702
DM
11183 "balloon" : {
11184 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11185 "minimum" : 0,
56122987 11186 "optional" : 1,
4bd7df8b 11187 "type" : "integer",
013dc89f 11188 "typetext" : "<integer> (0 - N)"
56122987 11189 },
44660702
DM
11190 "bios" : {
11191 "default" : "seabios",
11192 "description" : "Select BIOS implementation.",
11193 "enum" : [
11194 "seabios",
11195 "ovmf"
11196 ],
56122987 11197 "optional" : 1,
44660702 11198 "type" : "string"
56122987 11199 },
44660702
DM
11200 "boot" : {
11201 "default" : "cdn",
11202 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 11203 "optional" : 1,
44660702
DM
11204 "pattern" : "[acdn]{1,4}",
11205 "type" : "string"
56122987 11206 },
7aacca6f
DM
11207 "bootdisk" : {
11208 "description" : "Enable booting from specified disk.",
44660702
DM
11209 "format" : "pve-qm-bootdisk",
11210 "optional" : 1,
7aacca6f 11211 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
11212 "type" : "string"
11213 },
11214 "cdrom" : {
11215 "description" : "This is an alias for option -ide2",
de0983cb 11216 "format" : "pve-qm-ide",
56122987 11217 "optional" : 1,
44660702 11218 "type" : "string",
013dc89f 11219 "typetext" : "<volume>"
56122987 11220 },
44660702
DM
11221 "cores" : {
11222 "default" : 1,
11223 "description" : "The number of cores per socket.",
7aacca6f 11224 "minimum" : 1,
44660702 11225 "optional" : 1,
4bd7df8b 11226 "type" : "integer",
013dc89f 11227 "typetext" : "<integer> (1 - N)"
7aacca6f 11228 },
44660702
DM
11229 "cpu" : {
11230 "description" : "Emulated CPU type.",
11231 "format" : {
11232 "cputype" : {
11233 "default" : "kvm64",
11234 "default_key" : 1,
11235 "description" : "Emulated CPU type.",
11236 "enum" : [
11237 "486",
11238 "athlon",
f004f5b9
DM
11239 "Broadwell",
11240 "Broadwell-noTSX",
11241 "Conroe",
44660702 11242 "core2duo",
f004f5b9
DM
11243 "coreduo",
11244 "Haswell",
11245 "Haswell-noTSX",
11246 "host",
11247 "IvyBridge",
44660702
DM
11248 "kvm32",
11249 "kvm64",
44660702 11250 "Nehalem",
44660702
DM
11251 "Opteron_G1",
11252 "Opteron_G2",
11253 "Opteron_G3",
11254 "Opteron_G4",
11255 "Opteron_G5",
f004f5b9
DM
11256 "Penryn",
11257 "pentium",
11258 "pentium2",
11259 "pentium3",
11260 "phenom",
11261 "qemu32",
11262 "qemu64",
11263 "SandyBridge",
11264 "Westmere"
44660702 11265 ],
44660702
DM
11266 "type" : "string"
11267 },
11268 "hidden" : {
11269 "default" : 0,
11270 "description" : "Do not identify as a KVM virtual machine.",
11271 "optional" : 1,
11272 "type" : "boolean"
11273 }
11274 },
56122987 11275 "optional" : 1,
4bd7df8b 11276 "type" : "string",
013dc89f 11277 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
56122987 11278 },
44660702 11279 "cpulimit" : {
7aacca6f 11280 "default" : 0,
c2993fe5 11281 "description" : "Limit of CPU usage.",
44660702
DM
11282 "maximum" : 128,
11283 "minimum" : 0,
7aacca6f 11284 "optional" : 1,
c2993fe5 11285 "type" : "number",
013dc89f 11286 "typetext" : "<number> (0 - 128)",
c2993fe5 11287 "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
11288 },
11289 "cpuunits" : {
de0983cb 11290 "default" : 1024,
c2993fe5 11291 "description" : "CPU weight for a VM.",
7aacca6f 11292 "maximum" : 500000,
44660702
DM
11293 "minimum" : 0,
11294 "optional" : 1,
c2993fe5 11295 "type" : "integer",
013dc89f 11296 "typetext" : "<integer> (0 - 500000)",
c2993fe5 11297 "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
11298 },
11299 "description" : {
11300 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 11301 "optional" : 1,
013dc89f
DM
11302 "type" : "string",
11303 "typetext" : "<string>"
44660702
DM
11304 },
11305 "force" : {
11306 "description" : "Allow to overwrite existing VM.",
11307 "optional" : 1,
11308 "requires" : "archive",
013dc89f
DM
11309 "type" : "boolean",
11310 "typetext" : "<boolean>"
44660702
DM
11311 },
11312 "freeze" : {
11313 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11314 "optional" : 1,
013dc89f
DM
11315 "type" : "boolean",
11316 "typetext" : "<boolean>"
44660702
DM
11317 },
11318 "hostpci[n]" : {
c2993fe5 11319 "description" : "Map host PCI devices into guest.",
44660702
DM
11320 "format" : "pve-qm-hostpci",
11321 "optional" : 1,
57b78691 11322 "type" : "string",
4bd7df8b 11323 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 11324 "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
11325 },
11326 "hotplug" : {
11327 "default" : "network,disk,usb",
11328 "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'.",
11329 "format" : "pve-hotplug-features",
11330 "optional" : 1,
013dc89f
DM
11331 "type" : "string",
11332 "typetext" : "<string>"
7aacca6f 11333 },
4bd7df8b
DM
11334 "hugepages" : {
11335 "description" : "Enable/disable hugepages memory.",
11336 "enum" : [
11337 "any",
11338 "2",
11339 "1024"
11340 ],
11341 "optional" : 1,
11342 "type" : "string"
11343 },
7aacca6f 11344 "ide[n]" : {
44660702 11345 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11346 "format" : {
44660702
DM
11347 "aio" : {
11348 "description" : "AIO type to use.",
11349 "enum" : [
11350 "native",
11351 "threads"
11352 ],
44660702
DM
11353 "optional" : 1,
11354 "type" : "string"
11355 },
11356 "backup" : {
11357 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11358 "optional" : 1,
11359 "type" : "boolean"
11360 },
11361 "bps" : {
de0983cb 11362 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11363 "format_description" : "bps",
56122987 11364 "optional" : 1,
44660702 11365 "type" : "integer"
56122987 11366 },
de0983cb
DM
11367 "bps_max_length" : {
11368 "description" : "Maximum length of I/O bursts in seconds.",
11369 "format_description" : "seconds",
11370 "minimum" : 1,
11371 "optional" : 1,
11372 "type" : "integer"
11373 },
44660702 11374 "bps_rd" : {
de0983cb 11375 "description" : "Maximum read speed in bytes per second.",
44660702 11376 "format_description" : "bps",
56122987 11377 "optional" : 1,
44660702 11378 "type" : "integer"
56122987 11379 },
de0983cb
DM
11380 "bps_rd_length" : {
11381 "description" : "Maximum length of read I/O bursts in seconds.",
11382 "format_description" : "seconds",
11383 "minimum" : 1,
11384 "optional" : 1,
11385 "type" : "integer"
11386 },
44660702 11387 "bps_wr" : {
de0983cb 11388 "description" : "Maximum write speed in bytes per second.",
44660702 11389 "format_description" : "bps",
56122987 11390 "optional" : 1,
44660702 11391 "type" : "integer"
56122987 11392 },
de0983cb
DM
11393 "bps_wr_length" : {
11394 "description" : "Maximum length of write I/O bursts in seconds.",
11395 "format_description" : "seconds",
11396 "minimum" : 1,
11397 "optional" : 1,
11398 "type" : "integer"
11399 },
44660702
DM
11400 "cache" : {
11401 "description" : "The drive's cache mode",
56122987 11402 "enum" : [
7aacca6f 11403 "none",
44660702
DM
11404 "writethrough",
11405 "writeback",
11406 "unsafe",
11407 "directsync"
56122987 11408 ],
56122987 11409 "optional" : 1,
44660702 11410 "type" : "string"
56122987 11411 },
44660702
DM
11412 "cyls" : {
11413 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11414 "optional" : 1,
11415 "type" : "integer"
7aacca6f 11416 },
44660702
DM
11417 "detect_zeroes" : {
11418 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11419 "optional" : 1,
44660702 11420 "type" : "boolean"
56122987 11421 },
44660702
DM
11422 "discard" : {
11423 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11424 "enum" : [
11425 "ignore",
11426 "on"
11427 ],
56122987 11428 "optional" : 1,
44660702 11429 "type" : "string"
56122987 11430 },
7aacca6f 11431 "file" : {
44660702 11432 "default_key" : 1,
7aacca6f 11433 "description" : "The drive's backing volume.",
7aacca6f
DM
11434 "format" : "pve-volume-id-or-qm-path",
11435 "format_description" : "volume",
7aacca6f 11436 "type" : "string"
56122987 11437 },
44660702
DM
11438 "format" : {
11439 "description" : "The drive's backing file's data format.",
56122987 11440 "enum" : [
44660702
DM
11441 "raw",
11442 "cow",
11443 "qcow",
11444 "qed",
11445 "qcow2",
11446 "vmdk",
11447 "cloop"
7aacca6f 11448 ],
7aacca6f
DM
11449 "optional" : 1,
11450 "type" : "string"
56122987 11451 },
44660702
DM
11452 "heads" : {
11453 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11454 "optional" : 1,
44660702 11455 "type" : "integer"
56122987 11456 },
44660702 11457 "iops" : {
de0983cb 11458 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 11459 "format_description" : "iops",
56122987 11460 "optional" : 1,
44660702 11461 "type" : "integer"
56122987 11462 },
44660702 11463 "iops_max" : {
de0983cb 11464 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11465 "format_description" : "iops",
56122987 11466 "optional" : 1,
44660702 11467 "type" : "integer"
56122987 11468 },
de0983cb
DM
11469 "iops_max_length" : {
11470 "description" : "Maximum length of I/O bursts in seconds.",
11471 "format_description" : "seconds",
11472 "minimum" : 1,
11473 "optional" : 1,
11474 "type" : "integer"
11475 },
7aacca6f 11476 "iops_rd" : {
de0983cb 11477 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11478 "format_description" : "iops",
11479 "optional" : 1,
11480 "type" : "integer"
7aacca6f 11481 },
de0983cb
DM
11482 "iops_rd_length" : {
11483 "description" : "Maximum length of read I/O bursts in seconds.",
11484 "format_description" : "seconds",
11485 "minimum" : 1,
11486 "optional" : 1,
11487 "type" : "integer"
11488 },
44660702 11489 "iops_rd_max" : {
de0983cb 11490 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11491 "format_description" : "iops",
56122987 11492 "optional" : 1,
44660702 11493 "type" : "integer"
56122987 11494 },
44660702 11495 "iops_wr" : {
de0983cb 11496 "description" : "Maximum write I/O in operations per second.",
44660702 11497 "format_description" : "iops",
56122987 11498 "optional" : 1,
44660702 11499 "type" : "integer"
7aacca6f 11500 },
de0983cb
DM
11501 "iops_wr_length" : {
11502 "description" : "Maximum length of write I/O bursts in seconds.",
11503 "format_description" : "seconds",
11504 "minimum" : 1,
11505 "optional" : 1,
11506 "type" : "integer"
11507 },
44660702 11508 "iops_wr_max" : {
de0983cb 11509 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11510 "format_description" : "iops",
7aacca6f 11511 "optional" : 1,
44660702 11512 "type" : "integer"
56122987 11513 },
44660702 11514 "mbps" : {
de0983cb 11515 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11516 "format_description" : "mbps",
7aacca6f 11517 "optional" : 1,
44660702 11518 "type" : "number"
56122987 11519 },
44660702 11520 "mbps_max" : {
de0983cb 11521 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 11522 "format_description" : "mbps",
56122987 11523 "optional" : 1,
44660702 11524 "type" : "number"
56122987 11525 },
44660702 11526 "mbps_rd" : {
de0983cb 11527 "description" : "Maximum read speed in megabytes per second.",
44660702 11528 "format_description" : "mbps",
7aacca6f 11529 "optional" : 1,
44660702 11530 "type" : "number"
7aacca6f 11531 },
44660702 11532 "mbps_rd_max" : {
de0983cb 11533 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11534 "format_description" : "mbps",
56122987 11535 "optional" : 1,
44660702 11536 "type" : "number"
56122987 11537 },
44660702 11538 "mbps_wr" : {
de0983cb 11539 "description" : "Maximum write speed in megabytes per second.",
44660702 11540 "format_description" : "mbps",
7aacca6f 11541 "optional" : 1,
44660702 11542 "type" : "number"
56122987 11543 },
44660702 11544 "mbps_wr_max" : {
de0983cb 11545 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11546 "format_description" : "mbps",
56122987 11547 "optional" : 1,
44660702 11548 "type" : "number"
7aacca6f
DM
11549 },
11550 "media" : {
44660702
DM
11551 "default" : "disk",
11552 "description" : "The drive's media type.",
56122987 11553 "enum" : [
7aacca6f
DM
11554 "cdrom",
11555 "disk"
56122987 11556 ],
56122987 11557 "optional" : 1,
44660702 11558 "type" : "string"
56122987 11559 },
44660702
DM
11560 "model" : {
11561 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11562 "format" : "urlencoded",
11563 "format_description" : "model",
11564 "maxLength" : 120,
56122987 11565 "optional" : 1,
44660702 11566 "type" : "string"
56122987 11567 },
7aacca6f 11568 "rerror" : {
7aacca6f
DM
11569 "description" : "Read error action.",
11570 "enum" : [
11571 "ignore",
11572 "report",
11573 "stop"
44660702 11574 ],
44660702
DM
11575 "optional" : 1,
11576 "type" : "string"
56122987 11577 },
44660702
DM
11578 "secs" : {
11579 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11580 "optional" : 1,
44660702
DM
11581 "type" : "integer"
11582 },
11583 "serial" : {
11584 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11585 "format" : "urlencoded",
11586 "format_description" : "serial",
11587 "maxLength" : 60,
11588 "optional" : 1,
11589 "type" : "string"
11590 },
11591 "size" : {
11592 "description" : "Disk size. This is purely informational and has no effect.",
11593 "format" : "disk-size",
f004f5b9 11594 "format_description" : "DiskSize",
44660702
DM
11595 "optional" : 1,
11596 "type" : "string"
7aacca6f
DM
11597 },
11598 "snapshot" : {
44660702 11599 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 11600 "optional" : 1,
44660702 11601 "type" : "boolean"
7aacca6f 11602 },
44660702
DM
11603 "trans" : {
11604 "description" : "Force disk geometry bios translation mode.",
11605 "enum" : [
11606 "none",
11607 "lba",
11608 "auto"
11609 ],
7aacca6f 11610 "optional" : 1,
44660702
DM
11611 "type" : "string"
11612 },
11613 "volume" : {
11614 "alias" : "file"
11615 },
11616 "werror" : {
11617 "description" : "Write error action.",
11618 "enum" : [
11619 "enospc",
11620 "ignore",
11621 "report",
11622 "stop"
11623 ],
44660702
DM
11624 "optional" : 1,
11625 "type" : "string"
56122987
DM
11626 }
11627 },
56122987 11628 "optional" : 1,
4bd7df8b 11629 "type" : "string",
013dc89f 11630 "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 11631 },
56122987 11632 "keyboard" : {
44660702 11633 "default" : "en-us",
c2993fe5 11634 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
56122987 11635 "enum" : [
44660702
DM
11636 "de",
11637 "de-ch",
7aacca6f 11638 "da",
56122987 11639 "en-gb",
44660702
DM
11640 "en-us",
11641 "es",
11642 "fi",
11643 "fr",
11644 "fr-be",
11645 "fr-ca",
11646 "fr-ch",
11647 "hu",
7aacca6f 11648 "is",
44660702
DM
11649 "it",
11650 "ja",
11651 "lt",
56122987 11652 "mk",
7aacca6f 11653 "nl",
56122987 11654 "no",
44660702 11655 "pl",
7aacca6f 11656 "pt",
44660702
DM
11657 "pt-br",
11658 "sv",
11659 "sl",
11660 "tr"
56122987 11661 ],
44660702
DM
11662 "optional" : 1,
11663 "type" : "string"
56122987 11664 },
44660702
DM
11665 "kvm" : {
11666 "default" : 1,
11667 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11668 "optional" : 1,
013dc89f
DM
11669 "type" : "boolean",
11670 "typetext" : "<boolean>"
7aacca6f 11671 },
44660702
DM
11672 "localtime" : {
11673 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11674 "optional" : 1,
013dc89f
DM
11675 "type" : "boolean",
11676 "typetext" : "<boolean>"
44660702
DM
11677 },
11678 "lock" : {
11679 "description" : "Lock/unlock the VM.",
7aacca6f
DM
11680 "enum" : [
11681 "migrate",
11682 "backup",
11683 "snapshot",
11684 "rollback"
11685 ],
44660702
DM
11686 "optional" : 1,
11687 "type" : "string"
56122987 11688 },
44660702
DM
11689 "machine" : {
11690 "description" : "Specific the Qemu machine type.",
11691 "maxLength" : 40,
11692 "optional" : 1,
11693 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11694 "type" : "string"
11695 },
11696 "memory" : {
11697 "default" : 512,
11698 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11699 "minimum" : 16,
11700 "optional" : 1,
4bd7df8b 11701 "type" : "integer",
013dc89f 11702 "typetext" : "<integer> (16 - N)"
44660702
DM
11703 },
11704 "migrate_downtime" : {
11705 "default" : 0.1,
11706 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11707 "minimum" : 0,
11708 "optional" : 1,
4bd7df8b 11709 "type" : "number",
013dc89f 11710 "typetext" : "<number> (0 - N)"
44660702
DM
11711 },
11712 "migrate_speed" : {
56122987 11713 "default" : 0,
44660702
DM
11714 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11715 "minimum" : 0,
56122987 11716 "optional" : 1,
4bd7df8b 11717 "type" : "integer",
013dc89f 11718 "typetext" : "<integer> (0 - N)"
56122987 11719 },
44660702
DM
11720 "name" : {
11721 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11722 "format" : "dns-name",
11723 "optional" : 1,
013dc89f
DM
11724 "type" : "string",
11725 "typetext" : "<string>"
44660702
DM
11726 },
11727 "net[n]" : {
c2993fe5 11728 "description" : "Specify network devices.",
f004f5b9
DM
11729 "format" : {
11730 "bridge" : {
c2993fe5 11731 "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
11732 "format_description" : "bridge",
11733 "optional" : 1,
11734 "type" : "string"
11735 },
11736 "e1000" : {
11737 "alias" : "macaddr",
11738 "keyAlias" : "model"
11739 },
11740 "e1000-82540em" : {
11741 "alias" : "macaddr",
11742 "keyAlias" : "model"
11743 },
11744 "e1000-82544gc" : {
11745 "alias" : "macaddr",
11746 "keyAlias" : "model"
11747 },
11748 "e1000-82545em" : {
11749 "alias" : "macaddr",
11750 "keyAlias" : "model"
11751 },
11752 "firewall" : {
11753 "description" : "Whether this interface should be protected by the firewall.",
11754 "optional" : 1,
11755 "type" : "boolean"
11756 },
11757 "i82551" : {
11758 "alias" : "macaddr",
11759 "keyAlias" : "model"
11760 },
11761 "i82557b" : {
11762 "alias" : "macaddr",
11763 "keyAlias" : "model"
11764 },
11765 "i82559er" : {
11766 "alias" : "macaddr",
11767 "keyAlias" : "model"
11768 },
11769 "link_down" : {
c2993fe5 11770 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11771 "optional" : 1,
11772 "type" : "boolean"
11773 },
11774 "macaddr" : {
c2993fe5 11775 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 11776 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
11777 "optional" : 1,
11778 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
11779 "type" : "string"
11780 },
11781 "model" : {
11782 "default_key" : 1,
c2993fe5 11783 "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
11784 "enum" : [
11785 "rtl8139",
11786 "ne2k_pci",
11787 "e1000",
11788 "pcnet",
11789 "virtio",
11790 "ne2k_isa",
11791 "i82551",
11792 "i82557b",
11793 "i82559er",
11794 "vmxnet3",
11795 "e1000-82540em",
11796 "e1000-82544gc",
11797 "e1000-82545em"
11798 ],
f004f5b9
DM
11799 "type" : "string"
11800 },
11801 "ne2k_isa" : {
11802 "alias" : "macaddr",
11803 "keyAlias" : "model"
11804 },
11805 "ne2k_pci" : {
11806 "alias" : "macaddr",
11807 "keyAlias" : "model"
11808 },
11809 "pcnet" : {
11810 "alias" : "macaddr",
11811 "keyAlias" : "model"
11812 },
11813 "queues" : {
11814 "description" : "Number of packet queues to be used on the device.",
11815 "maximum" : 16,
11816 "minimum" : 0,
11817 "optional" : 1,
11818 "type" : "integer"
11819 },
11820 "rate" : {
c2993fe5 11821 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11822 "minimum" : 0,
11823 "optional" : 1,
11824 "type" : "number"
11825 },
11826 "rtl8139" : {
11827 "alias" : "macaddr",
11828 "keyAlias" : "model"
11829 },
11830 "tag" : {
11831 "description" : "VLAN tag to apply to packets on this interface.",
11832 "maximum" : 4094,
c2993fe5 11833 "minimum" : 1,
f004f5b9
DM
11834 "optional" : 1,
11835 "type" : "integer"
11836 },
11837 "trunks" : {
11838 "description" : "VLAN trunks to pass through this interface.",
11839 "format_description" : "vlanid[;vlanid...]",
11840 "optional" : 1,
11841 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11842 "type" : "string"
11843 },
11844 "virtio" : {
11845 "alias" : "macaddr",
11846 "keyAlias" : "model"
11847 },
11848 "vmxnet3" : {
11849 "alias" : "macaddr",
11850 "keyAlias" : "model"
11851 }
11852 },
44660702 11853 "optional" : 1,
4bd7df8b 11854 "type" : "string",
013dc89f 11855 "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
11856 },
11857 "node" : {
11858 "description" : "The cluster node name.",
11859 "format" : "pve-node",
013dc89f
DM
11860 "type" : "string",
11861 "typetext" : "<string>"
44660702
DM
11862 },
11863 "numa" : {
7aacca6f 11864 "default" : 0,
44660702
DM
11865 "description" : "Enable/disable NUMA.",
11866 "optional" : 1,
013dc89f
DM
11867 "type" : "boolean",
11868 "typetext" : "<boolean>"
56122987 11869 },
7aacca6f 11870 "numa[n]" : {
c2993fe5 11871 "description" : "NUMA topology.",
7aacca6f 11872 "format" : {
44660702 11873 "cpus" : {
c2993fe5 11874 "description" : "CPUs accessing this NUMA node.",
44660702
DM
11875 "format_description" : "id[-id];...",
11876 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11877 "type" : "string"
11878 },
7aacca6f 11879 "hostnodes" : {
c2993fe5 11880 "description" : "Host NUMA nodes to use.",
44660702 11881 "format_description" : "id[-id];...",
7aacca6f 11882 "optional" : 1,
44660702
DM
11883 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
11884 "type" : "string"
7aacca6f 11885 },
44660702 11886 "memory" : {
c2993fe5 11887 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
11888 "optional" : 1,
11889 "type" : "number"
7aacca6f
DM
11890 },
11891 "policy" : {
c2993fe5 11892 "description" : "NUMA allocation policy.",
7aacca6f
DM
11893 "enum" : [
11894 "preferred",
11895 "bind",
11896 "interleave"
11897 ],
7aacca6f 11898 "optional" : 1,
44660702 11899 "type" : "string"
7aacca6f
DM
11900 }
11901 },
56122987 11902 "optional" : 1,
4bd7df8b
DM
11903 "type" : "string",
11904 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 11905 },
44660702
DM
11906 "onboot" : {
11907 "default" : 0,
11908 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 11909 "optional" : 1,
013dc89f
DM
11910 "type" : "boolean",
11911 "typetext" : "<boolean>"
56122987
DM
11912 },
11913 "ostype" : {
c2993fe5 11914 "description" : "Specify guest operating system.",
56122987
DM
11915 "enum" : [
11916 "other",
11917 "wxp",
11918 "w2k",
11919 "w2k3",
11920 "w2k8",
11921 "wvista",
11922 "win7",
11923 "win8",
11924 "l24",
11925 "l26",
11926 "solaris"
44660702 11927 ],
56122987 11928 "optional" : 1,
c2993fe5
DM
11929 "type" : "string",
11930 "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 11931 },
44660702 11932 "parallel[n]" : {
c2993fe5 11933 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 11934 "optional" : 1,
44660702 11935 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
11936 "type" : "string",
11937 "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 11938 },
44660702
DM
11939 "pool" : {
11940 "description" : "Add the VM to the specified pool.",
11941 "format" : "pve-poolid",
56122987 11942 "optional" : 1,
013dc89f
DM
11943 "type" : "string",
11944 "typetext" : "<string>"
56122987 11945 },
44660702
DM
11946 "protection" : {
11947 "default" : 0,
c2993fe5 11948 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 11949 "optional" : 1,
013dc89f
DM
11950 "type" : "boolean",
11951 "typetext" : "<boolean>"
56122987 11952 },
44660702 11953 "reboot" : {
7aacca6f 11954 "default" : 1,
44660702
DM
11955 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
11956 "optional" : 1,
013dc89f
DM
11957 "type" : "boolean",
11958 "typetext" : "<boolean>"
56122987 11959 },
56122987 11960 "sata[n]" : {
44660702 11961 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 11962 "format" : {
7aacca6f 11963 "aio" : {
44660702 11964 "description" : "AIO type to use.",
56122987 11965 "enum" : [
7aacca6f
DM
11966 "native",
11967 "threads"
56122987 11968 ],
7aacca6f 11969 "optional" : 1,
44660702 11970 "type" : "string"
7aacca6f
DM
11971 },
11972 "backup" : {
7aacca6f 11973 "description" : "Whether the drive should be included when making backups.",
7aacca6f 11974 "optional" : 1,
44660702 11975 "type" : "boolean"
56122987 11976 },
44660702 11977 "bps" : {
de0983cb 11978 "description" : "Maximum r/w speed in bytes per second.",
44660702 11979 "format_description" : "bps",
7aacca6f 11980 "optional" : 1,
44660702 11981 "type" : "integer"
56122987 11982 },
de0983cb
DM
11983 "bps_max_length" : {
11984 "description" : "Maximum length of I/O bursts in seconds.",
11985 "format_description" : "seconds",
11986 "minimum" : 1,
11987 "optional" : 1,
11988 "type" : "integer"
11989 },
44660702 11990 "bps_rd" : {
de0983cb 11991 "description" : "Maximum read speed in bytes per second.",
44660702 11992 "format_description" : "bps",
56122987 11993 "optional" : 1,
44660702 11994 "type" : "integer"
7aacca6f 11995 },
de0983cb
DM
11996 "bps_rd_length" : {
11997 "description" : "Maximum length of read I/O bursts in seconds.",
11998 "format_description" : "seconds",
11999 "minimum" : 1,
12000 "optional" : 1,
12001 "type" : "integer"
12002 },
44660702 12003 "bps_wr" : {
de0983cb 12004 "description" : "Maximum write speed in bytes per second.",
44660702 12005 "format_description" : "bps",
56122987 12006 "optional" : 1,
44660702 12007 "type" : "integer"
56122987 12008 },
de0983cb
DM
12009 "bps_wr_length" : {
12010 "description" : "Maximum length of write I/O bursts in seconds.",
12011 "format_description" : "seconds",
12012 "minimum" : 1,
12013 "optional" : 1,
12014 "type" : "integer"
12015 },
7aacca6f 12016 "cache" : {
7aacca6f
DM
12017 "description" : "The drive's cache mode",
12018 "enum" : [
12019 "none",
12020 "writethrough",
12021 "writeback",
12022 "unsafe",
12023 "directsync"
12024 ],
44660702
DM
12025 "optional" : 1,
12026 "type" : "string"
56122987 12027 },
44660702
DM
12028 "cyls" : {
12029 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12030 "optional" : 1,
7aacca6f 12031 "type" : "integer"
56122987 12032 },
7aacca6f
DM
12033 "detect_zeroes" : {
12034 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12035 "optional" : 1,
7aacca6f 12036 "type" : "boolean"
56122987 12037 },
44660702
DM
12038 "discard" : {
12039 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12040 "enum" : [
12041 "ignore",
12042 "on"
12043 ],
56122987 12044 "optional" : 1,
44660702 12045 "type" : "string"
56122987 12046 },
44660702
DM
12047 "file" : {
12048 "default_key" : 1,
12049 "description" : "The drive's backing volume.",
12050 "format" : "pve-volume-id-or-qm-path",
12051 "format_description" : "volume",
12052 "type" : "string"
56122987
DM
12053 },
12054 "format" : {
44660702 12055 "description" : "The drive's backing file's data format.",
56122987
DM
12056 "enum" : [
12057 "raw",
12058 "cow",
12059 "qcow",
12060 "qed",
12061 "qcow2",
12062 "vmdk",
12063 "cloop"
12064 ],
56122987 12065 "optional" : 1,
44660702 12066 "type" : "string"
56122987 12067 },
7aacca6f 12068 "heads" : {
7aacca6f 12069 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12070 "optional" : 1,
12071 "type" : "integer"
56122987 12072 },
44660702 12073 "iops" : {
de0983cb 12074 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12075 "format_description" : "iops",
12076 "optional" : 1,
12077 "type" : "integer"
56122987 12078 },
44660702 12079 "iops_max" : {
de0983cb 12080 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12081 "format_description" : "iops",
56122987 12082 "optional" : 1,
44660702 12083 "type" : "integer"
56122987 12084 },
de0983cb
DM
12085 "iops_max_length" : {
12086 "description" : "Maximum length of I/O bursts in seconds.",
12087 "format_description" : "seconds",
12088 "minimum" : 1,
12089 "optional" : 1,
12090 "type" : "integer"
12091 },
44660702 12092 "iops_rd" : {
de0983cb 12093 "description" : "Maximum read I/O in operations per second.",
44660702 12094 "format_description" : "iops",
56122987 12095 "optional" : 1,
44660702 12096 "type" : "integer"
56122987 12097 },
de0983cb
DM
12098 "iops_rd_length" : {
12099 "description" : "Maximum length of read I/O bursts in seconds.",
12100 "format_description" : "seconds",
12101 "minimum" : 1,
12102 "optional" : 1,
12103 "type" : "integer"
12104 },
44660702 12105 "iops_rd_max" : {
de0983cb 12106 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12107 "format_description" : "iops",
56122987 12108 "optional" : 1,
44660702 12109 "type" : "integer"
56122987 12110 },
44660702 12111 "iops_wr" : {
de0983cb 12112 "description" : "Maximum write I/O in operations per second.",
44660702 12113 "format_description" : "iops",
7aacca6f 12114 "optional" : 1,
44660702 12115 "type" : "integer"
7aacca6f 12116 },
de0983cb
DM
12117 "iops_wr_length" : {
12118 "description" : "Maximum length of write I/O bursts in seconds.",
12119 "format_description" : "seconds",
12120 "minimum" : 1,
12121 "optional" : 1,
12122 "type" : "integer"
12123 },
44660702 12124 "iops_wr_max" : {
de0983cb 12125 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12126 "format_description" : "iops",
56122987 12127 "optional" : 1,
7aacca6f 12128 "type" : "integer"
56122987 12129 },
44660702 12130 "mbps" : {
de0983cb 12131 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12132 "format_description" : "mbps",
56122987 12133 "optional" : 1,
44660702 12134 "type" : "number"
56122987 12135 },
44660702 12136 "mbps_max" : {
de0983cb 12137 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12138 "format_description" : "mbps",
7aacca6f 12139 "optional" : 1,
44660702 12140 "type" : "number"
7aacca6f 12141 },
44660702 12142 "mbps_rd" : {
de0983cb 12143 "description" : "Maximum read speed in megabytes per second.",
44660702 12144 "format_description" : "mbps",
7aacca6f 12145 "optional" : 1,
44660702 12146 "type" : "number"
7aacca6f 12147 },
44660702 12148 "mbps_rd_max" : {
de0983cb 12149 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12150 "format_description" : "mbps",
7aacca6f 12151 "optional" : 1,
44660702 12152 "type" : "number"
7aacca6f 12153 },
44660702 12154 "mbps_wr" : {
de0983cb 12155 "description" : "Maximum write speed in megabytes per second.",
44660702 12156 "format_description" : "mbps",
7aacca6f 12157 "optional" : 1,
44660702 12158 "type" : "number"
7aacca6f
DM
12159 },
12160 "mbps_wr_max" : {
de0983cb 12161 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12162 "format_description" : "mbps",
7aacca6f 12163 "optional" : 1,
44660702 12164 "type" : "number"
7aacca6f 12165 },
44660702
DM
12166 "media" : {
12167 "default" : "disk",
12168 "description" : "The drive's media type.",
56122987 12169 "enum" : [
44660702
DM
12170 "cdrom",
12171 "disk"
56122987 12172 ],
56122987 12173 "optional" : 1,
44660702 12174 "type" : "string"
56122987 12175 },
44660702
DM
12176 "rerror" : {
12177 "description" : "Read error action.",
7aacca6f
DM
12178 "enum" : [
12179 "ignore",
44660702
DM
12180 "report",
12181 "stop"
7aacca6f 12182 ],
56122987 12183 "optional" : 1,
44660702 12184 "type" : "string"
56122987 12185 },
44660702
DM
12186 "secs" : {
12187 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12188 "optional" : 1,
44660702 12189 "type" : "integer"
56122987 12190 },
44660702
DM
12191 "serial" : {
12192 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12193 "format" : "urlencoded",
12194 "format_description" : "serial",
12195 "maxLength" : 60,
12196 "optional" : 1,
12197 "type" : "string"
7aacca6f
DM
12198 },
12199 "size" : {
12200 "description" : "Disk size. This is purely informational and has no effect.",
44660702 12201 "format" : "disk-size",
f004f5b9 12202 "format_description" : "DiskSize",
56122987 12203 "optional" : 1,
44660702 12204 "type" : "string"
56122987 12205 },
44660702
DM
12206 "snapshot" : {
12207 "description" : "Whether the drive should be included when making snapshots.",
56122987 12208 "optional" : 1,
44660702 12209 "type" : "boolean"
56122987 12210 },
44660702
DM
12211 "trans" : {
12212 "description" : "Force disk geometry bios translation mode.",
56122987 12213 "enum" : [
44660702
DM
12214 "none",
12215 "lba",
12216 "auto"
7aacca6f 12217 ],
44660702
DM
12218 "optional" : 1,
12219 "type" : "string"
12220 },
12221 "volume" : {
12222 "alias" : "file"
56122987
DM
12223 },
12224 "werror" : {
56122987
DM
12225 "description" : "Write error action.",
12226 "enum" : [
12227 "enospc",
12228 "ignore",
12229 "report",
12230 "stop"
12231 ],
56122987 12232 "optional" : 1,
44660702
DM
12233 "type" : "string"
12234 }
12235 },
12236 "optional" : 1,
4bd7df8b 12237 "type" : "string",
013dc89f 12238 "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
12239 },
12240 "scsi[n]" : {
12241 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
12242 "format" : {
12243 "aio" : {
12244 "description" : "AIO type to use.",
12245 "enum" : [
12246 "native",
12247 "threads"
12248 ],
44660702
DM
12249 "optional" : 1,
12250 "type" : "string"
56122987 12251 },
7aacca6f 12252 "backup" : {
44660702 12253 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12254 "optional" : 1,
44660702 12255 "type" : "boolean"
7aacca6f 12256 },
44660702 12257 "bps" : {
de0983cb 12258 "description" : "Maximum r/w speed in bytes per second.",
44660702 12259 "format_description" : "bps",
7aacca6f 12260 "optional" : 1,
44660702 12261 "type" : "integer"
7aacca6f 12262 },
de0983cb
DM
12263 "bps_max_length" : {
12264 "description" : "Maximum length of I/O bursts in seconds.",
12265 "format_description" : "seconds",
12266 "minimum" : 1,
12267 "optional" : 1,
12268 "type" : "integer"
12269 },
44660702 12270 "bps_rd" : {
de0983cb 12271 "description" : "Maximum read speed in bytes per second.",
44660702 12272 "format_description" : "bps",
56122987 12273 "optional" : 1,
44660702 12274 "type" : "integer"
56122987 12275 },
de0983cb
DM
12276 "bps_rd_length" : {
12277 "description" : "Maximum length of read I/O bursts in seconds.",
12278 "format_description" : "seconds",
12279 "minimum" : 1,
12280 "optional" : 1,
12281 "type" : "integer"
12282 },
44660702 12283 "bps_wr" : {
de0983cb 12284 "description" : "Maximum write speed in bytes per second.",
44660702 12285 "format_description" : "bps",
7aacca6f 12286 "optional" : 1,
44660702 12287 "type" : "integer"
56122987 12288 },
de0983cb
DM
12289 "bps_wr_length" : {
12290 "description" : "Maximum length of write I/O bursts in seconds.",
12291 "format_description" : "seconds",
12292 "minimum" : 1,
12293 "optional" : 1,
12294 "type" : "integer"
12295 },
44660702
DM
12296 "cache" : {
12297 "description" : "The drive's cache mode",
7aacca6f
DM
12298 "enum" : [
12299 "none",
44660702
DM
12300 "writethrough",
12301 "writeback",
12302 "unsafe",
12303 "directsync"
7aacca6f 12304 ],
56122987 12305 "optional" : 1,
44660702 12306 "type" : "string"
56122987 12307 },
7aacca6f
DM
12308 "cyls" : {
12309 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12310 "optional" : 1,
44660702 12311 "type" : "integer"
7aacca6f 12312 },
44660702
DM
12313 "detect_zeroes" : {
12314 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12315 "optional" : 1,
44660702 12316 "type" : "boolean"
56122987 12317 },
44660702
DM
12318 "discard" : {
12319 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 12320 "enum" : [
44660702
DM
12321 "ignore",
12322 "on"
7aacca6f 12323 ],
7aacca6f 12324 "optional" : 1,
44660702 12325 "type" : "string"
56122987
DM
12326 },
12327 "file" : {
7aacca6f
DM
12328 "default_key" : 1,
12329 "description" : "The drive's backing volume.",
44660702
DM
12330 "format" : "pve-volume-id-or-qm-path",
12331 "format_description" : "volume",
7aacca6f 12332 "type" : "string"
56122987 12333 },
7aacca6f 12334 "format" : {
44660702 12335 "description" : "The drive's backing file's data format.",
56122987 12336 "enum" : [
7aacca6f
DM
12337 "raw",
12338 "cow",
12339 "qcow",
12340 "qed",
12341 "qcow2",
12342 "vmdk",
12343 "cloop"
56122987 12344 ],
44660702
DM
12345 "optional" : 1,
12346 "type" : "string"
56122987 12347 },
44660702
DM
12348 "heads" : {
12349 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12350 "optional" : 1,
12351 "type" : "integer"
12352 },
12353 "iops" : {
de0983cb 12354 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12355 "format_description" : "iops",
56122987 12356 "optional" : 1,
44660702 12357 "type" : "integer"
56122987 12358 },
44660702 12359 "iops_max" : {
de0983cb 12360 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12361 "format_description" : "iops",
7aacca6f 12362 "optional" : 1,
44660702 12363 "type" : "integer"
56122987 12364 },
de0983cb
DM
12365 "iops_max_length" : {
12366 "description" : "Maximum length of I/O bursts in seconds.",
12367 "format_description" : "seconds",
12368 "minimum" : 1,
12369 "optional" : 1,
12370 "type" : "integer"
12371 },
44660702 12372 "iops_rd" : {
de0983cb 12373 "description" : "Maximum read I/O in operations per second.",
44660702 12374 "format_description" : "iops",
56122987 12375 "optional" : 1,
44660702 12376 "type" : "integer"
56122987 12377 },
de0983cb
DM
12378 "iops_rd_length" : {
12379 "description" : "Maximum length of read I/O bursts in seconds.",
12380 "format_description" : "seconds",
12381 "minimum" : 1,
12382 "optional" : 1,
12383 "type" : "integer"
12384 },
44660702 12385 "iops_rd_max" : {
de0983cb 12386 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12387 "format_description" : "iops",
12388 "optional" : 1,
12389 "type" : "integer"
56122987 12390 },
44660702 12391 "iops_wr" : {
de0983cb 12392 "description" : "Maximum write I/O in operations per second.",
44660702 12393 "format_description" : "iops",
56122987 12394 "optional" : 1,
44660702 12395 "type" : "integer"
56122987 12396 },
de0983cb
DM
12397 "iops_wr_length" : {
12398 "description" : "Maximum length of write I/O bursts in seconds.",
12399 "format_description" : "seconds",
12400 "minimum" : 1,
12401 "optional" : 1,
12402 "type" : "integer"
12403 },
44660702 12404 "iops_wr_max" : {
de0983cb 12405 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12406 "format_description" : "iops",
56122987 12407 "optional" : 1,
56122987
DM
12408 "type" : "integer"
12409 },
44660702
DM
12410 "iothread" : {
12411 "description" : "Whether to use iothreads for this drive",
44660702
DM
12412 "optional" : 1,
12413 "type" : "boolean"
12414 },
12415 "mbps" : {
de0983cb 12416 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12417 "format_description" : "mbps",
12418 "optional" : 1,
12419 "type" : "number"
12420 },
7aacca6f 12421 "mbps_max" : {
de0983cb 12422 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12423 "format_description" : "mbps",
56122987 12424 "optional" : 1,
44660702 12425 "type" : "number"
56122987 12426 },
44660702 12427 "mbps_rd" : {
de0983cb 12428 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12429 "format_description" : "mbps",
12430 "optional" : 1,
12431 "type" : "number"
56122987 12432 },
44660702 12433 "mbps_rd_max" : {
de0983cb 12434 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12435 "format_description" : "mbps",
56122987 12436 "optional" : 1,
44660702 12437 "type" : "number"
56122987 12438 },
44660702 12439 "mbps_wr" : {
de0983cb 12440 "description" : "Maximum write speed in megabytes per second.",
44660702 12441 "format_description" : "mbps",
56122987 12442 "optional" : 1,
44660702 12443 "type" : "number"
56122987 12444 },
44660702 12445 "mbps_wr_max" : {
de0983cb 12446 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12447 "format_description" : "mbps",
7aacca6f 12448 "optional" : 1,
44660702 12449 "type" : "number"
56122987 12450 },
7aacca6f 12451 "media" : {
44660702 12452 "default" : "disk",
7aacca6f
DM
12453 "description" : "The drive's media type.",
12454 "enum" : [
12455 "cdrom",
12456 "disk"
12457 ],
56122987 12458 "optional" : 1,
44660702 12459 "type" : "string"
56122987 12460 },
44660702
DM
12461 "queues" : {
12462 "description" : "Number of queues.",
44660702
DM
12463 "minimum" : 2,
12464 "optional" : 1,
12465 "type" : "integer"
56122987 12466 },
7aacca6f 12467 "secs" : {
7aacca6f 12468 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12469 "optional" : 1,
12470 "type" : "integer"
12471 },
12472 "serial" : {
12473 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12474 "format" : "urlencoded",
12475 "format_description" : "serial",
12476 "maxLength" : 60,
12477 "optional" : 1,
12478 "type" : "string"
12479 },
12480 "size" : {
12481 "description" : "Disk size. This is purely informational and has no effect.",
12482 "format" : "disk-size",
f004f5b9 12483 "format_description" : "DiskSize",
44660702
DM
12484 "optional" : 1,
12485 "type" : "string"
12486 },
12487 "snapshot" : {
12488 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12489 "optional" : 1,
12490 "type" : "boolean"
12491 },
12492 "trans" : {
12493 "description" : "Force disk geometry bios translation mode.",
12494 "enum" : [
12495 "none",
12496 "lba",
12497 "auto"
12498 ],
44660702
DM
12499 "optional" : 1,
12500 "type" : "string"
12501 },
12502 "volume" : {
12503 "alias" : "file"
12504 },
12505 "werror" : {
12506 "description" : "Write error action.",
12507 "enum" : [
12508 "enospc",
12509 "ignore",
12510 "report",
12511 "stop"
12512 ],
44660702
DM
12513 "optional" : 1,
12514 "type" : "string"
56122987
DM
12515 }
12516 },
7aacca6f 12517 "optional" : 1,
4bd7df8b 12518 "type" : "string",
013dc89f 12519 "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 12520 },
44660702
DM
12521 "scsihw" : {
12522 "default" : "lsi",
c2993fe5 12523 "description" : "SCSI controller model",
44660702
DM
12524 "enum" : [
12525 "lsi",
12526 "lsi53c810",
12527 "virtio-scsi-pci",
12528 "virtio-scsi-single",
12529 "megasas",
12530 "pvscsi"
12531 ],
7aacca6f 12532 "optional" : 1,
44660702 12533 "type" : "string"
7aacca6f 12534 },
44660702 12535 "serial[n]" : {
c2993fe5 12536 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
12537 "optional" : 1,
12538 "pattern" : "(/dev/.+|socket)",
c2993fe5 12539 "type" : "string",
57b78691 12540 "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
12541 },
12542 "shares" : {
12543 "default" : 1000,
12544 "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",
12545 "maximum" : 50000,
12546 "minimum" : 0,
12547 "optional" : 1,
4bd7df8b 12548 "type" : "integer",
013dc89f 12549 "typetext" : "<integer> (0 - 50000)"
44660702
DM
12550 },
12551 "smbios1" : {
12552 "description" : "Specify SMBIOS type 1 fields.",
12553 "format" : "pve-qm-smbios1",
12554 "maxLength" : 256,
7aacca6f 12555 "optional" : 1,
4bd7df8b
DM
12556 "type" : "string",
12557 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
12558 },
12559 "smp" : {
44660702 12560 "default" : 1,
7aacca6f 12561 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 12562 "minimum" : 1,
56122987 12563 "optional" : 1,
4bd7df8b 12564 "type" : "integer",
013dc89f 12565 "typetext" : "<integer> (1 - N)"
44660702
DM
12566 },
12567 "sockets" : {
7aacca6f 12568 "default" : 1,
44660702
DM
12569 "description" : "The number of CPU sockets.",
12570 "minimum" : 1,
12571 "optional" : 1,
4bd7df8b 12572 "type" : "integer",
013dc89f 12573 "typetext" : "<integer> (1 - N)"
7aacca6f 12574 },
44660702
DM
12575 "startdate" : {
12576 "default" : "now",
12577 "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'.",
12578 "optional" : 1,
12579 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
12580 "type" : "string",
12581 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12582 },
12583 "startup" : {
12584 "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.",
12585 "format" : "pve-startup-order",
12586 "optional" : 1,
12587 "type" : "string",
12588 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
12589 },
12590 "storage" : {
12591 "description" : "Default storage.",
12592 "format" : "pve-storage-id",
7aacca6f 12593 "optional" : 1,
013dc89f
DM
12594 "type" : "string",
12595 "typetext" : "<string>"
56122987 12596 },
44660702
DM
12597 "tablet" : {
12598 "default" : 1,
c2993fe5 12599 "description" : "Enable/disable the USB tablet device.",
56122987 12600 "optional" : 1,
c2993fe5 12601 "type" : "boolean",
013dc89f 12602 "typetext" : "<boolean>",
c2993fe5 12603 "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
12604 },
12605 "tdf" : {
12606 "default" : 0,
12607 "description" : "Enable/disable time drift fix.",
12608 "optional" : 1,
013dc89f
DM
12609 "type" : "boolean",
12610 "typetext" : "<boolean>"
7aacca6f
DM
12611 },
12612 "template" : {
7aacca6f 12613 "default" : 0,
44660702 12614 "description" : "Enable/disable Template.",
7aacca6f 12615 "optional" : 1,
013dc89f
DM
12616 "type" : "boolean",
12617 "typetext" : "<boolean>"
7aacca6f 12618 },
44660702
DM
12619 "unique" : {
12620 "description" : "Assign a unique random ethernet address.",
7aacca6f 12621 "optional" : 1,
44660702 12622 "requires" : "archive",
013dc89f
DM
12623 "type" : "boolean",
12624 "typetext" : "<boolean>"
56122987 12625 },
44660702 12626 "unused[n]" : {
c2993fe5 12627 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12628 "format" : "pve-volume-id",
7aacca6f 12629 "optional" : 1,
013dc89f
DM
12630 "type" : "string",
12631 "typetext" : "<string>"
44660702
DM
12632 },
12633 "usb[n]" : {
c2993fe5 12634 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12635 "format" : {
7aacca6f
DM
12636 "host" : {
12637 "default_key" : 1,
c2993fe5 12638 "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 12639 "format" : "pve-qm-usb-device",
44660702
DM
12640 "format_description" : "HOSTUSBDEVICE|spice",
12641 "type" : "string"
7aacca6f 12642 },
56122987 12643 "usb3" : {
c2993fe5
DM
12644 "default" : 0,
12645 "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 12646 "optional" : 1,
56122987 12647 "type" : "boolean"
7aacca6f 12648 }
56122987 12649 },
56122987 12650 "optional" : 1,
4bd7df8b
DM
12651 "type" : "string",
12652 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 12653 },
44660702
DM
12654 "vcpus" : {
12655 "default" : 0,
12656 "description" : "Number of hotplugged vcpus.",
12657 "minimum" : 1,
56122987 12658 "optional" : 1,
4bd7df8b 12659 "type" : "integer",
013dc89f 12660 "typetext" : "<integer> (1 - N)"
7aacca6f 12661 },
44660702 12662 "vga" : {
c2993fe5 12663 "description" : "Select the VGA type.",
44660702
DM
12664 "enum" : [
12665 "std",
12666 "cirrus",
12667 "vmware",
12668 "qxl",
12669 "serial0",
12670 "serial1",
12671 "serial2",
12672 "serial3",
12673 "qxl2",
12674 "qxl3",
12675 "qxl4"
12676 ],
12677 "optional" : 1,
c2993fe5
DM
12678 "type" : "string",
12679 "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 12680 },
44660702
DM
12681 "virtio[n]" : {
12682 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
12683 "format" : {
12684 "aio" : {
12685 "description" : "AIO type to use.",
12686 "enum" : [
12687 "native",
12688 "threads"
12689 ],
44660702
DM
12690 "optional" : 1,
12691 "type" : "string"
12692 },
12693 "backup" : {
12694 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12695 "optional" : 1,
12696 "type" : "boolean"
12697 },
12698 "bps" : {
de0983cb 12699 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12700 "format_description" : "bps",
12701 "optional" : 1,
12702 "type" : "integer"
12703 },
de0983cb
DM
12704 "bps_max_length" : {
12705 "description" : "Maximum length of I/O bursts in seconds.",
12706 "format_description" : "seconds",
12707 "minimum" : 1,
12708 "optional" : 1,
12709 "type" : "integer"
12710 },
44660702 12711 "bps_rd" : {
de0983cb 12712 "description" : "Maximum read speed in bytes per second.",
44660702
DM
12713 "format_description" : "bps",
12714 "optional" : 1,
12715 "type" : "integer"
12716 },
de0983cb
DM
12717 "bps_rd_length" : {
12718 "description" : "Maximum length of read I/O bursts in seconds.",
12719 "format_description" : "seconds",
12720 "minimum" : 1,
12721 "optional" : 1,
12722 "type" : "integer"
12723 },
44660702 12724 "bps_wr" : {
de0983cb 12725 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12726 "format_description" : "bps",
12727 "optional" : 1,
12728 "type" : "integer"
12729 },
de0983cb
DM
12730 "bps_wr_length" : {
12731 "description" : "Maximum length of write I/O bursts in seconds.",
12732 "format_description" : "seconds",
12733 "minimum" : 1,
12734 "optional" : 1,
12735 "type" : "integer"
12736 },
44660702
DM
12737 "cache" : {
12738 "description" : "The drive's cache mode",
12739 "enum" : [
12740 "none",
12741 "writethrough",
12742 "writeback",
12743 "unsafe",
12744 "directsync"
12745 ],
44660702
DM
12746 "optional" : 1,
12747 "type" : "string"
12748 },
12749 "cyls" : {
12750 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12751 "optional" : 1,
12752 "type" : "integer"
12753 },
12754 "detect_zeroes" : {
12755 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12756 "optional" : 1,
12757 "type" : "boolean"
12758 },
12759 "discard" : {
12760 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12761 "enum" : [
12762 "ignore",
12763 "on"
12764 ],
44660702
DM
12765 "optional" : 1,
12766 "type" : "string"
12767 },
12768 "file" : {
12769 "default_key" : 1,
12770 "description" : "The drive's backing volume.",
12771 "format" : "pve-volume-id-or-qm-path",
12772 "format_description" : "volume",
12773 "type" : "string"
12774 },
12775 "format" : {
12776 "description" : "The drive's backing file's data format.",
12777 "enum" : [
12778 "raw",
12779 "cow",
12780 "qcow",
12781 "qed",
12782 "qcow2",
12783 "vmdk",
12784 "cloop"
12785 ],
44660702
DM
12786 "optional" : 1,
12787 "type" : "string"
12788 },
12789 "heads" : {
12790 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12791 "optional" : 1,
12792 "type" : "integer"
12793 },
12794 "iops" : {
de0983cb 12795 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12796 "format_description" : "iops",
12797 "optional" : 1,
12798 "type" : "integer"
12799 },
12800 "iops_max" : {
de0983cb 12801 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12802 "format_description" : "iops",
12803 "optional" : 1,
12804 "type" : "integer"
12805 },
de0983cb
DM
12806 "iops_max_length" : {
12807 "description" : "Maximum length of I/O bursts in seconds.",
12808 "format_description" : "seconds",
12809 "minimum" : 1,
12810 "optional" : 1,
12811 "type" : "integer"
12812 },
44660702 12813 "iops_rd" : {
de0983cb 12814 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12815 "format_description" : "iops",
12816 "optional" : 1,
12817 "type" : "integer"
12818 },
de0983cb
DM
12819 "iops_rd_length" : {
12820 "description" : "Maximum length of read I/O bursts in seconds.",
12821 "format_description" : "seconds",
12822 "minimum" : 1,
12823 "optional" : 1,
12824 "type" : "integer"
12825 },
44660702 12826 "iops_rd_max" : {
de0983cb 12827 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12828 "format_description" : "iops",
12829 "optional" : 1,
12830 "type" : "integer"
12831 },
12832 "iops_wr" : {
de0983cb 12833 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12834 "format_description" : "iops",
12835 "optional" : 1,
12836 "type" : "integer"
12837 },
de0983cb
DM
12838 "iops_wr_length" : {
12839 "description" : "Maximum length of write I/O bursts in seconds.",
12840 "format_description" : "seconds",
12841 "minimum" : 1,
12842 "optional" : 1,
12843 "type" : "integer"
12844 },
44660702 12845 "iops_wr_max" : {
de0983cb 12846 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
12847 "format_description" : "iops",
12848 "optional" : 1,
12849 "type" : "integer"
12850 },
12851 "iothread" : {
12852 "description" : "Whether to use iothreads for this drive",
44660702
DM
12853 "optional" : 1,
12854 "type" : "boolean"
12855 },
12856 "mbps" : {
de0983cb 12857 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12858 "format_description" : "mbps",
12859 "optional" : 1,
12860 "type" : "number"
12861 },
12862 "mbps_max" : {
de0983cb 12863 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
12864 "format_description" : "mbps",
12865 "optional" : 1,
12866 "type" : "number"
12867 },
12868 "mbps_rd" : {
de0983cb 12869 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12870 "format_description" : "mbps",
12871 "optional" : 1,
12872 "type" : "number"
12873 },
12874 "mbps_rd_max" : {
de0983cb 12875 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
12876 "format_description" : "mbps",
12877 "optional" : 1,
12878 "type" : "number"
12879 },
12880 "mbps_wr" : {
de0983cb 12881 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
12882 "format_description" : "mbps",
12883 "optional" : 1,
12884 "type" : "number"
12885 },
12886 "mbps_wr_max" : {
de0983cb 12887 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
12888 "format_description" : "mbps",
12889 "optional" : 1,
12890 "type" : "number"
12891 },
12892 "media" : {
12893 "default" : "disk",
12894 "description" : "The drive's media type.",
12895 "enum" : [
12896 "cdrom",
12897 "disk"
12898 ],
44660702
DM
12899 "optional" : 1,
12900 "type" : "string"
12901 },
12902 "rerror" : {
12903 "description" : "Read error action.",
12904 "enum" : [
12905 "ignore",
12906 "report",
12907 "stop"
12908 ],
44660702
DM
12909 "optional" : 1,
12910 "type" : "string"
12911 },
12912 "secs" : {
12913 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12914 "optional" : 1,
12915 "type" : "integer"
12916 },
12917 "serial" : {
12918 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12919 "format" : "urlencoded",
12920 "format_description" : "serial",
12921 "maxLength" : 60,
12922 "optional" : 1,
12923 "type" : "string"
12924 },
12925 "size" : {
12926 "description" : "Disk size. This is purely informational and has no effect.",
12927 "format" : "disk-size",
f004f5b9 12928 "format_description" : "DiskSize",
44660702
DM
12929 "optional" : 1,
12930 "type" : "string"
12931 },
12932 "snapshot" : {
12933 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12934 "optional" : 1,
12935 "type" : "boolean"
12936 },
12937 "trans" : {
12938 "description" : "Force disk geometry bios translation mode.",
12939 "enum" : [
12940 "none",
12941 "lba",
12942 "auto"
12943 ],
44660702
DM
12944 "optional" : 1,
12945 "type" : "string"
12946 },
12947 "volume" : {
12948 "alias" : "file"
12949 },
12950 "werror" : {
12951 "description" : "Write error action.",
12952 "enum" : [
12953 "enospc",
12954 "ignore",
12955 "report",
12956 "stop"
12957 ],
44660702
DM
12958 "optional" : 1,
12959 "type" : "string"
12960 }
12961 },
12962 "optional" : 1,
4bd7df8b 12963 "type" : "string",
013dc89f 12964 "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 12965 },
44660702
DM
12966 "vmid" : {
12967 "description" : "The (unique) ID of the VM.",
12968 "format" : "pve-vmid",
12969 "minimum" : 1,
4bd7df8b 12970 "type" : "integer",
013dc89f 12971 "typetext" : "<integer> (1 - N)"
44660702
DM
12972 },
12973 "watchdog" : {
c2993fe5 12974 "description" : "Create a virtual hardware watchdog device.",
44660702 12975 "format" : "pve-qm-watchdog",
7aacca6f 12976 "optional" : 1,
c2993fe5 12977 "type" : "string",
013dc89f 12978 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 12979 "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 12980 }
44660702 12981 }
56122987 12982 },
56122987 12983 "permissions" : {
44660702
DM
12984 "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.",
12985 "user" : "all"
56122987 12986 },
44660702
DM
12987 "protected" : 1,
12988 "proxyto" : "node",
56122987 12989 "returns" : {
44660702 12990 "type" : "string"
7aacca6f 12991 }
56122987 12992 }
7aacca6f 12993 },
44660702 12994 "leaf" : 0,
7aacca6f 12995 "path" : "/nodes/{node}/qemu",
44660702 12996 "text" : "qemu"
56122987
DM
12997 },
12998 {
12999 "children" : [
13000 {
56122987
DM
13001 "children" : [
13002 {
56122987 13003 "info" : {
44660702
DM
13004 "GET" : {
13005 "description" : "Get container configuration.",
13006 "method" : "GET",
13007 "name" : "vm_config",
13008 "parameters" : {
13009 "additionalProperties" : 0,
13010 "properties" : {
13011 "node" : {
13012 "description" : "The cluster node name.",
13013 "format" : "pve-node",
013dc89f
DM
13014 "type" : "string",
13015 "typetext" : "<string>"
44660702
DM
13016 },
13017 "vmid" : {
13018 "description" : "The (unique) ID of the VM.",
13019 "format" : "pve-vmid",
13020 "minimum" : 1,
4bd7df8b 13021 "type" : "integer",
013dc89f 13022 "typetext" : "<integer> (1 - N)"
44660702
DM
13023 }
13024 }
13025 },
13026 "permissions" : {
13027 "check" : [
13028 "perm",
13029 "/vms/{vmid}",
13030 [
13031 "VM.Audit"
13032 ]
13033 ]
13034 },
13035 "proxyto" : "node",
13036 "returns" : {
13037 "properties" : {
13038 "digest" : {
13039 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
13040 "type" : "string"
13041 }
13042 },
13043 "type" : "object"
13044 }
13045 },
56122987 13046 "PUT" : {
44660702
DM
13047 "description" : "Set container options.",
13048 "method" : "PUT",
13049 "name" : "update_vm",
56122987 13050 "parameters" : {
44660702 13051 "additionalProperties" : 0,
56122987 13052 "properties" : {
44660702
DM
13053 "arch" : {
13054 "default" : "amd64",
13055 "description" : "OS architecture type.",
13056 "enum" : [
13057 "amd64",
13058 "i386"
13059 ],
7aacca6f 13060 "optional" : 1,
44660702
DM
13061 "type" : "string"
13062 },
13063 "cmode" : {
7aacca6f 13064 "default" : "tty",
44660702 13065 "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
13066 "enum" : [
13067 "shell",
13068 "console",
13069 "tty"
13070 ],
44660702
DM
13071 "optional" : 1,
13072 "type" : "string"
7aacca6f 13073 },
44660702
DM
13074 "console" : {
13075 "default" : 1,
13076 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 13077 "optional" : 1,
013dc89f
DM
13078 "type" : "boolean",
13079 "typetext" : "<boolean>"
7aacca6f 13080 },
de0983cb
DM
13081 "cores" : {
13082 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
13083 "maximum" : 128,
13084 "minimum" : 1,
13085 "optional" : 1,
13086 "type" : "integer",
013dc89f 13087 "typetext" : "<integer> (1 - 128)"
de0983cb 13088 },
44660702
DM
13089 "cpulimit" : {
13090 "default" : 0,
13091 "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.",
13092 "maximum" : 128,
7aacca6f 13093 "minimum" : 0,
7aacca6f 13094 "optional" : 1,
4bd7df8b 13095 "type" : "number",
013dc89f 13096 "typetext" : "<number> (0 - 128)"
7aacca6f 13097 },
44660702
DM
13098 "cpuunits" : {
13099 "default" : 1024,
13100 "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.",
13101 "maximum" : 500000,
13102 "minimum" : 0,
13103 "optional" : 1,
4bd7df8b 13104 "type" : "integer",
013dc89f 13105 "typetext" : "<integer> (0 - 500000)"
7aacca6f 13106 },
44660702
DM
13107 "delete" : {
13108 "description" : "A list of settings you want to delete.",
13109 "format" : "pve-configid-list",
7aacca6f 13110 "optional" : 1,
013dc89f
DM
13111 "type" : "string",
13112 "typetext" : "<string>"
7aacca6f 13113 },
44660702
DM
13114 "description" : {
13115 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 13116 "optional" : 1,
013dc89f
DM
13117 "type" : "string",
13118 "typetext" : "<string>"
7aacca6f 13119 },
44660702
DM
13120 "digest" : {
13121 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13122 "maxLength" : 40,
7aacca6f 13123 "optional" : 1,
013dc89f
DM
13124 "type" : "string",
13125 "typetext" : "<string>"
7aacca6f 13126 },
44660702
DM
13127 "hostname" : {
13128 "description" : "Set a host name for the container.",
13129 "format" : "dns-name",
13130 "maxLength" : 255,
56122987 13131 "optional" : 1,
013dc89f
DM
13132 "type" : "string",
13133 "typetext" : "<string>"
44660702
DM
13134 },
13135 "lock" : {
13136 "description" : "Lock/unlock the VM.",
13137 "enum" : [
13138 "migrate",
13139 "backup",
13140 "snapshot",
13141 "rollback"
13142 ],
13143 "optional" : 1,
13144 "type" : "string"
13145 },
13146 "memory" : {
13147 "default" : 512,
13148 "description" : "Amount of RAM for the VM in MB.",
13149 "minimum" : 16,
13150 "optional" : 1,
4bd7df8b 13151 "type" : "integer",
013dc89f 13152 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
13153 },
13154 "mp[n]" : {
c2993fe5 13155 "description" : "Use volume as container mount point.",
7aacca6f 13156 "format" : {
7aacca6f
DM
13157 "acl" : {
13158 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 13159 "optional" : 1,
44660702 13160 "type" : "boolean"
7aacca6f
DM
13161 },
13162 "backup" : {
de0983cb 13163 "description" : "Whether to include the mount point in backups.",
7aacca6f 13164 "optional" : 1,
4bd7df8b 13165 "type" : "boolean",
de0983cb 13166 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
13167 },
13168 "mp" : {
de0983cb 13169 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 13170 "format" : "pve-lxc-mp-string",
44660702 13171 "format_description" : "Path",
4bd7df8b 13172 "type" : "string",
de0983cb 13173 "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
13174 },
13175 "quota" : {
13176 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13177 "optional" : 1,
13178 "type" : "boolean"
13179 },
13180 "ro" : {
de0983cb 13181 "description" : "Read-only mount point",
44660702
DM
13182 "optional" : 1,
13183 "type" : "boolean"
13184 },
de0983cb
DM
13185 "shared" : {
13186 "default" : 0,
13187 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13188 "optional" : 1,
13189 "type" : "boolean",
13190 "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!"
13191 },
44660702
DM
13192 "size" : {
13193 "description" : "Volume size (read only value).",
13194 "format" : "disk-size",
13195 "format_description" : "DiskSize",
13196 "optional" : 1,
13197 "type" : "string"
13198 },
13199 "volume" : {
13200 "default_key" : 1,
13201 "description" : "Volume, device or directory to mount into the container.",
13202 "format" : "pve-lxc-mp-string",
13203 "format_description" : "volume",
13204 "type" : "string"
13205 }
13206 },
7aacca6f 13207 "optional" : 1,
4bd7df8b 13208 "type" : "string",
de0983cb 13209 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 13210 },
44660702
DM
13211 "nameserver" : {
13212 "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.",
13213 "format" : "address-list",
56122987 13214 "optional" : 1,
013dc89f
DM
13215 "type" : "string",
13216 "typetext" : "<string>"
56122987
DM
13217 },
13218 "net[n]" : {
44660702 13219 "description" : "Specifies network interfaces for the container.",
56122987 13220 "format" : {
44660702
DM
13221 "bridge" : {
13222 "description" : "Bridge to attach the network device to.",
f004f5b9 13223 "format_description" : "bridge",
56122987 13224 "optional" : 1,
44660702
DM
13225 "pattern" : "[-_.\\w\\d]+",
13226 "type" : "string"
56122987 13227 },
44660702
DM
13228 "firewall" : {
13229 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 13230 "optional" : 1,
44660702 13231 "type" : "boolean"
56122987 13232 },
44660702
DM
13233 "gw" : {
13234 "description" : "Default gateway for IPv4 traffic.",
13235 "format" : "ipv4",
13236 "format_description" : "GatewayIPv4",
56122987 13237 "optional" : 1,
44660702 13238 "type" : "string"
56122987
DM
13239 },
13240 "gw6" : {
7aacca6f 13241 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
13242 "format" : "ipv6",
13243 "format_description" : "GatewayIPv6",
7aacca6f 13244 "optional" : 1,
56122987
DM
13245 "type" : "string"
13246 },
44660702 13247 "hwaddr" : {
f004f5b9
DM
13248 "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)",
13249 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
13250 "optional" : 1,
13251 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
13252 "type" : "string"
13253 },
13254 "ip" : {
13255 "description" : "IPv4 address in CIDR format.",
13256 "format" : "pve-ipv4-config",
13257 "format_description" : "IPv4Format/CIDR",
56122987 13258 "optional" : 1,
44660702 13259 "type" : "string"
56122987 13260 },
7aacca6f 13261 "ip6" : {
7aacca6f
DM
13262 "description" : "IPv6 address in CIDR format.",
13263 "format" : "pve-ipv6-config",
44660702 13264 "format_description" : "IPv6Format/CIDR",
7aacca6f 13265 "optional" : 1,
44660702 13266 "type" : "string"
56122987 13267 },
44660702
DM
13268 "mtu" : {
13269 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 13270 "minimum" : 64,
56122987 13271 "optional" : 1,
44660702 13272 "type" : "integer"
56122987
DM
13273 },
13274 "name" : {
44660702 13275 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 13276 "format_description" : "string",
56122987 13277 "pattern" : "[-_.\\w\\d]+",
44660702 13278 "type" : "string"
56122987 13279 },
44660702
DM
13280 "rate" : {
13281 "description" : "Apply rate limiting to the interface",
13282 "format_description" : "mbps",
56122987 13283 "optional" : 1,
44660702 13284 "type" : "number"
7aacca6f 13285 },
44660702
DM
13286 "tag" : {
13287 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
13288 "maximum" : 4094,
13289 "minimum" : 1,
56122987 13290 "optional" : 1,
7aacca6f 13291 "type" : "integer"
56122987 13292 },
44660702
DM
13293 "trunks" : {
13294 "description" : "VLAN ids to pass through the interface",
13295 "format_description" : "vlanid[;vlanid...]",
13296 "optional" : 1,
13297 "pattern" : "(?^:\\d+(?:;\\d+)*)",
13298 "type" : "string"
13299 },
13300 "type" : {
13301 "description" : "Network interface type.",
13302 "enum" : [
13303 "veth"
13304 ],
56122987 13305 "optional" : 1,
44660702 13306 "type" : "string"
56122987
DM
13307 }
13308 },
7aacca6f 13309 "optional" : 1,
4bd7df8b
DM
13310 "type" : "string",
13311 "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 13312 },
44660702
DM
13313 "node" : {
13314 "description" : "The cluster node name.",
13315 "format" : "pve-node",
013dc89f
DM
13316 "type" : "string",
13317 "typetext" : "<string>"
56122987 13318 },
44660702
DM
13319 "onboot" : {
13320 "default" : 0,
13321 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 13322 "optional" : 1,
013dc89f
DM
13323 "type" : "boolean",
13324 "typetext" : "<boolean>"
56122987 13325 },
44660702
DM
13326 "ostype" : {
13327 "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.",
13328 "enum" : [
13329 "debian",
13330 "ubuntu",
13331 "centos",
13332 "fedora",
13333 "opensuse",
13334 "archlinux",
13335 "alpine",
57b78691 13336 "gentoo",
44660702
DM
13337 "unmanaged"
13338 ],
56122987 13339 "optional" : 1,
44660702 13340 "type" : "string"
56122987 13341 },
44660702
DM
13342 "protection" : {
13343 "default" : 0,
13344 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 13345 "optional" : 1,
013dc89f
DM
13346 "type" : "boolean",
13347 "typetext" : "<boolean>"
56122987 13348 },
7aacca6f
DM
13349 "rootfs" : {
13350 "description" : "Use volume as container root.",
56122987
DM
13351 "format" : {
13352 "acl" : {
44660702 13353 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
13354 "optional" : 1,
13355 "type" : "boolean"
56122987 13356 },
44660702
DM
13357 "quota" : {
13358 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13359 "optional" : 1,
13360 "type" : "boolean"
13361 },
13362 "ro" : {
de0983cb 13363 "description" : "Read-only mount point",
56122987 13364 "optional" : 1,
44660702
DM
13365 "type" : "boolean"
13366 },
de0983cb
DM
13367 "shared" : {
13368 "default" : 0,
13369 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13370 "optional" : 1,
13371 "type" : "boolean",
13372 "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!"
13373 },
44660702 13374 "size" : {
7aacca6f 13375 "description" : "Volume size (read only value).",
44660702 13376 "format" : "disk-size",
56122987 13377 "format_description" : "DiskSize",
56122987 13378 "optional" : 1,
44660702 13379 "type" : "string"
7aacca6f
DM
13380 },
13381 "volume" : {
7aacca6f
DM
13382 "default_key" : 1,
13383 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
13384 "format" : "pve-lxc-mp-string",
13385 "format_description" : "volume",
7aacca6f 13386 "type" : "string"
56122987 13387 }
44660702
DM
13388 },
13389 "optional" : 1,
4bd7df8b 13390 "type" : "string",
de0983cb 13391 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
13392 },
13393 "searchdomain" : {
13394 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
13395 "format" : "dns-name-list",
13396 "optional" : 1,
013dc89f
DM
13397 "type" : "string",
13398 "typetext" : "<string>"
44660702
DM
13399 },
13400 "startup" : {
13401 "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.",
13402 "format" : "pve-startup-order",
13403 "optional" : 1,
13404 "type" : "string",
13405 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13406 },
13407 "swap" : {
13408 "default" : 512,
13409 "description" : "Amount of SWAP for the VM in MB.",
13410 "minimum" : 0,
13411 "optional" : 1,
4bd7df8b 13412 "type" : "integer",
013dc89f 13413 "typetext" : "<integer> (0 - N)"
56122987 13414 },
56122987 13415 "template" : {
44660702 13416 "default" : 0,
7aacca6f 13417 "description" : "Enable/disable Template.",
56122987 13418 "optional" : 1,
013dc89f
DM
13419 "type" : "boolean",
13420 "typetext" : "<boolean>"
56122987 13421 },
44660702
DM
13422 "tty" : {
13423 "default" : 2,
13424 "description" : "Specify the number of tty available to the container",
13425 "maximum" : 6,
13426 "minimum" : 0,
13427 "optional" : 1,
4bd7df8b 13428 "type" : "integer",
013dc89f 13429 "typetext" : "<integer> (0 - 6)"
56122987 13430 },
44660702
DM
13431 "unprivileged" : {
13432 "default" : 0,
13433 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 13434 "optional" : 1,
013dc89f
DM
13435 "type" : "boolean",
13436 "typetext" : "<boolean>"
56122987 13437 },
44660702 13438 "unused[n]" : {
c2993fe5 13439 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13440 "format" : "pve-volume-id",
56122987 13441 "optional" : 1,
013dc89f
DM
13442 "type" : "string",
13443 "typetext" : "<string>"
44660702
DM
13444 },
13445 "vmid" : {
13446 "description" : "The (unique) ID of the VM.",
13447 "format" : "pve-vmid",
13448 "minimum" : 1,
4bd7df8b 13449 "type" : "integer",
013dc89f 13450 "typetext" : "<integer> (1 - N)"
56122987 13451 }
44660702 13452 }
56122987 13453 },
56122987
DM
13454 "permissions" : {
13455 "check" : [
13456 "perm",
13457 "/vms/{vmid}",
13458 [
13459 "VM.Config.Disk",
13460 "VM.Config.CPU",
13461 "VM.Config.Memory",
13462 "VM.Config.Network",
13463 "VM.Config.Options"
13464 ],
13465 "any",
13466 1
13467 ]
13468 },
44660702
DM
13469 "protected" : 1,
13470 "proxyto" : "node",
56122987
DM
13471 "returns" : {
13472 "type" : "null"
7aacca6f 13473 }
56122987 13474 }
7aacca6f 13475 },
44660702 13476 "leaf" : 1,
7aacca6f 13477 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 13478 "text" : "config"
56122987
DM
13479 },
13480 {
56122987
DM
13481 "children" : [
13482 {
13483 "info" : {
13484 "GET" : {
44660702 13485 "description" : "Get virtual machine status.",
7aacca6f 13486 "method" : "GET",
44660702 13487 "name" : "vm_status",
56122987 13488 "parameters" : {
44660702 13489 "additionalProperties" : 0,
56122987 13490 "properties" : {
56122987 13491 "node" : {
44660702 13492 "description" : "The cluster node name.",
56122987 13493 "format" : "pve-node",
013dc89f
DM
13494 "type" : "string",
13495 "typetext" : "<string>"
7aacca6f
DM
13496 },
13497 "vmid" : {
13498 "description" : "The (unique) ID of the VM.",
44660702 13499 "format" : "pve-vmid",
7aacca6f 13500 "minimum" : 1,
4bd7df8b 13501 "type" : "integer",
013dc89f 13502 "typetext" : "<integer> (1 - N)"
56122987 13503 }
44660702 13504 }
7aacca6f
DM
13505 },
13506 "permissions" : {
13507 "check" : [
13508 "perm",
13509 "/vms/{vmid}",
13510 [
13511 "VM.Audit"
13512 ]
13513 ]
13514 },
44660702 13515 "protected" : 1,
7aacca6f 13516 "proxyto" : "node",
44660702
DM
13517 "returns" : {
13518 "type" : "object"
13519 }
56122987
DM
13520 }
13521 },
44660702
DM
13522 "leaf" : 1,
13523 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
13524 "text" : "current"
13525 },
13526 {
56122987
DM
13527 "info" : {
13528 "POST" : {
7aacca6f 13529 "description" : "Start the container.",
44660702 13530 "method" : "POST",
7aacca6f 13531 "name" : "vm_start",
56122987
DM
13532 "parameters" : {
13533 "additionalProperties" : 0,
13534 "properties" : {
56122987 13535 "node" : {
7aacca6f 13536 "description" : "The cluster node name.",
44660702 13537 "format" : "pve-node",
013dc89f
DM
13538 "type" : "string",
13539 "typetext" : "<string>"
56122987 13540 },
7aacca6f 13541 "skiplock" : {
44660702 13542 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 13543 "optional" : 1,
013dc89f
DM
13544 "type" : "boolean",
13545 "typetext" : "<boolean>"
7aacca6f 13546 },
56122987 13547 "vmid" : {
7aacca6f 13548 "description" : "The (unique) ID of the VM.",
44660702 13549 "format" : "pve-vmid",
56122987 13550 "minimum" : 1,
4bd7df8b 13551 "type" : "integer",
013dc89f 13552 "typetext" : "<integer> (1 - N)"
56122987
DM
13553 }
13554 }
13555 },
13556 "permissions" : {
13557 "check" : [
13558 "perm",
13559 "/vms/{vmid}",
13560 [
13561 "VM.PowerMgmt"
13562 ]
13563 ]
13564 },
44660702 13565 "protected" : 1,
7aacca6f 13566 "proxyto" : "node",
44660702
DM
13567 "returns" : {
13568 "type" : "string"
13569 }
13570 }
13571 },
13572 "leaf" : 1,
13573 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
13574 "text" : "start"
13575 },
13576 {
13577 "info" : {
13578 "POST" : {
13579 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
13580 "method" : "POST",
13581 "name" : "vm_stop",
13582 "parameters" : {
44660702 13583 "additionalProperties" : 0,
7aacca6f 13584 "properties" : {
44660702
DM
13585 "node" : {
13586 "description" : "The cluster node name.",
13587 "format" : "pve-node",
013dc89f
DM
13588 "type" : "string",
13589 "typetext" : "<string>"
44660702 13590 },
7aacca6f
DM
13591 "skiplock" : {
13592 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 13593 "optional" : 1,
013dc89f
DM
13594 "type" : "boolean",
13595 "typetext" : "<boolean>"
7aacca6f
DM
13596 },
13597 "vmid" : {
44660702 13598 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13599 "format" : "pve-vmid",
13600 "minimum" : 1,
4bd7df8b 13601 "type" : "integer",
013dc89f 13602 "typetext" : "<integer> (1 - N)"
7aacca6f 13603 }
44660702
DM
13604 }
13605 },
13606 "permissions" : {
13607 "check" : [
13608 "perm",
13609 "/vms/{vmid}",
13610 [
13611 "VM.PowerMgmt"
13612 ]
13613 ]
7aacca6f 13614 },
44660702
DM
13615 "protected" : 1,
13616 "proxyto" : "node",
13617 "returns" : {
13618 "type" : "string"
13619 }
56122987 13620 }
7aacca6f 13621 },
7aacca6f 13622 "leaf" : 1,
44660702
DM
13623 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
13624 "text" : "stop"
56122987
DM
13625 },
13626 {
56122987
DM
13627 "info" : {
13628 "POST" : {
44660702
DM
13629 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
13630 "method" : "POST",
7aacca6f 13631 "name" : "vm_shutdown",
56122987 13632 "parameters" : {
44660702 13633 "additionalProperties" : 0,
56122987 13634 "properties" : {
7aacca6f 13635 "forceStop" : {
44660702 13636 "default" : 0,
7aacca6f
DM
13637 "description" : "Make sure the Container stops.",
13638 "optional" : 1,
013dc89f
DM
13639 "type" : "boolean",
13640 "typetext" : "<boolean>"
44660702
DM
13641 },
13642 "node" : {
13643 "description" : "The cluster node name.",
13644 "format" : "pve-node",
013dc89f
DM
13645 "type" : "string",
13646 "typetext" : "<string>"
7aacca6f
DM
13647 },
13648 "timeout" : {
7aacca6f 13649 "default" : 60,
44660702
DM
13650 "description" : "Wait maximal timeout seconds.",
13651 "minimum" : 0,
56122987 13652 "optional" : 1,
4bd7df8b 13653 "type" : "integer",
013dc89f 13654 "typetext" : "<integer> (0 - N)"
56122987
DM
13655 },
13656 "vmid" : {
7aacca6f 13657 "description" : "The (unique) ID of the VM.",
44660702
DM
13658 "format" : "pve-vmid",
13659 "minimum" : 1,
4bd7df8b 13660 "type" : "integer",
013dc89f 13661 "typetext" : "<integer> (1 - N)"
56122987 13662 }
44660702 13663 }
56122987
DM
13664 },
13665 "permissions" : {
13666 "check" : [
13667 "perm",
13668 "/vms/{vmid}",
13669 [
13670 "VM.PowerMgmt"
13671 ]
13672 ]
13673 },
44660702
DM
13674 "protected" : 1,
13675 "proxyto" : "node",
7aacca6f
DM
13676 "returns" : {
13677 "type" : "string"
13678 }
56122987
DM
13679 }
13680 },
44660702
DM
13681 "leaf" : 1,
13682 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 13683 "text" : "shutdown"
56122987
DM
13684 },
13685 {
56122987
DM
13686 "info" : {
13687 "POST" : {
7aacca6f 13688 "description" : "Suspend the container.",
7aacca6f 13689 "method" : "POST",
7aacca6f 13690 "name" : "vm_suspend",
56122987
DM
13691 "parameters" : {
13692 "additionalProperties" : 0,
13693 "properties" : {
44660702
DM
13694 "node" : {
13695 "description" : "The cluster node name.",
13696 "format" : "pve-node",
013dc89f
DM
13697 "type" : "string",
13698 "typetext" : "<string>"
44660702 13699 },
7aacca6f 13700 "vmid" : {
7aacca6f
DM
13701 "description" : "The (unique) ID of the VM.",
13702 "format" : "pve-vmid",
44660702 13703 "minimum" : 1,
4bd7df8b 13704 "type" : "integer",
013dc89f 13705 "typetext" : "<integer> (1 - N)"
56122987
DM
13706 }
13707 }
7aacca6f 13708 },
56122987
DM
13709 "permissions" : {
13710 "check" : [
13711 "perm",
13712 "/vms/{vmid}",
13713 [
13714 "VM.PowerMgmt"
13715 ]
13716 ]
13717 },
7aacca6f 13718 "protected" : 1,
44660702
DM
13719 "proxyto" : "node",
13720 "returns" : {
13721 "type" : "string"
13722 }
13723 }
13724 },
13725 "leaf" : 1,
13726 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
13727 "text" : "suspend"
13728 },
13729 {
13730 "info" : {
13731 "POST" : {
13732 "description" : "Resume the container.",
13733 "method" : "POST",
13734 "name" : "vm_resume",
56122987 13735 "parameters" : {
44660702 13736 "additionalProperties" : 0,
56122987
DM
13737 "properties" : {
13738 "node" : {
7aacca6f 13739 "description" : "The cluster node name.",
44660702 13740 "format" : "pve-node",
013dc89f
DM
13741 "type" : "string",
13742 "typetext" : "<string>"
56122987
DM
13743 },
13744 "vmid" : {
7aacca6f 13745 "description" : "The (unique) ID of the VM.",
56122987 13746 "format" : "pve-vmid",
44660702 13747 "minimum" : 1,
4bd7df8b 13748 "type" : "integer",
013dc89f 13749 "typetext" : "<integer> (1 - N)"
56122987 13750 }
44660702
DM
13751 }
13752 },
13753 "permissions" : {
13754 "check" : [
13755 "perm",
13756 "/vms/{vmid}",
13757 [
13758 "VM.PowerMgmt"
13759 ]
13760 ]
56122987 13761 },
44660702
DM
13762 "protected" : 1,
13763 "proxyto" : "node",
13764 "returns" : {
13765 "type" : "string"
13766 }
7aacca6f
DM
13767 }
13768 },
44660702
DM
13769 "leaf" : 1,
13770 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
13771 "text" : "resume"
13772 }
13773 ],
13774 "info" : {
13775 "GET" : {
7aacca6f 13776 "description" : "Directory index",
44660702 13777 "method" : "GET",
7aacca6f 13778 "name" : "vmcmdidx",
7aacca6f
DM
13779 "parameters" : {
13780 "additionalProperties" : 0,
13781 "properties" : {
13782 "node" : {
13783 "description" : "The cluster node name.",
44660702 13784 "format" : "pve-node",
013dc89f
DM
13785 "type" : "string",
13786 "typetext" : "<string>"
56122987 13787 },
7aacca6f 13788 "vmid" : {
44660702 13789 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13790 "format" : "pve-vmid",
13791 "minimum" : 1,
4bd7df8b 13792 "type" : "integer",
013dc89f 13793 "typetext" : "<integer> (1 - N)"
7aacca6f 13794 }
56122987
DM
13795 }
13796 },
44660702
DM
13797 "permissions" : {
13798 "user" : "all"
13799 },
13800 "proxyto" : "node",
7aacca6f 13801 "returns" : {
7aacca6f
DM
13802 "items" : {
13803 "properties" : {
13804 "subdir" : {
13805 "type" : "string"
13806 }
13807 },
13808 "type" : "object"
13809 },
13810 "links" : [
13811 {
44660702
DM
13812 "href" : "{subdir}",
13813 "rel" : "child"
7aacca6f 13814 }
44660702
DM
13815 ],
13816 "type" : "array"
7aacca6f
DM
13817 }
13818 }
44660702
DM
13819 },
13820 "leaf" : 0,
13821 "path" : "/nodes/{node}/lxc/{vmid}/status",
13822 "text" : "status"
7aacca6f
DM
13823 },
13824 {
7aacca6f 13825 "children" : [
56122987 13826 {
7aacca6f
DM
13827 "children" : [
13828 {
13829 "info" : {
13830 "POST" : {
7aacca6f 13831 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 13832 "method" : "POST",
44660702 13833 "name" : "rollback",
7aacca6f 13834 "parameters" : {
44660702 13835 "additionalProperties" : 0,
7aacca6f 13836 "properties" : {
44660702
DM
13837 "node" : {
13838 "description" : "The cluster node name.",
13839 "format" : "pve-node",
013dc89f
DM
13840 "type" : "string",
13841 "typetext" : "<string>"
44660702 13842 },
7aacca6f 13843 "snapname" : {
44660702 13844 "description" : "The name of the snapshot.",
7aacca6f
DM
13845 "format" : "pve-configid",
13846 "maxLength" : 40,
013dc89f
DM
13847 "type" : "string",
13848 "typetext" : "<string>"
7aacca6f 13849 },
7aacca6f 13850 "vmid" : {
44660702 13851 "description" : "The (unique) ID of the VM.",
7aacca6f 13852 "format" : "pve-vmid",
44660702 13853 "minimum" : 1,
4bd7df8b 13854 "type" : "integer",
013dc89f 13855 "typetext" : "<integer> (1 - N)"
7aacca6f 13856 }
44660702
DM
13857 }
13858 },
13859 "permissions" : {
13860 "check" : [
13861 "perm",
13862 "/vms/{vmid}",
13863 [
13864 "VM.Snapshot"
13865 ]
13866 ]
7aacca6f 13867 },
44660702
DM
13868 "protected" : 1,
13869 "proxyto" : "node",
13870 "returns" : {
13871 "description" : "the task ID.",
13872 "type" : "string"
13873 }
7aacca6f
DM
13874 }
13875 },
7aacca6f 13876 "leaf" : 1,
44660702
DM
13877 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
13878 "text" : "rollback"
7aacca6f
DM
13879 },
13880 {
7aacca6f
DM
13881 "info" : {
13882 "GET" : {
7aacca6f 13883 "description" : "Get snapshot configuration",
44660702
DM
13884 "method" : "GET",
13885 "name" : "get_snapshot_config",
7aacca6f
DM
13886 "parameters" : {
13887 "additionalProperties" : 0,
13888 "properties" : {
7aacca6f 13889 "node" : {
7aacca6f 13890 "description" : "The cluster node name.",
44660702 13891 "format" : "pve-node",
013dc89f
DM
13892 "type" : "string",
13893 "typetext" : "<string>"
7aacca6f
DM
13894 },
13895 "snapname" : {
44660702 13896 "description" : "The name of the snapshot.",
7aacca6f
DM
13897 "format" : "pve-configid",
13898 "maxLength" : 40,
013dc89f
DM
13899 "type" : "string",
13900 "typetext" : "<string>"
44660702
DM
13901 },
13902 "vmid" : {
13903 "description" : "The (unique) ID of the VM.",
13904 "format" : "pve-vmid",
13905 "minimum" : 1,
4bd7df8b 13906 "type" : "integer",
013dc89f 13907 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
13908 }
13909 }
13910 },
13911 "permissions" : {
13912 "check" : [
13913 "perm",
13914 "/vms/{vmid}",
13915 [
13916 "VM.Snapshot"
13917 ]
13918 ]
13919 },
44660702
DM
13920 "proxyto" : "node",
13921 "returns" : {
13922 "type" : "object"
13923 }
7aacca6f
DM
13924 },
13925 "PUT" : {
44660702
DM
13926 "description" : "Update snapshot metadata.",
13927 "method" : "PUT",
7aacca6f
DM
13928 "name" : "update_snapshot_config",
13929 "parameters" : {
13930 "additionalProperties" : 0,
13931 "properties" : {
44660702
DM
13932 "description" : {
13933 "description" : "A textual description or comment.",
13934 "optional" : 1,
013dc89f
DM
13935 "type" : "string",
13936 "typetext" : "<string>"
44660702 13937 },
7aacca6f 13938 "node" : {
7aacca6f 13939 "description" : "The cluster node name.",
44660702 13940 "format" : "pve-node",
013dc89f
DM
13941 "type" : "string",
13942 "typetext" : "<string>"
7aacca6f
DM
13943 },
13944 "snapname" : {
13945 "description" : "The name of the snapshot.",
7aacca6f 13946 "format" : "pve-configid",
44660702 13947 "maxLength" : 40,
013dc89f
DM
13948 "type" : "string",
13949 "typetext" : "<string>"
7aacca6f
DM
13950 },
13951 "vmid" : {
44660702 13952 "description" : "The (unique) ID of the VM.",
7aacca6f 13953 "format" : "pve-vmid",
44660702 13954 "minimum" : 1,
4bd7df8b 13955 "type" : "integer",
013dc89f 13956 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
13957 }
13958 }
13959 },
7aacca6f
DM
13960 "permissions" : {
13961 "check" : [
13962 "perm",
13963 "/vms/{vmid}",
13964 [
13965 "VM.Snapshot"
13966 ]
13967 ]
13968 },
44660702
DM
13969 "protected" : 1,
13970 "proxyto" : "node",
7aacca6f
DM
13971 "returns" : {
13972 "type" : "null"
13973 }
13974 }
13975 },
44660702 13976 "leaf" : 1,
7aacca6f 13977 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 13978 "text" : "config"
7aacca6f
DM
13979 }
13980 ],
56122987 13981 "info" : {
44660702
DM
13982 "DELETE" : {
13983 "description" : "Delete a LXC snapshot.",
13984 "method" : "DELETE",
13985 "name" : "delsnapshot",
56122987 13986 "parameters" : {
44660702 13987 "additionalProperties" : 0,
56122987 13988 "properties" : {
44660702
DM
13989 "force" : {
13990 "description" : "For removal from config file, even if removing disk snapshots fails.",
13991 "optional" : 1,
013dc89f
DM
13992 "type" : "boolean",
13993 "typetext" : "<boolean>"
44660702
DM
13994 },
13995 "node" : {
13996 "description" : "The cluster node name.",
13997 "format" : "pve-node",
013dc89f
DM
13998 "type" : "string",
13999 "typetext" : "<string>"
7aacca6f
DM
14000 },
14001 "snapname" : {
7aacca6f
DM
14002 "description" : "The name of the snapshot.",
14003 "format" : "pve-configid",
44660702 14004 "maxLength" : 40,
013dc89f
DM
14005 "type" : "string",
14006 "typetext" : "<string>"
44660702
DM
14007 },
14008 "vmid" : {
14009 "description" : "The (unique) ID of the VM.",
14010 "format" : "pve-vmid",
14011 "minimum" : 1,
4bd7df8b 14012 "type" : "integer",
013dc89f 14013 "typetext" : "<integer> (1 - N)"
56122987 14014 }
44660702 14015 }
7aacca6f 14016 },
56122987
DM
14017 "permissions" : {
14018 "check" : [
14019 "perm",
14020 "/vms/{vmid}",
14021 [
7aacca6f 14022 "VM.Snapshot"
56122987
DM
14023 ]
14024 ]
14025 },
44660702 14026 "protected" : 1,
7aacca6f 14027 "proxyto" : "node",
56122987 14028 "returns" : {
7aacca6f 14029 "description" : "the task ID.",
56122987 14030 "type" : "string"
44660702
DM
14031 }
14032 },
14033 "GET" : {
14034 "description" : "",
14035 "method" : "GET",
14036 "name" : "snapshot_cmd_idx",
7aacca6f
DM
14037 "parameters" : {
14038 "additionalProperties" : 0,
14039 "properties" : {
7aacca6f 14040 "node" : {
44660702 14041 "description" : "The cluster node name.",
7aacca6f 14042 "format" : "pve-node",
013dc89f
DM
14043 "type" : "string",
14044 "typetext" : "<string>"
7aacca6f
DM
14045 },
14046 "snapname" : {
44660702 14047 "description" : "The name of the snapshot.",
7aacca6f 14048 "format" : "pve-configid",
44660702 14049 "maxLength" : 40,
013dc89f
DM
14050 "type" : "string",
14051 "typetext" : "<string>"
44660702
DM
14052 },
14053 "vmid" : {
14054 "description" : "The (unique) ID of the VM.",
14055 "format" : "pve-vmid",
14056 "minimum" : 1,
4bd7df8b 14057 "type" : "integer",
013dc89f 14058 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14059 }
14060 }
14061 },
44660702
DM
14062 "permissions" : {
14063 "user" : "all"
14064 },
14065 "returns" : {
14066 "items" : {
14067 "properties" : {},
14068 "type" : "object"
14069 },
14070 "links" : [
14071 {
14072 "href" : "{cmd}",
14073 "rel" : "child"
14074 }
14075 ],
14076 "type" : "array"
14077 }
14078 }
14079 },
14080 "leaf" : 0,
14081 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
14082 "text" : "{snapname}"
14083 }
14084 ],
14085 "info" : {
14086 "GET" : {
14087 "description" : "List all snapshots.",
14088 "method" : "GET",
14089 "name" : "list",
14090 "parameters" : {
14091 "additionalProperties" : 0,
14092 "properties" : {
14093 "node" : {
14094 "description" : "The cluster node name.",
14095 "format" : "pve-node",
013dc89f
DM
14096 "type" : "string",
14097 "typetext" : "<string>"
44660702
DM
14098 },
14099 "vmid" : {
14100 "description" : "The (unique) ID of the VM.",
14101 "format" : "pve-vmid",
14102 "minimum" : 1,
4bd7df8b 14103 "type" : "integer",
013dc89f 14104 "typetext" : "<integer> (1 - N)"
44660702 14105 }
56122987
DM
14106 }
14107 },
56122987 14108 "permissions" : {
7aacca6f
DM
14109 "check" : [
14110 "perm",
14111 "/vms/{vmid}",
14112 [
14113 "VM.Audit"
14114 ]
14115 ]
14116 },
44660702 14117 "protected" : 1,
56122987 14118 "proxyto" : "node",
7aacca6f 14119 "returns" : {
44660702
DM
14120 "items" : {
14121 "properties" : {},
14122 "type" : "object"
14123 },
7aacca6f
DM
14124 "links" : [
14125 {
14126 "href" : "{name}",
14127 "rel" : "child"
14128 }
14129 ],
7aacca6f 14130 "type" : "array"
44660702 14131 }
7aacca6f
DM
14132 },
14133 "POST" : {
44660702
DM
14134 "description" : "Snapshot a container.",
14135 "method" : "POST",
14136 "name" : "snapshot",
56122987
DM
14137 "parameters" : {
14138 "additionalProperties" : 0,
14139 "properties" : {
7aacca6f 14140 "description" : {
44660702 14141 "description" : "A textual description or comment.",
7aacca6f 14142 "optional" : 1,
013dc89f
DM
14143 "type" : "string",
14144 "typetext" : "<string>"
44660702
DM
14145 },
14146 "node" : {
14147 "description" : "The cluster node name.",
14148 "format" : "pve-node",
013dc89f
DM
14149 "type" : "string",
14150 "typetext" : "<string>"
56122987
DM
14151 },
14152 "snapname" : {
56122987 14153 "description" : "The name of the snapshot.",
44660702 14154 "format" : "pve-configid",
7aacca6f 14155 "maxLength" : 40,
013dc89f
DM
14156 "type" : "string",
14157 "typetext" : "<string>"
56122987 14158 },
44660702
DM
14159 "vmid" : {
14160 "description" : "The (unique) ID of the VM.",
14161 "format" : "pve-vmid",
14162 "minimum" : 1,
4bd7df8b 14163 "type" : "integer",
013dc89f 14164 "typetext" : "<integer> (1 - N)"
56122987 14165 }
7aacca6f 14166 }
56122987 14167 },
56122987
DM
14168 "permissions" : {
14169 "check" : [
14170 "perm",
14171 "/vms/{vmid}",
14172 [
7aacca6f 14173 "VM.Snapshot"
56122987
DM
14174 ]
14175 ]
7aacca6f 14176 },
44660702 14177 "protected" : 1,
7aacca6f
DM
14178 "proxyto" : "node",
14179 "returns" : {
14180 "description" : "the task ID.",
14181 "type" : "string"
56122987
DM
14182 }
14183 }
44660702
DM
14184 },
14185 "leaf" : 0,
14186 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
14187 "text" : "snapshot"
7aacca6f
DM
14188 },
14189 {
56122987
DM
14190 "children" : [
14191 {
56122987
DM
14192 "children" : [
14193 {
56122987 14194 "info" : {
44660702
DM
14195 "DELETE" : {
14196 "description" : "Delete rule.",
14197 "method" : "DELETE",
14198 "name" : "delete_rule",
56122987 14199 "parameters" : {
44660702 14200 "additionalProperties" : 0,
56122987 14201 "properties" : {
44660702
DM
14202 "digest" : {
14203 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14204 "maxLength" : 40,
7aacca6f 14205 "optional" : 1,
013dc89f
DM
14206 "type" : "string",
14207 "typetext" : "<string>"
7aacca6f
DM
14208 },
14209 "node" : {
44660702 14210 "description" : "The cluster node name.",
7aacca6f 14211 "format" : "pve-node",
013dc89f
DM
14212 "type" : "string",
14213 "typetext" : "<string>"
44660702
DM
14214 },
14215 "pos" : {
14216 "description" : "Update rule at position <pos>.",
14217 "minimum" : 0,
14218 "optional" : 1,
4bd7df8b 14219 "type" : "integer",
013dc89f 14220 "typetext" : "<integer> (0 - N)"
44660702
DM
14221 },
14222 "vmid" : {
14223 "description" : "The (unique) ID of the VM.",
14224 "format" : "pve-vmid",
14225 "minimum" : 1,
4bd7df8b 14226 "type" : "integer",
013dc89f 14227 "typetext" : "<integer> (1 - N)"
56122987 14228 }
44660702 14229 }
56122987 14230 },
56122987
DM
14231 "permissions" : {
14232 "check" : [
14233 "perm",
14234 "/vms/{vmid}",
14235 [
44660702 14236 "VM.Config.Network"
56122987
DM
14237 ]
14238 ]
14239 },
44660702 14240 "protected" : 1,
7aacca6f 14241 "proxyto" : null,
44660702
DM
14242 "returns" : {
14243 "type" : "null"
14244 }
7aacca6f 14245 },
44660702
DM
14246 "GET" : {
14247 "description" : "Get single rule data.",
14248 "method" : "GET",
14249 "name" : "get_rule",
56122987 14250 "parameters" : {
44660702 14251 "additionalProperties" : 0,
56122987 14252 "properties" : {
7aacca6f 14253 "node" : {
7aacca6f 14254 "description" : "The cluster node name.",
44660702 14255 "format" : "pve-node",
013dc89f
DM
14256 "type" : "string",
14257 "typetext" : "<string>"
56122987 14258 },
7aacca6f 14259 "pos" : {
7aacca6f 14260 "description" : "Update rule at position <pos>.",
44660702 14261 "minimum" : 0,
7aacca6f 14262 "optional" : 1,
4bd7df8b 14263 "type" : "integer",
013dc89f 14264 "typetext" : "<integer> (0 - N)"
56122987 14265 },
7aacca6f 14266 "vmid" : {
44660702 14267 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14268 "format" : "pve-vmid",
14269 "minimum" : 1,
4bd7df8b 14270 "type" : "integer",
013dc89f 14271 "typetext" : "<integer> (1 - N)"
56122987 14272 }
44660702 14273 }
56122987 14274 },
7aacca6f
DM
14275 "permissions" : {
14276 "check" : [
14277 "perm",
14278 "/vms/{vmid}",
14279 [
44660702 14280 "VM.Audit"
7aacca6f
DM
14281 ]
14282 ]
14283 },
7aacca6f
DM
14284 "proxyto" : null,
14285 "returns" : {
44660702
DM
14286 "properties" : {
14287 "pos" : {
14288 "type" : "integer"
14289 }
14290 },
14291 "type" : "object"
7aacca6f 14292 }
56122987 14293 },
44660702
DM
14294 "PUT" : {
14295 "description" : "Modify rule data.",
14296 "method" : "PUT",
14297 "name" : "update_rule",
56122987
DM
14298 "parameters" : {
14299 "additionalProperties" : 0,
14300 "properties" : {
44660702
DM
14301 "action" : {
14302 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
14303 "maxLength" : 20,
14304 "minLength" : 2,
14305 "optional" : 1,
14306 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14307 "type" : "string"
14308 },
14309 "comment" : {
e94f0d56 14310 "description" : "Descriptive comment.",
44660702 14311 "optional" : 1,
013dc89f
DM
14312 "type" : "string",
14313 "typetext" : "<string>"
44660702
DM
14314 },
14315 "delete" : {
14316 "description" : "A list of settings you want to delete.",
14317 "format" : "pve-configid-list",
14318 "optional" : 1,
013dc89f
DM
14319 "type" : "string",
14320 "typetext" : "<string>"
44660702
DM
14321 },
14322 "dest" : {
14323 "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.",
14324 "format" : "pve-fw-addr-spec",
14325 "optional" : 1,
013dc89f
DM
14326 "type" : "string",
14327 "typetext" : "<string>"
44660702
DM
14328 },
14329 "digest" : {
14330 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14331 "maxLength" : 40,
14332 "optional" : 1,
013dc89f
DM
14333 "type" : "string",
14334 "typetext" : "<string>"
44660702
DM
14335 },
14336 "dport" : {
14337 "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.",
14338 "format" : "pve-fw-dport-spec",
14339 "optional" : 1,
013dc89f
DM
14340 "type" : "string",
14341 "typetext" : "<string>"
44660702
DM
14342 },
14343 "enable" : {
e94f0d56 14344 "description" : "Flag to enable/disable a rule.",
44660702
DM
14345 "minimum" : 0,
14346 "optional" : 1,
4bd7df8b 14347 "type" : "integer",
013dc89f 14348 "typetext" : "<integer> (0 - N)"
44660702
DM
14349 },
14350 "iface" : {
14351 "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.",
14352 "format" : "pve-iface",
14353 "maxLength" : 20,
14354 "minLength" : 2,
14355 "optional" : 1,
013dc89f
DM
14356 "type" : "string",
14357 "typetext" : "<string>"
44660702
DM
14358 },
14359 "macro" : {
e94f0d56 14360 "description" : "Use predefined standard macro.",
44660702
DM
14361 "maxLength" : 128,
14362 "optional" : 1,
013dc89f
DM
14363 "type" : "string",
14364 "typetext" : "<string>"
44660702
DM
14365 },
14366 "moveto" : {
14367 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
14368 "minimum" : 0,
14369 "optional" : 1,
4bd7df8b 14370 "type" : "integer",
013dc89f 14371 "typetext" : "<integer> (0 - N)"
44660702 14372 },
7aacca6f
DM
14373 "node" : {
14374 "description" : "The cluster node name.",
44660702 14375 "format" : "pve-node",
013dc89f
DM
14376 "type" : "string",
14377 "typetext" : "<string>"
56122987
DM
14378 },
14379 "pos" : {
44660702 14380 "description" : "Update rule at position <pos>.",
56122987 14381 "minimum" : 0,
7aacca6f 14382 "optional" : 1,
4bd7df8b 14383 "type" : "integer",
013dc89f 14384 "typetext" : "<integer> (0 - N)"
56122987 14385 },
44660702
DM
14386 "proto" : {
14387 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14388 "format" : "pve-fw-protocol-spec",
14389 "optional" : 1,
013dc89f
DM
14390 "type" : "string",
14391 "typetext" : "<string>"
7aacca6f 14392 },
44660702
DM
14393 "source" : {
14394 "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.",
14395 "format" : "pve-fw-addr-spec",
14396 "optional" : 1,
013dc89f
DM
14397 "type" : "string",
14398 "typetext" : "<string>"
44660702
DM
14399 },
14400 "sport" : {
14401 "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.",
14402 "format" : "pve-fw-sport-spec",
14403 "optional" : 1,
013dc89f
DM
14404 "type" : "string",
14405 "typetext" : "<string>"
44660702
DM
14406 },
14407 "type" : {
e94f0d56 14408 "description" : "Rule type.",
44660702
DM
14409 "enum" : [
14410 "in",
14411 "out",
14412 "group"
14413 ],
7aacca6f 14414 "optional" : 1,
44660702
DM
14415 "type" : "string"
14416 },
14417 "vmid" : {
14418 "description" : "The (unique) ID of the VM.",
14419 "format" : "pve-vmid",
14420 "minimum" : 1,
4bd7df8b 14421 "type" : "integer",
013dc89f 14422 "typetext" : "<integer> (1 - N)"
56122987
DM
14423 }
14424 }
14425 },
56122987
DM
14426 "permissions" : {
14427 "check" : [
14428 "perm",
14429 "/vms/{vmid}",
14430 [
7aacca6f 14431 "VM.Config.Network"
56122987
DM
14432 ]
14433 ]
14434 },
44660702 14435 "protected" : 1,
56122987 14436 "proxyto" : null,
56122987 14437 "returns" : {
7aacca6f
DM
14438 "type" : "null"
14439 }
56122987 14440 }
44660702
DM
14441 },
14442 "leaf" : 1,
14443 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
14444 "text" : "{pos}"
56122987
DM
14445 }
14446 ],
14447 "info" : {
7aacca6f 14448 "GET" : {
44660702
DM
14449 "description" : "List rules.",
14450 "method" : "GET",
14451 "name" : "get_rules",
7aacca6f 14452 "parameters" : {
44660702 14453 "additionalProperties" : 0,
7aacca6f
DM
14454 "properties" : {
14455 "node" : {
7aacca6f 14456 "description" : "The cluster node name.",
44660702 14457 "format" : "pve-node",
013dc89f
DM
14458 "type" : "string",
14459 "typetext" : "<string>"
7aacca6f
DM
14460 },
14461 "vmid" : {
14462 "description" : "The (unique) ID of the VM.",
44660702 14463 "format" : "pve-vmid",
7aacca6f 14464 "minimum" : 1,
4bd7df8b 14465 "type" : "integer",
013dc89f 14466 "typetext" : "<integer> (1 - N)"
7aacca6f 14467 }
44660702 14468 }
56122987 14469 },
56122987
DM
14470 "permissions" : {
14471 "check" : [
14472 "perm",
14473 "/vms/{vmid}",
14474 [
7aacca6f 14475 "VM.Audit"
56122987
DM
14476 ]
14477 ]
14478 },
14479 "proxyto" : null,
7aacca6f 14480 "returns" : {
7aacca6f
DM
14481 "items" : {
14482 "properties" : {
14483 "pos" : {
14484 "type" : "integer"
14485 }
14486 },
14487 "type" : "object"
14488 },
14489 "links" : [
14490 {
44660702
DM
14491 "href" : "{pos}",
14492 "rel" : "child"
7aacca6f 14493 }
44660702
DM
14494 ],
14495 "type" : "array"
14496 }
7aacca6f
DM
14497 },
14498 "POST" : {
44660702
DM
14499 "description" : "Create new rule.",
14500 "method" : "POST",
7aacca6f 14501 "name" : "create_rule",
56122987 14502 "parameters" : {
44660702 14503 "additionalProperties" : 0,
56122987 14504 "properties" : {
7aacca6f 14505 "action" : {
44660702 14506 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 14507 "maxLength" : 20,
44660702 14508 "minLength" : 2,
7aacca6f
DM
14509 "optional" : 0,
14510 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
14511 "type" : "string"
14512 },
44660702 14513 "comment" : {
e94f0d56 14514 "description" : "Descriptive comment.",
7aacca6f 14515 "optional" : 1,
013dc89f
DM
14516 "type" : "string",
14517 "typetext" : "<string>"
56122987 14518 },
44660702
DM
14519 "dest" : {
14520 "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.",
14521 "format" : "pve-fw-addr-spec",
56122987 14522 "optional" : 1,
013dc89f
DM
14523 "type" : "string",
14524 "typetext" : "<string>"
56122987 14525 },
44660702
DM
14526 "digest" : {
14527 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14528 "maxLength" : 40,
56122987 14529 "optional" : 1,
013dc89f
DM
14530 "type" : "string",
14531 "typetext" : "<string>"
56122987 14532 },
44660702
DM
14533 "dport" : {
14534 "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.",
14535 "format" : "pve-fw-dport-spec",
56122987 14536 "optional" : 1,
013dc89f
DM
14537 "type" : "string",
14538 "typetext" : "<string>"
56122987 14539 },
44660702 14540 "enable" : {
e94f0d56 14541 "description" : "Flag to enable/disable a rule.",
44660702 14542 "minimum" : 0,
56122987 14543 "optional" : 1,
4bd7df8b 14544 "type" : "integer",
013dc89f 14545 "typetext" : "<integer> (0 - N)"
56122987 14546 },
44660702
DM
14547 "iface" : {
14548 "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.",
14549 "format" : "pve-iface",
14550 "maxLength" : 20,
14551 "minLength" : 2,
7aacca6f 14552 "optional" : 1,
013dc89f
DM
14553 "type" : "string",
14554 "typetext" : "<string>"
56122987 14555 },
44660702 14556 "macro" : {
e94f0d56 14557 "description" : "Use predefined standard macro.",
44660702 14558 "maxLength" : 128,
56122987 14559 "optional" : 1,
013dc89f
DM
14560 "type" : "string",
14561 "typetext" : "<string>"
56122987
DM
14562 },
14563 "node" : {
7aacca6f 14564 "description" : "The cluster node name.",
44660702 14565 "format" : "pve-node",
013dc89f
DM
14566 "type" : "string",
14567 "typetext" : "<string>"
7aacca6f 14568 },
44660702
DM
14569 "pos" : {
14570 "description" : "Update rule at position <pos>.",
14571 "minimum" : 0,
14572 "optional" : 1,
4bd7df8b 14573 "type" : "integer",
013dc89f 14574 "typetext" : "<integer> (0 - N)"
44660702
DM
14575 },
14576 "proto" : {
14577 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14578 "format" : "pve-fw-protocol-spec",
7aacca6f 14579 "optional" : 1,
013dc89f
DM
14580 "type" : "string",
14581 "typetext" : "<string>"
7aacca6f 14582 },
44660702
DM
14583 "source" : {
14584 "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.",
14585 "format" : "pve-fw-addr-spec",
14586 "optional" : 1,
013dc89f
DM
14587 "type" : "string",
14588 "typetext" : "<string>"
56122987 14589 },
44660702
DM
14590 "sport" : {
14591 "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.",
14592 "format" : "pve-fw-sport-spec",
14593 "optional" : 1,
013dc89f
DM
14594 "type" : "string",
14595 "typetext" : "<string>"
7aacca6f 14596 },
44660702 14597 "type" : {
e94f0d56 14598 "description" : "Rule type.",
44660702
DM
14599 "enum" : [
14600 "in",
14601 "out",
14602 "group"
14603 ],
14604 "optional" : 0,
14605 "type" : "string"
14606 },
14607 "vmid" : {
14608 "description" : "The (unique) ID of the VM.",
14609 "format" : "pve-vmid",
14610 "minimum" : 1,
4bd7df8b 14611 "type" : "integer",
013dc89f 14612 "typetext" : "<integer> (1 - N)"
44660702
DM
14613 }
14614 }
14615 },
14616 "permissions" : {
14617 "check" : [
14618 "perm",
14619 "/vms/{vmid}",
14620 [
14621 "VM.Config.Network"
14622 ]
14623 ]
14624 },
14625 "protected" : 1,
14626 "proxyto" : null,
14627 "returns" : {
14628 "type" : "null"
14629 }
14630 }
14631 },
14632 "leaf" : 0,
14633 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
14634 "text" : "rules"
14635 },
14636 {
14637 "children" : [
14638 {
14639 "info" : {
14640 "DELETE" : {
14641 "description" : "Remove IP or Network alias.",
14642 "method" : "DELETE",
14643 "name" : "remove_alias",
56122987 14644 "parameters" : {
44660702 14645 "additionalProperties" : 0,
56122987 14646 "properties" : {
44660702
DM
14647 "digest" : {
14648 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14649 "maxLength" : 40,
56122987 14650 "optional" : 1,
013dc89f
DM
14651 "type" : "string",
14652 "typetext" : "<string>"
56122987 14653 },
7aacca6f 14654 "name" : {
44660702 14655 "description" : "Alias name.",
7aacca6f 14656 "maxLength" : 64,
7aacca6f
DM
14657 "minLength" : 2,
14658 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14659 "type" : "string"
7aacca6f
DM
14660 },
14661 "node" : {
44660702 14662 "description" : "The cluster node name.",
56122987 14663 "format" : "pve-node",
013dc89f
DM
14664 "type" : "string",
14665 "typetext" : "<string>"
7aacca6f 14666 },
56122987 14667 "vmid" : {
44660702 14668 "description" : "The (unique) ID of the VM.",
56122987 14669 "format" : "pve-vmid",
44660702 14670 "minimum" : 1,
4bd7df8b 14671 "type" : "integer",
013dc89f 14672 "typetext" : "<integer> (1 - N)"
56122987 14673 }
44660702 14674 }
56122987 14675 },
56122987
DM
14676 "permissions" : {
14677 "check" : [
14678 "perm",
14679 "/vms/{vmid}",
14680 [
7aacca6f 14681 "VM.Config.Network"
56122987
DM
14682 ]
14683 ]
14684 },
44660702 14685 "protected" : 1,
56122987 14686 "returns" : {
7aacca6f 14687 "type" : "null"
44660702 14688 }
56122987 14689 },
44660702
DM
14690 "GET" : {
14691 "description" : "Read alias.",
14692 "method" : "GET",
14693 "name" : "read_alias",
14694 "parameters" : {
14695 "additionalProperties" : 0,
14696 "properties" : {
14697 "name" : {
14698 "description" : "Alias name.",
14699 "maxLength" : 64,
14700 "minLength" : 2,
14701 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14702 "type" : "string"
14703 },
14704 "node" : {
14705 "description" : "The cluster node name.",
14706 "format" : "pve-node",
013dc89f
DM
14707 "type" : "string",
14708 "typetext" : "<string>"
44660702
DM
14709 },
14710 "vmid" : {
14711 "description" : "The (unique) ID of the VM.",
14712 "format" : "pve-vmid",
14713 "minimum" : 1,
4bd7df8b 14714 "type" : "integer",
013dc89f 14715 "typetext" : "<integer> (1 - N)"
44660702
DM
14716 }
14717 }
56122987 14718 },
7aacca6f
DM
14719 "permissions" : {
14720 "check" : [
14721 "perm",
14722 "/vms/{vmid}",
14723 [
44660702 14724 "VM.Audit"
7aacca6f
DM
14725 ]
14726 ]
14727 },
44660702
DM
14728 "returns" : {
14729 "type" : "object"
14730 }
14731 },
14732 "PUT" : {
14733 "description" : "Update IP or Network alias.",
14734 "method" : "PUT",
14735 "name" : "update_alias",
56122987
DM
14736 "parameters" : {
14737 "additionalProperties" : 0,
14738 "properties" : {
44660702
DM
14739 "cidr" : {
14740 "description" : "Network/IP specification in CIDR format.",
14741 "format" : "IPorCIDR",
013dc89f
DM
14742 "type" : "string",
14743 "typetext" : "<string>"
44660702
DM
14744 },
14745 "comment" : {
14746 "optional" : 1,
013dc89f
DM
14747 "type" : "string",
14748 "typetext" : "<string>"
44660702
DM
14749 },
14750 "digest" : {
14751 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14752 "maxLength" : 40,
14753 "optional" : 1,
013dc89f
DM
14754 "type" : "string",
14755 "typetext" : "<string>"
44660702 14756 },
56122987 14757 "name" : {
7aacca6f 14758 "description" : "Alias name.",
44660702
DM
14759 "maxLength" : 64,
14760 "minLength" : 2,
7aacca6f 14761 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14762 "type" : "string"
56122987
DM
14763 },
14764 "node" : {
14765 "description" : "The cluster node name.",
44660702 14766 "format" : "pve-node",
013dc89f
DM
14767 "type" : "string",
14768 "typetext" : "<string>"
44660702
DM
14769 },
14770 "rename" : {
14771 "description" : "Rename an existing alias.",
14772 "maxLength" : 64,
14773 "minLength" : 2,
14774 "optional" : 1,
14775 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14776 "type" : "string"
56122987 14777 },
7aacca6f 14778 "vmid" : {
7aacca6f 14779 "description" : "The (unique) ID of the VM.",
44660702 14780 "format" : "pve-vmid",
7aacca6f 14781 "minimum" : 1,
4bd7df8b 14782 "type" : "integer",
013dc89f 14783 "typetext" : "<integer> (1 - N)"
56122987
DM
14784 }
14785 }
14786 },
44660702
DM
14787 "permissions" : {
14788 "check" : [
14789 "perm",
14790 "/vms/{vmid}",
14791 [
14792 "VM.Config.Network"
14793 ]
14794 ]
7aacca6f 14795 },
44660702
DM
14796 "protected" : 1,
14797 "returns" : {
14798 "type" : "null"
7aacca6f
DM
14799 }
14800 }
14801 },
44660702
DM
14802 "leaf" : 1,
14803 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
14804 "text" : "{name}"
14805 }
14806 ],
14807 "info" : {
14808 "GET" : {
14809 "description" : "List aliases",
14810 "method" : "GET",
14811 "name" : "get_aliases",
56122987
DM
14812 "parameters" : {
14813 "additionalProperties" : 0,
14814 "properties" : {
14815 "node" : {
44660702 14816 "description" : "The cluster node name.",
56122987 14817 "format" : "pve-node",
013dc89f
DM
14818 "type" : "string",
14819 "typetext" : "<string>"
56122987
DM
14820 },
14821 "vmid" : {
7aacca6f 14822 "description" : "The (unique) ID of the VM.",
44660702 14823 "format" : "pve-vmid",
7aacca6f 14824 "minimum" : 1,
4bd7df8b 14825 "type" : "integer",
013dc89f 14826 "typetext" : "<integer> (1 - N)"
56122987
DM
14827 }
14828 }
14829 },
44660702
DM
14830 "permissions" : {
14831 "check" : [
14832 "perm",
14833 "/vms/{vmid}",
14834 [
14835 "VM.Audit"
14836 ]
14837 ]
14838 },
56122987
DM
14839 "returns" : {
14840 "items" : {
56122987 14841 "properties" : {
44660702
DM
14842 "cidr" : {
14843 "type" : "string"
7aacca6f 14844 },
44660702
DM
14845 "comment" : {
14846 "optional" : 1,
56122987
DM
14847 "type" : "string"
14848 },
56122987 14849 "digest" : {
56122987 14850 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
14851 "maxLength" : 40,
14852 "optional" : 0,
14853 "type" : "string"
14854 },
14855 "name" : {
14856 "type" : "string"
56122987 14857 }
44660702
DM
14858 },
14859 "type" : "object"
14860 },
14861 "links" : [
14862 {
14863 "href" : "{name}",
14864 "rel" : "child"
56122987 14865 }
44660702
DM
14866 ],
14867 "type" : "array"
7aacca6f
DM
14868 }
14869 },
14870 "POST" : {
44660702 14871 "description" : "Create IP or Network Alias.",
7aacca6f 14872 "method" : "POST",
44660702 14873 "name" : "create_alias",
7aacca6f
DM
14874 "parameters" : {
14875 "additionalProperties" : 0,
14876 "properties" : {
44660702
DM
14877 "cidr" : {
14878 "description" : "Network/IP specification in CIDR format.",
14879 "format" : "IPorCIDR",
013dc89f
DM
14880 "type" : "string",
14881 "typetext" : "<string>"
7aacca6f
DM
14882 },
14883 "comment" : {
14884 "optional" : 1,
013dc89f
DM
14885 "type" : "string",
14886 "typetext" : "<string>"
7aacca6f 14887 },
44660702
DM
14888 "name" : {
14889 "description" : "Alias name.",
14890 "maxLength" : 64,
7aacca6f
DM
14891 "minLength" : 2,
14892 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14893 "type" : "string"
7aacca6f
DM
14894 },
14895 "node" : {
44660702 14896 "description" : "The cluster node name.",
7aacca6f 14897 "format" : "pve-node",
013dc89f
DM
14898 "type" : "string",
14899 "typetext" : "<string>"
7aacca6f 14900 },
44660702
DM
14901 "vmid" : {
14902 "description" : "The (unique) ID of the VM.",
14903 "format" : "pve-vmid",
14904 "minimum" : 1,
4bd7df8b 14905 "type" : "integer",
013dc89f 14906 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14907 }
14908 }
14909 },
44660702
DM
14910 "permissions" : {
14911 "check" : [
14912 "perm",
14913 "/vms/{vmid}",
14914 [
14915 "VM.Config.Network"
14916 ]
14917 ]
14918 },
14919 "protected" : 1,
14920 "returns" : {
14921 "type" : "null"
14922 }
56122987
DM
14923 }
14924 },
44660702
DM
14925 "leaf" : 0,
14926 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
14927 "text" : "aliases"
14928 },
14929 {
56122987
DM
14930 "children" : [
14931 {
56122987
DM
14932 "children" : [
14933 {
14934 "info" : {
14935 "DELETE" : {
44660702 14936 "description" : "Remove IP or Network from IPSet.",
7aacca6f 14937 "method" : "DELETE",
44660702 14938 "name" : "remove_ip",
56122987
DM
14939 "parameters" : {
14940 "additionalProperties" : 0,
14941 "properties" : {
44660702
DM
14942 "cidr" : {
14943 "description" : "Network/IP specification in CIDR format.",
14944 "format" : "IPorCIDRorAlias",
013dc89f
DM
14945 "type" : "string",
14946 "typetext" : "<string>"
56122987
DM
14947 },
14948 "digest" : {
44660702 14949 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 14950 "maxLength" : 40,
7aacca6f 14951 "optional" : 1,
013dc89f
DM
14952 "type" : "string",
14953 "typetext" : "<string>"
56122987 14954 },
56122987 14955 "name" : {
44660702 14956 "description" : "IP set name.",
56122987 14957 "maxLength" : 64,
7aacca6f 14958 "minLength" : 2,
56122987 14959 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 14960 "type" : "string"
7aacca6f
DM
14961 },
14962 "node" : {
7aacca6f 14963 "description" : "The cluster node name.",
44660702 14964 "format" : "pve-node",
013dc89f
DM
14965 "type" : "string",
14966 "typetext" : "<string>"
44660702
DM
14967 },
14968 "vmid" : {
14969 "description" : "The (unique) ID of the VM.",
14970 "format" : "pve-vmid",
14971 "minimum" : 1,
4bd7df8b 14972 "type" : "integer",
013dc89f 14973 "typetext" : "<integer> (1 - N)"
56122987
DM
14974 }
14975 }
14976 },
44660702
DM
14977 "permissions" : {
14978 "check" : [
14979 "perm",
14980 "/vms/{vmid}",
14981 [
14982 "VM.Config.Network"
14983 ]
14984 ]
14985 },
7aacca6f 14986 "protected" : 1,
56122987
DM
14987 "returns" : {
14988 "type" : "null"
44660702
DM
14989 }
14990 },
14991 "GET" : {
14992 "description" : "Read IP or Network settings from IPSet.",
14993 "method" : "GET",
14994 "name" : "read_ip",
56122987
DM
14995 "parameters" : {
14996 "additionalProperties" : 0,
14997 "properties" : {
7aacca6f 14998 "cidr" : {
7aacca6f 14999 "description" : "Network/IP specification in CIDR format.",
44660702 15000 "format" : "IPorCIDRorAlias",
013dc89f
DM
15001 "type" : "string",
15002 "typetext" : "<string>"
56122987 15003 },
7aacca6f 15004 "name" : {
44660702 15005 "description" : "IP set name.",
7aacca6f
DM
15006 "maxLength" : 64,
15007 "minLength" : 2,
7aacca6f
DM
15008 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15009 "type" : "string"
56122987 15010 },
44660702
DM
15011 "node" : {
15012 "description" : "The cluster node name.",
15013 "format" : "pve-node",
013dc89f
DM
15014 "type" : "string",
15015 "typetext" : "<string>"
44660702
DM
15016 },
15017 "vmid" : {
15018 "description" : "The (unique) ID of the VM.",
15019 "format" : "pve-vmid",
15020 "minimum" : 1,
4bd7df8b 15021 "type" : "integer",
013dc89f 15022 "typetext" : "<integer> (1 - N)"
56122987
DM
15023 }
15024 }
15025 },
56122987
DM
15026 "permissions" : {
15027 "check" : [
15028 "perm",
15029 "/vms/{vmid}",
15030 [
44660702 15031 "VM.Audit"
56122987
DM
15032 ]
15033 ]
7aacca6f 15034 },
44660702 15035 "protected" : 1,
7aacca6f
DM
15036 "returns" : {
15037 "type" : "object"
44660702
DM
15038 }
15039 },
15040 "PUT" : {
15041 "description" : "Update IP or Network settings",
15042 "method" : "PUT",
15043 "name" : "update_ip",
7aacca6f 15044 "parameters" : {
44660702 15045 "additionalProperties" : 0,
7aacca6f
DM
15046 "properties" : {
15047 "cidr" : {
44660702 15048 "description" : "Network/IP specification in CIDR format.",
7aacca6f 15049 "format" : "IPorCIDRorAlias",
013dc89f
DM
15050 "type" : "string",
15051 "typetext" : "<string>"
7aacca6f 15052 },
44660702
DM
15053 "comment" : {
15054 "optional" : 1,
013dc89f
DM
15055 "type" : "string",
15056 "typetext" : "<string>"
44660702
DM
15057 },
15058 "digest" : {
15059 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15060 "maxLength" : 40,
15061 "optional" : 1,
013dc89f
DM
15062 "type" : "string",
15063 "typetext" : "<string>"
44660702
DM
15064 },
15065 "name" : {
15066 "description" : "IP set name.",
15067 "maxLength" : 64,
15068 "minLength" : 2,
15069 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15070 "type" : "string"
7aacca6f
DM
15071 },
15072 "node" : {
7aacca6f 15073 "description" : "The cluster node name.",
44660702 15074 "format" : "pve-node",
013dc89f
DM
15075 "type" : "string",
15076 "typetext" : "<string>"
7aacca6f 15077 },
44660702
DM
15078 "nomatch" : {
15079 "optional" : 1,
013dc89f
DM
15080 "type" : "boolean",
15081 "typetext" : "<boolean>"
44660702
DM
15082 },
15083 "vmid" : {
15084 "description" : "The (unique) ID of the VM.",
15085 "format" : "pve-vmid",
15086 "minimum" : 1,
4bd7df8b 15087 "type" : "integer",
013dc89f 15088 "typetext" : "<integer> (1 - N)"
7aacca6f 15089 }
44660702
DM
15090 }
15091 },
15092 "permissions" : {
15093 "check" : [
15094 "perm",
15095 "/vms/{vmid}",
15096 [
15097 "VM.Config.Network"
15098 ]
15099 ]
7aacca6f
DM
15100 },
15101 "protected" : 1,
44660702
DM
15102 "returns" : {
15103 "type" : "null"
15104 }
56122987
DM
15105 }
15106 },
56122987 15107 "leaf" : 1,
44660702
DM
15108 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
15109 "text" : "{cidr}"
56122987
DM
15110 }
15111 ],
15112 "info" : {
44660702
DM
15113 "DELETE" : {
15114 "description" : "Delete IPSet",
15115 "method" : "DELETE",
15116 "name" : "delete_ipset",
15117 "parameters" : {
15118 "additionalProperties" : 0,
15119 "properties" : {
15120 "name" : {
15121 "description" : "IP set name.",
15122 "maxLength" : 64,
15123 "minLength" : 2,
15124 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15125 "type" : "string"
15126 },
15127 "node" : {
15128 "description" : "The cluster node name.",
15129 "format" : "pve-node",
013dc89f
DM
15130 "type" : "string",
15131 "typetext" : "<string>"
44660702
DM
15132 },
15133 "vmid" : {
15134 "description" : "The (unique) ID of the VM.",
15135 "format" : "pve-vmid",
15136 "minimum" : 1,
4bd7df8b 15137 "type" : "integer",
013dc89f 15138 "typetext" : "<integer> (1 - N)"
44660702
DM
15139 }
15140 }
15141 },
15142 "permissions" : {
15143 "check" : [
15144 "perm",
15145 "/vms/{vmid}",
15146 [
15147 "VM.Config.Network"
15148 ]
15149 ]
15150 },
15151 "protected" : 1,
15152 "returns" : {
15153 "type" : "null"
15154 }
15155 },
56122987 15156 "GET" : {
7aacca6f 15157 "description" : "List IPSet content",
44660702
DM
15158 "method" : "GET",
15159 "name" : "get_ipset",
7aacca6f
DM
15160 "parameters" : {
15161 "additionalProperties" : 0,
15162 "properties" : {
15163 "name" : {
15164 "description" : "IP set name.",
44660702 15165 "maxLength" : 64,
7aacca6f 15166 "minLength" : 2,
44660702
DM
15167 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15168 "type" : "string"
7aacca6f
DM
15169 },
15170 "node" : {
7aacca6f 15171 "description" : "The cluster node name.",
44660702 15172 "format" : "pve-node",
013dc89f
DM
15173 "type" : "string",
15174 "typetext" : "<string>"
7aacca6f
DM
15175 },
15176 "vmid" : {
15177 "description" : "The (unique) ID of the VM.",
44660702 15178 "format" : "pve-vmid",
7aacca6f 15179 "minimum" : 1,
4bd7df8b 15180 "type" : "integer",
013dc89f 15181 "typetext" : "<integer> (1 - N)"
56122987 15182 }
7aacca6f
DM
15183 }
15184 },
7aacca6f
DM
15185 "permissions" : {
15186 "check" : [
15187 "perm",
15188 "/vms/{vmid}",
15189 [
15190 "VM.Audit"
15191 ]
15192 ]
15193 },
15194 "returns" : {
56122987
DM
15195 "items" : {
15196 "properties" : {
15197 "cidr" : {
15198 "type" : "string"
15199 },
44660702
DM
15200 "comment" : {
15201 "optional" : 1,
15202 "type" : "string"
15203 },
56122987 15204 "digest" : {
56122987 15205 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 15206 "maxLength" : 40,
7aacca6f 15207 "optional" : 0,
56122987 15208 "type" : "string"
7aacca6f
DM
15209 },
15210 "nomatch" : {
44660702
DM
15211 "optional" : 1,
15212 "type" : "boolean"
56122987 15213 }
44660702
DM
15214 },
15215 "type" : "object"
56122987 15216 },
7aacca6f
DM
15217 "links" : [
15218 {
44660702
DM
15219 "href" : "{cidr}",
15220 "rel" : "child"
56122987 15221 }
44660702
DM
15222 ],
15223 "type" : "array"
15224 }
56122987 15225 },
7aacca6f
DM
15226 "POST" : {
15227 "description" : "Add IP or Network to IPSet.",
44660702 15228 "method" : "POST",
7aacca6f 15229 "name" : "create_ip",
56122987 15230 "parameters" : {
44660702 15231 "additionalProperties" : 0,
56122987 15232 "properties" : {
44660702
DM
15233 "cidr" : {
15234 "description" : "Network/IP specification in CIDR format.",
15235 "format" : "IPorCIDRorAlias",
013dc89f
DM
15236 "type" : "string",
15237 "typetext" : "<string>"
44660702
DM
15238 },
15239 "comment" : {
15240 "optional" : 1,
013dc89f
DM
15241 "type" : "string",
15242 "typetext" : "<string>"
56122987
DM
15243 },
15244 "name" : {
56122987 15245 "description" : "IP set name.",
44660702 15246 "maxLength" : 64,
7aacca6f 15247 "minLength" : 2,
44660702 15248 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 15249 "type" : "string"
56122987 15250 },
7aacca6f 15251 "node" : {
7aacca6f 15252 "description" : "The cluster node name.",
44660702 15253 "format" : "pve-node",
013dc89f
DM
15254 "type" : "string",
15255 "typetext" : "<string>"
56122987 15256 },
44660702
DM
15257 "nomatch" : {
15258 "optional" : 1,
013dc89f
DM
15259 "type" : "boolean",
15260 "typetext" : "<boolean>"
7aacca6f
DM
15261 },
15262 "vmid" : {
44660702 15263 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15264 "format" : "pve-vmid",
15265 "minimum" : 1,
4bd7df8b 15266 "type" : "integer",
013dc89f 15267 "typetext" : "<integer> (1 - N)"
56122987 15268 }
44660702
DM
15269 }
15270 },
15271 "permissions" : {
15272 "check" : [
15273 "perm",
15274 "/vms/{vmid}",
15275 [
15276 "VM.Config.Network"
15277 ]
15278 ]
15279 },
15280 "protected" : 1,
15281 "returns" : {
15282 "type" : "null"
15283 }
15284 }
15285 },
15286 "leaf" : 0,
15287 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
15288 "text" : "{name}"
15289 }
15290 ],
15291 "info" : {
15292 "GET" : {
15293 "description" : "List IPSets",
15294 "method" : "GET",
15295 "name" : "ipset_index",
15296 "parameters" : {
15297 "additionalProperties" : 0,
15298 "properties" : {
15299 "node" : {
15300 "description" : "The cluster node name.",
15301 "format" : "pve-node",
013dc89f
DM
15302 "type" : "string",
15303 "typetext" : "<string>"
44660702
DM
15304 },
15305 "vmid" : {
15306 "description" : "The (unique) ID of the VM.",
15307 "format" : "pve-vmid",
15308 "minimum" : 1,
4bd7df8b 15309 "type" : "integer",
013dc89f 15310 "typetext" : "<integer> (1 - N)"
44660702
DM
15311 }
15312 }
15313 },
15314 "permissions" : {
15315 "check" : [
15316 "perm",
15317 "/vms/{vmid}",
15318 [
15319 "VM.Audit"
15320 ]
15321 ]
15322 },
15323 "returns" : {
15324 "items" : {
15325 "properties" : {
15326 "comment" : {
15327 "optional" : 1,
15328 "type" : "string"
15329 },
15330 "digest" : {
15331 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15332 "maxLength" : 40,
15333 "optional" : 0,
15334 "type" : "string"
7aacca6f 15335 },
44660702
DM
15336 "name" : {
15337 "description" : "IP set name.",
15338 "maxLength" : 64,
15339 "minLength" : 2,
15340 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15341 "type" : "string"
15342 }
15343 },
15344 "type" : "object"
15345 },
15346 "links" : [
15347 {
15348 "href" : "{name}",
15349 "rel" : "child"
15350 }
15351 ],
15352 "type" : "array"
15353 }
15354 },
15355 "POST" : {
15356 "description" : "Create new IPSet",
15357 "method" : "POST",
15358 "name" : "create_ipset",
15359 "parameters" : {
15360 "additionalProperties" : 0,
15361 "properties" : {
15362 "comment" : {
15363 "optional" : 1,
013dc89f
DM
15364 "type" : "string",
15365 "typetext" : "<string>"
44660702
DM
15366 },
15367 "digest" : {
15368 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15369 "maxLength" : 40,
15370 "optional" : 1,
013dc89f
DM
15371 "type" : "string",
15372 "typetext" : "<string>"
56122987 15373 },
44660702
DM
15374 "name" : {
15375 "description" : "IP set name.",
15376 "maxLength" : 64,
15377 "minLength" : 2,
15378 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15379 "type" : "string"
15380 },
15381 "node" : {
15382 "description" : "The cluster node name.",
15383 "format" : "pve-node",
013dc89f
DM
15384 "type" : "string",
15385 "typetext" : "<string>"
7aacca6f 15386 },
44660702
DM
15387 "rename" : {
15388 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
15389 "maxLength" : 64,
15390 "minLength" : 2,
15391 "optional" : 1,
15392 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15393 "type" : "string"
15394 },
15395 "vmid" : {
15396 "description" : "The (unique) ID of the VM.",
15397 "format" : "pve-vmid",
15398 "minimum" : 1,
4bd7df8b 15399 "type" : "integer",
013dc89f 15400 "typetext" : "<integer> (1 - N)"
44660702 15401 }
56122987 15402 }
44660702
DM
15403 },
15404 "permissions" : {
15405 "check" : [
15406 "perm",
15407 "/vms/{vmid}",
15408 [
15409 "VM.Config.Network"
15410 ]
15411 ]
15412 },
15413 "protected" : 1,
15414 "returns" : {
15415 "type" : "null"
56122987
DM
15416 }
15417 }
44660702
DM
15418 },
15419 "leaf" : 0,
15420 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
15421 "text" : "ipset"
56122987
DM
15422 },
15423 {
56122987 15424 "info" : {
7aacca6f 15425 "GET" : {
44660702 15426 "description" : "Get VM firewall options.",
7aacca6f 15427 "method" : "GET",
44660702
DM
15428 "name" : "get_options",
15429 "parameters" : {
15430 "additionalProperties" : 0,
15431 "properties" : {
15432 "node" : {
15433 "description" : "The cluster node name.",
15434 "format" : "pve-node",
013dc89f
DM
15435 "type" : "string",
15436 "typetext" : "<string>"
44660702
DM
15437 },
15438 "vmid" : {
15439 "description" : "The (unique) ID of the VM.",
15440 "format" : "pve-vmid",
15441 "minimum" : 1,
4bd7df8b 15442 "type" : "integer",
013dc89f 15443 "typetext" : "<integer> (1 - N)"
44660702
DM
15444 }
15445 }
15446 },
15447 "permissions" : {
15448 "check" : [
15449 "perm",
15450 "/vms/{vmid}",
15451 [
15452 "VM.Audit"
15453 ]
15454 ]
15455 },
15456 "proxyto" : "node",
56122987 15457 "returns" : {
56122987 15458 "properties" : {
44660702
DM
15459 "dhcp" : {
15460 "description" : "Enable DHCP.",
15461 "optional" : 1,
15462 "type" : "boolean"
15463 },
15464 "enable" : {
15465 "description" : "Enable/disable firewall rules.",
15466 "optional" : 1,
15467 "type" : "boolean"
15468 },
15469 "ipfilter" : {
15470 "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 15471 "optional" : 1,
44660702
DM
15472 "type" : "boolean"
15473 },
15474 "log_level_in" : {
7aacca6f
DM
15475 "description" : "Log level for incoming traffic.",
15476 "enum" : [
15477 "emerg",
15478 "alert",
15479 "crit",
15480 "err",
15481 "warning",
15482 "notice",
15483 "info",
15484 "debug",
15485 "nolog"
44660702
DM
15486 ],
15487 "optional" : 1,
15488 "type" : "string"
56122987 15489 },
44660702
DM
15490 "log_level_out" : {
15491 "description" : "Log level for outgoing traffic.",
56122987 15492 "enum" : [
44660702
DM
15493 "emerg",
15494 "alert",
15495 "crit",
15496 "err",
15497 "warning",
15498 "notice",
15499 "info",
15500 "debug",
15501 "nolog"
7aacca6f 15502 ],
7aacca6f
DM
15503 "optional" : 1,
15504 "type" : "string"
56122987 15505 },
44660702
DM
15506 "macfilter" : {
15507 "description" : "Enable/disable MAC address filter.",
15508 "optional" : 1,
15509 "type" : "boolean"
7aacca6f 15510 },
44660702
DM
15511 "ndp" : {
15512 "description" : "Enable NDP.",
56122987 15513 "optional" : 1,
44660702 15514 "type" : "boolean"
56122987
DM
15515 },
15516 "policy_in" : {
7aacca6f 15517 "description" : "Input policy.",
56122987
DM
15518 "enum" : [
15519 "ACCEPT",
15520 "REJECT",
15521 "DROP"
15522 ],
7aacca6f 15523 "optional" : 1,
44660702 15524 "type" : "string"
56122987 15525 },
44660702
DM
15526 "policy_out" : {
15527 "description" : "Output policy.",
56122987 15528 "enum" : [
44660702
DM
15529 "ACCEPT",
15530 "REJECT",
15531 "DROP"
56122987 15532 ],
7aacca6f 15533 "optional" : 1,
56122987
DM
15534 "type" : "string"
15535 },
44660702
DM
15536 "radv" : {
15537 "description" : "Allow sending Router Advertisement.",
56122987 15538 "optional" : 1,
7aacca6f
DM
15539 "type" : "boolean"
15540 }
7aacca6f 15541 },
44660702
DM
15542 "type" : "object"
15543 }
7aacca6f
DM
15544 },
15545 "PUT" : {
44660702
DM
15546 "description" : "Set Firewall options.",
15547 "method" : "PUT",
7aacca6f
DM
15548 "name" : "set_options",
15549 "parameters" : {
44660702 15550 "additionalProperties" : 0,
7aacca6f 15551 "properties" : {
44660702
DM
15552 "delete" : {
15553 "description" : "A list of settings you want to delete.",
15554 "format" : "pve-configid-list",
15555 "optional" : 1,
013dc89f
DM
15556 "type" : "string",
15557 "typetext" : "<string>"
44660702
DM
15558 },
15559 "dhcp" : {
15560 "description" : "Enable DHCP.",
15561 "optional" : 1,
013dc89f
DM
15562 "type" : "boolean",
15563 "typetext" : "<boolean>"
44660702
DM
15564 },
15565 "digest" : {
15566 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15567 "maxLength" : 40,
15568 "optional" : 1,
013dc89f
DM
15569 "type" : "string",
15570 "typetext" : "<string>"
44660702 15571 },
7aacca6f
DM
15572 "enable" : {
15573 "description" : "Enable/disable firewall rules.",
56122987 15574 "optional" : 1,
013dc89f
DM
15575 "type" : "boolean",
15576 "typetext" : "<boolean>"
56122987 15577 },
44660702
DM
15578 "ipfilter" : {
15579 "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.",
15580 "optional" : 1,
013dc89f
DM
15581 "type" : "boolean",
15582 "typetext" : "<boolean>"
44660702
DM
15583 },
15584 "log_level_in" : {
15585 "description" : "Log level for incoming traffic.",
56122987
DM
15586 "enum" : [
15587 "emerg",
15588 "alert",
15589 "crit",
15590 "err",
15591 "warning",
15592 "notice",
15593 "info",
15594 "debug",
15595 "nolog"
15596 ],
56122987 15597 "optional" : 1,
44660702 15598 "type" : "string"
56122987 15599 },
44660702
DM
15600 "log_level_out" : {
15601 "description" : "Log level for outgoing traffic.",
56122987
DM
15602 "enum" : [
15603 "emerg",
15604 "alert",
15605 "crit",
15606 "err",
15607 "warning",
15608 "notice",
15609 "info",
15610 "debug",
15611 "nolog"
15612 ],
44660702
DM
15613 "optional" : 1,
15614 "type" : "string"
56122987 15615 },
44660702
DM
15616 "macfilter" : {
15617 "description" : "Enable/disable MAC address filter.",
15618 "optional" : 1,
013dc89f
DM
15619 "type" : "boolean",
15620 "typetext" : "<boolean>"
44660702
DM
15621 },
15622 "ndp" : {
15623 "description" : "Enable NDP.",
56122987 15624 "optional" : 1,
013dc89f
DM
15625 "type" : "boolean",
15626 "typetext" : "<boolean>"
56122987 15627 },
7aacca6f
DM
15628 "node" : {
15629 "description" : "The cluster node name.",
44660702 15630 "format" : "pve-node",
013dc89f
DM
15631 "type" : "string",
15632 "typetext" : "<string>"
7aacca6f 15633 },
44660702
DM
15634 "policy_in" : {
15635 "description" : "Input policy.",
15636 "enum" : [
15637 "ACCEPT",
15638 "REJECT",
15639 "DROP"
15640 ],
7aacca6f 15641 "optional" : 1,
44660702 15642 "type" : "string"
7aacca6f 15643 },
44660702
DM
15644 "policy_out" : {
15645 "description" : "Output policy.",
56122987 15646 "enum" : [
7aacca6f
DM
15647 "ACCEPT",
15648 "REJECT",
15649 "DROP"
56122987
DM
15650 ],
15651 "optional" : 1,
56122987 15652 "type" : "string"
7aacca6f 15653 },
44660702
DM
15654 "radv" : {
15655 "description" : "Allow sending Router Advertisement.",
7aacca6f 15656 "optional" : 1,
013dc89f
DM
15657 "type" : "boolean",
15658 "typetext" : "<boolean>"
44660702
DM
15659 },
15660 "vmid" : {
15661 "description" : "The (unique) ID of the VM.",
15662 "format" : "pve-vmid",
15663 "minimum" : 1,
4bd7df8b 15664 "type" : "integer",
013dc89f 15665 "typetext" : "<integer> (1 - N)"
56122987 15666 }
44660702 15667 }
56122987 15668 },
7aacca6f
DM
15669 "permissions" : {
15670 "check" : [
15671 "perm",
15672 "/vms/{vmid}",
15673 [
15674 "VM.Config.Network"
15675 ]
15676 ]
15677 },
44660702
DM
15678 "protected" : 1,
15679 "proxyto" : "node",
7aacca6f
DM
15680 "returns" : {
15681 "type" : "null"
56122987
DM
15682 }
15683 }
15684 },
44660702 15685 "leaf" : 1,
7aacca6f 15686 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 15687 "text" : "options"
56122987
DM
15688 },
15689 {
56122987
DM
15690 "info" : {
15691 "GET" : {
44660702 15692 "description" : "Read firewall log",
56122987 15693 "method" : "GET",
7aacca6f 15694 "name" : "log",
56122987
DM
15695 "parameters" : {
15696 "additionalProperties" : 0,
15697 "properties" : {
44660702
DM
15698 "limit" : {
15699 "minimum" : 0,
15700 "optional" : 1,
4bd7df8b 15701 "type" : "integer",
013dc89f 15702 "typetext" : "<integer> (0 - N)"
44660702 15703 },
56122987
DM
15704 "node" : {
15705 "description" : "The cluster node name.",
44660702 15706 "format" : "pve-node",
013dc89f
DM
15707 "type" : "string",
15708 "typetext" : "<string>"
56122987 15709 },
44660702
DM
15710 "start" : {
15711 "minimum" : 0,
7aacca6f 15712 "optional" : 1,
4bd7df8b 15713 "type" : "integer",
013dc89f 15714 "typetext" : "<integer> (0 - N)"
56122987
DM
15715 },
15716 "vmid" : {
44660702 15717 "description" : "The (unique) ID of the VM.",
7aacca6f 15718 "format" : "pve-vmid",
56122987 15719 "minimum" : 1,
4bd7df8b 15720 "type" : "integer",
013dc89f 15721 "typetext" : "<integer> (1 - N)"
56122987
DM
15722 }
15723 }
15724 },
44660702
DM
15725 "permissions" : {
15726 "check" : [
15727 "perm",
15728 "/vms/{vmid}",
15729 [
15730 "VM.Console"
15731 ]
15732 ]
15733 },
56122987 15734 "protected" : 1,
44660702 15735 "proxyto" : "node",
7aacca6f
DM
15736 "returns" : {
15737 "items" : {
15738 "properties" : {
7aacca6f
DM
15739 "n" : {
15740 "description" : "Line number",
15741 "type" : "integer"
44660702
DM
15742 },
15743 "t" : {
15744 "description" : "Line text",
15745 "type" : "string"
7aacca6f
DM
15746 }
15747 },
15748 "type" : "object"
15749 },
15750 "type" : "array"
44660702 15751 }
56122987
DM
15752 }
15753 },
7aacca6f 15754 "leaf" : 1,
44660702
DM
15755 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
15756 "text" : "log"
56122987
DM
15757 },
15758 {
56122987
DM
15759 "info" : {
15760 "GET" : {
7aacca6f 15761 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
15762 "method" : "GET",
15763 "name" : "refs",
56122987 15764 "parameters" : {
7aacca6f 15765 "additionalProperties" : 0,
56122987 15766 "properties" : {
44660702
DM
15767 "node" : {
15768 "description" : "The cluster node name.",
15769 "format" : "pve-node",
013dc89f
DM
15770 "type" : "string",
15771 "typetext" : "<string>"
7aacca6f 15772 },
56122987 15773 "type" : {
44660702 15774 "description" : "Only list references of specified type.",
56122987
DM
15775 "enum" : [
15776 "alias",
15777 "ipset"
15778 ],
44660702
DM
15779 "optional" : 1,
15780 "type" : "string"
56122987 15781 },
44660702
DM
15782 "vmid" : {
15783 "description" : "The (unique) ID of the VM.",
15784 "format" : "pve-vmid",
15785 "minimum" : 1,
4bd7df8b 15786 "type" : "integer",
013dc89f 15787 "typetext" : "<integer> (1 - N)"
56122987 15788 }
7aacca6f 15789 }
56122987 15790 },
44660702
DM
15791 "permissions" : {
15792 "check" : [
15793 "perm",
15794 "/vms/{vmid}",
15795 [
15796 "VM.Audit"
15797 ]
15798 ]
15799 },
56122987 15800 "returns" : {
56122987 15801 "items" : {
56122987 15802 "properties" : {
44660702
DM
15803 "comment" : {
15804 "optional" : 1,
15805 "type" : "string"
15806 },
15807 "name" : {
15808 "type" : "string"
15809 },
56122987 15810 "type" : {
56122987
DM
15811 "enum" : [
15812 "alias",
15813 "ipset"
44660702 15814 ],
7aacca6f 15815 "type" : "string"
56122987 15816 }
44660702
DM
15817 },
15818 "type" : "object"
15819 },
15820 "type" : "array"
56122987
DM
15821 }
15822 }
15823 },
44660702 15824 "leaf" : 1,
7aacca6f 15825 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 15826 "text" : "refs"
56122987
DM
15827 }
15828 ],
56122987
DM
15829 "info" : {
15830 "GET" : {
7aacca6f 15831 "description" : "Directory index.",
44660702
DM
15832 "method" : "GET",
15833 "name" : "index",
56122987 15834 "parameters" : {
44660702 15835 "additionalProperties" : 0,
56122987 15836 "properties" : {
56122987 15837 "node" : {
44660702 15838 "description" : "The cluster node name.",
56122987 15839 "format" : "pve-node",
013dc89f
DM
15840 "type" : "string",
15841 "typetext" : "<string>"
44660702
DM
15842 },
15843 "vmid" : {
15844 "description" : "The (unique) ID of the VM.",
15845 "format" : "pve-vmid",
15846 "minimum" : 1,
4bd7df8b 15847 "type" : "integer",
013dc89f 15848 "typetext" : "<integer> (1 - N)"
56122987 15849 }
44660702
DM
15850 }
15851 },
15852 "permissions" : {
15853 "user" : "all"
56122987
DM
15854 },
15855 "returns" : {
7aacca6f 15856 "items" : {
44660702
DM
15857 "properties" : {},
15858 "type" : "object"
7aacca6f 15859 },
56122987
DM
15860 "links" : [
15861 {
44660702
DM
15862 "href" : "{name}",
15863 "rel" : "child"
56122987 15864 }
44660702
DM
15865 ],
15866 "type" : "array"
56122987
DM
15867 }
15868 }
15869 },
44660702 15870 "leaf" : 0,
7aacca6f 15871 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 15872 "text" : "firewall"
56122987
DM
15873 },
15874 {
56122987
DM
15875 "info" : {
15876 "GET" : {
56122987 15877 "description" : "Read VM RRD statistics (returns PNG)",
44660702 15878 "method" : "GET",
7aacca6f 15879 "name" : "rrd",
56122987 15880 "parameters" : {
7aacca6f 15881 "additionalProperties" : 0,
56122987 15882 "properties" : {
44660702
DM
15883 "cf" : {
15884 "description" : "The RRD consolidation function",
15885 "enum" : [
15886 "AVERAGE",
15887 "MAX"
15888 ],
15889 "optional" : 1,
15890 "type" : "string"
15891 },
15892 "ds" : {
15893 "description" : "The list of datasources you want to display.",
15894 "format" : "pve-configid-list",
013dc89f
DM
15895 "type" : "string",
15896 "typetext" : "<string>"
44660702 15897 },
7aacca6f
DM
15898 "node" : {
15899 "description" : "The cluster node name.",
44660702 15900 "format" : "pve-node",
013dc89f
DM
15901 "type" : "string",
15902 "typetext" : "<string>"
56122987
DM
15903 },
15904 "timeframe" : {
15905 "description" : "Specify the time frame you are interested in.",
15906 "enum" : [
15907 "hour",
15908 "day",
15909 "week",
15910 "month",
15911 "year"
7aacca6f 15912 ],
44660702 15913 "type" : "string"
7aacca6f
DM
15914 },
15915 "vmid" : {
44660702 15916 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15917 "format" : "pve-vmid",
15918 "minimum" : 1,
4bd7df8b 15919 "type" : "integer",
013dc89f 15920 "typetext" : "<integer> (1 - N)"
56122987 15921 }
7aacca6f
DM
15922 }
15923 },
15924 "permissions" : {
15925 "check" : [
15926 "perm",
15927 "/vms/{vmid}",
15928 [
15929 "VM.Audit"
15930 ]
15931 ]
56122987 15932 },
44660702 15933 "protected" : 1,
7aacca6f
DM
15934 "returns" : {
15935 "properties" : {
15936 "filename" : {
15937 "type" : "string"
15938 }
15939 },
15940 "type" : "object"
15941 }
56122987 15942 }
7aacca6f 15943 },
44660702 15944 "leaf" : 1,
7aacca6f 15945 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 15946 "text" : "rrd"
56122987
DM
15947 },
15948 {
56122987
DM
15949 "info" : {
15950 "GET" : {
44660702
DM
15951 "description" : "Read VM RRD statistics",
15952 "method" : "GET",
15953 "name" : "rrddata",
56122987 15954 "parameters" : {
7aacca6f 15955 "additionalProperties" : 0,
56122987 15956 "properties" : {
44660702
DM
15957 "cf" : {
15958 "description" : "The RRD consolidation function",
15959 "enum" : [
15960 "AVERAGE",
15961 "MAX"
15962 ],
15963 "optional" : 1,
15964 "type" : "string"
15965 },
7aacca6f 15966 "node" : {
44660702 15967 "description" : "The cluster node name.",
7aacca6f 15968 "format" : "pve-node",
013dc89f
DM
15969 "type" : "string",
15970 "typetext" : "<string>"
7aacca6f 15971 },
56122987
DM
15972 "timeframe" : {
15973 "description" : "Specify the time frame you are interested in.",
15974 "enum" : [
15975 "hour",
15976 "day",
15977 "week",
15978 "month",
15979 "year"
44660702
DM
15980 ],
15981 "type" : "string"
7aacca6f
DM
15982 },
15983 "vmid" : {
15984 "description" : "The (unique) ID of the VM.",
44660702 15985 "format" : "pve-vmid",
7aacca6f 15986 "minimum" : 1,
4bd7df8b 15987 "type" : "integer",
013dc89f 15988 "typetext" : "<integer> (1 - N)"
56122987 15989 }
56122987
DM
15990 }
15991 },
56122987
DM
15992 "permissions" : {
15993 "check" : [
15994 "perm",
15995 "/vms/{vmid}",
15996 [
15997 "VM.Audit"
15998 ]
15999 ]
16000 },
7aacca6f
DM
16001 "protected" : 1,
16002 "returns" : {
7aacca6f
DM
16003 "items" : {
16004 "properties" : {},
16005 "type" : "object"
44660702
DM
16006 },
16007 "type" : "array"
16008 }
56122987
DM
16009 }
16010 },
44660702 16011 "leaf" : 1,
7aacca6f 16012 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 16013 "text" : "rrddata"
56122987
DM
16014 },
16015 {
16016 "info" : {
16017 "POST" : {
16018 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
16019 "method" : "POST",
16020 "name" : "vncproxy",
7aacca6f 16021 "parameters" : {
44660702 16022 "additionalProperties" : 0,
7aacca6f 16023 "properties" : {
44660702
DM
16024 "node" : {
16025 "description" : "The cluster node name.",
16026 "format" : "pve-node",
013dc89f
DM
16027 "type" : "string",
16028 "typetext" : "<string>"
44660702 16029 },
7aacca6f 16030 "vmid" : {
44660702 16031 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16032 "format" : "pve-vmid",
16033 "minimum" : 1,
4bd7df8b 16034 "type" : "integer",
013dc89f 16035 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16036 },
16037 "websocket" : {
44660702 16038 "description" : "use websocket instead of standard VNC.",
7aacca6f 16039 "optional" : 1,
013dc89f
DM
16040 "type" : "boolean",
16041 "typetext" : "<boolean>"
7aacca6f 16042 }
44660702 16043 }
7aacca6f 16044 },
56122987
DM
16045 "permissions" : {
16046 "check" : [
16047 "perm",
16048 "/vms/{vmid}",
16049 [
16050 "VM.Console"
16051 ]
16052 ]
16053 },
44660702 16054 "protected" : 1,
56122987 16055 "returns" : {
7aacca6f 16056 "additionalProperties" : 0,
56122987 16057 "properties" : {
7aacca6f 16058 "cert" : {
56122987
DM
16059 "type" : "string"
16060 },
44660702
DM
16061 "port" : {
16062 "type" : "integer"
56122987 16063 },
44660702 16064 "ticket" : {
56122987
DM
16065 "type" : "string"
16066 },
44660702 16067 "upid" : {
56122987
DM
16068 "type" : "string"
16069 },
44660702
DM
16070 "user" : {
16071 "type" : "string"
56122987 16072 }
7aacca6f 16073 }
56122987
DM
16074 }
16075 }
16076 },
44660702 16077 "leaf" : 1,
56122987 16078 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 16079 "text" : "vncproxy"
56122987
DM
16080 },
16081 {
56122987
DM
16082 "info" : {
16083 "GET" : {
44660702
DM
16084 "description" : "Opens a weksocket for VNC traffic.",
16085 "method" : "GET",
16086 "name" : "vncwebsocket",
56122987 16087 "parameters" : {
44660702 16088 "additionalProperties" : 0,
56122987 16089 "properties" : {
56122987
DM
16090 "node" : {
16091 "description" : "The cluster node name.",
44660702 16092 "format" : "pve-node",
013dc89f
DM
16093 "type" : "string",
16094 "typetext" : "<string>"
7aacca6f 16095 },
44660702
DM
16096 "port" : {
16097 "description" : "Port number returned by previous vncproxy call.",
16098 "maximum" : 5999,
16099 "minimum" : 5900,
4bd7df8b 16100 "type" : "integer",
013dc89f 16101 "typetext" : "<integer> (5900 - 5999)"
44660702 16102 },
7aacca6f
DM
16103 "vmid" : {
16104 "description" : "The (unique) ID of the VM.",
7aacca6f 16105 "format" : "pve-vmid",
44660702 16106 "minimum" : 1,
4bd7df8b 16107 "type" : "integer",
013dc89f 16108 "typetext" : "<integer> (1 - N)"
44660702
DM
16109 },
16110 "vncticket" : {
16111 "description" : "Ticket from previous call to vncproxy.",
16112 "maxLength" : 512,
013dc89f
DM
16113 "type" : "string",
16114 "typetext" : "<string>"
56122987 16115 }
44660702 16116 }
7aacca6f 16117 },
7aacca6f
DM
16118 "permissions" : {
16119 "check" : [
16120 "perm",
16121 "/vms/{vmid}",
16122 [
16123 "VM.Console"
16124 ]
16125 ],
16126 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
16127 },
16128 "returns" : {
56122987
DM
16129 "properties" : {
16130 "port" : {
16131 "type" : "string"
16132 }
44660702
DM
16133 },
16134 "type" : "object"
16135 }
56122987
DM
16136 }
16137 },
44660702 16138 "leaf" : 1,
7aacca6f 16139 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 16140 "text" : "vncwebsocket"
56122987
DM
16141 },
16142 {
56122987
DM
16143 "info" : {
16144 "POST" : {
44660702
DM
16145 "description" : "Returns a SPICE configuration to connect to the CT.",
16146 "method" : "POST",
16147 "name" : "spiceproxy",
56122987
DM
16148 "parameters" : {
16149 "additionalProperties" : 0,
16150 "properties" : {
44660702
DM
16151 "node" : {
16152 "description" : "The cluster node name.",
16153 "format" : "pve-node",
013dc89f
DM
16154 "type" : "string",
16155 "typetext" : "<string>"
56122987
DM
16156 },
16157 "proxy" : {
7aacca6f 16158 "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
16159 "format" : "address",
16160 "optional" : 1,
013dc89f
DM
16161 "type" : "string",
16162 "typetext" : "<string>"
44660702
DM
16163 },
16164 "vmid" : {
16165 "description" : "The (unique) ID of the VM.",
16166 "format" : "pve-vmid",
16167 "minimum" : 1,
4bd7df8b 16168 "type" : "integer",
013dc89f 16169 "typetext" : "<integer> (1 - N)"
56122987
DM
16170 }
16171 }
16172 },
56122987
DM
16173 "permissions" : {
16174 "check" : [
16175 "perm",
16176 "/vms/{vmid}",
16177 [
16178 "VM.Console"
16179 ]
16180 ]
16181 },
44660702
DM
16182 "protected" : 1,
16183 "proxyto" : "node",
56122987 16184 "returns" : {
7aacca6f 16185 "additionalProperties" : 1,
44660702 16186 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 16187 "properties" : {
44660702 16188 "host" : {
56122987
DM
16189 "type" : "string"
16190 },
44660702 16191 "password" : {
56122987
DM
16192 "type" : "string"
16193 },
16194 "proxy" : {
16195 "type" : "string"
16196 },
56122987
DM
16197 "tls-port" : {
16198 "type" : "integer"
7aacca6f 16199 },
44660702 16200 "type" : {
7aacca6f 16201 "type" : "string"
56122987 16202 }
7aacca6f
DM
16203 }
16204 }
56122987 16205 }
44660702
DM
16206 },
16207 "leaf" : 1,
16208 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
16209 "text" : "spiceproxy"
56122987
DM
16210 },
16211 {
56122987
DM
16212 "info" : {
16213 "POST" : {
44660702 16214 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 16215 "method" : "POST",
44660702 16216 "name" : "migrate_vm",
56122987 16217 "parameters" : {
44660702 16218 "additionalProperties" : 0,
56122987 16219 "properties" : {
44660702 16220 "force" : {
de0983cb 16221 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 16222 "optional" : 1,
013dc89f
DM
16223 "type" : "boolean",
16224 "typetext" : "<boolean>"
44660702
DM
16225 },
16226 "node" : {
16227 "description" : "The cluster node name.",
7aacca6f 16228 "format" : "pve-node",
013dc89f
DM
16229 "type" : "string",
16230 "typetext" : "<string>"
7aacca6f 16231 },
56122987 16232 "online" : {
56122987 16233 "description" : "Use online/live migration.",
44660702 16234 "optional" : 1,
013dc89f
DM
16235 "type" : "boolean",
16236 "typetext" : "<boolean>"
56122987 16237 },
44660702
DM
16238 "target" : {
16239 "description" : "Target node.",
56122987 16240 "format" : "pve-node",
013dc89f
DM
16241 "type" : "string",
16242 "typetext" : "<string>"
56122987 16243 },
44660702
DM
16244 "vmid" : {
16245 "description" : "The (unique) ID of the VM.",
16246 "format" : "pve-vmid",
16247 "minimum" : 1,
4bd7df8b 16248 "type" : "integer",
013dc89f 16249 "typetext" : "<integer> (1 - N)"
56122987 16250 }
44660702 16251 }
7aacca6f 16252 },
56122987
DM
16253 "permissions" : {
16254 "check" : [
16255 "perm",
16256 "/vms/{vmid}",
16257 [
16258 "VM.Migrate"
16259 ]
16260 ]
16261 },
44660702 16262 "protected" : 1,
7aacca6f 16263 "proxyto" : "node",
44660702
DM
16264 "returns" : {
16265 "description" : "the task ID.",
16266 "type" : "string"
16267 }
56122987
DM
16268 }
16269 },
44660702
DM
16270 "leaf" : 1,
16271 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 16272 "text" : "migrate"
56122987
DM
16273 },
16274 {
56122987
DM
16275 "info" : {
16276 "GET" : {
44660702
DM
16277 "description" : "Check if feature for virtual machine is available.",
16278 "method" : "GET",
56122987 16279 "name" : "vm_feature",
56122987 16280 "parameters" : {
7aacca6f 16281 "additionalProperties" : 0,
56122987 16282 "properties" : {
44660702
DM
16283 "feature" : {
16284 "description" : "Feature to check.",
16285 "enum" : [
16286 "snapshot"
16287 ],
16288 "type" : "string"
16289 },
7aacca6f 16290 "node" : {
44660702 16291 "description" : "The cluster node name.",
7aacca6f 16292 "format" : "pve-node",
013dc89f
DM
16293 "type" : "string",
16294 "typetext" : "<string>"
7aacca6f 16295 },
56122987 16296 "snapname" : {
7aacca6f
DM
16297 "description" : "The name of the snapshot.",
16298 "format" : "pve-configid",
44660702
DM
16299 "maxLength" : 40,
16300 "optional" : 1,
013dc89f
DM
16301 "type" : "string",
16302 "typetext" : "<string>"
56122987
DM
16303 },
16304 "vmid" : {
7aacca6f 16305 "description" : "The (unique) ID of the VM.",
44660702 16306 "format" : "pve-vmid",
7aacca6f 16307 "minimum" : 1,
4bd7df8b 16308 "type" : "integer",
013dc89f 16309 "typetext" : "<integer> (1 - N)"
56122987 16310 }
7aacca6f 16311 }
56122987
DM
16312 },
16313 "permissions" : {
16314 "check" : [
16315 "perm",
16316 "/vms/{vmid}",
16317 [
16318 "VM.Audit"
16319 ]
16320 ]
16321 },
44660702 16322 "protected" : 1,
7aacca6f 16323 "proxyto" : "node",
7aacca6f
DM
16324 "returns" : {
16325 "properties" : {
16326 "hasFeature" : {
16327 "type" : "boolean"
16328 }
16329 },
16330 "type" : "object"
16331 }
56122987
DM
16332 }
16333 },
7aacca6f 16334 "leaf" : 1,
44660702
DM
16335 "path" : "/nodes/{node}/lxc/{vmid}/feature",
16336 "text" : "feature"
56122987
DM
16337 },
16338 {
56122987
DM
16339 "info" : {
16340 "POST" : {
44660702
DM
16341 "description" : "Create a Template.",
16342 "method" : "POST",
56122987 16343 "name" : "template",
56122987
DM
16344 "parameters" : {
16345 "additionalProperties" : 0,
16346 "properties" : {
44660702
DM
16347 "experimental" : {
16348 "default" : 0,
16349 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16350 "type" : "boolean",
16351 "typetext" : "<boolean>"
7aacca6f
DM
16352 },
16353 "node" : {
7aacca6f 16354 "description" : "The cluster node name.",
44660702 16355 "format" : "pve-node",
013dc89f
DM
16356 "type" : "string",
16357 "typetext" : "<string>"
56122987 16358 },
44660702
DM
16359 "vmid" : {
16360 "description" : "The (unique) ID of the VM.",
16361 "format" : "pve-vmid",
16362 "minimum" : 1,
4bd7df8b 16363 "type" : "integer",
013dc89f 16364 "typetext" : "<integer> (1 - N)"
56122987
DM
16365 }
16366 }
16367 },
56122987 16368 "permissions" : {
56122987
DM
16369 "check" : [
16370 "perm",
16371 "/vms/{vmid}",
16372 [
16373 "VM.Allocate"
16374 ]
44660702
DM
16375 ],
16376 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 16377 },
44660702 16378 "protected" : 1,
7aacca6f
DM
16379 "proxyto" : "node",
16380 "returns" : {
16381 "type" : "null"
56122987
DM
16382 }
16383 }
16384 },
44660702 16385 "leaf" : 1,
7aacca6f 16386 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 16387 "text" : "template"
56122987
DM
16388 },
16389 {
56122987
DM
16390 "info" : {
16391 "POST" : {
44660702
DM
16392 "description" : "Create a container clone/copy",
16393 "method" : "POST",
56122987 16394 "name" : "clone_vm",
7aacca6f
DM
16395 "parameters" : {
16396 "additionalProperties" : 0,
16397 "properties" : {
44660702
DM
16398 "description" : {
16399 "description" : "Description for the new CT.",
7aacca6f 16400 "optional" : 1,
013dc89f
DM
16401 "type" : "string",
16402 "typetext" : "<string>"
7aacca6f
DM
16403 },
16404 "experimental" : {
7aacca6f 16405 "default" : 0,
44660702 16406 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16407 "type" : "boolean",
16408 "typetext" : "<boolean>"
7aacca6f 16409 },
44660702
DM
16410 "full" : {
16411 "default" : 0,
16412 "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 16413 "optional" : 1,
013dc89f
DM
16414 "type" : "boolean",
16415 "typetext" : "<boolean>"
7aacca6f
DM
16416 },
16417 "hostname" : {
44660702 16418 "description" : "Set a hostname for the new CT.",
7aacca6f 16419 "format" : "dns-name",
7aacca6f 16420 "optional" : 1,
013dc89f
DM
16421 "type" : "string",
16422 "typetext" : "<string>"
7aacca6f 16423 },
44660702
DM
16424 "newid" : {
16425 "description" : "VMID for the clone.",
7aacca6f 16426 "format" : "pve-vmid",
44660702 16427 "minimum" : 1,
4bd7df8b 16428 "type" : "integer",
013dc89f 16429 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16430 },
16431 "node" : {
16432 "description" : "The cluster node name.",
44660702 16433 "format" : "pve-node",
013dc89f
DM
16434 "type" : "string",
16435 "typetext" : "<string>"
44660702
DM
16436 },
16437 "pool" : {
16438 "description" : "Add the new CT to the specified pool.",
16439 "format" : "pve-poolid",
16440 "optional" : 1,
013dc89f
DM
16441 "type" : "string",
16442 "typetext" : "<string>"
7aacca6f
DM
16443 },
16444 "snapname" : {
44660702 16445 "description" : "The name of the snapshot.",
7aacca6f
DM
16446 "format" : "pve-configid",
16447 "maxLength" : 40,
7aacca6f 16448 "optional" : 1,
013dc89f
DM
16449 "type" : "string",
16450 "typetext" : "<string>"
7aacca6f
DM
16451 },
16452 "storage" : {
44660702 16453 "description" : "Target storage for full clone.",
7aacca6f
DM
16454 "format" : "pve-storage-id",
16455 "optional" : 1,
7aacca6f 16456 "requires" : "full",
013dc89f
DM
16457 "type" : "string",
16458 "typetext" : "<string>"
44660702
DM
16459 },
16460 "vmid" : {
16461 "description" : "The (unique) ID of the VM.",
16462 "format" : "pve-vmid",
16463 "minimum" : 1,
4bd7df8b 16464 "type" : "integer",
013dc89f 16465 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16466 }
16467 }
56122987
DM
16468 },
16469 "permissions" : {
56122987
DM
16470 "check" : [
16471 "and",
16472 [
16473 "perm",
16474 "/vms/{vmid}",
16475 [
16476 "VM.Clone"
16477 ]
16478 ],
16479 [
16480 "or",
16481 [
16482 "perm",
16483 "/vms/{newid}",
16484 [
16485 "VM.Allocate"
16486 ]
16487 ],
16488 [
16489 "perm",
16490 "/pool/{pool}",
16491 [
16492 "VM.Allocate"
16493 ],
16494 "require_param",
16495 "pool"
16496 ]
16497 ]
7aacca6f
DM
16498 ],
16499 "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 16500 },
44660702 16501 "protected" : 1,
56122987 16502 "proxyto" : "node",
7aacca6f
DM
16503 "returns" : {
16504 "type" : "string"
56122987
DM
16505 }
16506 }
44660702
DM
16507 },
16508 "leaf" : 1,
16509 "path" : "/nodes/{node}/lxc/{vmid}/clone",
16510 "text" : "clone"
56122987
DM
16511 },
16512 {
56122987
DM
16513 "info" : {
16514 "PUT" : {
de0983cb 16515 "description" : "Resize a container mount point.",
44660702
DM
16516 "method" : "PUT",
16517 "name" : "resize_vm",
56122987 16518 "parameters" : {
44660702 16519 "additionalProperties" : 0,
56122987 16520 "properties" : {
44660702
DM
16521 "digest" : {
16522 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16523 "maxLength" : 40,
16524 "optional" : 1,
013dc89f
DM
16525 "type" : "string",
16526 "typetext" : "<string>"
56122987
DM
16527 },
16528 "disk" : {
7aacca6f 16529 "description" : "The disk you want to resize.",
56122987
DM
16530 "enum" : [
16531 "rootfs",
16532 "mp0",
16533 "mp1",
16534 "mp2",
16535 "mp3",
16536 "mp4",
16537 "mp5",
16538 "mp6",
16539 "mp7",
16540 "mp8",
16541 "mp9"
16542 ],
7aacca6f
DM
16543 "type" : "string"
16544 },
44660702
DM
16545 "node" : {
16546 "description" : "The cluster node name.",
16547 "format" : "pve-node",
013dc89f
DM
16548 "type" : "string",
16549 "typetext" : "<string>"
44660702
DM
16550 },
16551 "size" : {
16552 "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.",
16553 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16554 "type" : "string"
16555 },
16556 "vmid" : {
16557 "description" : "The (unique) ID of the VM.",
16558 "format" : "pve-vmid",
16559 "minimum" : 1,
4bd7df8b 16560 "type" : "integer",
013dc89f 16561 "typetext" : "<integer> (1 - N)"
56122987 16562 }
44660702 16563 }
56122987 16564 },
7aacca6f
DM
16565 "permissions" : {
16566 "check" : [
16567 "perm",
16568 "/vms/{vmid}",
16569 [
16570 "VM.Config.Disk"
16571 ],
16572 "any",
16573 1
16574 ]
16575 },
44660702 16576 "protected" : 1,
7aacca6f
DM
16577 "proxyto" : "node",
16578 "returns" : {
16579 "description" : "the task ID.",
16580 "type" : "string"
16581 }
56122987
DM
16582 }
16583 },
44660702 16584 "leaf" : 1,
7aacca6f 16585 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 16586 "text" : "resize"
56122987
DM
16587 }
16588 ],
16589 "info" : {
16590 "DELETE" : {
7aacca6f 16591 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
16592 "method" : "DELETE",
16593 "name" : "destroy_vm",
16594 "parameters" : {
16595 "additionalProperties" : 0,
16596 "properties" : {
16597 "node" : {
16598 "description" : "The cluster node name.",
16599 "format" : "pve-node",
013dc89f
DM
16600 "type" : "string",
16601 "typetext" : "<string>"
44660702
DM
16602 },
16603 "vmid" : {
16604 "description" : "The (unique) ID of the VM.",
16605 "format" : "pve-vmid",
16606 "minimum" : 1,
4bd7df8b 16607 "type" : "integer",
013dc89f 16608 "typetext" : "<integer> (1 - N)"
44660702
DM
16609 }
16610 }
16611 },
7aacca6f
DM
16612 "permissions" : {
16613 "check" : [
16614 "perm",
16615 "/vms/{vmid}",
16616 [
16617 "VM.Allocate"
16618 ]
16619 ]
16620 },
44660702
DM
16621 "protected" : 1,
16622 "proxyto" : "node",
56122987
DM
16623 "returns" : {
16624 "type" : "string"
44660702 16625 }
56122987
DM
16626 },
16627 "GET" : {
7aacca6f 16628 "description" : "Directory index",
44660702 16629 "method" : "GET",
7aacca6f 16630 "name" : "vmdiridx",
56122987 16631 "parameters" : {
7aacca6f 16632 "additionalProperties" : 0,
56122987
DM
16633 "properties" : {
16634 "node" : {
7aacca6f 16635 "description" : "The cluster node name.",
44660702 16636 "format" : "pve-node",
013dc89f
DM
16637 "type" : "string",
16638 "typetext" : "<string>"
56122987
DM
16639 },
16640 "vmid" : {
16641 "description" : "The (unique) ID of the VM.",
56122987 16642 "format" : "pve-vmid",
44660702 16643 "minimum" : 1,
4bd7df8b 16644 "type" : "integer",
013dc89f 16645 "typetext" : "<integer> (1 - N)"
56122987 16646 }
7aacca6f 16647 }
56122987 16648 },
56122987
DM
16649 "permissions" : {
16650 "user" : "all"
44660702
DM
16651 },
16652 "proxyto" : "node",
16653 "returns" : {
16654 "items" : {
16655 "properties" : {
16656 "subdir" : {
16657 "type" : "string"
16658 }
16659 },
16660 "type" : "object"
16661 },
16662 "links" : [
16663 {
16664 "href" : "{subdir}",
16665 "rel" : "child"
16666 }
16667 ],
16668 "type" : "array"
56122987
DM
16669 }
16670 }
44660702
DM
16671 },
16672 "leaf" : 0,
16673 "path" : "/nodes/{node}/lxc/{vmid}",
16674 "text" : "{vmid}"
56122987
DM
16675 }
16676 ],
56122987 16677 "info" : {
44660702
DM
16678 "GET" : {
16679 "description" : "LXC container index (per node).",
16680 "method" : "GET",
16681 "name" : "vmlist",
16682 "parameters" : {
16683 "additionalProperties" : 0,
16684 "properties" : {
16685 "node" : {
16686 "description" : "The cluster node name.",
16687 "format" : "pve-node",
013dc89f
DM
16688 "type" : "string",
16689 "typetext" : "<string>"
44660702
DM
16690 }
16691 }
16692 },
16693 "permissions" : {
16694 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
16695 "user" : "all"
16696 },
16697 "protected" : 1,
16698 "proxyto" : "node",
16699 "returns" : {
16700 "items" : {
16701 "properties" : {},
16702 "type" : "object"
16703 },
16704 "links" : [
16705 {
16706 "href" : "{vmid}",
16707 "rel" : "child"
16708 }
16709 ],
16710 "type" : "array"
16711 }
16712 },
56122987 16713 "POST" : {
44660702 16714 "description" : "Create or restore a container.",
7aacca6f
DM
16715 "method" : "POST",
16716 "name" : "create_vm",
56122987 16717 "parameters" : {
7aacca6f 16718 "additionalProperties" : 0,
56122987 16719 "properties" : {
44660702
DM
16720 "arch" : {
16721 "default" : "amd64",
16722 "description" : "OS architecture type.",
16723 "enum" : [
16724 "amd64",
16725 "i386"
16726 ],
7aacca6f 16727 "optional" : 1,
44660702 16728 "type" : "string"
7aacca6f 16729 },
44660702
DM
16730 "cmode" : {
16731 "default" : "tty",
16732 "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).",
16733 "enum" : [
16734 "shell",
16735 "console",
16736 "tty"
16737 ],
7aacca6f 16738 "optional" : 1,
44660702 16739 "type" : "string"
7aacca6f
DM
16740 },
16741 "console" : {
7aacca6f 16742 "default" : 1,
44660702 16743 "description" : "Attach a console device (/dev/console) to the container.",
56122987 16744 "optional" : 1,
013dc89f
DM
16745 "type" : "boolean",
16746 "typetext" : "<boolean>"
56122987 16747 },
de0983cb
DM
16748 "cores" : {
16749 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
16750 "maximum" : 128,
16751 "minimum" : 1,
16752 "optional" : 1,
16753 "type" : "integer",
013dc89f 16754 "typetext" : "<integer> (1 - 128)"
de0983cb 16755 },
44660702
DM
16756 "cpulimit" : {
16757 "default" : 0,
16758 "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.",
16759 "maximum" : 128,
16760 "minimum" : 0,
56122987 16761 "optional" : 1,
4bd7df8b 16762 "type" : "number",
013dc89f 16763 "typetext" : "<number> (0 - 128)"
56122987 16764 },
44660702
DM
16765 "cpuunits" : {
16766 "default" : 1024,
16767 "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.",
16768 "maximum" : 500000,
16769 "minimum" : 0,
56122987 16770 "optional" : 1,
4bd7df8b 16771 "type" : "integer",
013dc89f 16772 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
16773 },
16774 "description" : {
44660702 16775 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 16776 "optional" : 1,
013dc89f
DM
16777 "type" : "string",
16778 "typetext" : "<string>"
7aacca6f 16779 },
44660702
DM
16780 "force" : {
16781 "description" : "Allow to overwrite existing container.",
7aacca6f 16782 "optional" : 1,
013dc89f
DM
16783 "type" : "boolean",
16784 "typetext" : "<boolean>"
44660702
DM
16785 },
16786 "hostname" : {
16787 "description" : "Set a host name for the container.",
16788 "format" : "dns-name",
16789 "maxLength" : 255,
16790 "optional" : 1,
013dc89f
DM
16791 "type" : "string",
16792 "typetext" : "<string>"
44660702
DM
16793 },
16794 "ignore-unpack-errors" : {
16795 "description" : "Ignore errors when extracting the template.",
16796 "optional" : 1,
013dc89f
DM
16797 "type" : "boolean",
16798 "typetext" : "<boolean>"
44660702
DM
16799 },
16800 "lock" : {
16801 "description" : "Lock/unlock the VM.",
7aacca6f
DM
16802 "enum" : [
16803 "migrate",
16804 "backup",
16805 "snapshot",
16806 "rollback"
16807 ],
44660702
DM
16808 "optional" : 1,
16809 "type" : "string"
7aacca6f 16810 },
44660702
DM
16811 "memory" : {
16812 "default" : 512,
16813 "description" : "Amount of RAM for the VM in MB.",
16814 "minimum" : 16,
7aacca6f 16815 "optional" : 1,
4bd7df8b 16816 "type" : "integer",
013dc89f 16817 "typetext" : "<integer> (16 - N)"
44660702
DM
16818 },
16819 "mp[n]" : {
c2993fe5 16820 "description" : "Use volume as container mount point.",
56122987 16821 "format" : {
7aacca6f
DM
16822 "acl" : {
16823 "description" : "Explicitly enable or disable ACL support.",
16824 "optional" : 1,
44660702 16825 "type" : "boolean"
56122987
DM
16826 },
16827 "backup" : {
de0983cb 16828 "description" : "Whether to include the mount point in backups.",
44660702 16829 "optional" : 1,
4bd7df8b 16830 "type" : "boolean",
de0983cb 16831 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
16832 },
16833 "mp" : {
de0983cb 16834 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
16835 "format" : "pve-lxc-mp-string",
16836 "format_description" : "Path",
4bd7df8b 16837 "type" : "string",
de0983cb 16838 "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
16839 },
16840 "quota" : {
16841 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 16842 "optional" : 1,
44660702
DM
16843 "type" : "boolean"
16844 },
16845 "ro" : {
de0983cb 16846 "description" : "Read-only mount point",
44660702
DM
16847 "optional" : 1,
16848 "type" : "boolean"
7aacca6f 16849 },
de0983cb
DM
16850 "shared" : {
16851 "default" : 0,
16852 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
16853 "optional" : 1,
16854 "type" : "boolean",
16855 "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!"
16856 },
7aacca6f 16857 "size" : {
44660702 16858 "description" : "Volume size (read only value).",
7aacca6f
DM
16859 "format" : "disk-size",
16860 "format_description" : "DiskSize",
7aacca6f
DM
16861 "optional" : 1,
16862 "type" : "string"
56122987
DM
16863 },
16864 "volume" : {
7aacca6f 16865 "default_key" : 1,
44660702 16866 "description" : "Volume, device or directory to mount into the container.",
56122987 16867 "format" : "pve-lxc-mp-string",
56122987 16868 "format_description" : "volume",
44660702 16869 "type" : "string"
56122987 16870 }
44660702 16871 },
56122987 16872 "optional" : 1,
4bd7df8b 16873 "type" : "string",
de0983cb 16874 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 16875 },
44660702
DM
16876 "nameserver" : {
16877 "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.",
16878 "format" : "address-list",
56122987 16879 "optional" : 1,
013dc89f
DM
16880 "type" : "string",
16881 "typetext" : "<string>"
56122987 16882 },
44660702
DM
16883 "net[n]" : {
16884 "description" : "Specifies network interfaces for the container.",
7aacca6f 16885 "format" : {
44660702
DM
16886 "bridge" : {
16887 "description" : "Bridge to attach the network device to.",
f004f5b9 16888 "format_description" : "bridge",
7aacca6f 16889 "optional" : 1,
44660702
DM
16890 "pattern" : "[-_.\\w\\d]+",
16891 "type" : "string"
7aacca6f 16892 },
44660702
DM
16893 "firewall" : {
16894 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 16895 "optional" : 1,
44660702 16896 "type" : "boolean"
7aacca6f 16897 },
44660702
DM
16898 "gw" : {
16899 "description" : "Default gateway for IPv4 traffic.",
16900 "format" : "ipv4",
16901 "format_description" : "GatewayIPv4",
7aacca6f 16902 "optional" : 1,
44660702 16903 "type" : "string"
7aacca6f 16904 },
44660702
DM
16905 "gw6" : {
16906 "description" : "Default gateway for IPv6 traffic.",
16907 "format" : "ipv6",
16908 "format_description" : "GatewayIPv6",
16909 "optional" : 1,
16910 "type" : "string"
7aacca6f 16911 },
44660702 16912 "hwaddr" : {
f004f5b9
DM
16913 "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)",
16914 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
16915 "optional" : 1,
16916 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
16917 "type" : "string"
16918 },
44660702
DM
16919 "ip" : {
16920 "description" : "IPv4 address in CIDR format.",
16921 "format" : "pve-ipv4-config",
16922 "format_description" : "IPv4Format/CIDR",
7aacca6f 16923 "optional" : 1,
44660702 16924 "type" : "string"
7aacca6f 16925 },
44660702
DM
16926 "ip6" : {
16927 "description" : "IPv6 address in CIDR format.",
16928 "format" : "pve-ipv6-config",
16929 "format_description" : "IPv6Format/CIDR",
16930 "optional" : 1,
16931 "type" : "string"
16932 },
16933 "mtu" : {
16934 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
16935 "minimum" : 64,
16936 "optional" : 1,
16937 "type" : "integer"
16938 },
16939 "name" : {
16940 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 16941 "format_description" : "string",
44660702
DM
16942 "pattern" : "[-_.\\w\\d]+",
16943 "type" : "string"
16944 },
16945 "rate" : {
16946 "description" : "Apply rate limiting to the interface",
16947 "format_description" : "mbps",
16948 "optional" : 1,
16949 "type" : "number"
16950 },
16951 "tag" : {
16952 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
16953 "maximum" : 4094,
16954 "minimum" : 1,
44660702
DM
16955 "optional" : 1,
16956 "type" : "integer"
16957 },
16958 "trunks" : {
16959 "description" : "VLAN ids to pass through the interface",
16960 "format_description" : "vlanid[;vlanid...]",
16961 "optional" : 1,
16962 "pattern" : "(?^:\\d+(?:;\\d+)*)",
16963 "type" : "string"
16964 },
16965 "type" : {
16966 "description" : "Network interface type.",
16967 "enum" : [
16968 "veth"
16969 ],
16970 "optional" : 1,
16971 "type" : "string"
7aacca6f
DM
16972 }
16973 },
56122987 16974 "optional" : 1,
4bd7df8b
DM
16975 "type" : "string",
16976 "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 16977 },
44660702
DM
16978 "node" : {
16979 "description" : "The cluster node name.",
16980 "format" : "pve-node",
013dc89f
DM
16981 "type" : "string",
16982 "typetext" : "<string>"
56122987 16983 },
44660702
DM
16984 "onboot" : {
16985 "default" : 0,
16986 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 16987 "optional" : 1,
013dc89f
DM
16988 "type" : "boolean",
16989 "typetext" : "<boolean>"
44660702
DM
16990 },
16991 "ostemplate" : {
16992 "description" : "The OS template or backup file.",
16993 "maxLength" : 255,
013dc89f
DM
16994 "type" : "string",
16995 "typetext" : "<string>"
56122987
DM
16996 },
16997 "ostype" : {
7aacca6f 16998 "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
16999 "enum" : [
17000 "debian",
17001 "ubuntu",
17002 "centos",
17003 "fedora",
17004 "opensuse",
17005 "archlinux",
17006 "alpine",
57b78691 17007 "gentoo",
56122987 17008 "unmanaged"
44660702 17009 ],
56122987 17010 "optional" : 1,
7aacca6f 17011 "type" : "string"
56122987 17012 },
44660702
DM
17013 "password" : {
17014 "description" : "Sets root password inside container.",
17015 "minLength" : 5,
7aacca6f 17016 "optional" : 1,
013dc89f
DM
17017 "type" : "string",
17018 "typetext" : "<string>"
7aacca6f 17019 },
44660702
DM
17020 "pool" : {
17021 "description" : "Add the VM to the specified pool.",
17022 "format" : "pve-poolid",
7aacca6f 17023 "optional" : 1,
013dc89f
DM
17024 "type" : "string",
17025 "typetext" : "<string>"
7aacca6f 17026 },
44660702
DM
17027 "protection" : {
17028 "default" : 0,
17029 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 17030 "optional" : 1,
013dc89f
DM
17031 "type" : "boolean",
17032 "typetext" : "<boolean>"
7aacca6f 17033 },
44660702
DM
17034 "restore" : {
17035 "description" : "Mark this as restore task.",
17036 "optional" : 1,
013dc89f
DM
17037 "type" : "boolean",
17038 "typetext" : "<boolean>"
7aacca6f 17039 },
44660702
DM
17040 "rootfs" : {
17041 "description" : "Use volume as container root.",
56122987 17042 "format" : {
44660702
DM
17043 "acl" : {
17044 "description" : "Explicitly enable or disable ACL support.",
56122987 17045 "optional" : 1,
44660702 17046 "type" : "boolean"
56122987 17047 },
44660702
DM
17048 "quota" : {
17049 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17050 "optional" : 1,
44660702 17051 "type" : "boolean"
7aacca6f 17052 },
44660702 17053 "ro" : {
de0983cb 17054 "description" : "Read-only mount point",
7aacca6f 17055 "optional" : 1,
44660702 17056 "type" : "boolean"
7aacca6f 17057 },
de0983cb
DM
17058 "shared" : {
17059 "default" : 0,
17060 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17061 "optional" : 1,
17062 "type" : "boolean",
17063 "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!"
17064 },
44660702
DM
17065 "size" : {
17066 "description" : "Volume size (read only value).",
17067 "format" : "disk-size",
17068 "format_description" : "DiskSize",
7aacca6f
DM
17069 "optional" : 1,
17070 "type" : "string"
17071 },
44660702
DM
17072 "volume" : {
17073 "default_key" : 1,
17074 "description" : "Volume, device or directory to mount into the container.",
17075 "format" : "pve-lxc-mp-string",
17076 "format_description" : "volume",
17077 "type" : "string"
56122987 17078 }
7aacca6f 17079 },
7aacca6f 17080 "optional" : 1,
4bd7df8b 17081 "type" : "string",
de0983cb 17082 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
17083 },
17084 "searchdomain" : {
17085 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
17086 "format" : "dns-name-list",
17087 "optional" : 1,
013dc89f
DM
17088 "type" : "string",
17089 "typetext" : "<string>"
44660702
DM
17090 },
17091 "ssh-public-keys" : {
17092 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
17093 "optional" : 1,
013dc89f
DM
17094 "type" : "string",
17095 "typetext" : "<string>"
44660702
DM
17096 },
17097 "startup" : {
17098 "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.",
17099 "format" : "pve-startup-order",
17100 "optional" : 1,
7aacca6f 17101 "type" : "string",
44660702 17102 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 17103 },
44660702
DM
17104 "storage" : {
17105 "default" : "local",
17106 "description" : "Default Storage.",
17107 "format" : "pve-storage-id",
17108 "optional" : 1,
013dc89f
DM
17109 "type" : "string",
17110 "typetext" : "<string>"
7aacca6f 17111 },
44660702
DM
17112 "swap" : {
17113 "default" : 512,
17114 "description" : "Amount of SWAP for the VM in MB.",
17115 "minimum" : 0,
17116 "optional" : 1,
4bd7df8b 17117 "type" : "integer",
013dc89f 17118 "typetext" : "<integer> (0 - N)"
44660702
DM
17119 },
17120 "template" : {
17121 "default" : 0,
17122 "description" : "Enable/disable Template.",
17123 "optional" : 1,
013dc89f
DM
17124 "type" : "boolean",
17125 "typetext" : "<boolean>"
7aacca6f 17126 },
44660702
DM
17127 "tty" : {
17128 "default" : 2,
17129 "description" : "Specify the number of tty available to the container",
17130 "maximum" : 6,
17131 "minimum" : 0,
17132 "optional" : 1,
4bd7df8b 17133 "type" : "integer",
013dc89f 17134 "typetext" : "<integer> (0 - 6)"
7aacca6f 17135 },
44660702
DM
17136 "unprivileged" : {
17137 "default" : 0,
17138 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
17139 "optional" : 1,
013dc89f
DM
17140 "type" : "boolean",
17141 "typetext" : "<boolean>"
44660702
DM
17142 },
17143 "unused[n]" : {
c2993fe5 17144 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
17145 "format" : "pve-volume-id",
17146 "optional" : 1,
013dc89f
DM
17147 "type" : "string",
17148 "typetext" : "<string>"
44660702
DM
17149 },
17150 "vmid" : {
17151 "description" : "The (unique) ID of the VM.",
17152 "format" : "pve-vmid",
17153 "minimum" : 1,
4bd7df8b 17154 "type" : "integer",
013dc89f 17155 "typetext" : "<integer> (1 - N)"
44660702 17156 }
7aacca6f
DM
17157 }
17158 },
44660702
DM
17159 "permissions" : {
17160 "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.",
17161 "user" : "all"
17162 },
17163 "protected" : 1,
17164 "proxyto" : "node",
17165 "returns" : {
17166 "type" : "string"
17167 }
17168 }
17169 },
17170 "leaf" : 0,
17171 "path" : "/nodes/{node}/lxc",
17172 "text" : "lxc"
17173 },
17174 {
17175 "children" : [
17176 {
56122987
DM
17177 "children" : [
17178 {
7aacca6f
DM
17179 "children" : [
17180 {
7aacca6f
DM
17181 "info" : {
17182 "POST" : {
44660702
DM
17183 "description" : "ceph osd in",
17184 "method" : "POST",
17185 "name" : "in",
17186 "parameters" : {
17187 "additionalProperties" : 0,
17188 "properties" : {
17189 "node" : {
17190 "description" : "The cluster node name.",
17191 "format" : "pve-node",
013dc89f
DM
17192 "type" : "string",
17193 "typetext" : "<string>"
44660702
DM
17194 },
17195 "osdid" : {
17196 "description" : "OSD ID",
013dc89f
DM
17197 "type" : "integer",
17198 "typetext" : "<integer>"
44660702
DM
17199 }
17200 }
17201 },
56122987
DM
17202 "permissions" : {
17203 "check" : [
17204 "perm",
17205 "/",
17206 [
17207 "Sys.Modify"
17208 ]
17209 ]
7aacca6f 17210 },
44660702 17211 "protected" : 1,
7aacca6f
DM
17212 "proxyto" : "node",
17213 "returns" : {
17214 "type" : "null"
44660702 17215 }
56122987
DM
17216 }
17217 },
44660702 17218 "leaf" : 1,
7aacca6f 17219 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 17220 "text" : "in"
56122987
DM
17221 },
17222 {
56122987
DM
17223 "info" : {
17224 "POST" : {
44660702
DM
17225 "description" : "ceph osd out",
17226 "method" : "POST",
17227 "name" : "out",
17228 "parameters" : {
17229 "additionalProperties" : 0,
17230 "properties" : {
17231 "node" : {
17232 "description" : "The cluster node name.",
17233 "format" : "pve-node",
013dc89f
DM
17234 "type" : "string",
17235 "typetext" : "<string>"
44660702
DM
17236 },
17237 "osdid" : {
17238 "description" : "OSD ID",
013dc89f
DM
17239 "type" : "integer",
17240 "typetext" : "<integer>"
44660702
DM
17241 }
17242 }
17243 },
56122987
DM
17244 "permissions" : {
17245 "check" : [
17246 "perm",
17247 "/",
17248 [
17249 "Sys.Modify"
17250 ]
17251 ]
17252 },
44660702 17253 "protected" : 1,
56122987 17254 "proxyto" : "node",
7aacca6f
DM
17255 "returns" : {
17256 "type" : "null"
44660702
DM
17257 }
17258 }
17259 },
17260 "leaf" : 1,
17261 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
17262 "text" : "out"
17263 }
17264 ],
17265 "info" : {
17266 "DELETE" : {
17267 "description" : "Destroy OSD",
17268 "method" : "DELETE",
17269 "name" : "destroyosd",
17270 "parameters" : {
17271 "additionalProperties" : 0,
17272 "properties" : {
17273 "cleanup" : {
17274 "default" : 0,
17275 "description" : "If set, we remove partition table entries.",
17276 "optional" : 1,
013dc89f
DM
17277 "type" : "boolean",
17278 "typetext" : "<boolean>"
7aacca6f 17279 },
44660702
DM
17280 "node" : {
17281 "description" : "The cluster node name.",
17282 "format" : "pve-node",
013dc89f
DM
17283 "type" : "string",
17284 "typetext" : "<string>"
56122987 17285 },
44660702
DM
17286 "osdid" : {
17287 "description" : "OSD ID",
013dc89f
DM
17288 "type" : "integer",
17289 "typetext" : "<integer>"
44660702 17290 }
56122987
DM
17291 }
17292 },
44660702
DM
17293 "protected" : 1,
17294 "proxyto" : "node",
17295 "returns" : {
17296 "type" : "string"
17297 }
17298 }
17299 },
17300 "leaf" : 0,
17301 "path" : "/nodes/{node}/ceph/osd/{osdid}",
17302 "text" : "{osdid}"
17303 }
17304 ],
17305 "info" : {
17306 "GET" : {
17307 "description" : "Get Ceph osd list/tree.",
17308 "method" : "GET",
17309 "name" : "index",
17310 "parameters" : {
17311 "additionalProperties" : 0,
17312 "properties" : {
17313 "node" : {
17314 "description" : "The cluster node name.",
17315 "format" : "pve-node",
013dc89f
DM
17316 "type" : "string",
17317 "typetext" : "<string>"
44660702
DM
17318 }
17319 }
17320 },
17321 "permissions" : {
17322 "check" : [
17323 "perm",
17324 "/",
17325 [
17326 "Sys.Audit",
17327 "Datastore.Audit"
17328 ],
17329 "any",
17330 1
17331 ]
17332 },
17333 "protected" : 1,
17334 "proxyto" : "node",
17335 "returns" : {
17336 "type" : "object"
17337 }
17338 },
17339 "POST" : {
17340 "description" : "Create OSD",
17341 "method" : "POST",
17342 "name" : "createosd",
17343 "parameters" : {
17344 "additionalProperties" : 0,
17345 "properties" : {
17346 "dev" : {
17347 "description" : "Block device name.",
013dc89f
DM
17348 "type" : "string",
17349 "typetext" : "<string>"
44660702
DM
17350 },
17351 "fstype" : {
17352 "default" : "xfs",
17353 "description" : "File system type.",
17354 "enum" : [
17355 "xfs",
17356 "ext4",
17357 "btrfs"
17358 ],
17359 "optional" : 1,
17360 "type" : "string"
17361 },
17362 "journal_dev" : {
17363 "description" : "Block device name for journal.",
17364 "optional" : 1,
013dc89f
DM
17365 "type" : "string",
17366 "typetext" : "<string>"
44660702
DM
17367 },
17368 "node" : {
17369 "description" : "The cluster node name.",
17370 "format" : "pve-node",
013dc89f
DM
17371 "type" : "string",
17372 "typetext" : "<string>"
44660702 17373 }
56122987 17374 }
44660702
DM
17375 },
17376 "protected" : 1,
17377 "proxyto" : "node",
17378 "returns" : {
17379 "type" : "string"
17380 }
56122987 17381 }
44660702 17382 },
7aacca6f 17383 "leaf" : 0,
44660702
DM
17384 "path" : "/nodes/{node}/ceph/osd",
17385 "text" : "osd"
7aacca6f
DM
17386 },
17387 {
56122987
DM
17388 "info" : {
17389 "GET" : {
7aacca6f 17390 "description" : "List local disks.",
44660702
DM
17391 "method" : "GET",
17392 "name" : "disks",
17393 "parameters" : {
17394 "additionalProperties" : 0,
17395 "properties" : {
17396 "node" : {
17397 "description" : "The cluster node name.",
17398 "format" : "pve-node",
013dc89f
DM
17399 "type" : "string",
17400 "typetext" : "<string>"
44660702
DM
17401 },
17402 "type" : {
17403 "description" : "Only list specific types of disks.",
17404 "enum" : [
17405 "unused",
17406 "journal_disks"
17407 ],
17408 "optional" : 1,
17409 "type" : "string"
17410 }
17411 }
17412 },
56122987
DM
17413 "permissions" : {
17414 "check" : [
17415 "perm",
17416 "/",
17417 [
17418 "Sys.Audit",
17419 "Datastore.Audit"
17420 ],
17421 "any",
17422 1
17423 ]
7aacca6f 17424 },
44660702
DM
17425 "protected" : 1,
17426 "proxyto" : "node",
56122987 17427 "returns" : {
7aacca6f
DM
17428 "items" : {
17429 "properties" : {
44660702
DM
17430 "dev" : {
17431 "type" : "string"
17432 },
17433 "gpt" : {
17434 "type" : "boolean"
17435 },
17436 "model" : {
17437 "optional" : 1,
17438 "type" : "string"
7aacca6f
DM
17439 },
17440 "osdid" : {
17441 "type" : "integer"
17442 },
17443 "serial" : {
7aacca6f
DM
17444 "optional" : 1,
17445 "type" : "string"
17446 },
17447 "size" : {
17448 "type" : "integer"
17449 },
44660702
DM
17450 "used" : {
17451 "optional" : 1,
7aacca6f
DM
17452 "type" : "string"
17453 },
44660702
DM
17454 "vendor" : {
17455 "optional" : 1,
17456 "type" : "string"
7aacca6f
DM
17457 }
17458 },
17459 "type" : "object"
44660702
DM
17460 },
17461 "type" : "array"
17462 }
56122987 17463 }
44660702
DM
17464 },
17465 "leaf" : 1,
17466 "path" : "/nodes/{node}/ceph/disks",
17467 "text" : "disks"
56122987
DM
17468 },
17469 {
56122987
DM
17470 "info" : {
17471 "GET" : {
7aacca6f 17472 "description" : "Get Ceph configuration.",
44660702
DM
17473 "method" : "GET",
17474 "name" : "config",
56122987 17475 "parameters" : {
7aacca6f 17476 "additionalProperties" : 0,
56122987 17477 "properties" : {
56122987 17478 "node" : {
7aacca6f 17479 "description" : "The cluster node name.",
44660702 17480 "format" : "pve-node",
013dc89f
DM
17481 "type" : "string",
17482 "typetext" : "<string>"
56122987 17483 }
7aacca6f 17484 }
56122987 17485 },
56122987
DM
17486 "permissions" : {
17487 "check" : [
17488 "perm",
17489 "/",
17490 [
17491 "Sys.Audit",
17492 "Datastore.Audit"
17493 ],
17494 "any",
17495 1
17496 ]
44660702
DM
17497 },
17498 "returns" : {
17499 "type" : "string"
7aacca6f
DM
17500 }
17501 }
44660702
DM
17502 },
17503 "leaf" : 1,
17504 "path" : "/nodes/{node}/ceph/config",
17505 "text" : "config"
7aacca6f
DM
17506 },
17507 {
7aacca6f
DM
17508 "children" : [
17509 {
7aacca6f
DM
17510 "info" : {
17511 "DELETE" : {
7aacca6f 17512 "description" : "Destroy Ceph monitor.",
44660702
DM
17513 "method" : "DELETE",
17514 "name" : "destroymon",
17515 "parameters" : {
17516 "additionalProperties" : 0,
17517 "properties" : {
17518 "monid" : {
17519 "description" : "Monitor ID",
013dc89f
DM
17520 "type" : "integer",
17521 "typetext" : "<integer>"
44660702
DM
17522 },
17523 "node" : {
17524 "description" : "The cluster node name.",
17525 "format" : "pve-node",
013dc89f
DM
17526 "type" : "string",
17527 "typetext" : "<string>"
44660702
DM
17528 }
17529 }
17530 },
7aacca6f
DM
17531 "permissions" : {
17532 "check" : [
17533 "perm",
17534 "/",
17535 [
17536 "Sys.Modify"
17537 ]
17538 ]
17539 },
44660702
DM
17540 "protected" : 1,
17541 "proxyto" : "node",
7aacca6f
DM
17542 "returns" : {
17543 "type" : "string"
44660702 17544 }
7aacca6f 17545 }
44660702
DM
17546 },
17547 "leaf" : 1,
17548 "path" : "/nodes/{node}/ceph/mon/{monid}",
17549 "text" : "{monid}"
7aacca6f
DM
17550 }
17551 ],
17552 "info" : {
17553 "GET" : {
44660702 17554 "description" : "Get Ceph monitor list.",
7aacca6f 17555 "method" : "GET",
44660702 17556 "name" : "listmon",
7aacca6f
DM
17557 "parameters" : {
17558 "additionalProperties" : 0,
17559 "properties" : {
17560 "node" : {
7aacca6f 17561 "description" : "The cluster node name.",
44660702 17562 "format" : "pve-node",
013dc89f
DM
17563 "type" : "string",
17564 "typetext" : "<string>"
7aacca6f
DM
17565 }
17566 }
17567 },
44660702
DM
17568 "permissions" : {
17569 "check" : [
17570 "perm",
17571 "/",
17572 [
17573 "Sys.Audit",
17574 "Datastore.Audit"
17575 ],
17576 "any",
17577 1
17578 ]
17579 },
7aacca6f 17580 "protected" : 1,
44660702 17581 "proxyto" : "node",
7aacca6f
DM
17582 "returns" : {
17583 "items" : {
17584 "properties" : {
44660702 17585 "addr" : {
7aacca6f 17586 "type" : "string"
56122987 17587 },
44660702 17588 "name" : {
56122987
DM
17589 "type" : "string"
17590 }
7aacca6f
DM
17591 },
17592 "type" : "object"
56122987 17593 },
7aacca6f
DM
17594 "links" : [
17595 {
17596 "href" : "{name}",
17597 "rel" : "child"
17598 }
17599 ],
56122987 17600 "type" : "array"
44660702 17601 }
7aacca6f
DM
17602 },
17603 "POST" : {
44660702
DM
17604 "description" : "Create Ceph Monitor",
17605 "method" : "POST",
17606 "name" : "createmon",
17607 "parameters" : {
17608 "additionalProperties" : 0,
17609 "properties" : {
17610 "node" : {
17611 "description" : "The cluster node name.",
17612 "format" : "pve-node",
013dc89f
DM
17613 "type" : "string",
17614 "typetext" : "<string>"
44660702
DM
17615 }
17616 }
17617 },
7aacca6f
DM
17618 "permissions" : {
17619 "check" : [
17620 "perm",
17621 "/",
17622 [
17623 "Sys.Modify"
17624 ]
17625 ]
17626 },
44660702 17627 "protected" : 1,
7aacca6f 17628 "proxyto" : "node",
56122987
DM
17629 "returns" : {
17630 "type" : "string"
44660702 17631 }
56122987 17632 }
44660702
DM
17633 },
17634 "leaf" : 0,
17635 "path" : "/nodes/{node}/ceph/mon",
17636 "text" : "mon"
56122987
DM
17637 },
17638 {
17639 "info" : {
17640 "POST" : {
44660702
DM
17641 "description" : "Create initial ceph default configuration and setup symlinks.",
17642 "method" : "POST",
17643 "name" : "init",
17644 "parameters" : {
17645 "additionalProperties" : 0,
17646 "properties" : {
17647 "network" : {
17648 "description" : "Use specific network for all ceph related traffic",
17649 "format" : "CIDR",
17650 "maxLength" : 128,
17651 "optional" : 1,
013dc89f
DM
17652 "type" : "string",
17653 "typetext" : "<string>"
44660702
DM
17654 },
17655 "node" : {
17656 "description" : "The cluster node name.",
17657 "format" : "pve-node",
013dc89f
DM
17658 "type" : "string",
17659 "typetext" : "<string>"
44660702
DM
17660 },
17661 "pg_bits" : {
17662 "default" : 6,
17663 "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.",
17664 "maximum" : 14,
17665 "minimum" : 6,
17666 "optional" : 1,
4bd7df8b 17667 "type" : "integer",
013dc89f 17668 "typetext" : "<integer> (6 - 14)"
44660702
DM
17669 },
17670 "size" : {
17671 "default" : 2,
17672 "description" : "Number of replicas per object",
17673 "maximum" : 3,
17674 "minimum" : 1,
17675 "optional" : 1,
4bd7df8b 17676 "type" : "integer",
013dc89f 17677 "typetext" : "<integer> (1 - 3)"
44660702
DM
17678 }
17679 }
7aacca6f 17680 },
56122987
DM
17681 "permissions" : {
17682 "check" : [
17683 "perm",
17684 "/",
17685 [
17686 "Sys.Modify"
17687 ]
17688 ]
17689 },
7aacca6f 17690 "protected" : 1,
44660702
DM
17691 "proxyto" : "node",
17692 "returns" : {
17693 "type" : "null"
7aacca6f
DM
17694 }
17695 }
17696 },
7aacca6f 17697 "leaf" : 1,
44660702
DM
17698 "path" : "/nodes/{node}/ceph/init",
17699 "text" : "init"
7aacca6f
DM
17700 },
17701 {
7aacca6f
DM
17702 "info" : {
17703 "POST" : {
44660702 17704 "description" : "Stop ceph services.",
7aacca6f
DM
17705 "method" : "POST",
17706 "name" : "stop",
17707 "parameters" : {
44660702 17708 "additionalProperties" : 0,
7aacca6f
DM
17709 "properties" : {
17710 "node" : {
7aacca6f 17711 "description" : "The cluster node name.",
44660702 17712 "format" : "pve-node",
013dc89f
DM
17713 "type" : "string",
17714 "typetext" : "<string>"
7aacca6f
DM
17715 },
17716 "service" : {
7aacca6f 17717 "description" : "Ceph service name.",
44660702
DM
17718 "optional" : 1,
17719 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
17720 "type" : "string"
56122987 17721 }
44660702 17722 }
7aacca6f
DM
17723 },
17724 "permissions" : {
17725 "check" : [
17726 "perm",
17727 "/",
17728 [
17729 "Sys.Modify"
17730 ]
17731 ]
17732 },
44660702
DM
17733 "protected" : 1,
17734 "proxyto" : "node",
17735 "returns" : {
17736 "type" : "string"
17737 }
7aacca6f 17738 }
44660702
DM
17739 },
17740 "leaf" : 1,
17741 "path" : "/nodes/{node}/ceph/stop",
17742 "text" : "stop"
7aacca6f
DM
17743 },
17744 {
7aacca6f
DM
17745 "info" : {
17746 "POST" : {
7aacca6f 17747 "description" : "Start ceph services.",
44660702 17748 "method" : "POST",
7aacca6f 17749 "name" : "start",
56122987
DM
17750 "parameters" : {
17751 "additionalProperties" : 0,
17752 "properties" : {
17753 "node" : {
7aacca6f 17754 "description" : "The cluster node name.",
44660702 17755 "format" : "pve-node",
013dc89f
DM
17756 "type" : "string",
17757 "typetext" : "<string>"
7aacca6f
DM
17758 },
17759 "service" : {
17760 "description" : "Ceph service name.",
44660702 17761 "optional" : 1,
7aacca6f 17762 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
44660702 17763 "type" : "string"
7aacca6f
DM
17764 }
17765 }
17766 },
44660702
DM
17767 "permissions" : {
17768 "check" : [
17769 "perm",
17770 "/",
17771 [
17772 "Sys.Modify"
17773 ]
17774 ]
17775 },
7aacca6f 17776 "protected" : 1,
44660702
DM
17777 "proxyto" : "node",
17778 "returns" : {
17779 "type" : "string"
17780 }
7aacca6f 17781 }
44660702
DM
17782 },
17783 "leaf" : 1,
17784 "path" : "/nodes/{node}/ceph/start",
17785 "text" : "start"
7aacca6f
DM
17786 },
17787 {
7aacca6f
DM
17788 "info" : {
17789 "GET" : {
44660702
DM
17790 "description" : "Get ceph status.",
17791 "method" : "GET",
17792 "name" : "status",
7aacca6f
DM
17793 "parameters" : {
17794 "additionalProperties" : 0,
17795 "properties" : {
17796 "node" : {
7aacca6f 17797 "description" : "The cluster node name.",
44660702 17798 "format" : "pve-node",
013dc89f
DM
17799 "type" : "string",
17800 "typetext" : "<string>"
56122987
DM
17801 }
17802 }
17803 },
17804 "permissions" : {
17805 "check" : [
17806 "perm",
17807 "/",
17808 [
17809 "Sys.Audit",
17810 "Datastore.Audit"
17811 ],
17812 "any",
17813 1
17814 ]
17815 },
44660702
DM
17816 "protected" : 1,
17817 "proxyto" : "node",
56122987 17818 "returns" : {
7aacca6f
DM
17819 "type" : "object"
17820 }
17821 }
17822 },
44660702 17823 "leaf" : 1,
7aacca6f 17824 "path" : "/nodes/{node}/ceph/status",
44660702 17825 "text" : "status"
7aacca6f
DM
17826 },
17827 {
44660702
DM
17828 "children" : [
17829 {
17830 "info" : {
17831 "DELETE" : {
17832 "description" : "Destroy pool",
17833 "method" : "DELETE",
17834 "name" : "destroypool",
17835 "parameters" : {
17836 "additionalProperties" : 0,
17837 "properties" : {
4bd7df8b
DM
17838 "force" : {
17839 "default" : 0,
17840 "description" : "If true, destroys pool even if in use",
17841 "optional" : 1,
013dc89f
DM
17842 "type" : "boolean",
17843 "typetext" : "<boolean>"
4bd7df8b 17844 },
44660702
DM
17845 "name" : {
17846 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
17847 "type" : "string",
17848 "typetext" : "<string>"
44660702
DM
17849 },
17850 "node" : {
17851 "description" : "The cluster node name.",
17852 "format" : "pve-node",
013dc89f
DM
17853 "type" : "string",
17854 "typetext" : "<string>"
44660702
DM
17855 }
17856 }
17857 },
17858 "permissions" : {
17859 "check" : [
17860 "perm",
17861 "/",
17862 [
17863 "Sys.Modify"
17864 ]
17865 ]
17866 },
17867 "protected" : 1,
17868 "proxyto" : "node",
17869 "returns" : {
17870 "type" : "null"
17871 }
17872 }
17873 },
17874 "leaf" : 1,
17875 "path" : "/nodes/{node}/ceph/pools/{name}",
17876 "text" : "{name}"
17877 }
17878 ],
7aacca6f
DM
17879 "info" : {
17880 "GET" : {
44660702
DM
17881 "description" : "List all pools.",
17882 "method" : "GET",
17883 "name" : "lspools",
7aacca6f
DM
17884 "parameters" : {
17885 "additionalProperties" : 0,
17886 "properties" : {
17887 "node" : {
7aacca6f 17888 "description" : "The cluster node name.",
44660702 17889 "format" : "pve-node",
013dc89f
DM
17890 "type" : "string",
17891 "typetext" : "<string>"
7aacca6f
DM
17892 }
17893 }
17894 },
7aacca6f
DM
17895 "permissions" : {
17896 "check" : [
17897 "perm",
17898 "/",
17899 [
17900 "Sys.Audit",
17901 "Datastore.Audit"
17902 ],
17903 "any",
17904 1
17905 ]
17906 },
44660702
DM
17907 "protected" : 1,
17908 "proxyto" : "node",
7aacca6f 17909 "returns" : {
56122987 17910 "items" : {
56122987 17911 "properties" : {
7aacca6f
DM
17912 "pool" : {
17913 "type" : "integer"
17914 },
44660702
DM
17915 "pool_name" : {
17916 "type" : "string"
17917 },
7aacca6f
DM
17918 "size" : {
17919 "type" : "integer"
56122987 17920 }
44660702
DM
17921 },
17922 "type" : "object"
7aacca6f 17923 },
44660702
DM
17924 "links" : [
17925 {
17926 "href" : "{pool_name}",
17927 "rel" : "child"
17928 }
17929 ],
7aacca6f
DM
17930 "type" : "array"
17931 }
17932 },
17933 "POST" : {
7aacca6f 17934 "description" : "Create POOL",
7aacca6f 17935 "method" : "POST",
7aacca6f
DM
17936 "name" : "createpool",
17937 "parameters" : {
17938 "additionalProperties" : 0,
17939 "properties" : {
7aacca6f 17940 "crush_ruleset" : {
7aacca6f 17941 "default" : 0,
44660702 17942 "description" : "The ruleset to use for mapping object placement in the cluster.",
7aacca6f 17943 "maximum" : 32768,
44660702 17944 "minimum" : 0,
7aacca6f 17945 "optional" : 1,
4bd7df8b 17946 "type" : "integer",
013dc89f 17947 "typetext" : "<integer> (0 - 32768)"
56122987 17948 },
44660702
DM
17949 "min_size" : {
17950 "default" : 1,
17951 "description" : "Minimum number of replicas per object",
17952 "maximum" : 3,
17953 "minimum" : 1,
17954 "optional" : 1,
4bd7df8b 17955 "type" : "integer",
013dc89f 17956 "typetext" : "<integer> (1 - 3)"
7aacca6f 17957 },
44660702
DM
17958 "name" : {
17959 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
17960 "type" : "string",
17961 "typetext" : "<string>"
44660702
DM
17962 },
17963 "node" : {
17964 "description" : "The cluster node name.",
17965 "format" : "pve-node",
013dc89f
DM
17966 "type" : "string",
17967 "typetext" : "<string>"
44660702
DM
17968 },
17969 "pg_num" : {
17970 "default" : 64,
17971 "description" : "Number of placement groups.",
17972 "maximum" : 32768,
17973 "minimum" : 8,
17974 "optional" : 1,
4bd7df8b 17975 "type" : "integer",
013dc89f 17976 "typetext" : "<integer> (8 - 32768)"
44660702
DM
17977 },
17978 "size" : {
17979 "default" : 2,
17980 "description" : "Number of replicas per object",
17981 "maximum" : 3,
17982 "minimum" : 1,
17983 "optional" : 1,
4bd7df8b 17984 "type" : "integer",
013dc89f 17985 "typetext" : "<integer> (1 - 3)"
56122987
DM
17986 }
17987 }
44660702
DM
17988 },
17989 "permissions" : {
17990 "check" : [
17991 "perm",
17992 "/",
17993 [
17994 "Sys.Modify"
17995 ]
17996 ]
17997 },
17998 "protected" : 1,
17999 "proxyto" : "node",
18000 "returns" : {
18001 "type" : "null"
7aacca6f 18002 }
56122987 18003 }
44660702 18004 },
56122987 18005 "leaf" : 0,
44660702
DM
18006 "path" : "/nodes/{node}/ceph/pools",
18007 "text" : "pools"
56122987
DM
18008 },
18009 {
56122987 18010 "info" : {
7aacca6f 18011 "GET" : {
44660702
DM
18012 "description" : "Get OSD crush map",
18013 "method" : "GET",
18014 "name" : "crush",
18015 "parameters" : {
18016 "additionalProperties" : 0,
18017 "properties" : {
18018 "node" : {
18019 "description" : "The cluster node name.",
18020 "format" : "pve-node",
013dc89f
DM
18021 "type" : "string",
18022 "typetext" : "<string>"
44660702
DM
18023 }
18024 }
18025 },
7aacca6f
DM
18026 "permissions" : {
18027 "check" : [
18028 "perm",
18029 "/",
18030 [
18031 "Sys.Audit",
18032 "Datastore.Audit"
18033 ],
18034 "any",
18035 1
18036 ]
18037 },
44660702 18038 "protected" : 1,
7aacca6f 18039 "proxyto" : "node",
56122987 18040 "returns" : {
7aacca6f 18041 "type" : "string"
44660702 18042 }
56122987
DM
18043 }
18044 },
44660702
DM
18045 "leaf" : 1,
18046 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 18047 "text" : "crush"
56122987
DM
18048 },
18049 {
56122987 18050 "info" : {
7aacca6f 18051 "GET" : {
44660702
DM
18052 "description" : "Read ceph log",
18053 "method" : "GET",
18054 "name" : "log",
18055 "parameters" : {
18056 "additionalProperties" : 0,
18057 "properties" : {
18058 "limit" : {
18059 "minimum" : 0,
18060 "optional" : 1,
4bd7df8b 18061 "type" : "integer",
013dc89f 18062 "typetext" : "<integer> (0 - N)"
7aacca6f 18063 },
44660702
DM
18064 "node" : {
18065 "description" : "The cluster node name.",
18066 "format" : "pve-node",
013dc89f
DM
18067 "type" : "string",
18068 "typetext" : "<string>"
44660702
DM
18069 },
18070 "start" : {
18071 "minimum" : 0,
18072 "optional" : 1,
4bd7df8b 18073 "type" : "integer",
013dc89f 18074 "typetext" : "<integer> (0 - N)"
44660702 18075 }
7aacca6f 18076 }
56122987 18077 },
56122987
DM
18078 "permissions" : {
18079 "check" : [
18080 "perm",
7aacca6f 18081 "/nodes/{node}",
56122987 18082 [
7aacca6f 18083 "Sys.Syslog"
56122987
DM
18084 ]
18085 ]
18086 },
7aacca6f 18087 "protected" : 1,
44660702
DM
18088 "proxyto" : "node",
18089 "returns" : {
18090 "items" : {
18091 "properties" : {
18092 "n" : {
18093 "description" : "Line number",
18094 "type" : "integer"
18095 },
18096 "t" : {
18097 "description" : "Line text",
18098 "type" : "string"
18099 }
56122987 18100 },
44660702 18101 "type" : "object"
56122987 18102 },
44660702 18103 "type" : "array"
7aacca6f 18104 }
56122987
DM
18105 }
18106 },
18107 "leaf" : 1,
44660702
DM
18108 "path" : "/nodes/{node}/ceph/log",
18109 "text" : "log"
7aacca6f
DM
18110 }
18111 ],
44660702
DM
18112 "info" : {
18113 "GET" : {
18114 "description" : "Directory index.",
18115 "method" : "GET",
18116 "name" : "index",
18117 "parameters" : {
18118 "additionalProperties" : 0,
18119 "properties" : {
18120 "node" : {
18121 "description" : "The cluster node name.",
18122 "format" : "pve-node",
013dc89f
DM
18123 "type" : "string",
18124 "typetext" : "<string>"
44660702
DM
18125 }
18126 }
18127 },
18128 "permissions" : {
18129 "check" : [
18130 "perm",
18131 "/",
18132 [
18133 "Sys.Audit",
18134 "Datastore.Audit"
18135 ],
18136 "any",
18137 1
18138 ]
18139 },
18140 "returns" : {
18141 "items" : {
18142 "properties" : {},
18143 "type" : "object"
18144 },
18145 "links" : [
18146 {
18147 "href" : "{name}",
18148 "rel" : "child"
18149 }
18150 ],
18151 "type" : "array"
18152 }
18153 }
18154 },
7aacca6f 18155 "leaf" : 0,
44660702
DM
18156 "path" : "/nodes/{node}/ceph",
18157 "text" : "ceph"
7aacca6f
DM
18158 },
18159 {
4bd7df8b
DM
18160 "children" : [
18161 {
18162 "info" : {
18163 "GET" : {
18164 "description" : "Extract configuration from vzdump backup archive.",
18165 "method" : "GET",
18166 "name" : "extractconfig",
18167 "parameters" : {
18168 "additionalProperties" : 0,
18169 "properties" : {
18170 "node" : {
18171 "description" : "The cluster node name.",
18172 "format" : "pve-node",
013dc89f
DM
18173 "type" : "string",
18174 "typetext" : "<string>"
4bd7df8b
DM
18175 },
18176 "volume" : {
18177 "description" : "Volume identifier",
013dc89f
DM
18178 "type" : "string",
18179 "typetext" : "<string>"
4bd7df8b
DM
18180 }
18181 }
18182 },
18183 "permissions" : {
18184 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
18185 "user" : "all"
18186 },
18187 "protected" : 1,
18188 "proxyto" : "node",
18189 "returns" : {
18190 "type" : "string"
18191 }
18192 }
18193 },
18194 "leaf" : 1,
18195 "path" : "/nodes/{node}/vzdump/extractconfig",
18196 "text" : "extractconfig"
18197 }
18198 ],
7aacca6f
DM
18199 "info" : {
18200 "POST" : {
7aacca6f 18201 "description" : "Create backup.",
44660702 18202 "method" : "POST",
7aacca6f
DM
18203 "name" : "vzdump",
18204 "parameters" : {
44660702 18205 "additionalProperties" : 0,
7aacca6f 18206 "properties" : {
44660702
DM
18207 "all" : {
18208 "default" : 0,
18209 "description" : "Backup all known guest systems on this host.",
7aacca6f 18210 "optional" : 1,
013dc89f
DM
18211 "type" : "boolean",
18212 "typetext" : "<boolean>"
56122987 18213 },
44660702 18214 "bwlimit" : {
7aacca6f 18215 "default" : 0,
44660702
DM
18216 "description" : "Limit I/O bandwidth (KBytes per second).",
18217 "minimum" : 0,
7aacca6f 18218 "optional" : 1,
4bd7df8b 18219 "type" : "integer",
013dc89f 18220 "typetext" : "<integer> (0 - N)"
56122987 18221 },
44660702
DM
18222 "compress" : {
18223 "default" : "0",
18224 "description" : "Compress dump file.",
18225 "enum" : [
18226 "0",
18227 "1",
18228 "gzip",
18229 "lzo"
18230 ],
7aacca6f 18231 "optional" : 1,
44660702 18232 "type" : "string"
56122987 18233 },
44660702
DM
18234 "dumpdir" : {
18235 "description" : "Store resulting files to specified directory.",
7aacca6f 18236 "optional" : 1,
013dc89f
DM
18237 "type" : "string",
18238 "typetext" : "<string>"
7aacca6f 18239 },
44660702
DM
18240 "exclude" : {
18241 "description" : "Exclude specified guest systems (assumes --all)",
18242 "format" : "pve-vmid-list",
7aacca6f 18243 "optional" : 1,
013dc89f
DM
18244 "type" : "string",
18245 "typetext" : "<string>"
7aacca6f 18246 },
44660702
DM
18247 "exclude-path" : {
18248 "description" : "Exclude certain files/directories (shell globs).",
18249 "format" : "string-alist",
7aacca6f 18250 "optional" : 1,
013dc89f
DM
18251 "type" : "string",
18252 "typetext" : "<string>"
7aacca6f 18253 },
44660702
DM
18254 "ionice" : {
18255 "default" : 7,
18256 "description" : "Set CFQ ionice priority.",
18257 "maximum" : 8,
18258 "minimum" : 0,
18259 "optional" : 1,
4bd7df8b 18260 "type" : "integer",
013dc89f 18261 "typetext" : "<integer> (0 - 8)"
7aacca6f 18262 },
44660702
DM
18263 "lockwait" : {
18264 "default" : 180,
18265 "description" : "Maximal time to wait for the global lock (minutes).",
18266 "minimum" : 0,
7aacca6f 18267 "optional" : 1,
4bd7df8b 18268 "type" : "integer",
013dc89f 18269 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
18270 },
18271 "mailnotification" : {
44660702 18272 "default" : "always",
7aacca6f
DM
18273 "description" : "Specify when to send an email",
18274 "enum" : [
18275 "always",
18276 "failure"
18277 ],
7aacca6f 18278 "optional" : 1,
44660702 18279 "type" : "string"
7aacca6f
DM
18280 },
18281 "mailto" : {
7aacca6f 18282 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 18283 "format" : "string-list",
7aacca6f 18284 "optional" : 1,
013dc89f
DM
18285 "type" : "string",
18286 "typetext" : "<string>"
56122987 18287 },
44660702
DM
18288 "maxfiles" : {
18289 "default" : 1,
18290 "description" : "Maximal number of backup files per guest system.",
18291 "minimum" : 1,
7aacca6f 18292 "optional" : 1,
4bd7df8b 18293 "type" : "integer",
013dc89f 18294 "typetext" : "<integer> (1 - N)"
56122987 18295 },
7aacca6f 18296 "mode" : {
44660702 18297 "default" : "snapshot",
7aacca6f
DM
18298 "description" : "Backup mode.",
18299 "enum" : [
18300 "snapshot",
18301 "suspend",
18302 "stop"
18303 ],
44660702
DM
18304 "optional" : 1,
18305 "type" : "string"
7aacca6f 18306 },
44660702
DM
18307 "node" : {
18308 "description" : "Only run if executed on this node.",
18309 "format" : "pve-node",
18310 "optional" : 1,
013dc89f
DM
18311 "type" : "string",
18312 "typetext" : "<string>"
44660702
DM
18313 },
18314 "pigz" : {
18315 "default" : 0,
18316 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
18317 "optional" : 1,
013dc89f
DM
18318 "type" : "integer",
18319 "typetext" : "<integer>"
44660702
DM
18320 },
18321 "quiet" : {
18322 "default" : 0,
18323 "description" : "Be quiet.",
18324 "optional" : 1,
013dc89f
DM
18325 "type" : "boolean",
18326 "typetext" : "<boolean>"
44660702
DM
18327 },
18328 "remove" : {
7aacca6f 18329 "default" : 1,
44660702 18330 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 18331 "optional" : 1,
013dc89f
DM
18332 "type" : "boolean",
18333 "typetext" : "<boolean>"
7aacca6f 18334 },
44660702
DM
18335 "script" : {
18336 "description" : "Use specified hook script.",
18337 "optional" : 1,
013dc89f
DM
18338 "type" : "string",
18339 "typetext" : "<string>"
44660702
DM
18340 },
18341 "size" : {
18342 "default" : 1024,
18343 "description" : "Unused, will be removed in a future release.",
18344 "minimum" : 500,
18345 "optional" : 1,
4bd7df8b 18346 "type" : "integer",
013dc89f 18347 "typetext" : "<integer> (500 - N)"
44660702
DM
18348 },
18349 "stdexcludes" : {
18350 "default" : 1,
18351 "description" : "Exclude temporary files and logs.",
18352 "optional" : 1,
013dc89f
DM
18353 "type" : "boolean",
18354 "typetext" : "<boolean>"
44660702
DM
18355 },
18356 "stdout" : {
18357 "description" : "Write tar to stdout, not to a file.",
7aacca6f 18358 "optional" : 1,
013dc89f
DM
18359 "type" : "boolean",
18360 "typetext" : "<boolean>"
44660702
DM
18361 },
18362 "stop" : {
7aacca6f 18363 "default" : 0,
44660702
DM
18364 "description" : "Stop runnig backup jobs on this host.",
18365 "optional" : 1,
013dc89f
DM
18366 "type" : "boolean",
18367 "typetext" : "<boolean>"
7aacca6f 18368 },
44660702
DM
18369 "stopwait" : {
18370 "default" : 10,
18371 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
18372 "minimum" : 0,
18373 "optional" : 1,
4bd7df8b 18374 "type" : "integer",
013dc89f 18375 "typetext" : "<integer> (0 - N)"
7aacca6f 18376 },
44660702
DM
18377 "storage" : {
18378 "description" : "Store resulting file to this storage.",
18379 "format" : "pve-storage-id",
7aacca6f 18380 "optional" : 1,
013dc89f
DM
18381 "type" : "string",
18382 "typetext" : "<string>"
44660702
DM
18383 },
18384 "tmpdir" : {
18385 "description" : "Store temporary files to specified directory.",
18386 "optional" : 1,
013dc89f
DM
18387 "type" : "string",
18388 "typetext" : "<string>"
7aacca6f
DM
18389 },
18390 "vmid" : {
7aacca6f 18391 "description" : "The ID of the guest system you want to backup.",
44660702 18392 "format" : "pve-vmid-list",
7aacca6f 18393 "optional" : 1,
013dc89f
DM
18394 "type" : "string",
18395 "typetext" : "<string>"
7aacca6f 18396 }
7aacca6f
DM
18397 }
18398 },
7aacca6f 18399 "permissions" : {
de0983cb 18400 "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 18401 "user" : "all"
7aacca6f 18402 },
44660702 18403 "protected" : 1,
7aacca6f 18404 "proxyto" : "node",
7aacca6f 18405 "returns" : {
44660702 18406 "type" : "string"
7aacca6f
DM
18407 }
18408 }
18409 },
4bd7df8b 18410 "leaf" : 0,
44660702
DM
18411 "path" : "/nodes/{node}/vzdump",
18412 "text" : "vzdump"
18413 },
18414 {
7aacca6f
DM
18415 "children" : [
18416 {
7aacca6f
DM
18417 "children" : [
18418 {
7aacca6f
DM
18419 "info" : {
18420 "GET" : {
7aacca6f
DM
18421 "description" : "Read service properties",
18422 "method" : "GET",
18423 "name" : "service_state",
18424 "parameters" : {
44660702 18425 "additionalProperties" : 0,
7aacca6f
DM
18426 "properties" : {
18427 "node" : {
7aacca6f 18428 "description" : "The cluster node name.",
44660702 18429 "format" : "pve-node",
013dc89f
DM
18430 "type" : "string",
18431 "typetext" : "<string>"
7aacca6f
DM
18432 },
18433 "service" : {
44660702 18434 "description" : "Service ID",
7aacca6f
DM
18435 "enum" : [
18436 "pveproxy",
18437 "pvedaemon",
18438 "spiceproxy",
18439 "pvestatd",
18440 "pve-cluster",
18441 "corosync",
18442 "pve-firewall",
18443 "pvefw-logger",
18444 "pve-ha-crm",
18445 "pve-ha-lrm",
18446 "sshd",
18447 "syslog",
18448 "cron",
18449 "postfix",
18450 "ksmtuned",
18451 "systemd-timesyncd"
18452 ],
7aacca6f
DM
18453 "type" : "string"
18454 }
44660702 18455 }
56122987 18456 },
7aacca6f
DM
18457 "permissions" : {
18458 "check" : [
18459 "perm",
18460 "/nodes/{node}",
18461 [
44660702 18462 "Sys.Audit"
7aacca6f
DM
18463 ]
18464 ]
56122987 18465 },
44660702 18466 "protected" : 1,
7aacca6f 18467 "proxyto" : "node",
44660702
DM
18468 "returns" : {
18469 "properties" : {},
18470 "type" : "object"
18471 }
18472 }
18473 },
18474 "leaf" : 1,
18475 "path" : "/nodes/{node}/services/{service}/state",
18476 "text" : "state"
18477 },
18478 {
18479 "info" : {
18480 "POST" : {
18481 "description" : "Start service.",
7aacca6f
DM
18482 "method" : "POST",
18483 "name" : "service_start",
18484 "parameters" : {
44660702 18485 "additionalProperties" : 0,
7aacca6f 18486 "properties" : {
44660702
DM
18487 "node" : {
18488 "description" : "The cluster node name.",
18489 "format" : "pve-node",
013dc89f
DM
18490 "type" : "string",
18491 "typetext" : "<string>"
44660702 18492 },
7aacca6f 18493 "service" : {
44660702 18494 "description" : "Service ID",
7aacca6f
DM
18495 "enum" : [
18496 "pveproxy",
18497 "pvedaemon",
18498 "spiceproxy",
18499 "pvestatd",
18500 "pve-cluster",
18501 "corosync",
18502 "pve-firewall",
18503 "pvefw-logger",
18504 "pve-ha-crm",
18505 "pve-ha-lrm",
18506 "sshd",
18507 "syslog",
18508 "cron",
18509 "postfix",
18510 "ksmtuned",
18511 "systemd-timesyncd"
18512 ],
7aacca6f
DM
18513 "type" : "string"
18514 }
44660702 18515 }
56122987 18516 },
56122987
DM
18517 "permissions" : {
18518 "check" : [
18519 "perm",
18520 "/nodes/{node}",
18521 [
7aacca6f 18522 "Sys.Modify"
56122987
DM
18523 ]
18524 ]
7aacca6f 18525 },
7aacca6f 18526 "protected" : 1,
44660702
DM
18527 "proxyto" : "node",
18528 "returns" : {
18529 "type" : "string"
18530 }
18531 }
18532 },
18533 "leaf" : 1,
18534 "path" : "/nodes/{node}/services/{service}/start",
18535 "text" : "start"
18536 },
18537 {
18538 "info" : {
18539 "POST" : {
18540 "description" : "Stop service.",
18541 "method" : "POST",
7aacca6f 18542 "name" : "service_stop",
56122987 18543 "parameters" : {
7aacca6f 18544 "additionalProperties" : 0,
56122987
DM
18545 "properties" : {
18546 "node" : {
44660702 18547 "description" : "The cluster node name.",
56122987 18548 "format" : "pve-node",
013dc89f
DM
18549 "type" : "string",
18550 "typetext" : "<string>"
56122987
DM
18551 },
18552 "service" : {
44660702 18553 "description" : "Service ID",
56122987
DM
18554 "enum" : [
18555 "pveproxy",
18556 "pvedaemon",
18557 "spiceproxy",
18558 "pvestatd",
18559 "pve-cluster",
18560 "corosync",
18561 "pve-firewall",
18562 "pvefw-logger",
18563 "pve-ha-crm",
18564 "pve-ha-lrm",
18565 "sshd",
18566 "syslog",
18567 "cron",
18568 "postfix",
18569 "ksmtuned",
18570 "systemd-timesyncd"
18571 ],
56122987
DM
18572 "type" : "string"
18573 }
7aacca6f 18574 }
44660702 18575 },
56122987
DM
18576 "permissions" : {
18577 "check" : [
18578 "perm",
18579 "/nodes/{node}",
18580 [
18581 "Sys.Modify"
18582 ]
18583 ]
18584 },
44660702
DM
18585 "protected" : 1,
18586 "proxyto" : "node",
7aacca6f
DM
18587 "returns" : {
18588 "type" : "string"
44660702
DM
18589 }
18590 }
18591 },
18592 "leaf" : 1,
18593 "path" : "/nodes/{node}/services/{service}/stop",
18594 "text" : "stop"
18595 },
18596 {
18597 "info" : {
18598 "POST" : {
18599 "description" : "Restart service.",
18600 "method" : "POST",
18601 "name" : "service_restart",
56122987
DM
18602 "parameters" : {
18603 "additionalProperties" : 0,
18604 "properties" : {
7aacca6f
DM
18605 "node" : {
18606 "description" : "The cluster node name.",
44660702 18607 "format" : "pve-node",
013dc89f
DM
18608 "type" : "string",
18609 "typetext" : "<string>"
7aacca6f
DM
18610 },
18611 "service" : {
44660702 18612 "description" : "Service ID",
56122987
DM
18613 "enum" : [
18614 "pveproxy",
18615 "pvedaemon",
18616 "spiceproxy",
18617 "pvestatd",
18618 "pve-cluster",
18619 "corosync",
18620 "pve-firewall",
18621 "pvefw-logger",
18622 "pve-ha-crm",
18623 "pve-ha-lrm",
18624 "sshd",
18625 "syslog",
18626 "cron",
18627 "postfix",
18628 "ksmtuned",
18629 "systemd-timesyncd"
7aacca6f 18630 ],
7aacca6f 18631 "type" : "string"
56122987
DM
18632 }
18633 }
18634 },
44660702
DM
18635 "permissions" : {
18636 "check" : [
18637 "perm",
18638 "/nodes/{node}",
18639 [
18640 "Sys.Modify"
18641 ]
18642 ]
18643 },
18644 "protected" : 1,
18645 "proxyto" : "node",
18646 "returns" : {
18647 "type" : "string"
18648 }
56122987 18649 }
44660702
DM
18650 },
18651 "leaf" : 1,
18652 "path" : "/nodes/{node}/services/{service}/restart",
18653 "text" : "restart"
56122987
DM
18654 },
18655 {
56122987
DM
18656 "info" : {
18657 "POST" : {
44660702
DM
18658 "description" : "Reload service.",
18659 "method" : "POST",
7aacca6f 18660 "name" : "service_reload",
56122987
DM
18661 "parameters" : {
18662 "additionalProperties" : 0,
18663 "properties" : {
44660702
DM
18664 "node" : {
18665 "description" : "The cluster node name.",
18666 "format" : "pve-node",
013dc89f
DM
18667 "type" : "string",
18668 "typetext" : "<string>"
44660702 18669 },
56122987 18670 "service" : {
56122987
DM
18671 "description" : "Service ID",
18672 "enum" : [
18673 "pveproxy",
18674 "pvedaemon",
18675 "spiceproxy",
18676 "pvestatd",
18677 "pve-cluster",
18678 "corosync",
18679 "pve-firewall",
18680 "pvefw-logger",
18681 "pve-ha-crm",
18682 "pve-ha-lrm",
18683 "sshd",
18684 "syslog",
18685 "cron",
18686 "postfix",
18687 "ksmtuned",
18688 "systemd-timesyncd"
44660702
DM
18689 ],
18690 "type" : "string"
56122987
DM
18691 }
18692 }
18693 },
56122987
DM
18694 "permissions" : {
18695 "check" : [
18696 "perm",
18697 "/nodes/{node}",
18698 [
18699 "Sys.Modify"
18700 ]
18701 ]
18702 },
44660702 18703 "protected" : 1,
56122987 18704 "proxyto" : "node",
7aacca6f
DM
18705 "returns" : {
18706 "type" : "string"
56122987
DM
18707 }
18708 }
44660702
DM
18709 },
18710 "leaf" : 1,
18711 "path" : "/nodes/{node}/services/{service}/reload",
18712 "text" : "reload"
18713 }
18714 ],
18715 "info" : {
18716 "GET" : {
18717 "description" : "Directory index",
18718 "method" : "GET",
18719 "name" : "srvcmdidx",
18720 "parameters" : {
18721 "additionalProperties" : 0,
18722 "properties" : {
18723 "node" : {
18724 "description" : "The cluster node name.",
18725 "format" : "pve-node",
013dc89f
DM
18726 "type" : "string",
18727 "typetext" : "<string>"
44660702
DM
18728 },
18729 "service" : {
18730 "description" : "Service ID",
18731 "enum" : [
18732 "pveproxy",
18733 "pvedaemon",
18734 "spiceproxy",
18735 "pvestatd",
18736 "pve-cluster",
18737 "corosync",
18738 "pve-firewall",
18739 "pvefw-logger",
18740 "pve-ha-crm",
18741 "pve-ha-lrm",
18742 "sshd",
18743 "syslog",
18744 "cron",
18745 "postfix",
18746 "ksmtuned",
18747 "systemd-timesyncd"
18748 ],
18749 "type" : "string"
18750 }
18751 }
18752 },
18753 "permissions" : {
18754 "check" : [
18755 "perm",
18756 "/nodes/{node}",
18757 [
18758 "Sys.Audit"
18759 ]
18760 ]
18761 },
18762 "returns" : {
18763 "items" : {
18764 "properties" : {
18765 "subdir" : {
18766 "type" : "string"
18767 }
18768 },
18769 "type" : "object"
18770 },
18771 "links" : [
18772 {
18773 "href" : "{subdir}",
18774 "rel" : "child"
18775 }
18776 ],
18777 "type" : "array"
18778 }
18779 }
18780 },
18781 "leaf" : 0,
18782 "path" : "/nodes/{node}/services/{service}",
18783 "text" : "{service}"
18784 }
18785 ],
18786 "info" : {
18787 "GET" : {
18788 "description" : "Service list.",
18789 "method" : "GET",
18790 "name" : "index",
18791 "parameters" : {
18792 "additionalProperties" : 0,
18793 "properties" : {
18794 "node" : {
18795 "description" : "The cluster node name.",
18796 "format" : "pve-node",
013dc89f
DM
18797 "type" : "string",
18798 "typetext" : "<string>"
44660702
DM
18799 }
18800 }
18801 },
18802 "permissions" : {
18803 "check" : [
18804 "perm",
18805 "/nodes/{node}",
18806 [
18807 "Sys.Audit"
18808 ]
18809 ]
18810 },
18811 "protected" : 1,
18812 "proxyto" : "node",
18813 "returns" : {
18814 "items" : {
18815 "properties" : {},
18816 "type" : "object"
18817 },
18818 "links" : [
18819 {
18820 "href" : "{service}",
18821 "rel" : "child"
56122987 18822 }
44660702
DM
18823 ],
18824 "type" : "array"
18825 }
7aacca6f 18826 }
44660702 18827 },
7aacca6f 18828 "leaf" : 0,
44660702
DM
18829 "path" : "/nodes/{node}/services",
18830 "text" : "services"
7aacca6f
DM
18831 },
18832 {
7aacca6f
DM
18833 "info" : {
18834 "GET" : {
44660702
DM
18835 "description" : "Read subscription info.",
18836 "method" : "GET",
18837 "name" : "get",
7aacca6f 18838 "parameters" : {
44660702 18839 "additionalProperties" : 0,
7aacca6f
DM
18840 "properties" : {
18841 "node" : {
18842 "description" : "The cluster node name.",
44660702 18843 "format" : "pve-node",
013dc89f
DM
18844 "type" : "string",
18845 "typetext" : "<string>"
7aacca6f 18846 }
44660702
DM
18847 }
18848 },
18849 "permissions" : {
18850 "user" : "all"
7aacca6f 18851 },
7aacca6f
DM
18852 "proxyto" : "node",
18853 "returns" : {
18854 "type" : "object"
44660702 18855 }
7aacca6f 18856 },
44660702
DM
18857 "POST" : {
18858 "description" : "Update subscription info.",
18859 "method" : "POST",
18860 "name" : "update",
7aacca6f
DM
18861 "parameters" : {
18862 "additionalProperties" : 0,
18863 "properties" : {
44660702
DM
18864 "force" : {
18865 "default" : 0,
18866 "description" : "Always connect to server, even if we have up to date info inside local cache.",
18867 "optional" : 1,
013dc89f
DM
18868 "type" : "boolean",
18869 "typetext" : "<boolean>"
44660702 18870 },
7aacca6f 18871 "node" : {
7aacca6f 18872 "description" : "The cluster node name.",
44660702 18873 "format" : "pve-node",
013dc89f
DM
18874 "type" : "string",
18875 "typetext" : "<string>"
7aacca6f
DM
18876 }
18877 }
18878 },
7aacca6f 18879 "protected" : 1,
7aacca6f 18880 "proxyto" : "node",
44660702
DM
18881 "returns" : {
18882 "type" : "null"
18883 }
18884 },
18885 "PUT" : {
18886 "description" : "Set subscription key.",
18887 "method" : "PUT",
18888 "name" : "set",
7aacca6f
DM
18889 "parameters" : {
18890 "additionalProperties" : 0,
18891 "properties" : {
44660702
DM
18892 "key" : {
18893 "description" : "Proxmox VE subscription key",
013dc89f
DM
18894 "type" : "string",
18895 "typetext" : "<string>"
7aacca6f
DM
18896 },
18897 "node" : {
7aacca6f 18898 "description" : "The cluster node name.",
44660702 18899 "format" : "pve-node",
013dc89f
DM
18900 "type" : "string",
18901 "typetext" : "<string>"
7aacca6f
DM
18902 }
18903 }
18904 },
44660702
DM
18905 "protected" : 1,
18906 "proxyto" : "node",
7aacca6f
DM
18907 "returns" : {
18908 "type" : "null"
44660702 18909 }
7aacca6f
DM
18910 }
18911 },
44660702 18912 "leaf" : 1,
7aacca6f 18913 "path" : "/nodes/{node}/subscription",
44660702 18914 "text" : "subscription"
7aacca6f
DM
18915 },
18916 {
7aacca6f
DM
18917 "children" : [
18918 {
56122987 18919 "info" : {
7aacca6f 18920 "DELETE" : {
44660702
DM
18921 "description" : "Delete network device configuration",
18922 "method" : "DELETE",
18923 "name" : "delete_network",
18924 "parameters" : {
18925 "additionalProperties" : 0,
18926 "properties" : {
18927 "iface" : {
18928 "description" : "Network interface name.",
18929 "format" : "pve-iface",
18930 "maxLength" : 20,
18931 "minLength" : 2,
013dc89f
DM
18932 "type" : "string",
18933 "typetext" : "<string>"
44660702
DM
18934 },
18935 "node" : {
18936 "description" : "The cluster node name.",
18937 "format" : "pve-node",
013dc89f
DM
18938 "type" : "string",
18939 "typetext" : "<string>"
44660702
DM
18940 }
18941 }
7aacca6f
DM
18942 },
18943 "permissions" : {
18944 "check" : [
18945 "perm",
18946 "/nodes/{node}",
18947 [
18948 "Sys.Modify"
18949 ]
18950 ]
18951 },
44660702 18952 "protected" : 1,
7aacca6f 18953 "proxyto" : "node",
44660702
DM
18954 "returns" : {
18955 "type" : "null"
18956 }
18957 },
18958 "GET" : {
18959 "description" : "Read network device configuration",
18960 "method" : "GET",
18961 "name" : "network_config",
56122987 18962 "parameters" : {
44660702 18963 "additionalProperties" : 0,
56122987 18964 "properties" : {
7aacca6f 18965 "iface" : {
7aacca6f 18966 "description" : "Network interface name.",
44660702
DM
18967 "format" : "pve-iface",
18968 "maxLength" : 20,
7aacca6f 18969 "minLength" : 2,
013dc89f
DM
18970 "type" : "string",
18971 "typetext" : "<string>"
44660702
DM
18972 },
18973 "node" : {
18974 "description" : "The cluster node name.",
18975 "format" : "pve-node",
013dc89f
DM
18976 "type" : "string",
18977 "typetext" : "<string>"
56122987 18978 }
44660702 18979 }
7aacca6f
DM
18980 },
18981 "permissions" : {
18982 "check" : [
18983 "perm",
18984 "/nodes/{node}",
18985 [
44660702 18986 "Sys.Audit"
7aacca6f
DM
18987 ]
18988 ]
18989 },
18990 "proxyto" : "node",
44660702
DM
18991 "returns" : {
18992 "properties" : {
18993 "method" : {
18994 "type" : "string"
18995 },
18996 "type" : {
18997 "type" : "string"
18998 }
18999 },
19000 "type" : "object"
19001 }
19002 },
19003 "PUT" : {
7aacca6f
DM
19004 "description" : "Update network device configuration",
19005 "method" : "PUT",
19006 "name" : "update_network",
19007 "parameters" : {
19008 "additionalProperties" : 0,
19009 "properties" : {
7aacca6f 19010 "address" : {
44660702 19011 "description" : "IP address.",
7aacca6f 19012 "format" : "ipv4",
44660702 19013 "optional" : 1,
7aacca6f 19014 "requires" : "netmask",
013dc89f
DM
19015 "type" : "string",
19016 "typetext" : "<string>"
7aacca6f 19017 },
44660702
DM
19018 "address6" : {
19019 "description" : "IP address.",
19020 "format" : "ipv6",
19021 "optional" : 1,
19022 "requires" : "netmask6",
013dc89f
DM
19023 "type" : "string",
19024 "typetext" : "<string>"
7aacca6f
DM
19025 },
19026 "autostart" : {
44660702 19027 "description" : "Automatically start interface on boot.",
7aacca6f 19028 "optional" : 1,
013dc89f
DM
19029 "type" : "boolean",
19030 "typetext" : "<boolean>"
7aacca6f 19031 },
44660702
DM
19032 "bond_mode" : {
19033 "description" : "Bonding mode.",
7aacca6f 19034 "enum" : [
44660702
DM
19035 "balance-rr",
19036 "active-backup",
19037 "balance-xor",
19038 "broadcast",
19039 "802.3ad",
19040 "balance-tlb",
19041 "balance-alb",
19042 "balance-slb",
19043 "lacp-balance-slb",
19044 "lacp-balance-tcp"
19045 ],
7aacca6f 19046 "optional" : 1,
44660702 19047 "type" : "string"
7aacca6f 19048 },
44660702
DM
19049 "bond_xmit_hash_policy" : {
19050 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19051 "enum" : [
19052 "layer2",
19053 "layer2+3",
19054 "layer3+4"
19055 ],
7aacca6f 19056 "optional" : 1,
44660702 19057 "type" : "string"
7aacca6f 19058 },
44660702
DM
19059 "bridge_ports" : {
19060 "description" : "Specify the iterfaces you want to add to your bridge.",
19061 "format" : "pve-iface-list",
7aacca6f 19062 "optional" : 1,
013dc89f
DM
19063 "type" : "string",
19064 "typetext" : "<string>"
7aacca6f 19065 },
44660702
DM
19066 "bridge_vlan_aware" : {
19067 "description" : "Enable bridge vlan support.",
7aacca6f 19068 "optional" : 1,
013dc89f
DM
19069 "type" : "boolean",
19070 "typetext" : "<boolean>"
7aacca6f
DM
19071 },
19072 "comments" : {
44660702 19073 "description" : "Comments",
7aacca6f 19074 "optional" : 1,
013dc89f
DM
19075 "type" : "string",
19076 "typetext" : "<string>"
7aacca6f 19077 },
44660702
DM
19078 "comments6" : {
19079 "description" : "Comments",
7aacca6f 19080 "optional" : 1,
013dc89f
DM
19081 "type" : "string",
19082 "typetext" : "<string>"
7aacca6f 19083 },
44660702
DM
19084 "delete" : {
19085 "description" : "A list of settings you want to delete.",
19086 "format" : "pve-configid-list",
7aacca6f 19087 "optional" : 1,
013dc89f
DM
19088 "type" : "string",
19089 "typetext" : "<string>"
7aacca6f 19090 },
44660702
DM
19091 "gateway" : {
19092 "description" : "Default gateway address.",
19093 "format" : "ipv4",
7aacca6f 19094 "optional" : 1,
013dc89f
DM
19095 "type" : "string",
19096 "typetext" : "<string>"
7aacca6f 19097 },
44660702
DM
19098 "gateway6" : {
19099 "description" : "Default ipv6 gateway address.",
19100 "format" : "ipv6",
7aacca6f 19101 "optional" : 1,
013dc89f
DM
19102 "type" : "string",
19103 "typetext" : "<string>"
7aacca6f
DM
19104 },
19105 "iface" : {
44660702 19106 "description" : "Network interface name.",
7aacca6f
DM
19107 "format" : "pve-iface",
19108 "maxLength" : 20,
19109 "minLength" : 2,
013dc89f
DM
19110 "type" : "string",
19111 "typetext" : "<string>"
7aacca6f 19112 },
44660702
DM
19113 "netmask" : {
19114 "description" : "Network mask.",
19115 "format" : "ipv4mask",
7aacca6f 19116 "optional" : 1,
44660702 19117 "requires" : "address",
013dc89f
DM
19118 "type" : "string",
19119 "typetext" : "<string>"
7aacca6f
DM
19120 },
19121 "netmask6" : {
44660702 19122 "description" : "Network mask.",
7aacca6f 19123 "maximum" : 128,
44660702 19124 "minimum" : 0,
7aacca6f
DM
19125 "optional" : 1,
19126 "requires" : "address6",
4bd7df8b 19127 "type" : "integer",
013dc89f 19128 "typetext" : "<integer> (0 - 128)"
44660702 19129 },
7aacca6f 19130 "node" : {
44660702 19131 "description" : "The cluster node name.",
7aacca6f 19132 "format" : "pve-node",
013dc89f
DM
19133 "type" : "string",
19134 "typetext" : "<string>"
7aacca6f 19135 },
44660702
DM
19136 "ovs_bonds" : {
19137 "description" : "Specify the interfaces used by the bonding device.",
19138 "format" : "pve-iface-list",
19139 "optional" : 1,
013dc89f
DM
19140 "type" : "string",
19141 "typetext" : "<string>"
44660702
DM
19142 },
19143 "ovs_bridge" : {
19144 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19145 "format" : "pve-iface",
19146 "optional" : 1,
013dc89f
DM
19147 "type" : "string",
19148 "typetext" : "<string>"
44660702
DM
19149 },
19150 "ovs_options" : {
19151 "description" : "OVS interface options.",
19152 "maxLength" : 1024,
19153 "optional" : 1,
013dc89f
DM
19154 "type" : "string",
19155 "typetext" : "<string>"
44660702
DM
19156 },
19157 "ovs_ports" : {
19158 "description" : "Specify the iterfaces you want to add to your bridge.",
19159 "format" : "pve-iface-list",
19160 "optional" : 1,
013dc89f
DM
19161 "type" : "string",
19162 "typetext" : "<string>"
44660702
DM
19163 },
19164 "ovs_tag" : {
19165 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19166 "maximum" : 4094,
19167 "minimum" : 1,
19168 "optional" : 1,
4bd7df8b 19169 "type" : "integer",
013dc89f 19170 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19171 },
19172 "slaves" : {
19173 "description" : "Specify the interfaces used by the bonding device.",
19174 "format" : "pve-iface-list",
19175 "optional" : 1,
013dc89f
DM
19176 "type" : "string",
19177 "typetext" : "<string>"
44660702
DM
19178 },
19179 "type" : {
19180 "description" : "Network interface type",
19181 "enum" : [
19182 "bridge",
19183 "bond",
19184 "eth",
19185 "alias",
19186 "vlan",
19187 "OVSBridge",
19188 "OVSBond",
19189 "OVSPort",
19190 "OVSIntPort",
19191 "unknown"
19192 ],
19193 "type" : "string"
7aacca6f
DM
19194 }
19195 }
19196 },
7aacca6f
DM
19197 "permissions" : {
19198 "check" : [
19199 "perm",
19200 "/nodes/{node}",
19201 [
44660702 19202 "Sys.Modify"
7aacca6f
DM
19203 ]
19204 ]
19205 },
44660702
DM
19206 "protected" : 1,
19207 "proxyto" : "node",
7aacca6f 19208 "returns" : {
44660702
DM
19209 "type" : "null"
19210 }
7aacca6f
DM
19211 }
19212 },
7aacca6f 19213 "leaf" : 1,
44660702
DM
19214 "path" : "/nodes/{node}/network/{iface}",
19215 "text" : "{iface}"
7aacca6f
DM
19216 }
19217 ],
7aacca6f 19218 "info" : {
44660702
DM
19219 "DELETE" : {
19220 "description" : "Revert network configuration changes.",
19221 "method" : "DELETE",
19222 "name" : "revert_network_changes",
7aacca6f
DM
19223 "parameters" : {
19224 "additionalProperties" : 0,
19225 "properties" : {
7aacca6f 19226 "node" : {
7aacca6f 19227 "description" : "The cluster node name.",
44660702 19228 "format" : "pve-node",
013dc89f
DM
19229 "type" : "string",
19230 "typetext" : "<string>"
7aacca6f
DM
19231 }
19232 }
44660702 19233 },
7aacca6f
DM
19234 "permissions" : {
19235 "check" : [
19236 "perm",
19237 "/nodes/{node}",
19238 [
19239 "Sys.Modify"
19240 ]
19241 ]
19242 },
44660702
DM
19243 "protected" : 1,
19244 "proxyto" : "node",
7aacca6f
DM
19245 "returns" : {
19246 "type" : "null"
44660702 19247 }
7aacca6f 19248 },
44660702
DM
19249 "GET" : {
19250 "description" : "List available networks",
19251 "method" : "GET",
19252 "name" : "index",
7aacca6f 19253 "parameters" : {
44660702 19254 "additionalProperties" : 0,
7aacca6f 19255 "properties" : {
7aacca6f 19256 "node" : {
44660702
DM
19257 "description" : "The cluster node name.",
19258 "format" : "pve-node",
013dc89f
DM
19259 "type" : "string",
19260 "typetext" : "<string>"
7aacca6f
DM
19261 },
19262 "type" : {
44660702 19263 "description" : "Only list specific interface types.",
7aacca6f
DM
19264 "enum" : [
19265 "bridge",
19266 "bond",
19267 "eth",
19268 "alias",
19269 "vlan",
19270 "OVSBridge",
19271 "OVSBond",
19272 "OVSPort",
19273 "OVSIntPort",
44660702 19274 "any_bridge"
7aacca6f 19275 ],
7aacca6f 19276 "optional" : 1,
44660702
DM
19277 "type" : "string"
19278 }
19279 }
19280 },
19281 "permissions" : {
19282 "user" : "all"
19283 },
19284 "proxyto" : "node",
19285 "returns" : {
19286 "items" : {
19287 "properties" : {},
19288 "type" : "object"
19289 },
19290 "links" : [
19291 {
19292 "href" : "{iface}",
19293 "rel" : "child"
19294 }
19295 ],
19296 "type" : "array"
19297 }
19298 },
19299 "POST" : {
19300 "description" : "Create network device configuration",
19301 "method" : "POST",
19302 "name" : "create_network",
19303 "parameters" : {
19304 "additionalProperties" : 0,
19305 "properties" : {
7aacca6f 19306 "address" : {
44660702
DM
19307 "description" : "IP address.",
19308 "format" : "ipv4",
19309 "optional" : 1,
7aacca6f 19310 "requires" : "netmask",
013dc89f
DM
19311 "type" : "string",
19312 "typetext" : "<string>"
44660702
DM
19313 },
19314 "address6" : {
7aacca6f 19315 "description" : "IP address.",
44660702
DM
19316 "format" : "ipv6",
19317 "optional" : 1,
19318 "requires" : "netmask6",
013dc89f
DM
19319 "type" : "string",
19320 "typetext" : "<string>"
44660702
DM
19321 },
19322 "autostart" : {
19323 "description" : "Automatically start interface on boot.",
7aacca6f 19324 "optional" : 1,
013dc89f
DM
19325 "type" : "boolean",
19326 "typetext" : "<boolean>"
7aacca6f
DM
19327 },
19328 "bond_mode" : {
19329 "description" : "Bonding mode.",
19330 "enum" : [
19331 "balance-rr",
19332 "active-backup",
19333 "balance-xor",
19334 "broadcast",
19335 "802.3ad",
19336 "balance-tlb",
19337 "balance-alb",
19338 "balance-slb",
19339 "lacp-balance-slb",
19340 "lacp-balance-tcp"
19341 ],
19342 "optional" : 1,
19343 "type" : "string"
19344 },
44660702
DM
19345 "bond_xmit_hash_policy" : {
19346 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19347 "enum" : [
19348 "layer2",
19349 "layer2+3",
19350 "layer3+4"
19351 ],
19352 "optional" : 1,
19353 "type" : "string"
19354 },
19355 "bridge_ports" : {
19356 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 19357 "format" : "pve-iface-list",
7aacca6f 19358 "optional" : 1,
013dc89f
DM
19359 "type" : "string",
19360 "typetext" : "<string>"
7aacca6f 19361 },
44660702
DM
19362 "bridge_vlan_aware" : {
19363 "description" : "Enable bridge vlan support.",
7aacca6f 19364 "optional" : 1,
013dc89f
DM
19365 "type" : "boolean",
19366 "typetext" : "<boolean>"
7aacca6f 19367 },
44660702
DM
19368 "comments" : {
19369 "description" : "Comments",
7aacca6f 19370 "optional" : 1,
013dc89f
DM
19371 "type" : "string",
19372 "typetext" : "<string>"
44660702
DM
19373 },
19374 "comments6" : {
19375 "description" : "Comments",
19376 "optional" : 1,
013dc89f
DM
19377 "type" : "string",
19378 "typetext" : "<string>"
44660702
DM
19379 },
19380 "gateway" : {
19381 "description" : "Default gateway address.",
19382 "format" : "ipv4",
19383 "optional" : 1,
013dc89f
DM
19384 "type" : "string",
19385 "typetext" : "<string>"
44660702
DM
19386 },
19387 "gateway6" : {
19388 "description" : "Default ipv6 gateway address.",
19389 "format" : "ipv6",
19390 "optional" : 1,
013dc89f
DM
19391 "type" : "string",
19392 "typetext" : "<string>"
56122987 19393 },
7aacca6f 19394 "iface" : {
44660702 19395 "description" : "Network interface name.",
7aacca6f
DM
19396 "format" : "pve-iface",
19397 "maxLength" : 20,
44660702 19398 "minLength" : 2,
013dc89f
DM
19399 "type" : "string",
19400 "typetext" : "<string>"
56122987 19401 },
44660702
DM
19402 "netmask" : {
19403 "description" : "Network mask.",
19404 "format" : "ipv4mask",
7aacca6f 19405 "optional" : 1,
44660702 19406 "requires" : "address",
013dc89f
DM
19407 "type" : "string",
19408 "typetext" : "<string>"
7aacca6f 19409 },
44660702
DM
19410 "netmask6" : {
19411 "description" : "Network mask.",
19412 "maximum" : 128,
19413 "minimum" : 0,
7aacca6f 19414 "optional" : 1,
44660702 19415 "requires" : "address6",
4bd7df8b 19416 "type" : "integer",
013dc89f 19417 "typetext" : "<integer> (0 - 128)"
7aacca6f 19418 },
44660702
DM
19419 "node" : {
19420 "description" : "The cluster node name.",
19421 "format" : "pve-node",
013dc89f
DM
19422 "type" : "string",
19423 "typetext" : "<string>"
44660702
DM
19424 },
19425 "ovs_bonds" : {
19426 "description" : "Specify the interfaces used by the bonding device.",
19427 "format" : "pve-iface-list",
7aacca6f 19428 "optional" : 1,
013dc89f
DM
19429 "type" : "string",
19430 "typetext" : "<string>"
7aacca6f 19431 },
44660702
DM
19432 "ovs_bridge" : {
19433 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19434 "format" : "pve-iface",
19435 "optional" : 1,
013dc89f
DM
19436 "type" : "string",
19437 "typetext" : "<string>"
44660702
DM
19438 },
19439 "ovs_options" : {
19440 "description" : "OVS interface options.",
19441 "maxLength" : 1024,
19442 "optional" : 1,
013dc89f
DM
19443 "type" : "string",
19444 "typetext" : "<string>"
44660702
DM
19445 },
19446 "ovs_ports" : {
19447 "description" : "Specify the iterfaces you want to add to your bridge.",
19448 "format" : "pve-iface-list",
19449 "optional" : 1,
013dc89f
DM
19450 "type" : "string",
19451 "typetext" : "<string>"
44660702
DM
19452 },
19453 "ovs_tag" : {
19454 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19455 "maximum" : 4094,
19456 "minimum" : 1,
19457 "optional" : 1,
4bd7df8b 19458 "type" : "integer",
013dc89f 19459 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19460 },
19461 "slaves" : {
19462 "description" : "Specify the interfaces used by the bonding device.",
19463 "format" : "pve-iface-list",
7aacca6f 19464 "optional" : 1,
013dc89f
DM
19465 "type" : "string",
19466 "typetext" : "<string>"
44660702
DM
19467 },
19468 "type" : {
19469 "description" : "Network interface type",
7aacca6f 19470 "enum" : [
44660702
DM
19471 "bridge",
19472 "bond",
19473 "eth",
19474 "alias",
19475 "vlan",
19476 "OVSBridge",
19477 "OVSBond",
19478 "OVSPort",
19479 "OVSIntPort",
19480 "unknown"
7aacca6f 19481 ],
44660702 19482 "type" : "string"
56122987 19483 }
44660702 19484 }
56122987 19485 },
56122987
DM
19486 "permissions" : {
19487 "check" : [
19488 "perm",
19489 "/nodes/{node}",
19490 [
7aacca6f 19491 "Sys.Modify"
44660702
DM
19492 ]
19493 ]
7aacca6f 19494 },
44660702
DM
19495 "protected" : 1,
19496 "proxyto" : "node",
19497 "returns" : {
19498 "type" : "null"
19499 }
19500 }
19501 },
19502 "leaf" : 0,
19503 "path" : "/nodes/{node}/network",
19504 "text" : "network"
19505 },
19506 {
19507 "children" : [
19508 {
7aacca6f
DM
19509 "children" : [
19510 {
19511 "info" : {
19512 "GET" : {
44660702 19513 "description" : "Read task log.",
7aacca6f
DM
19514 "method" : "GET",
19515 "name" : "read_task_log",
19516 "parameters" : {
44660702 19517 "additionalProperties" : 0,
7aacca6f 19518 "properties" : {
44660702
DM
19519 "limit" : {
19520 "minimum" : 0,
7aacca6f 19521 "optional" : 1,
4bd7df8b 19522 "type" : "integer",
013dc89f 19523 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
19524 },
19525 "node" : {
19526 "description" : "The cluster node name.",
44660702 19527 "format" : "pve-node",
013dc89f
DM
19528 "type" : "string",
19529 "typetext" : "<string>"
7aacca6f 19530 },
44660702
DM
19531 "start" : {
19532 "minimum" : 0,
7aacca6f 19533 "optional" : 1,
4bd7df8b 19534 "type" : "integer",
013dc89f 19535 "typetext" : "<integer> (0 - N)"
44660702
DM
19536 },
19537 "upid" : {
013dc89f
DM
19538 "type" : "string",
19539 "typetext" : "<string>"
7aacca6f 19540 }
44660702
DM
19541 }
19542 },
19543 "permissions" : {
19544 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19545 "user" : "all"
7aacca6f
DM
19546 },
19547 "protected" : 1,
44660702 19548 "proxyto" : "node",
7aacca6f 19549 "returns" : {
7aacca6f 19550 "items" : {
7aacca6f
DM
19551 "properties" : {
19552 "n" : {
44660702
DM
19553 "description" : "Line number",
19554 "type" : "integer"
7aacca6f
DM
19555 },
19556 "t" : {
44660702
DM
19557 "description" : "Line text",
19558 "type" : "string"
7aacca6f 19559 }
44660702
DM
19560 },
19561 "type" : "object"
19562 },
19563 "type" : "array"
19564 }
7aacca6f 19565 }
56122987 19566 },
7aacca6f 19567 "leaf" : 1,
44660702
DM
19568 "path" : "/nodes/{node}/tasks/{upid}/log",
19569 "text" : "log"
7aacca6f
DM
19570 },
19571 {
7aacca6f
DM
19572 "info" : {
19573 "GET" : {
44660702
DM
19574 "description" : "Read task status.",
19575 "method" : "GET",
7aacca6f
DM
19576 "name" : "read_task_status",
19577 "parameters" : {
19578 "additionalProperties" : 0,
19579 "properties" : {
19580 "node" : {
7aacca6f 19581 "description" : "The cluster node name.",
44660702 19582 "format" : "pve-node",
013dc89f
DM
19583 "type" : "string",
19584 "typetext" : "<string>"
7aacca6f
DM
19585 },
19586 "upid" : {
013dc89f
DM
19587 "type" : "string",
19588 "typetext" : "<string>"
7aacca6f
DM
19589 }
19590 }
19591 },
7aacca6f
DM
19592 "permissions" : {
19593 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19594 "user" : "all"
56122987 19595 },
44660702 19596 "protected" : 1,
7aacca6f 19597 "proxyto" : "node",
7aacca6f
DM
19598 "returns" : {
19599 "properties" : {
19600 "pid" : {
19601 "type" : "integer"
19602 },
19603 "status" : {
7aacca6f
DM
19604 "enum" : [
19605 "running",
19606 "stopped"
44660702
DM
19607 ],
19608 "type" : "string"
7aacca6f
DM
19609 }
19610 },
19611 "type" : "object"
56122987 19612 }
7aacca6f 19613 }
44660702
DM
19614 },
19615 "leaf" : 1,
19616 "path" : "/nodes/{node}/tasks/{upid}/status",
19617 "text" : "status"
56122987 19618 }
7aacca6f 19619 ],
44660702
DM
19620 "info" : {
19621 "DELETE" : {
19622 "description" : "Stop a task.",
19623 "method" : "DELETE",
19624 "name" : "stop_task",
19625 "parameters" : {
19626 "additionalProperties" : 0,
19627 "properties" : {
19628 "node" : {
19629 "description" : "The cluster node name.",
19630 "format" : "pve-node",
013dc89f
DM
19631 "type" : "string",
19632 "typetext" : "<string>"
44660702
DM
19633 },
19634 "upid" : {
013dc89f
DM
19635 "type" : "string",
19636 "typetext" : "<string>"
44660702 19637 }
7aacca6f 19638 }
44660702
DM
19639 },
19640 "permissions" : {
19641 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
19642 "user" : "all"
19643 },
19644 "protected" : 1,
19645 "proxyto" : "node",
19646 "returns" : {
19647 "type" : "null"
7aacca6f 19648 }
56122987 19649 },
44660702
DM
19650 "GET" : {
19651 "description" : "",
19652 "method" : "GET",
19653 "name" : "upid_index",
19654 "parameters" : {
19655 "additionalProperties" : 0,
19656 "properties" : {
19657 "node" : {
19658 "description" : "The cluster node name.",
19659 "format" : "pve-node",
013dc89f
DM
19660 "type" : "string",
19661 "typetext" : "<string>"
44660702
DM
19662 },
19663 "upid" : {
013dc89f
DM
19664 "type" : "string",
19665 "typetext" : "<string>"
44660702
DM
19666 }
19667 }
19668 },
19669 "permissions" : {
19670 "user" : "all"
19671 },
19672 "returns" : {
19673 "items" : {
19674 "properties" : {},
19675 "type" : "object"
19676 },
19677 "links" : [
19678 {
19679 "href" : "{name}",
19680 "rel" : "child"
19681 }
19682 ],
19683 "type" : "array"
56122987 19684 }
44660702 19685 }
56122987 19686 },
44660702
DM
19687 "leaf" : 0,
19688 "path" : "/nodes/{node}/tasks/{upid}",
19689 "text" : "{upid}"
19690 }
19691 ],
19692 "info" : {
19693 "GET" : {
7aacca6f 19694 "description" : "Read task list for one node (finished tasks).",
44660702
DM
19695 "method" : "GET",
19696 "name" : "node_tasks",
56122987 19697 "parameters" : {
7aacca6f 19698 "additionalProperties" : 0,
56122987 19699 "properties" : {
44660702 19700 "errors" : {
56122987 19701 "optional" : 1,
013dc89f
DM
19702 "type" : "boolean",
19703 "typetext" : "<boolean>"
56122987 19704 },
44660702 19705 "limit" : {
56122987 19706 "minimum" : 0,
56122987 19707 "optional" : 1,
4bd7df8b 19708 "type" : "integer",
013dc89f 19709 "typetext" : "<integer> (0 - N)"
56122987 19710 },
56122987
DM
19711 "node" : {
19712 "description" : "The cluster node name.",
44660702 19713 "format" : "pve-node",
013dc89f
DM
19714 "type" : "string",
19715 "typetext" : "<string>"
56122987 19716 },
44660702 19717 "start" : {
7aacca6f 19718 "minimum" : 0,
44660702 19719 "optional" : 1,
4bd7df8b 19720 "type" : "integer",
013dc89f 19721 "typetext" : "<integer> (0 - N)"
56122987 19722 },
7aacca6f 19723 "userfilter" : {
44660702 19724 "optional" : 1,
013dc89f
DM
19725 "type" : "string",
19726 "typetext" : "<string>"
44660702
DM
19727 },
19728 "vmid" : {
19729 "description" : "Only list tasks for this VM.",
19730 "format" : "pve-vmid",
19731 "minimum" : 1,
19732 "optional" : 1,
4bd7df8b 19733 "type" : "integer",
013dc89f 19734 "typetext" : "<integer> (1 - N)"
56122987
DM
19735 }
19736 }
19737 },
7aacca6f 19738 "permissions" : {
44660702 19739 "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
19740 "user" : "all"
19741 },
44660702 19742 "proxyto" : "node",
56122987
DM
19743 "returns" : {
19744 "items" : {
19745 "properties" : {
44660702 19746 "upid" : {
56122987
DM
19747 "type" : "string"
19748 }
19749 },
19750 "type" : "object"
19751 },
56122987
DM
19752 "links" : [
19753 {
44660702
DM
19754 "href" : "{upid}",
19755 "rel" : "child"
56122987 19756 }
44660702
DM
19757 ],
19758 "type" : "array"
56122987
DM
19759 }
19760 }
19761 },
44660702
DM
19762 "leaf" : 0,
19763 "path" : "/nodes/{node}/tasks",
19764 "text" : "tasks"
19765 },
19766 {
56122987
DM
19767 "children" : [
19768 {
56122987
DM
19769 "info" : {
19770 "GET" : {
7aacca6f 19771 "description" : "Scan zfs pool list on local node.",
44660702
DM
19772 "method" : "GET",
19773 "name" : "zfsscan",
56122987 19774 "parameters" : {
44660702 19775 "additionalProperties" : 0,
56122987 19776 "properties" : {
56122987
DM
19777 "node" : {
19778 "description" : "The cluster node name.",
44660702 19779 "format" : "pve-node",
013dc89f
DM
19780 "type" : "string",
19781 "typetext" : "<string>"
56122987 19782 }
44660702
DM
19783 }
19784 },
7aacca6f
DM
19785 "permissions" : {
19786 "check" : [
19787 "perm",
19788 "/storage",
19789 [
19790 "Datastore.Allocate"
19791 ]
19792 ]
19793 },
44660702
DM
19794 "protected" : 1,
19795 "proxyto" : "node",
56122987 19796 "returns" : {
56122987
DM
19797 "items" : {
19798 "properties" : {
44660702 19799 "pool" : {
56122987
DM
19800 "type" : "string"
19801 }
44660702
DM
19802 },
19803 "type" : "object"
19804 },
19805 "type" : "array"
19806 }
19807 }
19808 },
19809 "leaf" : 1,
19810 "path" : "/nodes/{node}/scan/zfs",
19811 "text" : "zfs"
19812 },
19813 {
19814 "info" : {
19815 "GET" : {
19816 "description" : "Scan remote NFS server.",
19817 "method" : "GET",
7aacca6f 19818 "name" : "nfsscan",
56122987 19819 "parameters" : {
44660702 19820 "additionalProperties" : 0,
56122987
DM
19821 "properties" : {
19822 "node" : {
7aacca6f 19823 "description" : "The cluster node name.",
44660702 19824 "format" : "pve-node",
013dc89f
DM
19825 "type" : "string",
19826 "typetext" : "<string>"
7aacca6f
DM
19827 },
19828 "server" : {
19829 "format" : "pve-storage-server",
013dc89f
DM
19830 "type" : "string",
19831 "typetext" : "<string>"
56122987 19832 }
44660702 19833 }
56122987 19834 },
56122987
DM
19835 "permissions" : {
19836 "check" : [
19837 "perm",
19838 "/storage",
19839 [
19840 "Datastore.Allocate"
19841 ]
19842 ]
19843 },
44660702 19844 "protected" : 1,
56122987 19845 "proxyto" : "node",
44660702
DM
19846 "returns" : {
19847 "items" : {
19848 "properties" : {
19849 "options" : {
19850 "type" : "string"
19851 },
19852 "path" : {
19853 "type" : "string"
19854 }
19855 },
19856 "type" : "object"
19857 },
19858 "type" : "array"
19859 }
19860 }
19861 },
19862 "leaf" : 1,
19863 "path" : "/nodes/{node}/scan/nfs",
19864 "text" : "nfs"
19865 },
19866 {
19867 "info" : {
19868 "GET" : {
19869 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
19870 "method" : "GET",
19871 "name" : "glusterfsscan",
56122987 19872 "parameters" : {
44660702 19873 "additionalProperties" : 0,
56122987 19874 "properties" : {
56122987 19875 "node" : {
44660702 19876 "description" : "The cluster node name.",
56122987 19877 "format" : "pve-node",
013dc89f
DM
19878 "type" : "string",
19879 "typetext" : "<string>"
7aacca6f
DM
19880 },
19881 "server" : {
19882 "format" : "pve-storage-server",
013dc89f
DM
19883 "type" : "string",
19884 "typetext" : "<string>"
56122987 19885 }
44660702
DM
19886 }
19887 },
19888 "permissions" : {
19889 "check" : [
19890 "perm",
19891 "/storage",
19892 [
19893 "Datastore.Allocate"
19894 ]
19895 ]
7aacca6f 19896 },
44660702
DM
19897 "protected" : 1,
19898 "proxyto" : "node",
19899 "returns" : {
19900 "items" : {
19901 "properties" : {
19902 "volname" : {
19903 "type" : "string"
19904 }
19905 },
19906 "type" : "object"
19907 },
19908 "type" : "array"
19909 }
56122987
DM
19910 }
19911 },
44660702
DM
19912 "leaf" : 1,
19913 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 19914 "text" : "glusterfs"
56122987
DM
19915 },
19916 {
56122987
DM
19917 "info" : {
19918 "GET" : {
7aacca6f 19919 "description" : "Scan remote iSCSI server.",
44660702
DM
19920 "method" : "GET",
19921 "name" : "iscsiscan",
19922 "parameters" : {
19923 "additionalProperties" : 0,
19924 "properties" : {
19925 "node" : {
19926 "description" : "The cluster node name.",
19927 "format" : "pve-node",
013dc89f
DM
19928 "type" : "string",
19929 "typetext" : "<string>"
44660702
DM
19930 },
19931 "portal" : {
19932 "format" : "pve-storage-portal-dns",
013dc89f
DM
19933 "type" : "string",
19934 "typetext" : "<string>"
44660702
DM
19935 }
19936 }
19937 },
56122987
DM
19938 "permissions" : {
19939 "check" : [
19940 "perm",
19941 "/storage",
19942 [
19943 "Datastore.Allocate"
19944 ]
19945 ]
19946 },
44660702
DM
19947 "protected" : 1,
19948 "proxyto" : "node",
56122987 19949 "returns" : {
56122987
DM
19950 "items" : {
19951 "properties" : {
44660702 19952 "portal" : {
56122987
DM
19953 "type" : "string"
19954 },
44660702 19955 "target" : {
56122987
DM
19956 "type" : "string"
19957 }
19958 },
19959 "type" : "object"
56122987 19960 },
44660702
DM
19961 "type" : "array"
19962 }
56122987
DM
19963 }
19964 },
44660702 19965 "leaf" : 1,
7aacca6f 19966 "path" : "/nodes/{node}/scan/iscsi",
44660702 19967 "text" : "iscsi"
56122987
DM
19968 },
19969 {
56122987
DM
19970 "info" : {
19971 "GET" : {
44660702
DM
19972 "description" : "List local LVM volume groups.",
19973 "method" : "GET",
19974 "name" : "lvmscan",
19975 "parameters" : {
19976 "additionalProperties" : 0,
19977 "properties" : {
19978 "node" : {
19979 "description" : "The cluster node name.",
19980 "format" : "pve-node",
013dc89f
DM
19981 "type" : "string",
19982 "typetext" : "<string>"
56122987 19983 }
7aacca6f 19984 }
56122987 19985 },
56122987
DM
19986 "permissions" : {
19987 "check" : [
19988 "perm",
19989 "/storage",
19990 [
19991 "Datastore.Allocate"
19992 ]
19993 ]
19994 },
7aacca6f 19995 "protected" : 1,
44660702
DM
19996 "proxyto" : "node",
19997 "returns" : {
19998 "items" : {
19999 "properties" : {
20000 "vg" : {
20001 "type" : "string"
20002 }
20003 },
20004 "type" : "object"
20005 },
20006 "type" : "array"
7aacca6f 20007 }
56122987
DM
20008 }
20009 },
20010 "leaf" : 1,
44660702
DM
20011 "path" : "/nodes/{node}/scan/lvm",
20012 "text" : "lvm"
56122987
DM
20013 },
20014 {
56122987
DM
20015 "info" : {
20016 "GET" : {
44660702
DM
20017 "description" : "List local LVM Thin Pools.",
20018 "method" : "GET",
20019 "name" : "lvmthinscan",
56122987 20020 "parameters" : {
44660702 20021 "additionalProperties" : 0,
56122987
DM
20022 "properties" : {
20023 "node" : {
44660702 20024 "description" : "The cluster node name.",
56122987 20025 "format" : "pve-node",
013dc89f
DM
20026 "type" : "string",
20027 "typetext" : "<string>"
56122987
DM
20028 },
20029 "vg" : {
44660702 20030 "maxLength" : 100,
56122987 20031 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 20032 "type" : "string"
56122987 20033 }
44660702 20034 }
56122987 20035 },
7aacca6f
DM
20036 "permissions" : {
20037 "check" : [
20038 "perm",
20039 "/storage",
20040 [
20041 "Datastore.Allocate"
20042 ]
20043 ]
20044 },
44660702 20045 "protected" : 1,
7aacca6f 20046 "proxyto" : "node",
56122987 20047 "returns" : {
56122987
DM
20048 "items" : {
20049 "properties" : {
20050 "lv" : {
20051 "type" : "string"
20052 }
20053 },
20054 "type" : "object"
44660702
DM
20055 },
20056 "type" : "array"
7aacca6f 20057 }
56122987
DM
20058 }
20059 },
7aacca6f 20060 "leaf" : 1,
44660702
DM
20061 "path" : "/nodes/{node}/scan/lvmthin",
20062 "text" : "lvmthin"
56122987
DM
20063 },
20064 {
56122987
DM
20065 "info" : {
20066 "GET" : {
44660702
DM
20067 "description" : "List local USB devices.",
20068 "method" : "GET",
20069 "name" : "usbscan",
20070 "parameters" : {
20071 "additionalProperties" : 0,
20072 "properties" : {
20073 "node" : {
20074 "description" : "The cluster node name.",
20075 "format" : "pve-node",
013dc89f
DM
20076 "type" : "string",
20077 "typetext" : "<string>"
44660702
DM
20078 }
20079 }
20080 },
7aacca6f
DM
20081 "permissions" : {
20082 "check" : [
20083 "perm",
20084 "/",
20085 [
20086 "Sys.Modify"
20087 ]
20088 ]
20089 },
44660702 20090 "protected" : 1,
7aacca6f 20091 "proxyto" : "node",
56122987
DM
20092 "returns" : {
20093 "items" : {
20094 "properties" : {
44660702
DM
20095 "busnum" : {
20096 "type" : "integer"
56122987 20097 },
44660702
DM
20098 "class" : {
20099 "type" : "integer"
56122987 20100 },
7aacca6f 20101 "devnum" : {
56122987
DM
20102 "type" : "integer"
20103 },
44660702
DM
20104 "level" : {
20105 "type" : "integer"
20106 },
20107 "manufacturer" : {
20108 "optional" : 1,
7aacca6f
DM
20109 "type" : "string"
20110 },
44660702 20111 "port" : {
56122987
DM
20112 "type" : "integer"
20113 },
44660702
DM
20114 "prodid" : {
20115 "type" : "string"
56122987 20116 },
44660702
DM
20117 "product" : {
20118 "optional" : 1,
20119 "type" : "string"
20120 },
20121 "serial" : {
7aacca6f 20122 "optional" : 1,
56122987
DM
20123 "type" : "string"
20124 },
44660702 20125 "speed" : {
7aacca6f 20126 "type" : "string"
56122987 20127 },
44660702 20128 "usbpath" : {
56122987
DM
20129 "optional" : 1,
20130 "type" : "string"
20131 },
44660702
DM
20132 "vendid" : {
20133 "type" : "string"
56122987
DM
20134 }
20135 },
20136 "type" : "object"
7aacca6f
DM
20137 },
20138 "type" : "array"
44660702
DM
20139 }
20140 }
20141 },
20142 "leaf" : 1,
20143 "path" : "/nodes/{node}/scan/usb",
20144 "text" : "usb"
20145 }
20146 ],
20147 "info" : {
20148 "GET" : {
20149 "description" : "Index of available scan methods",
20150 "method" : "GET",
20151 "name" : "index",
20152 "parameters" : {
20153 "additionalProperties" : 0,
20154 "properties" : {
20155 "node" : {
20156 "description" : "The cluster node name.",
20157 "format" : "pve-node",
013dc89f
DM
20158 "type" : "string",
20159 "typetext" : "<string>"
44660702
DM
20160 }
20161 }
20162 },
20163 "permissions" : {
20164 "user" : "all"
20165 },
20166 "returns" : {
20167 "items" : {
20168 "properties" : {
20169 "method" : {
20170 "type" : "string"
56122987
DM
20171 }
20172 },
44660702
DM
20173 "type" : "object"
20174 },
20175 "links" : [
20176 {
20177 "href" : "{method}",
20178 "rel" : "child"
20179 }
20180 ],
20181 "type" : "array"
56122987
DM
20182 }
20183 }
44660702
DM
20184 },
20185 "leaf" : 0,
20186 "path" : "/nodes/{node}/scan",
7aacca6f 20187 "text" : "scan"
56122987
DM
20188 },
20189 {
56122987
DM
20190 "children" : [
20191 {
56122987
DM
20192 "children" : [
20193 {
7aacca6f
DM
20194 "children" : [
20195 {
20196 "info" : {
44660702
DM
20197 "DELETE" : {
20198 "description" : "Delete volume",
20199 "method" : "DELETE",
20200 "name" : "delete",
7aacca6f
DM
20201 "parameters" : {
20202 "additionalProperties" : 0,
20203 "properties" : {
7aacca6f
DM
20204 "node" : {
20205 "description" : "The cluster node name.",
44660702 20206 "format" : "pve-node",
013dc89f
DM
20207 "type" : "string",
20208 "typetext" : "<string>"
44660702
DM
20209 },
20210 "storage" : {
20211 "description" : "The storage identifier.",
20212 "format" : "pve-storage-id",
20213 "optional" : 1,
013dc89f
DM
20214 "type" : "string",
20215 "typetext" : "<string>"
7aacca6f
DM
20216 },
20217 "volume" : {
20218 "description" : "Volume identifier",
013dc89f
DM
20219 "type" : "string",
20220 "typetext" : "<string>"
7aacca6f
DM
20221 }
20222 }
20223 },
44660702
DM
20224 "permissions" : {
20225 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
20226 "user" : "all"
20227 },
20228 "protected" : 1,
20229 "proxyto" : "node",
20230 "returns" : {
20231 "type" : "null"
20232 }
7aacca6f 20233 },
44660702
DM
20234 "GET" : {
20235 "description" : "Get volume attributes",
20236 "method" : "GET",
20237 "name" : "info",
7aacca6f
DM
20238 "parameters" : {
20239 "additionalProperties" : 0,
20240 "properties" : {
7aacca6f
DM
20241 "node" : {
20242 "description" : "The cluster node name.",
44660702 20243 "format" : "pve-node",
013dc89f
DM
20244 "type" : "string",
20245 "typetext" : "<string>"
7aacca6f
DM
20246 },
20247 "storage" : {
7aacca6f 20248 "description" : "The storage identifier.",
44660702 20249 "format" : "pve-storage-id",
7aacca6f 20250 "optional" : 1,
013dc89f
DM
20251 "type" : "string",
20252 "typetext" : "<string>"
44660702
DM
20253 },
20254 "volume" : {
20255 "description" : "Volume identifier",
013dc89f
DM
20256 "type" : "string",
20257 "typetext" : "<string>"
7aacca6f
DM
20258 }
20259 }
20260 },
7aacca6f 20261 "permissions" : {
44660702 20262 "description" : "You need read access for the volume.",
7aacca6f
DM
20263 "user" : "all"
20264 },
44660702 20265 "protected" : 1,
7aacca6f 20266 "proxyto" : "node",
7aacca6f 20267 "returns" : {
44660702 20268 "type" : "object"
7aacca6f
DM
20269 }
20270 },
20271 "POST" : {
44660702
DM
20272 "description" : "Copy a volume. This is experimental code - do not use.",
20273 "method" : "POST",
20274 "name" : "copy",
7aacca6f
DM
20275 "parameters" : {
20276 "additionalProperties" : 0,
20277 "properties" : {
44660702
DM
20278 "node" : {
20279 "description" : "The cluster node name.",
20280 "format" : "pve-node",
013dc89f
DM
20281 "type" : "string",
20282 "typetext" : "<string>"
44660702
DM
20283 },
20284 "storage" : {
20285 "description" : "The storage identifier.",
20286 "format" : "pve-storage-id",
20287 "optional" : 1,
013dc89f
DM
20288 "type" : "string",
20289 "typetext" : "<string>"
44660702 20290 },
7aacca6f 20291 "target" : {
44660702 20292 "description" : "Target volume identifier",
013dc89f
DM
20293 "type" : "string",
20294 "typetext" : "<string>"
7aacca6f
DM
20295 },
20296 "target_node" : {
7aacca6f 20297 "description" : "Target node. Default is local node.",
44660702
DM
20298 "format" : "pve-node",
20299 "optional" : 1,
013dc89f
DM
20300 "type" : "string",
20301 "typetext" : "<string>"
7aacca6f
DM
20302 },
20303 "volume" : {
44660702 20304 "description" : "Source volume identifier",
013dc89f
DM
20305 "type" : "string",
20306 "typetext" : "<string>"
7aacca6f
DM
20307 }
20308 }
20309 },
7aacca6f
DM
20310 "protected" : 1,
20311 "proxyto" : "node",
20312 "returns" : {
20313 "type" : "string"
44660702 20314 }
7aacca6f
DM
20315 }
20316 },
7aacca6f 20317 "leaf" : 1,
44660702
DM
20318 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
20319 "text" : "{volume}"
7aacca6f
DM
20320 }
20321 ],
56122987
DM
20322 "info" : {
20323 "GET" : {
44660702
DM
20324 "description" : "List storage content.",
20325 "method" : "GET",
20326 "name" : "index",
20327 "parameters" : {
20328 "additionalProperties" : 0,
20329 "properties" : {
20330 "content" : {
20331 "description" : "Only list content of this type.",
20332 "format" : "pve-storage-content",
20333 "optional" : 1,
013dc89f
DM
20334 "type" : "string",
20335 "typetext" : "<string>"
44660702
DM
20336 },
20337 "node" : {
20338 "description" : "The cluster node name.",
20339 "format" : "pve-node",
013dc89f
DM
20340 "type" : "string",
20341 "typetext" : "<string>"
44660702
DM
20342 },
20343 "storage" : {
20344 "description" : "The storage identifier.",
20345 "format" : "pve-storage-id",
013dc89f
DM
20346 "type" : "string",
20347 "typetext" : "<string>"
44660702
DM
20348 },
20349 "vmid" : {
20350 "description" : "Only list images for this VM",
20351 "format" : "pve-vmid",
20352 "minimum" : 1,
20353 "optional" : 1,
4bd7df8b 20354 "type" : "integer",
013dc89f 20355 "typetext" : "<integer> (1 - N)"
44660702
DM
20356 }
20357 }
20358 },
7aacca6f
DM
20359 "permissions" : {
20360 "check" : [
20361 "perm",
20362 "/storage/{storage}",
20363 [
20364 "Datastore.Audit",
20365 "Datastore.AllocateSpace"
20366 ],
20367 "any",
20368 1
20369 ]
20370 },
44660702 20371 "protected" : 1,
7aacca6f 20372 "proxyto" : "node",
56122987 20373 "returns" : {
44660702
DM
20374 "items" : {
20375 "properties" : {
20376 "volid" : {
20377 "type" : "string"
20378 }
20379 },
20380 "type" : "object"
20381 },
20382 "links" : [
20383 {
20384 "href" : "{volid}",
20385 "rel" : "child"
20386 }
20387 ],
20388 "type" : "array"
20389 }
20390 },
20391 "POST" : {
20392 "description" : "Allocate disk images.",
20393 "method" : "POST",
20394 "name" : "create",
56122987 20395 "parameters" : {
44660702 20396 "additionalProperties" : 0,
56122987 20397 "properties" : {
44660702
DM
20398 "filename" : {
20399 "description" : "The name of the file to create.",
013dc89f
DM
20400 "type" : "string",
20401 "typetext" : "<string>"
44660702
DM
20402 },
20403 "format" : {
20404 "enum" : [
20405 "raw",
20406 "qcow2",
20407 "subvol"
20408 ],
20409 "optional" : 1,
20410 "requires" : "size",
20411 "type" : "string"
20412 },
20413 "node" : {
20414 "description" : "The cluster node name.",
20415 "format" : "pve-node",
013dc89f
DM
20416 "type" : "string",
20417 "typetext" : "<string>"
44660702
DM
20418 },
20419 "size" : {
20420 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
20421 "pattern" : "\\d+[MG]?",
20422 "type" : "string"
20423 },
56122987
DM
20424 "storage" : {
20425 "description" : "The storage identifier.",
44660702 20426 "format" : "pve-storage-id",
013dc89f
DM
20427 "type" : "string",
20428 "typetext" : "<string>"
56122987 20429 },
44660702
DM
20430 "vmid" : {
20431 "description" : "Specify owner VM",
20432 "format" : "pve-vmid",
20433 "minimum" : 1,
4bd7df8b 20434 "type" : "integer",
013dc89f 20435 "typetext" : "<integer> (1 - N)"
44660702
DM
20436 }
20437 }
20438 },
20439 "permissions" : {
20440 "check" : [
20441 "perm",
20442 "/storage/{storage}",
20443 [
20444 "Datastore.AllocateSpace"
20445 ]
20446 ]
20447 },
20448 "protected" : 1,
20449 "proxyto" : "node",
20450 "returns" : {
20451 "description" : "Volume identifier",
20452 "type" : "string"
20453 }
20454 }
20455 },
20456 "leaf" : 0,
20457 "path" : "/nodes/{node}/storage/{storage}/content",
20458 "text" : "content"
20459 },
20460 {
20461 "info" : {
20462 "GET" : {
20463 "description" : "Read storage status.",
20464 "method" : "GET",
20465 "name" : "read_status",
20466 "parameters" : {
20467 "additionalProperties" : 0,
20468 "properties" : {
56122987
DM
20469 "node" : {
20470 "description" : "The cluster node name.",
44660702 20471 "format" : "pve-node",
013dc89f
DM
20472 "type" : "string",
20473 "typetext" : "<string>"
44660702
DM
20474 },
20475 "storage" : {
20476 "description" : "The storage identifier.",
20477 "format" : "pve-storage-id",
013dc89f
DM
20478 "type" : "string",
20479 "typetext" : "<string>"
56122987 20480 }
44660702
DM
20481 }
20482 },
20483 "permissions" : {
20484 "check" : [
20485 "perm",
20486 "/storage/{storage}",
20487 [
20488 "Datastore.Audit",
20489 "Datastore.AllocateSpace"
20490 ],
20491 "any",
20492 1
20493 ]
56122987
DM
20494 },
20495 "protected" : 1,
44660702
DM
20496 "proxyto" : "node",
20497 "returns" : {
20498 "properties" : {},
20499 "type" : "object"
20500 }
56122987
DM
20501 }
20502 },
44660702
DM
20503 "leaf" : 1,
20504 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 20505 "text" : "status"
56122987
DM
20506 },
20507 {
56122987
DM
20508 "info" : {
20509 "GET" : {
44660702
DM
20510 "description" : "Read storage RRD statistics (returns PNG).",
20511 "method" : "GET",
20512 "name" : "rrd",
56122987 20513 "parameters" : {
44660702 20514 "additionalProperties" : 0,
56122987 20515 "properties" : {
44660702
DM
20516 "cf" : {
20517 "description" : "The RRD consolidation function",
20518 "enum" : [
20519 "AVERAGE",
20520 "MAX"
20521 ],
20522 "optional" : 1,
20523 "type" : "string"
20524 },
7aacca6f 20525 "ds" : {
7aacca6f 20526 "description" : "The list of datasources you want to display.",
44660702 20527 "format" : "pve-configid-list",
013dc89f
DM
20528 "type" : "string",
20529 "typetext" : "<string>"
56122987 20530 },
7aacca6f
DM
20531 "node" : {
20532 "description" : "The cluster node name.",
44660702 20533 "format" : "pve-node",
013dc89f
DM
20534 "type" : "string",
20535 "typetext" : "<string>"
56122987 20536 },
7aacca6f 20537 "storage" : {
7aacca6f 20538 "description" : "The storage identifier.",
44660702 20539 "format" : "pve-storage-id",
013dc89f
DM
20540 "type" : "string",
20541 "typetext" : "<string>"
44660702
DM
20542 },
20543 "timeframe" : {
20544 "description" : "Specify the time frame you are interested in.",
7aacca6f 20545 "enum" : [
44660702
DM
20546 "hour",
20547 "day",
20548 "week",
20549 "month",
20550 "year"
7aacca6f 20551 ],
44660702 20552 "type" : "string"
56122987 20553 }
44660702 20554 }
56122987
DM
20555 },
20556 "permissions" : {
20557 "check" : [
20558 "perm",
20559 "/storage/{storage}",
20560 [
20561 "Datastore.Audit",
20562 "Datastore.AllocateSpace"
20563 ],
20564 "any",
20565 1
20566 ]
20567 },
44660702
DM
20568 "protected" : 1,
20569 "proxyto" : "node",
7aacca6f
DM
20570 "returns" : {
20571 "properties" : {
20572 "filename" : {
20573 "type" : "string"
20574 }
20575 },
20576 "type" : "object"
20577 }
56122987
DM
20578 }
20579 },
20580 "leaf" : 1,
44660702
DM
20581 "path" : "/nodes/{node}/storage/{storage}/rrd",
20582 "text" : "rrd"
56122987
DM
20583 },
20584 {
56122987
DM
20585 "info" : {
20586 "GET" : {
44660702
DM
20587 "description" : "Read storage RRD statistics.",
20588 "method" : "GET",
20589 "name" : "rrddata",
56122987 20590 "parameters" : {
44660702 20591 "additionalProperties" : 0,
56122987 20592 "properties" : {
44660702
DM
20593 "cf" : {
20594 "description" : "The RRD consolidation function",
20595 "enum" : [
20596 "AVERAGE",
20597 "MAX"
20598 ],
20599 "optional" : 1,
20600 "type" : "string"
20601 },
7aacca6f 20602 "node" : {
7aacca6f 20603 "description" : "The cluster node name.",
44660702 20604 "format" : "pve-node",
013dc89f
DM
20605 "type" : "string",
20606 "typetext" : "<string>"
44660702
DM
20607 },
20608 "storage" : {
20609 "description" : "The storage identifier.",
20610 "format" : "pve-storage-id",
013dc89f
DM
20611 "type" : "string",
20612 "typetext" : "<string>"
7aacca6f 20613 },
56122987 20614 "timeframe" : {
7aacca6f 20615 "description" : "Specify the time frame you are interested in.",
56122987
DM
20616 "enum" : [
20617 "hour",
20618 "day",
20619 "week",
20620 "month",
20621 "year"
56122987 20622 ],
44660702 20623 "type" : "string"
56122987 20624 }
44660702 20625 }
7aacca6f 20626 },
7aacca6f
DM
20627 "permissions" : {
20628 "check" : [
20629 "perm",
20630 "/storage/{storage}",
20631 [
20632 "Datastore.Audit",
20633 "Datastore.AllocateSpace"
20634 ],
20635 "any",
20636 1
20637 ]
20638 },
44660702
DM
20639 "protected" : 1,
20640 "proxyto" : "node",
7aacca6f
DM
20641 "returns" : {
20642 "items" : {
44660702
DM
20643 "properties" : {},
20644 "type" : "object"
7aacca6f
DM
20645 },
20646 "type" : "array"
56122987
DM
20647 }
20648 }
7aacca6f 20649 },
7aacca6f 20650 "leaf" : 1,
44660702
DM
20651 "path" : "/nodes/{node}/storage/{storage}/rrddata",
20652 "text" : "rrddata"
56122987
DM
20653 },
20654 {
56122987
DM
20655 "info" : {
20656 "POST" : {
7aacca6f 20657 "description" : "Upload templates and ISO images.",
44660702
DM
20658 "method" : "POST",
20659 "name" : "upload",
56122987 20660 "parameters" : {
7aacca6f 20661 "additionalProperties" : 0,
56122987 20662 "properties" : {
56122987 20663 "content" : {
7aacca6f 20664 "description" : "Content type.",
44660702 20665 "format" : "pve-storage-content",
013dc89f
DM
20666 "type" : "string",
20667 "typetext" : "<string>"
56122987
DM
20668 },
20669 "filename" : {
44660702 20670 "description" : "The name of the file to create.",
013dc89f
DM
20671 "type" : "string",
20672 "typetext" : "<string>"
56122987
DM
20673 },
20674 "node" : {
20675 "description" : "The cluster node name.",
44660702 20676 "format" : "pve-node",
013dc89f
DM
20677 "type" : "string",
20678 "typetext" : "<string>"
44660702
DM
20679 },
20680 "storage" : {
20681 "description" : "The storage identifier.",
20682 "format" : "pve-storage-id",
013dc89f
DM
20683 "type" : "string",
20684 "typetext" : "<string>"
44660702
DM
20685 },
20686 "tmpfilename" : {
20687 "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.",
20688 "optional" : 1,
013dc89f
DM
20689 "type" : "string",
20690 "typetext" : "<string>"
56122987 20691 }
7aacca6f 20692 }
56122987 20693 },
56122987
DM
20694 "permissions" : {
20695 "check" : [
20696 "perm",
20697 "/storage/{storage}",
20698 [
20699 "Datastore.AllocateTemplate"
20700 ]
20701 ]
44660702
DM
20702 },
20703 "protected" : 1,
20704 "returns" : {
20705 "type" : "string"
20706 }
20707 }
20708 },
20709 "leaf" : 1,
20710 "path" : "/nodes/{node}/storage/{storage}/upload",
20711 "text" : "upload"
20712 }
20713 ],
20714 "info" : {
20715 "GET" : {
20716 "description" : "",
20717 "method" : "GET",
20718 "name" : "diridx",
20719 "parameters" : {
20720 "additionalProperties" : 0,
20721 "properties" : {
20722 "node" : {
20723 "description" : "The cluster node name.",
20724 "format" : "pve-node",
013dc89f
DM
20725 "type" : "string",
20726 "typetext" : "<string>"
44660702
DM
20727 },
20728 "storage" : {
20729 "description" : "The storage identifier.",
20730 "format" : "pve-storage-id",
013dc89f
DM
20731 "type" : "string",
20732 "typetext" : "<string>"
56122987
DM
20733 }
20734 }
44660702
DM
20735 },
20736 "permissions" : {
20737 "check" : [
20738 "perm",
20739 "/storage/{storage}",
20740 [
20741 "Datastore.Audit",
20742 "Datastore.AllocateSpace"
20743 ],
20744 "any",
20745 1
20746 ]
20747 },
20748 "returns" : {
20749 "items" : {
20750 "properties" : {
20751 "subdir" : {
20752 "type" : "string"
20753 }
20754 },
20755 "type" : "object"
20756 },
20757 "links" : [
20758 {
20759 "href" : "{subdir}",
20760 "rel" : "child"
20761 }
20762 ],
20763 "type" : "array"
56122987
DM
20764 }
20765 }
44660702
DM
20766 },
20767 "leaf" : 0,
20768 "path" : "/nodes/{node}/storage/{storage}",
20769 "text" : "{storage}"
56122987
DM
20770 }
20771 ],
56122987
DM
20772 "info" : {
20773 "GET" : {
44660702
DM
20774 "description" : "Get status for all datastores.",
20775 "method" : "GET",
20776 "name" : "index",
20777 "parameters" : {
20778 "additionalProperties" : 0,
20779 "properties" : {
20780 "content" : {
20781 "description" : "Only list stores which support this content type.",
20782 "format" : "pve-storage-content-list",
20783 "optional" : 1,
013dc89f
DM
20784 "type" : "string",
20785 "typetext" : "<string>"
44660702
DM
20786 },
20787 "enabled" : {
20788 "default" : 0,
20789 "description" : "Only list stores which are enabled (not disabled in config).",
20790 "optional" : 1,
013dc89f
DM
20791 "type" : "boolean",
20792 "typetext" : "<boolean>"
44660702
DM
20793 },
20794 "node" : {
20795 "description" : "The cluster node name.",
20796 "format" : "pve-node",
013dc89f
DM
20797 "type" : "string",
20798 "typetext" : "<string>"
44660702
DM
20799 },
20800 "storage" : {
20801 "description" : "Only list status for specified storage",
20802 "format" : "pve-storage-id",
20803 "optional" : 1,
013dc89f
DM
20804 "type" : "string",
20805 "typetext" : "<string>"
44660702
DM
20806 },
20807 "target" : {
20808 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
20809 "format" : "pve-node",
20810 "optional" : 1,
013dc89f
DM
20811 "type" : "string",
20812 "typetext" : "<string>"
44660702
DM
20813 }
20814 }
20815 },
7aacca6f
DM
20816 "permissions" : {
20817 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
20818 "user" : "all"
20819 },
44660702 20820 "protected" : 1,
7aacca6f 20821 "proxyto" : "node",
56122987
DM
20822 "returns" : {
20823 "items" : {
56122987
DM
20824 "properties" : {
20825 "storage" : {
20826 "type" : "string"
20827 }
44660702
DM
20828 },
20829 "type" : "object"
56122987 20830 },
56122987
DM
20831 "links" : [
20832 {
7aacca6f
DM
20833 "href" : "{storage}",
20834 "rel" : "child"
56122987 20835 }
44660702
DM
20836 ],
20837 "type" : "array"
20838 }
56122987 20839 }
44660702
DM
20840 },
20841 "leaf" : 0,
20842 "path" : "/nodes/{node}/storage",
20843 "text" : "storage"
56122987 20844 },
2c0dde61
DM
20845 {
20846 "children" : [
20847 {
20848 "info" : {
20849 "GET" : {
20850 "description" : "List local disks.",
20851 "method" : "GET",
20852 "name" : "list",
20853 "parameters" : {
20854 "additionalProperties" : 0,
20855 "properties" : {
20856 "node" : {
20857 "description" : "The cluster node name.",
20858 "format" : "pve-node",
013dc89f
DM
20859 "type" : "string",
20860 "typetext" : "<string>"
2c0dde61
DM
20861 }
20862 }
20863 },
20864 "permissions" : {
20865 "check" : [
20866 "perm",
20867 "/",
20868 [
20869 "Sys.Audit",
20870 "Datastore.Audit"
20871 ],
20872 "any",
20873 1
20874 ]
20875 },
20876 "protected" : 1,
20877 "proxyto" : "node",
20878 "returns" : {
20879 "items" : {
20880 "properties" : {
20881 "devpath" : {
20882 "description" : "The device path",
20883 "type" : "string"
20884 },
20885 "gpt" : {
20886 "type" : "boolean"
20887 },
20888 "health" : {
20889 "optional" : 1,
20890 "type" : "string"
20891 },
20892 "model" : {
20893 "optional" : 1,
20894 "type" : "string"
20895 },
20896 "osdid" : {
20897 "type" : "integer"
20898 },
20899 "serial" : {
20900 "optional" : 1,
20901 "type" : "string"
20902 },
20903 "size" : {
20904 "type" : "integer"
20905 },
20906 "used" : {
20907 "optional" : 1,
20908 "type" : "string"
20909 },
20910 "vendor" : {
20911 "optional" : 1,
20912 "type" : "string"
20913 },
20914 "wwn" : {
20915 "optional" : 1,
20916 "type" : "string"
20917 }
20918 },
20919 "type" : "object"
20920 },
20921 "type" : "array"
20922 }
20923 }
20924 },
20925 "leaf" : 1,
20926 "path" : "/nodes/{node}/disks/list",
20927 "text" : "list"
20928 },
20929 {
20930 "info" : {
20931 "GET" : {
20932 "description" : "Get SMART Health of a disk.",
20933 "method" : "GET",
20934 "name" : "smart",
20935 "parameters" : {
20936 "additionalProperties" : 0,
20937 "properties" : {
20938 "disk" : {
20939 "description" : "Block device name",
20940 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
20941 "type" : "string"
20942 },
20943 "healthonly" : {
20944 "description" : "If true returns only the health status",
20945 "optional" : 1,
013dc89f
DM
20946 "type" : "boolean",
20947 "typetext" : "<boolean>"
2c0dde61
DM
20948 },
20949 "node" : {
20950 "description" : "The cluster node name.",
20951 "format" : "pve-node",
013dc89f
DM
20952 "type" : "string",
20953 "typetext" : "<string>"
2c0dde61
DM
20954 }
20955 }
20956 },
20957 "permissions" : {
20958 "check" : [
20959 "perm",
20960 "/",
20961 [
20962 "Sys.Audit",
20963 "Datastore.Audit"
20964 ],
20965 "any",
20966 1
20967 ]
20968 },
20969 "protected" : 1,
20970 "proxyto" : "node",
20971 "returns" : {
de0983cb
DM
20972 "properties" : {
20973 "attributes" : {
20974 "optional" : 1,
20975 "type" : "array"
20976 },
20977 "health" : {
20978 "type" : "string"
20979 },
20980 "text" : {
20981 "optional" : 1,
20982 "type" : "string"
20983 },
20984 "type" : {
20985 "optional" : 1,
20986 "type" : "string"
20987 }
20988 },
2c0dde61
DM
20989 "type" : "object"
20990 }
20991 }
20992 },
20993 "leaf" : 1,
20994 "path" : "/nodes/{node}/disks/smart",
20995 "text" : "smart"
20996 },
20997 {
20998 "info" : {
20999 "POST" : {
21000 "description" : "Initialize Disk with GPT",
21001 "method" : "POST",
21002 "name" : "initgpt",
21003 "parameters" : {
21004 "additionalProperties" : 0,
21005 "properties" : {
21006 "disk" : {
21007 "description" : "Block device name",
21008 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21009 "type" : "string"
21010 },
21011 "node" : {
21012 "description" : "The cluster node name.",
21013 "format" : "pve-node",
013dc89f
DM
21014 "type" : "string",
21015 "typetext" : "<string>"
2c0dde61
DM
21016 },
21017 "uuid" : {
21018 "description" : "UUID for the GPT table",
21019 "maxLength" : 36,
21020 "optional" : 1,
21021 "pattern" : "[a-fA-F0-9\\-]+",
21022 "type" : "string"
21023 }
21024 }
21025 },
21026 "permissions" : {
21027 "check" : [
21028 "perm",
21029 "/",
21030 [
21031 "Sys.Modify"
21032 ]
21033 ]
21034 },
21035 "protected" : 1,
21036 "proxyto" : "node",
21037 "returns" : {
21038 "type" : "string"
21039 }
21040 }
21041 },
21042 "leaf" : 1,
21043 "path" : "/nodes/{node}/disks/initgpt",
21044 "text" : "initgpt"
21045 }
21046 ],
21047 "info" : {
21048 "GET" : {
21049 "description" : "Node index.",
21050 "method" : "GET",
21051 "name" : "index",
21052 "parameters" : {
21053 "additionalProperties" : 0,
21054 "properties" : {
21055 "node" : {
21056 "description" : "The cluster node name.",
21057 "format" : "pve-node",
013dc89f
DM
21058 "type" : "string",
21059 "typetext" : "<string>"
2c0dde61
DM
21060 }
21061 }
21062 },
21063 "permissions" : {
21064 "user" : "all"
21065 },
21066 "proxyto" : "node",
21067 "returns" : {
21068 "items" : {
21069 "properties" : {},
21070 "type" : "object"
21071 },
21072 "links" : [
21073 {
21074 "href" : "{name}",
21075 "rel" : "child"
21076 }
21077 ],
21078 "type" : "array"
21079 }
21080 }
21081 },
21082 "leaf" : 0,
21083 "path" : "/nodes/{node}/disks",
21084 "text" : "disks"
21085 },
56122987 21086 {
56122987
DM
21087 "children" : [
21088 {
21089 "info" : {
44660702
DM
21090 "GET" : {
21091 "description" : "List available updates.",
21092 "method" : "GET",
21093 "name" : "list_updates",
21094 "parameters" : {
21095 "additionalProperties" : 0,
21096 "properties" : {
21097 "node" : {
21098 "description" : "The cluster node name.",
21099 "format" : "pve-node",
013dc89f
DM
21100 "type" : "string",
21101 "typetext" : "<string>"
44660702
DM
21102 }
21103 }
7aacca6f
DM
21104 },
21105 "permissions" : {
21106 "check" : [
21107 "perm",
21108 "/nodes/{node}",
21109 [
21110 "Sys.Modify"
21111 ]
21112 ]
21113 },
44660702 21114 "protected" : 1,
56122987 21115 "proxyto" : "node",
44660702
DM
21116 "returns" : {
21117 "items" : {
21118 "properties" : {},
21119 "type" : "object"
21120 },
21121 "type" : "array"
21122 }
21123 },
21124 "POST" : {
21125 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
21126 "method" : "POST",
21127 "name" : "update_database",
56122987
DM
21128 "parameters" : {
21129 "additionalProperties" : 0,
21130 "properties" : {
44660702
DM
21131 "node" : {
21132 "description" : "The cluster node name.",
21133 "format" : "pve-node",
013dc89f
DM
21134 "type" : "string",
21135 "typetext" : "<string>"
44660702 21136 },
56122987 21137 "notify" : {
56122987 21138 "default" : 0,
44660702
DM
21139 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
21140 "optional" : 1,
013dc89f
DM
21141 "type" : "boolean",
21142 "typetext" : "<boolean>"
56122987
DM
21143 },
21144 "quiet" : {
56122987 21145 "default" : 0,
44660702 21146 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 21147 "optional" : 1,
013dc89f
DM
21148 "type" : "boolean",
21149 "typetext" : "<boolean>"
56122987 21150 }
7aacca6f
DM
21151 }
21152 },
21153 "permissions" : {
21154 "check" : [
21155 "perm",
21156 "/nodes/{node}",
21157 [
21158 "Sys.Modify"
21159 ]
21160 ]
21161 },
44660702
DM
21162 "protected" : 1,
21163 "proxyto" : "node",
21164 "returns" : {
21165 "type" : "string"
21166 }
56122987
DM
21167 }
21168 },
7aacca6f 21169 "leaf" : 1,
44660702
DM
21170 "path" : "/nodes/{node}/apt/update",
21171 "text" : "update"
56122987
DM
21172 },
21173 {
56122987
DM
21174 "info" : {
21175 "GET" : {
44660702 21176 "description" : "Get package changelogs.",
56122987 21177 "method" : "GET",
7aacca6f 21178 "name" : "changelog",
56122987 21179 "parameters" : {
44660702 21180 "additionalProperties" : 0,
56122987
DM
21181 "properties" : {
21182 "name" : {
21183 "description" : "Package name.",
013dc89f
DM
21184 "type" : "string",
21185 "typetext" : "<string>"
56122987 21186 },
44660702
DM
21187 "node" : {
21188 "description" : "The cluster node name.",
21189 "format" : "pve-node",
013dc89f
DM
21190 "type" : "string",
21191 "typetext" : "<string>"
44660702 21192 },
56122987 21193 "version" : {
7aacca6f 21194 "description" : "Package version.",
44660702 21195 "optional" : 1,
013dc89f
DM
21196 "type" : "string",
21197 "typetext" : "<string>"
56122987 21198 }
44660702 21199 }
56122987 21200 },
44660702
DM
21201 "permissions" : {
21202 "check" : [
21203 "perm",
21204 "/nodes/{node}",
21205 [
21206 "Sys.Modify"
21207 ]
21208 ]
21209 },
21210 "proxyto" : "node",
21211 "returns" : {
21212 "type" : "string"
21213 }
56122987
DM
21214 }
21215 },
44660702
DM
21216 "leaf" : 1,
21217 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 21218 "text" : "changelog"
56122987
DM
21219 },
21220 {
56122987
DM
21221 "info" : {
21222 "GET" : {
44660702
DM
21223 "description" : "Get package information for important Proxmox packages.",
21224 "method" : "GET",
7aacca6f
DM
21225 "name" : "versions",
21226 "parameters" : {
44660702 21227 "additionalProperties" : 0,
7aacca6f
DM
21228 "properties" : {
21229 "node" : {
44660702 21230 "description" : "The cluster node name.",
7aacca6f 21231 "format" : "pve-node",
013dc89f
DM
21232 "type" : "string",
21233 "typetext" : "<string>"
7aacca6f 21234 }
44660702 21235 }
7aacca6f 21236 },
56122987
DM
21237 "permissions" : {
21238 "check" : [
21239 "perm",
21240 "/nodes/{node}",
21241 [
21242 "Sys.Audit"
21243 ]
21244 ]
21245 },
7aacca6f 21246 "proxyto" : "node",
56122987
DM
21247 "returns" : {
21248 "items" : {
7aacca6f
DM
21249 "properties" : {},
21250 "type" : "object"
44660702
DM
21251 },
21252 "type" : "array"
56122987
DM
21253 }
21254 }
21255 },
44660702 21256 "leaf" : 1,
7aacca6f 21257 "path" : "/nodes/{node}/apt/versions",
44660702 21258 "text" : "versions"
56122987
DM
21259 }
21260 ],
56122987
DM
21261 "info" : {
21262 "GET" : {
44660702 21263 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 21264 "method" : "GET",
44660702 21265 "name" : "index",
7aacca6f
DM
21266 "parameters" : {
21267 "additionalProperties" : 0,
21268 "properties" : {
21269 "node" : {
44660702 21270 "description" : "The cluster node name.",
7aacca6f 21271 "format" : "pve-node",
013dc89f
DM
21272 "type" : "string",
21273 "typetext" : "<string>"
7aacca6f
DM
21274 }
21275 }
21276 },
7aacca6f
DM
21277 "permissions" : {
21278 "user" : "all"
21279 },
44660702
DM
21280 "returns" : {
21281 "items" : {
21282 "properties" : {
21283 "id" : {
21284 "type" : "string"
21285 }
21286 },
21287 "type" : "object"
21288 },
21289 "links" : [
21290 {
21291 "href" : "{id}",
21292 "rel" : "child"
21293 }
21294 ],
21295 "type" : "array"
21296 }
56122987 21297 }
7aacca6f 21298 },
44660702 21299 "leaf" : 0,
7aacca6f 21300 "path" : "/nodes/{node}/apt",
44660702 21301 "text" : "apt"
56122987
DM
21302 },
21303 {
56122987
DM
21304 "children" : [
21305 {
21306 "children" : [
21307 {
56122987
DM
21308 "info" : {
21309 "DELETE" : {
44660702 21310 "description" : "Delete rule.",
7aacca6f 21311 "method" : "DELETE",
44660702 21312 "name" : "delete_rule",
56122987
DM
21313 "parameters" : {
21314 "additionalProperties" : 0,
21315 "properties" : {
56122987
DM
21316 "digest" : {
21317 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 21318 "maxLength" : 40,
56122987 21319 "optional" : 1,
013dc89f
DM
21320 "type" : "string",
21321 "typetext" : "<string>"
56122987 21322 },
44660702
DM
21323 "node" : {
21324 "description" : "The cluster node name.",
21325 "format" : "pve-node",
013dc89f
DM
21326 "type" : "string",
21327 "typetext" : "<string>"
44660702 21328 },
7aacca6f 21329 "pos" : {
7aacca6f 21330 "description" : "Update rule at position <pos>.",
44660702
DM
21331 "minimum" : 0,
21332 "optional" : 1,
4bd7df8b 21333 "type" : "integer",
013dc89f 21334 "typetext" : "<integer> (0 - N)"
56122987
DM
21335 }
21336 }
21337 },
44660702
DM
21338 "permissions" : {
21339 "check" : [
21340 "perm",
21341 "/nodes/{node}",
21342 [
21343 "Sys.Modify"
21344 ]
21345 ]
21346 },
21347 "protected" : 1,
21348 "proxyto" : "node",
56122987
DM
21349 "returns" : {
21350 "type" : "null"
44660702
DM
21351 }
21352 },
21353 "GET" : {
21354 "description" : "Get single rule data.",
21355 "method" : "GET",
21356 "name" : "get_rule",
21357 "parameters" : {
21358 "additionalProperties" : 0,
21359 "properties" : {
21360 "node" : {
21361 "description" : "The cluster node name.",
21362 "format" : "pve-node",
013dc89f
DM
21363 "type" : "string",
21364 "typetext" : "<string>"
44660702
DM
21365 },
21366 "pos" : {
21367 "description" : "Update rule at position <pos>.",
21368 "minimum" : 0,
21369 "optional" : 1,
4bd7df8b 21370 "type" : "integer",
013dc89f 21371 "typetext" : "<integer> (0 - N)"
44660702
DM
21372 }
21373 }
56122987 21374 },
56122987
DM
21375 "permissions" : {
21376 "check" : [
21377 "perm",
21378 "/nodes/{node}",
21379 [
44660702 21380 "Sys.Audit"
56122987
DM
21381 ]
21382 ]
44660702
DM
21383 },
21384 "proxyto" : "node",
21385 "returns" : {
21386 "properties" : {
21387 "pos" : {
21388 "type" : "integer"
21389 }
21390 },
21391 "type" : "object"
7aacca6f 21392 }
56122987
DM
21393 },
21394 "PUT" : {
44660702
DM
21395 "description" : "Modify rule data.",
21396 "method" : "PUT",
56122987 21397 "name" : "update_rule",
56122987 21398 "parameters" : {
44660702 21399 "additionalProperties" : 0,
56122987 21400 "properties" : {
44660702
DM
21401 "action" : {
21402 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21403 "maxLength" : 20,
21404 "minLength" : 2,
56122987 21405 "optional" : 1,
44660702
DM
21406 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21407 "type" : "string"
56122987 21408 },
7aacca6f 21409 "comment" : {
e94f0d56 21410 "description" : "Descriptive comment.",
56122987 21411 "optional" : 1,
013dc89f
DM
21412 "type" : "string",
21413 "typetext" : "<string>"
56122987 21414 },
44660702
DM
21415 "delete" : {
21416 "description" : "A list of settings you want to delete.",
21417 "format" : "pve-configid-list",
56122987 21418 "optional" : 1,
013dc89f
DM
21419 "type" : "string",
21420 "typetext" : "<string>"
56122987 21421 },
44660702
DM
21422 "dest" : {
21423 "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.",
21424 "format" : "pve-fw-addr-spec",
56122987 21425 "optional" : 1,
013dc89f
DM
21426 "type" : "string",
21427 "typetext" : "<string>"
56122987 21428 },
44660702
DM
21429 "digest" : {
21430 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21431 "maxLength" : 40,
56122987 21432 "optional" : 1,
013dc89f
DM
21433 "type" : "string",
21434 "typetext" : "<string>"
56122987 21435 },
7aacca6f 21436 "dport" : {
7aacca6f 21437 "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
21438 "format" : "pve-fw-dport-spec",
21439 "optional" : 1,
013dc89f
DM
21440 "type" : "string",
21441 "typetext" : "<string>"
7aacca6f 21442 },
44660702 21443 "enable" : {
e94f0d56 21444 "description" : "Flag to enable/disable a rule.",
44660702 21445 "minimum" : 0,
56122987 21446 "optional" : 1,
4bd7df8b 21447 "type" : "integer",
013dc89f 21448 "typetext" : "<integer> (0 - N)"
56122987 21449 },
7aacca6f 21450 "iface" : {
44660702 21451 "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 21452 "format" : "pve-iface",
44660702 21453 "maxLength" : 20,
56122987 21454 "minLength" : 2,
44660702 21455 "optional" : 1,
013dc89f
DM
21456 "type" : "string",
21457 "typetext" : "<string>"
56122987 21458 },
44660702 21459 "macro" : {
e94f0d56 21460 "description" : "Use predefined standard macro.",
44660702
DM
21461 "maxLength" : 128,
21462 "optional" : 1,
013dc89f
DM
21463 "type" : "string",
21464 "typetext" : "<string>"
44660702
DM
21465 },
21466 "moveto" : {
21467 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21468 "minimum" : 0,
7aacca6f 21469 "optional" : 1,
4bd7df8b 21470 "type" : "integer",
013dc89f 21471 "typetext" : "<integer> (0 - N)"
44660702
DM
21472 },
21473 "node" : {
21474 "description" : "The cluster node name.",
21475 "format" : "pve-node",
013dc89f
DM
21476 "type" : "string",
21477 "typetext" : "<string>"
56122987
DM
21478 },
21479 "pos" : {
44660702 21480 "description" : "Update rule at position <pos>.",
7aacca6f 21481 "minimum" : 0,
7aacca6f 21482 "optional" : 1,
4bd7df8b 21483 "type" : "integer",
013dc89f 21484 "typetext" : "<integer> (0 - N)"
7aacca6f 21485 },
44660702
DM
21486 "proto" : {
21487 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21488 "format" : "pve-fw-protocol-spec",
7aacca6f 21489 "optional" : 1,
013dc89f
DM
21490 "type" : "string",
21491 "typetext" : "<string>"
7aacca6f 21492 },
44660702
DM
21493 "source" : {
21494 "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.",
21495 "format" : "pve-fw-addr-spec",
56122987 21496 "optional" : 1,
013dc89f
DM
21497 "type" : "string",
21498 "typetext" : "<string>"
7aacca6f 21499 },
44660702
DM
21500 "sport" : {
21501 "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.",
21502 "format" : "pve-fw-sport-spec",
21503 "optional" : 1,
013dc89f
DM
21504 "type" : "string",
21505 "typetext" : "<string>"
44660702
DM
21506 },
21507 "type" : {
e94f0d56 21508 "description" : "Rule type.",
44660702
DM
21509 "enum" : [
21510 "in",
21511 "out",
21512 "group"
21513 ],
21514 "optional" : 1,
21515 "type" : "string"
56122987 21516 }
44660702 21517 }
56122987 21518 },
56122987
DM
21519 "permissions" : {
21520 "check" : [
21521 "perm",
21522 "/nodes/{node}",
21523 [
21524 "Sys.Modify"
21525 ]
21526 ]
7aacca6f 21527 },
44660702 21528 "protected" : 1,
7aacca6f 21529 "proxyto" : "node",
7aacca6f
DM
21530 "returns" : {
21531 "type" : "null"
56122987
DM
21532 }
21533 }
7aacca6f 21534 },
44660702 21535 "leaf" : 1,
7aacca6f 21536 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 21537 "text" : "{pos}"
56122987
DM
21538 }
21539 ],
56122987
DM
21540 "info" : {
21541 "GET" : {
44660702
DM
21542 "description" : "List rules.",
21543 "method" : "GET",
21544 "name" : "get_rules",
21545 "parameters" : {
21546 "additionalProperties" : 0,
21547 "properties" : {
21548 "node" : {
21549 "description" : "The cluster node name.",
21550 "format" : "pve-node",
013dc89f
DM
21551 "type" : "string",
21552 "typetext" : "<string>"
44660702
DM
21553 }
21554 }
21555 },
21556 "permissions" : {
21557 "check" : [
21558 "perm",
21559 "/nodes/{node}",
21560 [
21561 "Sys.Audit"
21562 ]
21563 ]
21564 },
21565 "proxyto" : "node",
56122987 21566 "returns" : {
56122987
DM
21567 "items" : {
21568 "properties" : {
21569 "pos" : {
21570 "type" : "integer"
21571 }
44660702
DM
21572 },
21573 "type" : "object"
56122987 21574 },
7aacca6f
DM
21575 "links" : [
21576 {
21577 "href" : "{pos}",
21578 "rel" : "child"
21579 }
21580 ],
21581 "type" : "array"
44660702 21582 }
56122987
DM
21583 },
21584 "POST" : {
44660702 21585 "description" : "Create new rule.",
7aacca6f
DM
21586 "method" : "POST",
21587 "name" : "create_rule",
56122987 21588 "parameters" : {
44660702 21589 "additionalProperties" : 0,
56122987 21590 "properties" : {
7aacca6f 21591 "action" : {
7aacca6f 21592 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 21593 "maxLength" : 20,
7aacca6f
DM
21594 "minLength" : 2,
21595 "optional" : 0,
44660702
DM
21596 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21597 "type" : "string"
56122987 21598 },
44660702 21599 "comment" : {
e94f0d56 21600 "description" : "Descriptive comment.",
56122987 21601 "optional" : 1,
013dc89f
DM
21602 "type" : "string",
21603 "typetext" : "<string>"
56122987 21604 },
44660702
DM
21605 "dest" : {
21606 "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.",
21607 "format" : "pve-fw-addr-spec",
7aacca6f 21608 "optional" : 1,
013dc89f
DM
21609 "type" : "string",
21610 "typetext" : "<string>"
56122987 21611 },
44660702
DM
21612 "digest" : {
21613 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21614 "maxLength" : 40,
21615 "optional" : 1,
013dc89f
DM
21616 "type" : "string",
21617 "typetext" : "<string>"
56122987 21618 },
44660702
DM
21619 "dport" : {
21620 "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.",
21621 "format" : "pve-fw-dport-spec",
7aacca6f 21622 "optional" : 1,
013dc89f
DM
21623 "type" : "string",
21624 "typetext" : "<string>"
56122987 21625 },
44660702 21626 "enable" : {
e94f0d56 21627 "description" : "Flag to enable/disable a rule.",
44660702
DM
21628 "minimum" : 0,
21629 "optional" : 1,
4bd7df8b 21630 "type" : "integer",
013dc89f 21631 "typetext" : "<integer> (0 - N)"
44660702 21632 },
7aacca6f 21633 "iface" : {
44660702 21634 "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 21635 "format" : "pve-iface",
56122987 21636 "maxLength" : 20,
7aacca6f 21637 "minLength" : 2,
7aacca6f 21638 "optional" : 1,
013dc89f
DM
21639 "type" : "string",
21640 "typetext" : "<string>"
56122987 21641 },
44660702 21642 "macro" : {
e94f0d56 21643 "description" : "Use predefined standard macro.",
44660702 21644 "maxLength" : 128,
7aacca6f 21645 "optional" : 1,
013dc89f
DM
21646 "type" : "string",
21647 "typetext" : "<string>"
56122987 21648 },
44660702
DM
21649 "node" : {
21650 "description" : "The cluster node name.",
21651 "format" : "pve-node",
013dc89f
DM
21652 "type" : "string",
21653 "typetext" : "<string>"
44660702
DM
21654 },
21655 "pos" : {
21656 "description" : "Update rule at position <pos>.",
21657 "minimum" : 0,
21658 "optional" : 1,
4bd7df8b 21659 "type" : "integer",
013dc89f 21660 "typetext" : "<integer> (0 - N)"
44660702
DM
21661 },
21662 "proto" : {
21663 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21664 "format" : "pve-fw-protocol-spec",
56122987 21665 "optional" : 1,
013dc89f
DM
21666 "type" : "string",
21667 "typetext" : "<string>"
56122987 21668 },
7aacca6f 21669 "source" : {
7aacca6f 21670 "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
21671 "format" : "pve-fw-addr-spec",
21672 "optional" : 1,
013dc89f
DM
21673 "type" : "string",
21674 "typetext" : "<string>"
7aacca6f 21675 },
44660702
DM
21676 "sport" : {
21677 "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.",
21678 "format" : "pve-fw-sport-spec",
7aacca6f 21679 "optional" : 1,
013dc89f
DM
21680 "type" : "string",
21681 "typetext" : "<string>"
44660702
DM
21682 },
21683 "type" : {
e94f0d56 21684 "description" : "Rule type.",
44660702
DM
21685 "enum" : [
21686 "in",
21687 "out",
21688 "group"
21689 ],
21690 "optional" : 0,
21691 "type" : "string"
56122987 21692 }
44660702 21693 }
7aacca6f 21694 },
56122987
DM
21695 "permissions" : {
21696 "check" : [
21697 "perm",
21698 "/nodes/{node}",
21699 [
21700 "Sys.Modify"
21701 ]
21702 ]
21703 },
44660702
DM
21704 "protected" : 1,
21705 "proxyto" : "node",
21706 "returns" : {
21707 "type" : "null"
21708 }
56122987
DM
21709 }
21710 },
44660702 21711 "leaf" : 0,
7aacca6f 21712 "path" : "/nodes/{node}/firewall/rules",
44660702 21713 "text" : "rules"
56122987
DM
21714 },
21715 {
56122987 21716 "info" : {
44660702
DM
21717 "GET" : {
21718 "description" : "Get host firewall options.",
21719 "method" : "GET",
21720 "name" : "get_options",
56122987 21721 "parameters" : {
7aacca6f 21722 "additionalProperties" : 0,
56122987 21723 "properties" : {
44660702
DM
21724 "node" : {
21725 "description" : "The cluster node name.",
21726 "format" : "pve-node",
013dc89f
DM
21727 "type" : "string",
21728 "typetext" : "<string>"
44660702
DM
21729 }
21730 }
21731 },
21732 "permissions" : {
21733 "check" : [
21734 "perm",
21735 "/nodes/{node}",
21736 [
21737 "Sys.Audit"
21738 ]
21739 ]
21740 },
21741 "proxyto" : "node",
21742 "returns" : {
21743 "properties" : {
21744 "enable" : {
21745 "description" : "Enable host firewall rules.",
7aacca6f 21746 "optional" : 1,
44660702 21747 "type" : "boolean"
7aacca6f 21748 },
44660702
DM
21749 "log_level_in" : {
21750 "description" : "Log level for incoming traffic.",
56122987
DM
21751 "enum" : [
21752 "emerg",
21753 "alert",
21754 "crit",
21755 "err",
21756 "warning",
21757 "notice",
21758 "info",
21759 "debug",
21760 "nolog"
21761 ],
56122987 21762 "optional" : 1,
44660702
DM
21763 "type" : "string"
21764 },
21765 "log_level_out" : {
21766 "description" : "Log level for outgoing traffic.",
56122987
DM
21767 "enum" : [
21768 "emerg",
21769 "alert",
21770 "crit",
21771 "err",
21772 "warning",
21773 "notice",
21774 "info",
21775 "debug",
21776 "nolog"
21777 ],
44660702
DM
21778 "optional" : 1,
21779 "type" : "string"
21780 },
21781 "ndp" : {
21782 "description" : "Enable NDP.",
21783 "optional" : 1,
21784 "type" : "boolean"
21785 },
21786 "nf_conntrack_max" : {
21787 "description" : "Maximum number of tracked connections.",
21788 "minimum" : 32768,
21789 "optional" : 1,
21790 "type" : "integer"
21791 },
21792 "nf_conntrack_tcp_timeout_established" : {
21793 "description" : "Conntrack established timeout.",
21794 "minimum" : 7875,
21795 "optional" : 1,
21796 "type" : "integer"
21797 },
21798 "nosmurfs" : {
21799 "description" : "Enable SMURFS filter.",
21800 "optional" : 1,
21801 "type" : "boolean"
56122987 21802 },
7aacca6f 21803 "smurf_log_level" : {
44660702 21804 "description" : "Log level for SMURFS filter.",
56122987
DM
21805 "enum" : [
21806 "emerg",
21807 "alert",
21808 "crit",
21809 "err",
21810 "warning",
21811 "notice",
21812 "info",
21813 "debug",
21814 "nolog"
7aacca6f 21815 ],
7aacca6f
DM
21816 "optional" : 1,
21817 "type" : "string"
56122987 21818 },
44660702
DM
21819 "tcp_flags_log_level" : {
21820 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21821 "enum" : [
21822 "emerg",
21823 "alert",
21824 "crit",
21825 "err",
21826 "warning",
21827 "notice",
21828 "info",
21829 "debug",
21830 "nolog"
21831 ],
44660702
DM
21832 "optional" : 1,
21833 "type" : "string"
7aacca6f 21834 },
44660702
DM
21835 "tcpflags" : {
21836 "description" : "Filter illegal combinations of TCP flags.",
56122987 21837 "optional" : 1,
44660702 21838 "type" : "boolean"
56122987 21839 }
44660702
DM
21840 },
21841 "type" : "object"
7aacca6f 21842 }
56122987 21843 },
44660702
DM
21844 "PUT" : {
21845 "description" : "Set Firewall options.",
21846 "method" : "PUT",
21847 "name" : "set_options",
7aacca6f 21848 "parameters" : {
44660702 21849 "additionalProperties" : 0,
7aacca6f 21850 "properties" : {
44660702
DM
21851 "delete" : {
21852 "description" : "A list of settings you want to delete.",
21853 "format" : "pve-configid-list",
7aacca6f 21854 "optional" : 1,
013dc89f
DM
21855 "type" : "string",
21856 "typetext" : "<string>"
56122987 21857 },
44660702
DM
21858 "digest" : {
21859 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21860 "maxLength" : 40,
21861 "optional" : 1,
013dc89f
DM
21862 "type" : "string",
21863 "typetext" : "<string>"
56122987 21864 },
44660702
DM
21865 "enable" : {
21866 "description" : "Enable host firewall rules.",
7aacca6f 21867 "optional" : 1,
013dc89f
DM
21868 "type" : "boolean",
21869 "typetext" : "<boolean>"
44660702
DM
21870 },
21871 "log_level_in" : {
21872 "description" : "Log level for incoming traffic.",
56122987
DM
21873 "enum" : [
21874 "emerg",
21875 "alert",
21876 "crit",
21877 "err",
21878 "warning",
21879 "notice",
21880 "info",
21881 "debug",
21882 "nolog"
44660702 21883 ],
7aacca6f 21884 "optional" : 1,
44660702 21885 "type" : "string"
7aacca6f 21886 },
44660702
DM
21887 "log_level_out" : {
21888 "description" : "Log level for outgoing traffic.",
56122987
DM
21889 "enum" : [
21890 "emerg",
21891 "alert",
21892 "crit",
21893 "err",
21894 "warning",
21895 "notice",
21896 "info",
21897 "debug",
21898 "nolog"
21899 ],
21900 "optional" : 1,
7aacca6f 21901 "type" : "string"
56122987 21902 },
44660702
DM
21903 "ndp" : {
21904 "description" : "Enable NDP.",
7aacca6f 21905 "optional" : 1,
013dc89f
DM
21906 "type" : "boolean",
21907 "typetext" : "<boolean>"
44660702
DM
21908 },
21909 "nf_conntrack_max" : {
21910 "description" : "Maximum number of tracked connections.",
21911 "minimum" : 32768,
21912 "optional" : 1,
4bd7df8b 21913 "type" : "integer",
013dc89f 21914 "typetext" : "<integer> (32768 - N)"
44660702
DM
21915 },
21916 "nf_conntrack_tcp_timeout_established" : {
21917 "description" : "Conntrack established timeout.",
21918 "minimum" : 7875,
21919 "optional" : 1,
4bd7df8b 21920 "type" : "integer",
013dc89f 21921 "typetext" : "<integer> (7875 - N)"
44660702
DM
21922 },
21923 "node" : {
21924 "description" : "The cluster node name.",
21925 "format" : "pve-node",
013dc89f
DM
21926 "type" : "string",
21927 "typetext" : "<string>"
44660702
DM
21928 },
21929 "nosmurfs" : {
21930 "description" : "Enable SMURFS filter.",
21931 "optional" : 1,
013dc89f
DM
21932 "type" : "boolean",
21933 "typetext" : "<boolean>"
44660702
DM
21934 },
21935 "smurf_log_level" : {
21936 "description" : "Log level for SMURFS filter.",
56122987
DM
21937 "enum" : [
21938 "emerg",
21939 "alert",
21940 "crit",
21941 "err",
21942 "warning",
21943 "notice",
21944 "info",
21945 "debug",
21946 "nolog"
44660702
DM
21947 ],
21948 "optional" : 1,
21949 "type" : "string"
56122987 21950 },
44660702
DM
21951 "tcp_flags_log_level" : {
21952 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
21953 "enum" : [
21954 "emerg",
21955 "alert",
21956 "crit",
21957 "err",
21958 "warning",
21959 "notice",
21960 "info",
21961 "debug",
21962 "nolog"
21963 ],
44660702
DM
21964 "optional" : 1,
21965 "type" : "string"
7aacca6f 21966 },
44660702
DM
21967 "tcpflags" : {
21968 "description" : "Filter illegal combinations of TCP flags.",
56122987 21969 "optional" : 1,
013dc89f
DM
21970 "type" : "boolean",
21971 "typetext" : "<boolean>"
56122987 21972 }
7aacca6f 21973 }
56122987 21974 },
44660702
DM
21975 "permissions" : {
21976 "check" : [
21977 "perm",
21978 "/nodes/{node}",
21979 [
21980 "Sys.Modify"
21981 ]
21982 ]
21983 },
21984 "protected" : 1,
21985 "proxyto" : "node",
21986 "returns" : {
21987 "type" : "null"
21988 }
7aacca6f
DM
21989 }
21990 },
44660702
DM
21991 "leaf" : 1,
21992 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
21993 "text" : "options"
21994 },
21995 {
7aacca6f
DM
21996 "info" : {
21997 "GET" : {
44660702
DM
21998 "description" : "Read firewall log",
21999 "method" : "GET",
7aacca6f 22000 "name" : "log",
56122987 22001 "parameters" : {
44660702 22002 "additionalProperties" : 0,
56122987 22003 "properties" : {
7aacca6f 22004 "limit" : {
44660702 22005 "minimum" : 0,
7aacca6f 22006 "optional" : 1,
4bd7df8b 22007 "type" : "integer",
013dc89f 22008 "typetext" : "<integer> (0 - N)"
7aacca6f 22009 },
56122987 22010 "node" : {
7aacca6f 22011 "description" : "The cluster node name.",
44660702 22012 "format" : "pve-node",
013dc89f
DM
22013 "type" : "string",
22014 "typetext" : "<string>"
44660702
DM
22015 },
22016 "start" : {
22017 "minimum" : 0,
22018 "optional" : 1,
4bd7df8b 22019 "type" : "integer",
013dc89f 22020 "typetext" : "<integer> (0 - N)"
56122987 22021 }
44660702 22022 }
7aacca6f 22023 },
56122987
DM
22024 "permissions" : {
22025 "check" : [
22026 "perm",
22027 "/nodes/{node}",
22028 [
22029 "Sys.Syslog"
22030 ]
22031 ]
22032 },
44660702
DM
22033 "protected" : 1,
22034 "proxyto" : "node",
56122987
DM
22035 "returns" : {
22036 "items" : {
56122987 22037 "properties" : {
56122987 22038 "n" : {
44660702
DM
22039 "description" : "Line number",
22040 "type" : "integer"
7aacca6f
DM
22041 },
22042 "t" : {
44660702
DM
22043 "description" : "Line text",
22044 "type" : "string"
56122987 22045 }
44660702
DM
22046 },
22047 "type" : "object"
56122987
DM
22048 },
22049 "type" : "array"
7aacca6f 22050 }
56122987
DM
22051 }
22052 },
44660702
DM
22053 "leaf" : 1,
22054 "path" : "/nodes/{node}/firewall/log",
7aacca6f 22055 "text" : "log"
56122987
DM
22056 }
22057 ],
22058 "info" : {
22059 "GET" : {
44660702
DM
22060 "description" : "Directory index.",
22061 "method" : "GET",
22062 "name" : "index",
56122987 22063 "parameters" : {
44660702 22064 "additionalProperties" : 0,
56122987
DM
22065 "properties" : {
22066 "node" : {
22067 "description" : "The cluster node name.",
44660702 22068 "format" : "pve-node",
013dc89f
DM
22069 "type" : "string",
22070 "typetext" : "<string>"
56122987 22071 }
44660702 22072 }
56122987 22073 },
7aacca6f
DM
22074 "permissions" : {
22075 "user" : "all"
22076 },
56122987
DM
22077 "returns" : {
22078 "items" : {
22079 "properties" : {},
22080 "type" : "object"
22081 },
56122987
DM
22082 "links" : [
22083 {
44660702
DM
22084 "href" : "{name}",
22085 "rel" : "child"
56122987 22086 }
44660702
DM
22087 ],
22088 "type" : "array"
22089 }
56122987 22090 }
7aacca6f 22091 },
44660702 22092 "leaf" : 0,
7aacca6f 22093 "path" : "/nodes/{node}/firewall",
44660702 22094 "text" : "firewall"
56122987
DM
22095 },
22096 {
56122987
DM
22097 "info" : {
22098 "GET" : {
44660702
DM
22099 "description" : "API version details",
22100 "method" : "GET",
22101 "name" : "version",
56122987 22102 "parameters" : {
44660702 22103 "additionalProperties" : 0,
56122987
DM
22104 "properties" : {
22105 "node" : {
56122987 22106 "description" : "The cluster node name.",
44660702 22107 "format" : "pve-node",
013dc89f
DM
22108 "type" : "string",
22109 "typetext" : "<string>"
56122987 22110 }
44660702 22111 }
56122987 22112 },
56122987 22113 "permissions" : {
7aacca6f 22114 "user" : "all"
56122987 22115 },
56122987 22116 "proxyto" : "node",
56122987 22117 "returns" : {
56122987 22118 "properties" : {
44660702 22119 "release" : {
56122987
DM
22120 "type" : "string"
22121 },
44660702 22122 "repoid" : {
7aacca6f
DM
22123 "type" : "string"
22124 },
22125 "version" : {
22126 "type" : "string"
22127 }
44660702
DM
22128 },
22129 "type" : "object"
7aacca6f 22130 }
56122987
DM
22131 }
22132 },
56122987 22133 "leaf" : 1,
44660702
DM
22134 "path" : "/nodes/{node}/version",
22135 "text" : "version"
56122987
DM
22136 },
22137 {
56122987
DM
22138 "info" : {
22139 "GET" : {
7aacca6f 22140 "description" : "Read node status",
44660702 22141 "method" : "GET",
7aacca6f 22142 "name" : "status",
56122987 22143 "parameters" : {
44660702 22144 "additionalProperties" : 0,
56122987
DM
22145 "properties" : {
22146 "node" : {
7aacca6f 22147 "description" : "The cluster node name.",
44660702 22148 "format" : "pve-node",
013dc89f
DM
22149 "type" : "string",
22150 "typetext" : "<string>"
56122987 22151 }
44660702 22152 }
56122987 22153 },
56122987
DM
22154 "permissions" : {
22155 "check" : [
22156 "perm",
22157 "/nodes/{node}",
22158 [
22159 "Sys.Audit"
22160 ]
22161 ]
44660702
DM
22162 },
22163 "proxyto" : "node",
22164 "returns" : {
22165 "properties" : {},
22166 "type" : "object"
7aacca6f
DM
22167 }
22168 },
22169 "POST" : {
44660702
DM
22170 "description" : "Reboot or shutdown a node.",
22171 "method" : "POST",
7aacca6f 22172 "name" : "node_cmd",
56122987 22173 "parameters" : {
44660702 22174 "additionalProperties" : 0,
56122987 22175 "properties" : {
7aacca6f
DM
22176 "command" : {
22177 "description" : "Specify the command.",
56122987 22178 "enum" : [
7aacca6f
DM
22179 "reboot",
22180 "shutdown"
56122987
DM
22181 ],
22182 "type" : "string"
44660702
DM
22183 },
22184 "node" : {
22185 "description" : "The cluster node name.",
22186 "format" : "pve-node",
013dc89f
DM
22187 "type" : "string",
22188 "typetext" : "<string>"
56122987 22189 }
44660702 22190 }
7aacca6f 22191 },
7aacca6f
DM
22192 "permissions" : {
22193 "check" : [
22194 "perm",
22195 "/nodes/{node}",
22196 [
22197 "Sys.PowerMgmt"
22198 ]
22199 ]
22200 },
44660702 22201 "protected" : 1,
7aacca6f 22202 "proxyto" : "node",
7aacca6f
DM
22203 "returns" : {
22204 "type" : "null"
56122987
DM
22205 }
22206 }
22207 },
7aacca6f 22208 "leaf" : 1,
44660702
DM
22209 "path" : "/nodes/{node}/status",
22210 "text" : "status"
56122987
DM
22211 },
22212 {
56122987
DM
22213 "info" : {
22214 "GET" : {
44660702
DM
22215 "description" : "Read tap/vm network device interface counters",
22216 "method" : "GET",
22217 "name" : "netstat",
22218 "parameters" : {
22219 "additionalProperties" : 0,
22220 "properties" : {
22221 "node" : {
22222 "description" : "The cluster node name.",
22223 "format" : "pve-node",
013dc89f
DM
22224 "type" : "string",
22225 "typetext" : "<string>"
44660702 22226 }
56122987
DM
22227 }
22228 },
22229 "permissions" : {
22230 "check" : [
22231 "perm",
22232 "/nodes/{node}",
22233 [
7aacca6f 22234 "Sys.Audit"
56122987
DM
22235 ]
22236 ]
22237 },
7aacca6f 22238 "proxyto" : "node",
44660702
DM
22239 "returns" : {
22240 "items" : {
22241 "properties" : {},
22242 "type" : "object"
22243 },
22244 "type" : "array"
22245 }
7aacca6f
DM
22246 }
22247 },
44660702
DM
22248 "leaf" : 1,
22249 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
22250 "text" : "netstat"
22251 },
22252 {
22253 "info" : {
22254 "POST" : {
7aacca6f 22255 "description" : "Execute multiple commands in order.",
7aacca6f 22256 "method" : "POST",
7aacca6f 22257 "name" : "execute",
56122987
DM
22258 "parameters" : {
22259 "additionalProperties" : 0,
22260 "properties" : {
7aacca6f
DM
22261 "commands" : {
22262 "description" : "JSON encoded array of commands.",
013dc89f
DM
22263 "type" : "string",
22264 "typetext" : "<string>"
56122987
DM
22265 },
22266 "node" : {
44660702 22267 "description" : "The cluster node name.",
56122987 22268 "format" : "pve-node",
013dc89f
DM
22269 "type" : "string",
22270 "typetext" : "<string>"
56122987
DM
22271 }
22272 }
44660702
DM
22273 },
22274 "permissions" : {
22275 "check" : [
22276 "perm",
22277 "/nodes/{node}",
22278 [
22279 "Sys.Audit"
22280 ]
22281 ]
22282 },
22283 "protected" : 1,
22284 "proxyto" : "node",
22285 "returns" : {
22286 "properties" : {},
22287 "type" : "array"
56122987
DM
22288 }
22289 }
22290 },
56122987 22291 "leaf" : 1,
44660702
DM
22292 "path" : "/nodes/{node}/execute",
22293 "text" : "execute"
56122987
DM
22294 },
22295 {
22296 "info" : {
7aacca6f 22297 "GET" : {
44660702
DM
22298 "description" : "Read node RRD statistics (returns PNG)",
22299 "method" : "GET",
7aacca6f 22300 "name" : "rrd",
56122987 22301 "parameters" : {
7aacca6f 22302 "additionalProperties" : 0,
56122987 22303 "properties" : {
44660702
DM
22304 "cf" : {
22305 "description" : "The RRD consolidation function",
22306 "enum" : [
22307 "AVERAGE",
22308 "MAX"
22309 ],
22310 "optional" : 1,
22311 "type" : "string"
22312 },
7aacca6f 22313 "ds" : {
7aacca6f 22314 "description" : "The list of datasources you want to display.",
44660702 22315 "format" : "pve-configid-list",
013dc89f
DM
22316 "type" : "string",
22317 "typetext" : "<string>"
44660702
DM
22318 },
22319 "node" : {
22320 "description" : "The cluster node name.",
22321 "format" : "pve-node",
013dc89f
DM
22322 "type" : "string",
22323 "typetext" : "<string>"
7aacca6f
DM
22324 },
22325 "timeframe" : {
22326 "description" : "Specify the time frame you are interested in.",
22327 "enum" : [
22328 "hour",
22329 "day",
22330 "week",
22331 "month",
22332 "year"
22333 ],
22334 "type" : "string"
56122987 22335 }
7aacca6f 22336 }
56122987 22337 },
56122987 22338 "permissions" : {
56122987
DM
22339 "check" : [
22340 "perm",
22341 "/nodes/{node}",
22342 [
7aacca6f 22343 "Sys.Audit"
56122987
DM
22344 ]
22345 ]
22346 },
7aacca6f 22347 "protected" : 1,
56122987 22348 "returns" : {
56122987 22349 "properties" : {
7aacca6f 22350 "filename" : {
56122987
DM
22351 "type" : "string"
22352 }
44660702
DM
22353 },
22354 "type" : "object"
22355 }
56122987
DM
22356 }
22357 },
44660702 22358 "leaf" : 1,
7aacca6f 22359 "path" : "/nodes/{node}/rrd",
44660702 22360 "text" : "rrd"
56122987
DM
22361 },
22362 {
22363 "info" : {
7aacca6f 22364 "GET" : {
44660702
DM
22365 "description" : "Read node RRD statistics",
22366 "method" : "GET",
7aacca6f 22367 "name" : "rrddata",
56122987 22368 "parameters" : {
44660702 22369 "additionalProperties" : 0,
56122987 22370 "properties" : {
7aacca6f 22371 "cf" : {
7aacca6f
DM
22372 "description" : "The RRD consolidation function",
22373 "enum" : [
22374 "AVERAGE",
22375 "MAX"
44660702
DM
22376 ],
22377 "optional" : 1,
22378 "type" : "string"
56122987
DM
22379 },
22380 "node" : {
44660702 22381 "description" : "The cluster node name.",
56122987 22382 "format" : "pve-node",
013dc89f
DM
22383 "type" : "string",
22384 "typetext" : "<string>"
56122987 22385 },
7aacca6f 22386 "timeframe" : {
7aacca6f
DM
22387 "description" : "Specify the time frame you are interested in.",
22388 "enum" : [
22389 "hour",
22390 "day",
22391 "week",
22392 "month",
22393 "year"
44660702
DM
22394 ],
22395 "type" : "string"
56122987 22396 }
56122987
DM
22397 }
22398 },
56122987
DM
22399 "permissions" : {
22400 "check" : [
22401 "perm",
22402 "/nodes/{node}",
22403 [
44660702 22404 "Sys.Audit"
56122987
DM
22405 ]
22406 ]
7aacca6f 22407 },
44660702 22408 "protected" : 1,
56122987 22409 "returns" : {
7aacca6f 22410 "items" : {
44660702 22411 "properties" : {},
7aacca6f
DM
22412 "type" : "object"
22413 },
22414 "type" : "array"
44660702
DM
22415 }
22416 }
22417 },
22418 "leaf" : 1,
22419 "path" : "/nodes/{node}/rrddata",
22420 "text" : "rrddata"
22421 },
22422 {
22423 "info" : {
22424 "GET" : {
22425 "description" : "Read system log",
22426 "method" : "GET",
22427 "name" : "syslog",
56122987 22428 "parameters" : {
44660702 22429 "additionalProperties" : 0,
56122987 22430 "properties" : {
44660702
DM
22431 "limit" : {
22432 "minimum" : 0,
7aacca6f 22433 "optional" : 1,
4bd7df8b 22434 "type" : "integer",
013dc89f 22435 "typetext" : "<integer> (0 - N)"
7aacca6f 22436 },
56122987 22437 "node" : {
7aacca6f 22438 "description" : "The cluster node name.",
44660702 22439 "format" : "pve-node",
013dc89f
DM
22440 "type" : "string",
22441 "typetext" : "<string>"
56122987 22442 },
44660702
DM
22443 "since" : {
22444 "description" : "Display all log since this date-time string.",
22445 "optional" : 1,
22446 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
22447 "type" : "string"
22448 },
22449 "start" : {
7aacca6f
DM
22450 "minimum" : 0,
22451 "optional" : 1,
4bd7df8b 22452 "type" : "integer",
013dc89f 22453 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22454 },
22455 "until" : {
22456 "description" : "Display all log until this date-time string.",
7aacca6f 22457 "optional" : 1,
44660702 22458 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
22459 "type" : "string"
22460 }
44660702 22461 }
56122987 22462 },
44660702
DM
22463 "permissions" : {
22464 "check" : [
22465 "perm",
22466 "/nodes/{node}",
22467 [
22468 "Sys.Syslog"
22469 ]
22470 ]
22471 },
22472 "protected" : 1,
22473 "proxyto" : "node",
22474 "returns" : {
22475 "items" : {
22476 "properties" : {
22477 "n" : {
22478 "description" : "Line number",
22479 "type" : "integer"
22480 },
22481 "t" : {
22482 "description" : "Line text",
22483 "type" : "string"
22484 }
22485 },
22486 "type" : "object"
22487 },
22488 "type" : "array"
22489 }
56122987
DM
22490 }
22491 },
44660702
DM
22492 "leaf" : 1,
22493 "path" : "/nodes/{node}/syslog",
7aacca6f 22494 "text" : "syslog"
56122987
DM
22495 },
22496 {
56122987
DM
22497 "info" : {
22498 "POST" : {
44660702
DM
22499 "description" : "Creates a VNC Shell proxy.",
22500 "method" : "POST",
22501 "name" : "vncshell",
22502 "parameters" : {
22503 "additionalProperties" : 0,
56122987 22504 "properties" : {
44660702
DM
22505 "node" : {
22506 "description" : "The cluster node name.",
22507 "format" : "pve-node",
013dc89f
DM
22508 "type" : "string",
22509 "typetext" : "<string>"
7aacca6f 22510 },
44660702
DM
22511 "upgrade" : {
22512 "default" : 0,
22513 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22514 "optional" : 1,
013dc89f
DM
22515 "type" : "boolean",
22516 "typetext" : "<boolean>"
7aacca6f 22517 },
44660702
DM
22518 "websocket" : {
22519 "description" : "use websocket instead of standard vnc.",
22520 "optional" : 1,
013dc89f
DM
22521 "type" : "boolean",
22522 "typetext" : "<boolean>"
56122987 22523 }
44660702 22524 }
56122987 22525 },
56122987
DM
22526 "permissions" : {
22527 "check" : [
22528 "perm",
7aacca6f 22529 "/nodes/{node}",
56122987 22530 [
7aacca6f 22531 "Sys.Console"
56122987 22532 ]
44660702
DM
22533 ],
22534 "description" : "Restricted to users on realm 'pam'"
56122987 22535 },
44660702
DM
22536 "protected" : 1,
22537 "returns" : {
22538 "additionalProperties" : 0,
56122987 22539 "properties" : {
44660702
DM
22540 "cert" : {
22541 "type" : "string"
7aacca6f 22542 },
44660702
DM
22543 "port" : {
22544 "type" : "integer"
7aacca6f 22545 },
44660702
DM
22546 "ticket" : {
22547 "type" : "string"
22548 },
22549 "upid" : {
22550 "type" : "string"
22551 },
22552 "user" : {
22553 "type" : "string"
56122987 22554 }
44660702
DM
22555 }
22556 }
56122987
DM
22557 }
22558 },
7aacca6f 22559 "leaf" : 1,
44660702
DM
22560 "path" : "/nodes/{node}/vncshell",
22561 "text" : "vncshell"
56122987
DM
22562 },
22563 {
22564 "info" : {
22565 "GET" : {
7aacca6f 22566 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
22567 "method" : "GET",
22568 "name" : "vncwebsocket",
56122987 22569 "parameters" : {
44660702 22570 "additionalProperties" : 0,
56122987
DM
22571 "properties" : {
22572 "node" : {
22573 "description" : "The cluster node name.",
44660702 22574 "format" : "pve-node",
013dc89f
DM
22575 "type" : "string",
22576 "typetext" : "<string>"
7aacca6f
DM
22577 },
22578 "port" : {
7aacca6f
DM
22579 "description" : "Port number returned by previous vncproxy call.",
22580 "maximum" : 5999,
44660702 22581 "minimum" : 5900,
4bd7df8b 22582 "type" : "integer",
013dc89f 22583 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
22584 },
22585 "vncticket" : {
22586 "description" : "Ticket from previous call to vncproxy.",
22587 "maxLength" : 512,
013dc89f
DM
22588 "type" : "string",
22589 "typetext" : "<string>"
56122987 22590 }
44660702 22591 }
56122987 22592 },
56122987
DM
22593 "permissions" : {
22594 "check" : [
22595 "perm",
22596 "/nodes/{node}",
22597 [
7aacca6f 22598 "Sys.Console"
56122987 22599 ]
44660702
DM
22600 ],
22601 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
22602 },
22603 "returns" : {
22604 "properties" : {
22605 "port" : {
22606 "type" : "string"
22607 }
22608 },
22609 "type" : "object"
7aacca6f 22610 }
56122987
DM
22611 }
22612 },
44660702 22613 "leaf" : 1,
7aacca6f 22614 "path" : "/nodes/{node}/vncwebsocket",
44660702 22615 "text" : "vncwebsocket"
56122987
DM
22616 },
22617 {
22618 "info" : {
22619 "POST" : {
44660702 22620 "description" : "Creates a SPICE shell.",
7aacca6f 22621 "method" : "POST",
44660702 22622 "name" : "spiceshell",
56122987 22623 "parameters" : {
7aacca6f 22624 "additionalProperties" : 0,
56122987 22625 "properties" : {
7aacca6f 22626 "node" : {
44660702 22627 "description" : "The cluster node name.",
56122987 22628 "format" : "pve-node",
013dc89f
DM
22629 "type" : "string",
22630 "typetext" : "<string>"
7aacca6f 22631 },
44660702
DM
22632 "proxy" : {
22633 "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).",
22634 "format" : "address",
22635 "optional" : 1,
013dc89f
DM
22636 "type" : "string",
22637 "typetext" : "<string>"
7aacca6f 22638 },
44660702
DM
22639 "upgrade" : {
22640 "default" : 0,
22641 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22642 "optional" : 1,
013dc89f
DM
22643 "type" : "boolean",
22644 "typetext" : "<boolean>"
56122987 22645 }
7aacca6f 22646 }
56122987 22647 },
56122987
DM
22648 "permissions" : {
22649 "check" : [
22650 "perm",
7aacca6f 22651 "/nodes/{node}",
56122987 22652 [
7aacca6f 22653 "Sys.Console"
56122987 22654 ]
7aacca6f
DM
22655 ],
22656 "description" : "Restricted to users on realm 'pam'"
44660702
DM
22657 },
22658 "protected" : 1,
22659 "proxyto" : "node",
22660 "returns" : {
22661 "additionalProperties" : 1,
22662 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22663 "properties" : {
22664 "host" : {
22665 "type" : "string"
22666 },
22667 "password" : {
22668 "type" : "string"
22669 },
22670 "proxy" : {
22671 "type" : "string"
22672 },
22673 "tls-port" : {
22674 "type" : "integer"
22675 },
22676 "type" : {
22677 "type" : "string"
22678 }
22679 }
7aacca6f 22680 }
56122987
DM
22681 }
22682 },
56122987 22683 "leaf" : 1,
44660702
DM
22684 "path" : "/nodes/{node}/spiceshell",
22685 "text" : "spiceshell"
56122987
DM
22686 },
22687 {
56122987 22688 "info" : {
7aacca6f 22689 "GET" : {
44660702 22690 "description" : "Read DNS settings.",
7aacca6f 22691 "method" : "GET",
44660702
DM
22692 "name" : "dns",
22693 "parameters" : {
7aacca6f
DM
22694 "additionalProperties" : 0,
22695 "properties" : {
44660702
DM
22696 "node" : {
22697 "description" : "The cluster node name.",
22698 "format" : "pve-node",
013dc89f
DM
22699 "type" : "string",
22700 "typetext" : "<string>"
7aacca6f
DM
22701 }
22702 }
22703 },
7aacca6f
DM
22704 "permissions" : {
22705 "check" : [
22706 "perm",
22707 "/nodes/{node}",
22708 [
22709 "Sys.Audit"
22710 ]
22711 ]
22712 },
44660702
DM
22713 "proxyto" : "node",
22714 "returns" : {
56122987
DM
22715 "additionalProperties" : 0,
22716 "properties" : {
44660702
DM
22717 "dns1" : {
22718 "description" : "First name server IP address.",
22719 "optional" : 1,
22720 "type" : "string"
22721 },
22722 "dns2" : {
22723 "description" : "Second name server IP address.",
22724 "optional" : 1,
22725 "type" : "string"
22726 },
22727 "dns3" : {
22728 "description" : "Third name server IP address.",
22729 "optional" : 1,
22730 "type" : "string"
22731 },
22732 "search" : {
22733 "description" : "Search domain for host-name lookup.",
22734 "optional" : 1,
22735 "type" : "string"
7aacca6f 22736 }
44660702
DM
22737 },
22738 "type" : "object"
22739 }
7aacca6f
DM
22740 },
22741 "PUT" : {
44660702
DM
22742 "description" : "Write DNS settings.",
22743 "method" : "PUT",
7aacca6f
DM
22744 "name" : "update_dns",
22745 "parameters" : {
22746 "additionalProperties" : 0,
22747 "properties" : {
44660702
DM
22748 "dns1" : {
22749 "description" : "First name server IP address.",
22750 "format" : "ip",
22751 "optional" : 1,
013dc89f
DM
22752 "type" : "string",
22753 "typetext" : "<string>"
7aacca6f 22754 },
44660702
DM
22755 "dns2" : {
22756 "description" : "Second name server IP address.",
22757 "format" : "ip",
7aacca6f 22758 "optional" : 1,
013dc89f
DM
22759 "type" : "string",
22760 "typetext" : "<string>"
7aacca6f 22761 },
44660702
DM
22762 "dns3" : {
22763 "description" : "Third name server IP address.",
22764 "format" : "ip",
7aacca6f 22765 "optional" : 1,
013dc89f
DM
22766 "type" : "string",
22767 "typetext" : "<string>"
7aacca6f
DM
22768 },
22769 "node" : {
44660702 22770 "description" : "The cluster node name.",
56122987 22771 "format" : "pve-node",
013dc89f
DM
22772 "type" : "string",
22773 "typetext" : "<string>"
7aacca6f 22774 },
44660702
DM
22775 "search" : {
22776 "description" : "Search domain for host-name lookup.",
013dc89f
DM
22777 "type" : "string",
22778 "typetext" : "<string>"
56122987
DM
22779 }
22780 }
22781 },
22782 "permissions" : {
22783 "check" : [
22784 "perm",
7aacca6f 22785 "/nodes/{node}",
56122987 22786 [
7aacca6f 22787 "Sys.Modify"
56122987
DM
22788 ]
22789 ]
22790 },
44660702 22791 "protected" : 1,
7aacca6f 22792 "proxyto" : "node",
56122987 22793 "returns" : {
7aacca6f
DM
22794 "type" : "null"
22795 }
56122987 22796 }
44660702
DM
22797 },
22798 "leaf" : 1,
22799 "path" : "/nodes/{node}/dns",
22800 "text" : "dns"
56122987
DM
22801 },
22802 {
22803 "info" : {
7aacca6f 22804 "GET" : {
7aacca6f 22805 "description" : "Read server time and time zone settings.",
44660702
DM
22806 "method" : "GET",
22807 "name" : "time",
56122987 22808 "parameters" : {
44660702 22809 "additionalProperties" : 0,
56122987
DM
22810 "properties" : {
22811 "node" : {
44660702 22812 "description" : "The cluster node name.",
56122987 22813 "format" : "pve-node",
013dc89f
DM
22814 "type" : "string",
22815 "typetext" : "<string>"
56122987 22816 }
44660702 22817 }
56122987
DM
22818 },
22819 "permissions" : {
22820 "check" : [
22821 "perm",
7aacca6f 22822 "/nodes/{node}",
56122987 22823 [
7aacca6f 22824 "Sys.Audit"
56122987
DM
22825 ]
22826 ]
44660702
DM
22827 },
22828 "proxyto" : "node",
22829 "returns" : {
22830 "additionalProperties" : 0,
22831 "properties" : {
22832 "localtime" : {
22833 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
22834 "minimum" : 1297163644,
22835 "type" : "integer"
22836 },
22837 "time" : {
22838 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
22839 "minimum" : 1297163644,
22840 "type" : "integer"
22841 },
22842 "timezone" : {
22843 "description" : "Time zone",
22844 "type" : "string"
22845 }
22846 },
22847 "type" : "object"
7aacca6f
DM
22848 }
22849 },
22850 "PUT" : {
7aacca6f 22851 "description" : "Set time zone.",
44660702
DM
22852 "method" : "PUT",
22853 "name" : "set_timezone",
22854 "parameters" : {
22855 "additionalProperties" : 0,
22856 "properties" : {
22857 "node" : {
22858 "description" : "The cluster node name.",
22859 "format" : "pve-node",
013dc89f
DM
22860 "type" : "string",
22861 "typetext" : "<string>"
44660702
DM
22862 },
22863 "timezone" : {
22864 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
22865 "type" : "string",
22866 "typetext" : "<string>"
44660702
DM
22867 }
22868 }
22869 },
7aacca6f
DM
22870 "permissions" : {
22871 "check" : [
22872 "perm",
22873 "/nodes/{node}",
22874 [
22875 "Sys.Modify"
22876 ]
22877 ]
56122987 22878 },
7aacca6f 22879 "protected" : 1,
44660702
DM
22880 "proxyto" : "node",
22881 "returns" : {
22882 "type" : "null"
22883 }
7aacca6f
DM
22884 }
22885 },
7aacca6f 22886 "leaf" : 1,
44660702
DM
22887 "path" : "/nodes/{node}/time",
22888 "text" : "time"
7aacca6f
DM
22889 },
22890 {
22891 "info" : {
44660702
DM
22892 "GET" : {
22893 "description" : "Get list of appliances.",
22894 "method" : "GET",
22895 "name" : "aplinfo",
7aacca6f
DM
22896 "parameters" : {
22897 "additionalProperties" : 0,
22898 "properties" : {
7aacca6f 22899 "node" : {
44660702 22900 "description" : "The cluster node name.",
7aacca6f 22901 "format" : "pve-node",
013dc89f
DM
22902 "type" : "string",
22903 "typetext" : "<string>"
7aacca6f
DM
22904 }
22905 }
56122987 22906 },
7aacca6f 22907 "permissions" : {
44660702 22908 "user" : "all"
56122987 22909 },
44660702 22910 "proxyto" : "node",
7aacca6f
DM
22911 "returns" : {
22912 "items" : {
44660702
DM
22913 "properties" : {},
22914 "type" : "object"
7aacca6f
DM
22915 },
22916 "type" : "array"
44660702
DM
22917 }
22918 },
22919 "POST" : {
22920 "description" : "Download appliance templates.",
22921 "method" : "POST",
22922 "name" : "apl_download",
7aacca6f
DM
22923 "parameters" : {
22924 "additionalProperties" : 0,
22925 "properties" : {
22926 "node" : {
7aacca6f 22927 "description" : "The cluster node name.",
44660702 22928 "format" : "pve-node",
013dc89f
DM
22929 "type" : "string",
22930 "typetext" : "<string>"
44660702
DM
22931 },
22932 "storage" : {
4bd7df8b 22933 "description" : "The storage where the template will be stored",
44660702 22934 "format" : "pve-storage-id",
013dc89f
DM
22935 "type" : "string",
22936 "typetext" : "<string>"
44660702
DM
22937 },
22938 "template" : {
22939 "description" : "The template wich will downloaded",
22940 "maxLength" : 255,
013dc89f
DM
22941 "type" : "string",
22942 "typetext" : "<string>"
7aacca6f
DM
22943 }
22944 }
56122987 22945 },
7aacca6f 22946 "permissions" : {
44660702
DM
22947 "check" : [
22948 "perm",
22949 "/storage/{storage}",
22950 [
22951 "Datastore.AllocateTemplate"
22952 ]
22953 ]
22954 },
22955 "protected" : 1,
22956 "proxyto" : "node",
22957 "returns" : {
22958 "type" : "string"
7aacca6f
DM
22959 }
22960 }
22961 },
7aacca6f 22962 "leaf" : 1,
44660702
DM
22963 "path" : "/nodes/{node}/aplinfo",
22964 "text" : "aplinfo"
7aacca6f
DM
22965 },
22966 {
22967 "info" : {
22968 "GET" : {
44660702
DM
22969 "description" : "Gather various systems information about a node",
22970 "method" : "GET",
22971 "name" : "report",
7aacca6f 22972 "parameters" : {
44660702 22973 "additionalProperties" : 0,
7aacca6f
DM
22974 "properties" : {
22975 "node" : {
7aacca6f 22976 "description" : "The cluster node name.",
44660702 22977 "format" : "pve-node",
013dc89f
DM
22978 "type" : "string",
22979 "typetext" : "<string>"
7aacca6f 22980 }
44660702 22981 }
56122987 22982 },
7aacca6f
DM
22983 "permissions" : {
22984 "check" : [
22985 "perm",
22986 "/nodes/{node}",
22987 [
22988 "Sys.Audit"
22989 ]
22990 ]
56122987 22991 },
44660702 22992 "protected" : 1,
7aacca6f
DM
22993 "proxyto" : "node",
22994 "returns" : {
56122987 22995 "type" : "string"
7aacca6f
DM
22996 }
22997 }
22998 },
7aacca6f 22999 "leaf" : 1,
44660702
DM
23000 "path" : "/nodes/{node}/report",
23001 "text" : "report"
7aacca6f
DM
23002 },
23003 {
7aacca6f
DM
23004 "info" : {
23005 "POST" : {
44660702 23006 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 23007 "method" : "POST",
44660702 23008 "name" : "startall",
7aacca6f 23009 "parameters" : {
44660702 23010 "additionalProperties" : 0,
7aacca6f
DM
23011 "properties" : {
23012 "force" : {
44660702 23013 "description" : "force if onboot=0.",
7aacca6f 23014 "optional" : 1,
013dc89f
DM
23015 "type" : "boolean",
23016 "typetext" : "<boolean>"
7aacca6f
DM
23017 },
23018 "node" : {
7aacca6f 23019 "description" : "The cluster node name.",
44660702 23020 "format" : "pve-node",
013dc89f
DM
23021 "type" : "string",
23022 "typetext" : "<string>"
7aacca6f 23023 }
44660702 23024 }
56122987 23025 },
7aacca6f
DM
23026 "permissions" : {
23027 "check" : [
23028 "perm",
23029 "/",
23030 [
23031 "VM.PowerMgmt"
23032 ]
23033 ]
44660702
DM
23034 },
23035 "protected" : 1,
23036 "proxyto" : "node",
23037 "returns" : {
23038 "type" : "string"
7aacca6f
DM
23039 }
23040 }
23041 },
44660702 23042 "leaf" : 1,
7aacca6f 23043 "path" : "/nodes/{node}/startall",
44660702 23044 "text" : "startall"
7aacca6f
DM
23045 },
23046 {
7aacca6f
DM
23047 "info" : {
23048 "POST" : {
23049 "description" : "Stop all VMs and Containers.",
44660702
DM
23050 "method" : "POST",
23051 "name" : "stopall",
7aacca6f 23052 "parameters" : {
44660702 23053 "additionalProperties" : 0,
7aacca6f
DM
23054 "properties" : {
23055 "node" : {
44660702 23056 "description" : "The cluster node name.",
7aacca6f 23057 "format" : "pve-node",
013dc89f
DM
23058 "type" : "string",
23059 "typetext" : "<string>"
7aacca6f 23060 }
44660702 23061 }
56122987 23062 },
7aacca6f
DM
23063 "permissions" : {
23064 "check" : [
23065 "perm",
23066 "/",
23067 [
44660702 23068 "VM.PowerMgmt"
7aacca6f
DM
23069 ]
23070 ]
56122987 23071 },
44660702 23072 "protected" : 1,
7aacca6f 23073 "proxyto" : "node",
44660702
DM
23074 "returns" : {
23075 "type" : "string"
23076 }
23077 }
56122987 23078 },
44660702
DM
23079 "leaf" : 1,
23080 "path" : "/nodes/{node}/stopall",
23081 "text" : "stopall"
23082 },
23083 {
23084 "info" : {
23085 "POST" : {
23086 "description" : "Migrate all VMs and Containers.",
23087 "method" : "POST",
23088 "name" : "migrateall",
23089 "parameters" : {
23090 "additionalProperties" : 0,
23091 "properties" : {
23092 "maxworkers" : {
23093 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
23094 "minimum" : 1,
23095 "optional" : 1,
4bd7df8b 23096 "type" : "integer",
013dc89f 23097 "typetext" : "<integer> (1 - N)"
44660702
DM
23098 },
23099 "node" : {
23100 "description" : "The cluster node name.",
23101 "format" : "pve-node",
013dc89f
DM
23102 "type" : "string",
23103 "typetext" : "<string>"
44660702
DM
23104 },
23105 "target" : {
23106 "description" : "Target node.",
23107 "format" : "pve-node",
013dc89f
DM
23108 "type" : "string",
23109 "typetext" : "<string>"
44660702
DM
23110 }
23111 }
23112 },
23113 "permissions" : {
23114 "check" : [
23115 "perm",
23116 "/",
23117 [
23118 "VM.Migrate"
23119 ]
23120 ]
23121 },
23122 "protected" : 1,
23123 "proxyto" : "node",
23124 "returns" : {
23125 "type" : "string"
23126 }
23127 }
56122987 23128 },
44660702
DM
23129 "leaf" : 1,
23130 "path" : "/nodes/{node}/migrateall",
23131 "text" : "migrateall"
23132 }
23133 ],
23134 "info" : {
23135 "GET" : {
23136 "description" : "Node index.",
23137 "method" : "GET",
23138 "name" : "index",
23139 "parameters" : {
23140 "additionalProperties" : 0,
23141 "properties" : {
23142 "node" : {
23143 "description" : "The cluster node name.",
23144 "format" : "pve-node",
013dc89f
DM
23145 "type" : "string",
23146 "typetext" : "<string>"
44660702
DM
23147 }
23148 }
56122987 23149 },
44660702
DM
23150 "permissions" : {
23151 "user" : "all"
56122987 23152 },
44660702
DM
23153 "returns" : {
23154 "items" : {
23155 "properties" : {},
23156 "type" : "object"
23157 },
23158 "links" : [
23159 {
23160 "href" : "{name}",
23161 "rel" : "child"
23162 }
56122987 23163 ],
44660702 23164 "type" : "array"
7aacca6f
DM
23165 }
23166 }
23167 },
44660702
DM
23168 "leaf" : 0,
23169 "path" : "/nodes/{node}",
23170 "text" : "{node}"
23171 }
23172 ],
23173 "info" : {
7aacca6f 23174 "GET" : {
44660702 23175 "description" : "Cluster node index.",
7aacca6f 23176 "method" : "GET",
44660702 23177 "name" : "index",
7aacca6f 23178 "parameters" : {
7aacca6f
DM
23179 "additionalProperties" : 0
23180 },
23181 "permissions" : {
7aacca6f
DM
23182 "user" : "all"
23183 },
44660702
DM
23184 "returns" : {
23185 "items" : {
23186 "properties" : {},
23187 "type" : "object"
23188 },
23189 "links" : [
23190 {
23191 "href" : "{node}",
23192 "rel" : "child"
23193 }
23194 ],
23195 "type" : "array"
23196 }
7aacca6f
DM
23197 }
23198 },
44660702
DM
23199 "leaf" : 0,
23200 "path" : "/nodes",
23201 "text" : "nodes"
23202 },
23203 {
7aacca6f
DM
23204 "children" : [
23205 {
7aacca6f 23206 "info" : {
44660702
DM
23207 "DELETE" : {
23208 "description" : "Delete storage configuration.",
23209 "method" : "DELETE",
23210 "name" : "delete",
7aacca6f
DM
23211 "parameters" : {
23212 "additionalProperties" : 0,
23213 "properties" : {
23214 "storage" : {
7aacca6f 23215 "description" : "The storage identifier.",
44660702 23216 "format" : "pve-storage-id",
013dc89f
DM
23217 "type" : "string",
23218 "typetext" : "<string>"
7aacca6f
DM
23219 }
23220 }
56122987 23221 },
7aacca6f
DM
23222 "permissions" : {
23223 "check" : [
23224 "perm",
23225 "/storage",
23226 [
23227 "Datastore.Allocate"
23228 ]
23229 ]
56122987 23230 },
44660702
DM
23231 "protected" : 1,
23232 "returns" : {
23233 "type" : "null"
23234 }
23235 },
23236 "GET" : {
23237 "description" : "Read storage configuration.",
23238 "method" : "GET",
23239 "name" : "read",
7aacca6f
DM
23240 "parameters" : {
23241 "additionalProperties" : 0,
23242 "properties" : {
23243 "storage" : {
44660702 23244 "description" : "The storage identifier.",
7aacca6f 23245 "format" : "pve-storage-id",
013dc89f
DM
23246 "type" : "string",
23247 "typetext" : "<string>"
7aacca6f
DM
23248 }
23249 }
23250 },
44660702
DM
23251 "permissions" : {
23252 "check" : [
23253 "perm",
23254 "/storage/{storage}",
23255 [
23256 "Datastore.Allocate"
23257 ]
23258 ]
23259 },
23260 "returns" : {}
7aacca6f
DM
23261 },
23262 "PUT" : {
44660702
DM
23263 "description" : "Update storage configuration.",
23264 "method" : "PUT",
23265 "name" : "update",
23266 "parameters" : {
23267 "additionalProperties" : 0,
23268 "properties" : {
23269 "blocksize" : {
23270 "description" : "block size",
7aacca6f 23271 "optional" : 1,
013dc89f
DM
23272 "type" : "string",
23273 "typetext" : "<string>"
7aacca6f 23274 },
44660702
DM
23275 "comstar_hg" : {
23276 "description" : "host group for comstar views",
23277 "optional" : 1,
013dc89f
DM
23278 "type" : "string",
23279 "typetext" : "<string>"
7aacca6f 23280 },
44660702
DM
23281 "comstar_tg" : {
23282 "description" : "target group for comstar views",
7aacca6f 23283 "optional" : 1,
013dc89f
DM
23284 "type" : "string",
23285 "typetext" : "<string>"
7aacca6f 23286 },
44660702
DM
23287 "content" : {
23288 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23289 "format" : "pve-storage-content-list",
7aacca6f 23290 "optional" : 1,
013dc89f
DM
23291 "type" : "string",
23292 "typetext" : "<string>"
7aacca6f 23293 },
44660702
DM
23294 "delete" : {
23295 "description" : "A list of settings you want to delete.",
23296 "format" : "pve-configid-list",
23297 "maxLength" : 4096,
7aacca6f 23298 "optional" : 1,
013dc89f
DM
23299 "type" : "string",
23300 "typetext" : "<string>"
7aacca6f
DM
23301 },
23302 "digest" : {
44660702 23303 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 23304 "maxLength" : 40,
7aacca6f 23305 "optional" : 1,
013dc89f
DM
23306 "type" : "string",
23307 "typetext" : "<string>"
7aacca6f 23308 },
44660702
DM
23309 "disable" : {
23310 "description" : "Flag to disable the storage.",
23311 "optional" : 1,
013dc89f
DM
23312 "type" : "boolean",
23313 "typetext" : "<boolean>"
7aacca6f
DM
23314 },
23315 "format" : {
23316 "description" : "Default image format.",
44660702 23317 "format" : "pve-storage-format",
7aacca6f 23318 "optional" : 1,
013dc89f
DM
23319 "type" : "string",
23320 "typetext" : "<string>"
7aacca6f 23321 },
2c0dde61
DM
23322 "is_mountpoint" : {
23323 "default" : "no",
23324 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23325 "optional" : 1,
013dc89f
DM
23326 "type" : "boolean",
23327 "typetext" : "<boolean>"
2c0dde61 23328 },
44660702
DM
23329 "krbd" : {
23330 "description" : "Access rbd through krbd kernel module.",
7aacca6f 23331 "optional" : 1,
013dc89f
DM
23332 "type" : "boolean",
23333 "typetext" : "<boolean>"
7aacca6f 23334 },
44660702
DM
23335 "maxfiles" : {
23336 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23337 "minimum" : 0,
23338 "optional" : 1,
4bd7df8b 23339 "type" : "integer",
013dc89f 23340 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23341 },
23342 "mkdir" : {
23343 "default" : "yes",
23344 "description" : "Create the directory if it doesn't exist.",
23345 "optional" : 1,
013dc89f
DM
23346 "type" : "boolean",
23347 "typetext" : "<boolean>"
7aacca6f
DM
23348 },
23349 "nodes" : {
44660702 23350 "description" : "List of cluster node names.",
7aacca6f
DM
23351 "format" : "pve-node-list",
23352 "optional" : 1,
013dc89f
DM
23353 "type" : "string",
23354 "typetext" : "<string>"
7aacca6f 23355 },
44660702
DM
23356 "nowritecache" : {
23357 "description" : "disable write caching on the target",
7aacca6f 23358 "optional" : 1,
013dc89f
DM
23359 "type" : "boolean",
23360 "typetext" : "<boolean>"
7aacca6f
DM
23361 },
23362 "options" : {
7aacca6f 23363 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
23364 "format" : "pve-storage-options",
23365 "optional" : 1,
013dc89f
DM
23366 "type" : "string",
23367 "typetext" : "<string>"
44660702
DM
23368 },
23369 "pool" : {
23370 "description" : "Pool.",
23371 "optional" : 1,
013dc89f
DM
23372 "type" : "string",
23373 "typetext" : "<string>"
44660702
DM
23374 },
23375 "redundancy" : {
23376 "default" : 2,
23377 "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.",
23378 "maximum" : 16,
23379 "minimum" : 1,
23380 "optional" : 1,
4bd7df8b 23381 "type" : "integer",
013dc89f 23382 "typetext" : "<integer> (1 - 16)"
44660702
DM
23383 },
23384 "saferemove" : {
23385 "description" : "Zero-out data when removing LVs.",
23386 "optional" : 1,
013dc89f
DM
23387 "type" : "boolean",
23388 "typetext" : "<boolean>"
7aacca6f
DM
23389 },
23390 "saferemove_throughput" : {
44660702 23391 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 23392 "optional" : 1,
013dc89f
DM
23393 "type" : "string",
23394 "typetext" : "<string>"
7aacca6f 23395 },
44660702
DM
23396 "server" : {
23397 "description" : "Server IP or DNS name.",
23398 "format" : "pve-storage-server",
7aacca6f 23399 "optional" : 1,
013dc89f
DM
23400 "type" : "string",
23401 "typetext" : "<string>"
7aacca6f 23402 },
44660702
DM
23403 "server2" : {
23404 "description" : "Backup volfile server IP or DNS name.",
23405 "format" : "pve-storage-server",
7aacca6f 23406 "optional" : 1,
44660702 23407 "requires" : "server",
013dc89f
DM
23408 "type" : "string",
23409 "typetext" : "<string>"
44660702
DM
23410 },
23411 "shared" : {
23412 "description" : "Mark storage as shared.",
23413 "optional" : 1,
013dc89f
DM
23414 "type" : "boolean",
23415 "typetext" : "<boolean>"
44660702
DM
23416 },
23417 "sparse" : {
23418 "description" : "use sparse volumes",
23419 "optional" : 1,
013dc89f
DM
23420 "type" : "boolean",
23421 "typetext" : "<boolean>"
44660702
DM
23422 },
23423 "storage" : {
23424 "description" : "The storage identifier.",
23425 "format" : "pve-storage-id",
013dc89f
DM
23426 "type" : "string",
23427 "typetext" : "<string>"
44660702 23428 },
4bd7df8b
DM
23429 "tagged_only" : {
23430 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
23431 "optional" : 1,
013dc89f
DM
23432 "type" : "boolean",
23433 "typetext" : "<boolean>"
4bd7df8b 23434 },
44660702
DM
23435 "transport" : {
23436 "description" : "Gluster transport: tcp or rdma",
23437 "enum" : [
23438 "tcp",
23439 "rdma",
23440 "unix"
23441 ],
23442 "optional" : 1,
23443 "type" : "string"
7aacca6f
DM
23444 },
23445 "username" : {
23446 "description" : "RBD Id.",
44660702 23447 "optional" : 1,
013dc89f
DM
23448 "type" : "string",
23449 "typetext" : "<string>"
7aacca6f 23450 }
44660702
DM
23451 },
23452 "type" : "object"
23453 },
23454 "permissions" : {
23455 "check" : [
23456 "perm",
23457 "/storage",
23458 [
23459 "Datastore.Allocate"
23460 ]
23461 ]
23462 },
23463 "protected" : 1,
23464 "returns" : {
23465 "type" : "null"
23466 }
23467 }
23468 },
23469 "leaf" : 1,
23470 "path" : "/storage/{storage}",
23471 "text" : "{storage}"
23472 }
23473 ],
23474 "info" : {
23475 "GET" : {
23476 "description" : "Storage index.",
23477 "method" : "GET",
23478 "name" : "index",
23479 "parameters" : {
23480 "additionalProperties" : 0,
23481 "properties" : {
23482 "type" : {
23483 "description" : "Only list storage of specific type",
23484 "enum" : [
23485 "dir",
23486 "drbd",
23487 "glusterfs",
23488 "iscsi",
23489 "iscsidirect",
23490 "lvm",
23491 "lvmthin",
23492 "nfs",
23493 "rbd",
23494 "sheepdog",
23495 "zfs",
23496 "zfspool"
23497 ],
23498 "optional" : 1,
23499 "type" : "string"
23500 }
23501 }
23502 },
23503 "permissions" : {
23504 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
23505 "user" : "all"
23506 },
23507 "returns" : {
23508 "items" : {
23509 "properties" : {
23510 "storage" : {
23511 "type" : "string"
7aacca6f 23512 }
56122987 23513 },
44660702
DM
23514 "type" : "object"
23515 },
23516 "links" : [
23517 {
23518 "href" : "{storage}",
23519 "rel" : "child"
23520 }
23521 ],
23522 "type" : "array"
23523 }
23524 },
23525 "POST" : {
23526 "description" : "Create a new storage.",
23527 "method" : "POST",
23528 "name" : "create",
23529 "parameters" : {
23530 "additionalProperties" : 0,
23531 "properties" : {
23532 "authsupported" : {
23533 "description" : "Authsupported.",
23534 "optional" : 1,
013dc89f
DM
23535 "type" : "string",
23536 "typetext" : "<string>"
44660702
DM
23537 },
23538 "base" : {
23539 "description" : "Base volume. This volume is automatically activated.",
23540 "format" : "pve-volume-id",
23541 "optional" : 1,
013dc89f
DM
23542 "type" : "string",
23543 "typetext" : "<string>"
44660702
DM
23544 },
23545 "blocksize" : {
23546 "description" : "block size",
23547 "optional" : 1,
013dc89f
DM
23548 "type" : "string",
23549 "typetext" : "<string>"
44660702
DM
23550 },
23551 "comstar_hg" : {
23552 "description" : "host group for comstar views",
23553 "optional" : 1,
013dc89f
DM
23554 "type" : "string",
23555 "typetext" : "<string>"
44660702
DM
23556 },
23557 "comstar_tg" : {
23558 "description" : "target group for comstar views",
23559 "optional" : 1,
013dc89f
DM
23560 "type" : "string",
23561 "typetext" : "<string>"
44660702
DM
23562 },
23563 "content" : {
23564 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23565 "format" : "pve-storage-content-list",
23566 "optional" : 1,
013dc89f
DM
23567 "type" : "string",
23568 "typetext" : "<string>"
44660702
DM
23569 },
23570 "disable" : {
23571 "description" : "Flag to disable the storage.",
23572 "optional" : 1,
013dc89f
DM
23573 "type" : "boolean",
23574 "typetext" : "<boolean>"
44660702
DM
23575 },
23576 "export" : {
23577 "description" : "NFS export path.",
23578 "format" : "pve-storage-path",
23579 "optional" : 1,
013dc89f
DM
23580 "type" : "string",
23581 "typetext" : "<string>"
44660702
DM
23582 },
23583 "format" : {
23584 "description" : "Default image format.",
23585 "format" : "pve-storage-format",
23586 "optional" : 1,
013dc89f
DM
23587 "type" : "string",
23588 "typetext" : "<string>"
44660702 23589 },
2c0dde61
DM
23590 "is_mountpoint" : {
23591 "default" : "no",
23592 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23593 "optional" : 1,
013dc89f
DM
23594 "type" : "boolean",
23595 "typetext" : "<boolean>"
2c0dde61 23596 },
44660702
DM
23597 "iscsiprovider" : {
23598 "description" : "iscsi provider",
23599 "optional" : 1,
013dc89f
DM
23600 "type" : "string",
23601 "typetext" : "<string>"
44660702
DM
23602 },
23603 "krbd" : {
23604 "description" : "Access rbd through krbd kernel module.",
23605 "optional" : 1,
013dc89f
DM
23606 "type" : "boolean",
23607 "typetext" : "<boolean>"
56122987 23608 },
44660702
DM
23609 "maxfiles" : {
23610 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23611 "minimum" : 0,
23612 "optional" : 1,
4bd7df8b 23613 "type" : "integer",
013dc89f 23614 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23615 },
23616 "mkdir" : {
23617 "default" : "yes",
23618 "description" : "Create the directory if it doesn't exist.",
23619 "optional" : 1,
013dc89f
DM
23620 "type" : "boolean",
23621 "typetext" : "<boolean>"
7aacca6f 23622 },
44660702
DM
23623 "monhost" : {
23624 "description" : "Monitors daemon ips.",
4bd7df8b 23625 "format" : "pve-storage-portal-dns-list",
44660702 23626 "optional" : 1,
013dc89f
DM
23627 "type" : "string",
23628 "typetext" : "<string>"
7aacca6f 23629 },
44660702
DM
23630 "nodes" : {
23631 "description" : "List of cluster node names.",
23632 "format" : "pve-node-list",
23633 "optional" : 1,
013dc89f
DM
23634 "type" : "string",
23635 "typetext" : "<string>"
7aacca6f 23636 },
44660702
DM
23637 "nowritecache" : {
23638 "description" : "disable write caching on the target",
23639 "optional" : 1,
013dc89f
DM
23640 "type" : "boolean",
23641 "typetext" : "<boolean>"
44660702
DM
23642 },
23643 "options" : {
23644 "description" : "NFS mount options (see 'man nfs')",
23645 "format" : "pve-storage-options",
23646 "optional" : 1,
013dc89f
DM
23647 "type" : "string",
23648 "typetext" : "<string>"
44660702
DM
23649 },
23650 "path" : {
23651 "description" : "File system path.",
23652 "format" : "pve-storage-path",
23653 "optional" : 1,
013dc89f
DM
23654 "type" : "string",
23655 "typetext" : "<string>"
44660702
DM
23656 },
23657 "pool" : {
23658 "description" : "Pool.",
23659 "optional" : 1,
013dc89f
DM
23660 "type" : "string",
23661 "typetext" : "<string>"
44660702
DM
23662 },
23663 "portal" : {
23664 "description" : "iSCSI portal (IP or DNS name with optional port).",
23665 "format" : "pve-storage-portal-dns",
23666 "optional" : 1,
013dc89f
DM
23667 "type" : "string",
23668 "typetext" : "<string>"
44660702
DM
23669 },
23670 "redundancy" : {
23671 "default" : 2,
23672 "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.",
23673 "maximum" : 16,
23674 "minimum" : 1,
23675 "optional" : 1,
4bd7df8b 23676 "type" : "integer",
013dc89f 23677 "typetext" : "<integer> (1 - 16)"
44660702
DM
23678 },
23679 "saferemove" : {
23680 "description" : "Zero-out data when removing LVs.",
23681 "optional" : 1,
013dc89f
DM
23682 "type" : "boolean",
23683 "typetext" : "<boolean>"
44660702
DM
23684 },
23685 "saferemove_throughput" : {
23686 "description" : "Wipe throughput (cstream -t parameter value).",
23687 "optional" : 1,
013dc89f
DM
23688 "type" : "string",
23689 "typetext" : "<string>"
44660702
DM
23690 },
23691 "server" : {
23692 "description" : "Server IP or DNS name.",
23693 "format" : "pve-storage-server",
23694 "optional" : 1,
013dc89f
DM
23695 "type" : "string",
23696 "typetext" : "<string>"
44660702
DM
23697 },
23698 "server2" : {
23699 "description" : "Backup volfile server IP or DNS name.",
23700 "format" : "pve-storage-server",
23701 "optional" : 1,
23702 "requires" : "server",
013dc89f
DM
23703 "type" : "string",
23704 "typetext" : "<string>"
44660702
DM
23705 },
23706 "shared" : {
23707 "description" : "Mark storage as shared.",
23708 "optional" : 1,
013dc89f
DM
23709 "type" : "boolean",
23710 "typetext" : "<boolean>"
44660702
DM
23711 },
23712 "sparse" : {
23713 "description" : "use sparse volumes",
23714 "optional" : 1,
013dc89f
DM
23715 "type" : "boolean",
23716 "typetext" : "<boolean>"
44660702
DM
23717 },
23718 "storage" : {
23719 "description" : "The storage identifier.",
23720 "format" : "pve-storage-id",
013dc89f
DM
23721 "type" : "string",
23722 "typetext" : "<string>"
44660702 23723 },
4bd7df8b
DM
23724 "tagged_only" : {
23725 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
23726 "optional" : 1,
013dc89f
DM
23727 "type" : "boolean",
23728 "typetext" : "<boolean>"
4bd7df8b 23729 },
44660702
DM
23730 "target" : {
23731 "description" : "iSCSI target.",
23732 "optional" : 1,
013dc89f
DM
23733 "type" : "string",
23734 "typetext" : "<string>"
44660702
DM
23735 },
23736 "thinpool" : {
23737 "description" : "LVM thin pool LV name.",
23738 "format" : "pve-storage-vgname",
23739 "optional" : 1,
013dc89f
DM
23740 "type" : "string",
23741 "typetext" : "<string>"
44660702
DM
23742 },
23743 "transport" : {
23744 "description" : "Gluster transport: tcp or rdma",
23745 "enum" : [
23746 "tcp",
23747 "rdma",
23748 "unix"
7aacca6f 23749 ],
44660702
DM
23750 "optional" : 1,
23751 "type" : "string"
56122987 23752 },
44660702
DM
23753 "type" : {
23754 "description" : "Storage type.",
23755 "enum" : [
23756 "dir",
23757 "drbd",
23758 "glusterfs",
23759 "iscsi",
23760 "iscsidirect",
23761 "lvm",
23762 "lvmthin",
23763 "nfs",
23764 "rbd",
23765 "sheepdog",
23766 "zfs",
23767 "zfspool"
23768 ],
23769 "type" : "string"
56122987 23770 },
44660702
DM
23771 "username" : {
23772 "description" : "RBD Id.",
23773 "optional" : 1,
013dc89f
DM
23774 "type" : "string",
23775 "typetext" : "<string>"
7aacca6f 23776 },
44660702
DM
23777 "vgname" : {
23778 "description" : "Volume group name.",
23779 "format" : "pve-storage-vgname",
23780 "optional" : 1,
013dc89f
DM
23781 "type" : "string",
23782 "typetext" : "<string>"
44660702
DM
23783 },
23784 "volume" : {
23785 "description" : "Glusterfs Volume.",
23786 "optional" : 1,
013dc89f
DM
23787 "type" : "string",
23788 "typetext" : "<string>"
44660702
DM
23789 }
23790 },
23791 "type" : "object"
23792 },
23793 "permissions" : {
23794 "check" : [
23795 "perm",
23796 "/storage",
23797 [
23798 "Datastore.Allocate"
23799 ]
23800 ]
56122987 23801 },
44660702
DM
23802 "protected" : 1,
23803 "returns" : {
23804 "type" : "null"
23805 }
23806 }
23807 },
23808 "leaf" : 0,
23809 "path" : "/storage",
23810 "text" : "storage"
23811 },
23812 {
23813 "children" : [
23814 {
56122987
DM
23815 "children" : [
23816 {
56122987 23817 "info" : {
44660702
DM
23818 "DELETE" : {
23819 "description" : "Delete user.",
23820 "method" : "DELETE",
23821 "name" : "delete_user",
56122987 23822 "parameters" : {
7aacca6f 23823 "additionalProperties" : 0,
56122987 23824 "properties" : {
56122987 23825 "userid" : {
56122987
DM
23826 "description" : "User ID",
23827 "format" : "pve-userid",
44660702 23828 "maxLength" : 64,
013dc89f
DM
23829 "type" : "string",
23830 "typetext" : "<string>"
56122987 23831 }
7aacca6f 23832 }
56122987 23833 },
56122987
DM
23834 "permissions" : {
23835 "check" : [
44660702 23836 "and",
56122987 23837 [
44660702
DM
23838 "userid-param",
23839 "Realm.AllocateUser"
56122987 23840 ],
44660702
DM
23841 [
23842 "userid-group",
23843 [
23844 "User.Modify"
23845 ]
23846 ]
56122987 23847 ]
7aacca6f 23848 },
44660702 23849 "protected" : 1,
56122987
DM
23850 "returns" : {
23851 "type" : "null"
44660702 23852 }
7aacca6f 23853 },
44660702
DM
23854 "GET" : {
23855 "description" : "Get user configuration.",
23856 "method" : "GET",
23857 "name" : "read_user",
56122987
DM
23858 "parameters" : {
23859 "additionalProperties" : 0,
23860 "properties" : {
23861 "userid" : {
44660702 23862 "description" : "User ID",
56122987 23863 "format" : "pve-userid",
44660702 23864 "maxLength" : 64,
013dc89f
DM
23865 "type" : "string",
23866 "typetext" : "<string>"
56122987
DM
23867 }
23868 }
23869 },
56122987
DM
23870 "permissions" : {
23871 "check" : [
44660702 23872 "userid-group",
56122987 23873 [
44660702
DM
23874 "User.Modify",
23875 "Sys.Audit"
56122987
DM
23876 ]
23877 ]
23878 },
56122987 23879 "returns" : {
7aacca6f 23880 "additionalProperties" : 0,
56122987 23881 "properties" : {
44660702
DM
23882 "comment" : {
23883 "optional" : 1,
23884 "type" : "string"
56122987 23885 },
44660702
DM
23886 "email" : {
23887 "optional" : 1,
23888 "type" : "string"
7aacca6f
DM
23889 },
23890 "enable" : {
23891 "type" : "boolean"
23892 },
44660702
DM
23893 "expire" : {
23894 "optional" : 1,
23895 "type" : "integer"
23896 },
23897 "firstname" : {
56122987
DM
23898 "optional" : 1,
23899 "type" : "string"
23900 },
44660702
DM
23901 "groups" : {
23902 "type" : "array"
56122987 23903 },
44660702
DM
23904 "keys" : {
23905 "optional" : 1,
23906 "type" : "string"
7aacca6f 23907 },
44660702
DM
23908 "lastname" : {
23909 "optional" : 1,
23910 "type" : "string"
56122987 23911 }
7aacca6f 23912 }
44660702
DM
23913 }
23914 },
23915 "PUT" : {
23916 "description" : "Update user configuration.",
23917 "method" : "PUT",
23918 "name" : "update_user",
56122987 23919 "parameters" : {
44660702 23920 "additionalProperties" : 0,
56122987 23921 "properties" : {
44660702
DM
23922 "append" : {
23923 "optional" : 1,
23924 "requires" : "groups",
013dc89f
DM
23925 "type" : "boolean",
23926 "typetext" : "<boolean>"
44660702
DM
23927 },
23928 "comment" : {
23929 "optional" : 1,
013dc89f
DM
23930 "type" : "string",
23931 "typetext" : "<string>"
44660702
DM
23932 },
23933 "email" : {
23934 "format" : "email-opt",
23935 "optional" : 1,
013dc89f
DM
23936 "type" : "string",
23937 "typetext" : "<string>"
44660702
DM
23938 },
23939 "enable" : {
23940 "description" : "Enable/disable the account.",
23941 "optional" : 1,
013dc89f
DM
23942 "type" : "boolean",
23943 "typetext" : "<boolean>"
44660702
DM
23944 },
23945 "expire" : {
23946 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
23947 "minimum" : 0,
23948 "optional" : 1,
4bd7df8b 23949 "type" : "integer",
013dc89f 23950 "typetext" : "<integer> (0 - N)"
44660702
DM
23951 },
23952 "firstname" : {
23953 "optional" : 1,
013dc89f
DM
23954 "type" : "string",
23955 "typetext" : "<string>"
44660702
DM
23956 },
23957 "groups" : {
23958 "format" : "pve-groupid-list",
23959 "optional" : 1,
013dc89f
DM
23960 "type" : "string",
23961 "typetext" : "<string>"
44660702
DM
23962 },
23963 "keys" : {
23964 "description" : "Keys for two factor auth (yubico).",
23965 "optional" : 1,
013dc89f
DM
23966 "type" : "string",
23967 "typetext" : "<string>"
44660702
DM
23968 },
23969 "lastname" : {
23970 "optional" : 1,
013dc89f
DM
23971 "type" : "string",
23972 "typetext" : "<string>"
44660702 23973 },
56122987 23974 "userid" : {
56122987
DM
23975 "description" : "User ID",
23976 "format" : "pve-userid",
44660702 23977 "maxLength" : 64,
013dc89f
DM
23978 "type" : "string",
23979 "typetext" : "<string>"
56122987 23980 }
44660702 23981 }
56122987 23982 },
56122987
DM
23983 "permissions" : {
23984 "check" : [
23985 "userid-group",
23986 [
44660702
DM
23987 "User.Modify"
23988 ],
23989 "groups_param",
23990 1
56122987
DM
23991 ]
23992 },
44660702
DM
23993 "protected" : 1,
23994 "returns" : {
23995 "type" : "null"
23996 }
56122987
DM
23997 }
23998 },
44660702
DM
23999 "leaf" : 1,
24000 "path" : "/access/users/{userid}",
7aacca6f 24001 "text" : "{userid}"
56122987 24002 }
7aacca6f 24003 ],
56122987 24004 "info" : {
7aacca6f 24005 "GET" : {
44660702
DM
24006 "description" : "User index.",
24007 "method" : "GET",
7aacca6f 24008 "name" : "index",
56122987 24009 "parameters" : {
44660702
DM
24010 "additionalProperties" : 0,
24011 "properties" : {
24012 "enabled" : {
24013 "description" : "Optional filter for enable property.",
24014 "optional" : 1,
013dc89f
DM
24015 "type" : "boolean",
24016 "typetext" : "<boolean>"
44660702
DM
24017 }
24018 }
24019 },
24020 "permissions" : {
24021 "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.",
24022 "user" : "all"
56122987 24023 },
7aacca6f 24024 "returns" : {
7aacca6f
DM
24025 "items" : {
24026 "properties" : {
44660702 24027 "userid" : {
7aacca6f
DM
24028 "type" : "string"
24029 }
24030 },
24031 "type" : "object"
24032 },
44660702
DM
24033 "links" : [
24034 {
24035 "href" : "{userid}",
24036 "rel" : "child"
24037 }
24038 ],
7aacca6f
DM
24039 "type" : "array"
24040 }
24041 },
24042 "POST" : {
44660702 24043 "description" : "Create new user.",
7aacca6f 24044 "method" : "POST",
44660702 24045 "name" : "create_user",
56122987 24046 "parameters" : {
7aacca6f
DM
24047 "additionalProperties" : 0,
24048 "properties" : {
44660702
DM
24049 "comment" : {
24050 "optional" : 1,
013dc89f
DM
24051 "type" : "string",
24052 "typetext" : "<string>"
7aacca6f 24053 },
44660702
DM
24054 "email" : {
24055 "format" : "email-opt",
24056 "optional" : 1,
013dc89f
DM
24057 "type" : "string",
24058 "typetext" : "<string>"
44660702
DM
24059 },
24060 "enable" : {
24061 "default" : 1,
24062 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
24063 "optional" : 1,
013dc89f
DM
24064 "type" : "boolean",
24065 "typetext" : "<boolean>"
44660702
DM
24066 },
24067 "expire" : {
24068 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
24069 "minimum" : 0,
24070 "optional" : 1,
4bd7df8b 24071 "type" : "integer",
013dc89f 24072 "typetext" : "<integer> (0 - N)"
44660702
DM
24073 },
24074 "firstname" : {
24075 "optional" : 1,
013dc89f
DM
24076 "type" : "string",
24077 "typetext" : "<string>"
44660702
DM
24078 },
24079 "groups" : {
24080 "format" : "pve-groupid-list",
24081 "optional" : 1,
013dc89f
DM
24082 "type" : "string",
24083 "typetext" : "<string>"
44660702
DM
24084 },
24085 "keys" : {
24086 "description" : "Keys for two factor auth (yubico).",
24087 "optional" : 1,
013dc89f
DM
24088 "type" : "string",
24089 "typetext" : "<string>"
44660702
DM
24090 },
24091 "lastname" : {
7aacca6f 24092 "optional" : 1,
013dc89f
DM
24093 "type" : "string",
24094 "typetext" : "<string>"
44660702
DM
24095 },
24096 "password" : {
24097 "description" : "Initial password.",
24098 "maxLength" : 64,
24099 "minLength" : 5,
24100 "optional" : 1,
013dc89f
DM
24101 "type" : "string",
24102 "typetext" : "<string>"
44660702
DM
24103 },
24104 "userid" : {
24105 "description" : "User ID",
24106 "format" : "pve-userid",
24107 "maxLength" : 64,
013dc89f
DM
24108 "type" : "string",
24109 "typetext" : "<string>"
56122987 24110 }
7aacca6f 24111 }
56122987 24112 },
44660702
DM
24113 "permissions" : {
24114 "check" : [
24115 "and",
24116 [
24117 "userid-param",
24118 "Realm.AllocateUser"
24119 ],
24120 [
24121 "userid-group",
24122 [
24123 "User.Modify"
24124 ],
24125 "groups_param",
24126 1
24127 ]
24128 ],
24129 "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."
24130 },
24131 "protected" : 1,
24132 "returns" : {
24133 "type" : "null"
24134 }
56122987
DM
24135 }
24136 },
44660702
DM
24137 "leaf" : 0,
24138 "path" : "/access/users",
24139 "text" : "users"
24140 },
24141 {
56122987
DM
24142 "children" : [
24143 {
56122987
DM
24144 "info" : {
24145 "DELETE" : {
44660702
DM
24146 "description" : "Delete group.",
24147 "method" : "DELETE",
24148 "name" : "delete_group",
24149 "parameters" : {
24150 "additionalProperties" : 0,
24151 "properties" : {
24152 "groupid" : {
24153 "format" : "pve-groupid",
013dc89f
DM
24154 "type" : "string",
24155 "typetext" : "<string>"
44660702
DM
24156 }
24157 }
24158 },
7aacca6f
DM
24159 "permissions" : {
24160 "check" : [
24161 "perm",
24162 "/access/groups",
24163 [
24164 "Group.Allocate"
24165 ]
24166 ]
24167 },
7aacca6f 24168 "protected" : 1,
7aacca6f
DM
24169 "returns" : {
24170 "type" : "null"
44660702 24171 }
7aacca6f 24172 },
44660702
DM
24173 "GET" : {
24174 "description" : "Get group configuration.",
24175 "method" : "GET",
24176 "name" : "read_group",
24177 "parameters" : {
24178 "additionalProperties" : 0,
24179 "properties" : {
24180 "groupid" : {
24181 "format" : "pve-groupid",
013dc89f
DM
24182 "type" : "string",
24183 "typetext" : "<string>"
44660702
DM
24184 }
24185 }
56122987 24186 },
7aacca6f
DM
24187 "permissions" : {
24188 "check" : [
24189 "perm",
24190 "/access/groups",
24191 [
44660702 24192 "Sys.Audit",
7aacca6f 24193 "Group.Allocate"
44660702
DM
24194 ],
24195 "any",
24196 1
7aacca6f
DM
24197 ]
24198 },
7aacca6f 24199 "returns" : {
44660702 24200 "additionalProperties" : 0,
7aacca6f
DM
24201 "properties" : {
24202 "comment" : {
44660702
DM
24203 "optional" : 1,
24204 "type" : "string"
7aacca6f
DM
24205 },
24206 "members" : {
24207 "items" : {
24208 "type" : "string"
24209 },
24210 "type" : "array"
24211 }
24212 },
44660702
DM
24213 "type" : "object"
24214 }
24215 },
24216 "PUT" : {
24217 "description" : "Update group data.",
24218 "method" : "PUT",
24219 "name" : "update_group",
56122987 24220 "parameters" : {
44660702 24221 "additionalProperties" : 0,
56122987 24222 "properties" : {
44660702
DM
24223 "comment" : {
24224 "optional" : 1,
013dc89f
DM
24225 "type" : "string",
24226 "typetext" : "<string>"
44660702 24227 },
56122987
DM
24228 "groupid" : {
24229 "format" : "pve-groupid",
013dc89f
DM
24230 "type" : "string",
24231 "typetext" : "<string>"
56122987 24232 }
44660702 24233 }
56122987 24234 },
56122987
DM
24235 "permissions" : {
24236 "check" : [
24237 "perm",
24238 "/access/groups",
24239 [
24240 "Group.Allocate"
44660702 24241 ]
56122987
DM
24242 ]
24243 },
44660702
DM
24244 "protected" : 1,
24245 "returns" : {
24246 "type" : "null"
24247 }
7aacca6f
DM
24248 }
24249 },
7aacca6f 24250 "leaf" : 1,
44660702
DM
24251 "path" : "/access/groups/{groupid}",
24252 "text" : "{groupid}"
24253 }
24254 ],
24255 "info" : {
24256 "GET" : {
24257 "description" : "Group index.",
24258 "method" : "GET",
24259 "name" : "index",
24260 "parameters" : {
24261 "additionalProperties" : 0
24262 },
24263 "permissions" : {
24264 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
24265 "user" : "all"
24266 },
24267 "returns" : {
24268 "items" : {
24269 "properties" : {
24270 "groupid" : {
24271 "type" : "string"
24272 }
24273 },
24274 "type" : "object"
24275 },
24276 "links" : [
24277 {
24278 "href" : "{groupid}",
24279 "rel" : "child"
24280 }
24281 ],
24282 "type" : "array"
24283 }
24284 },
24285 "POST" : {
24286 "description" : "Create new group.",
24287 "method" : "POST",
24288 "name" : "create_group",
24289 "parameters" : {
24290 "additionalProperties" : 0,
24291 "properties" : {
24292 "comment" : {
24293 "optional" : 1,
013dc89f
DM
24294 "type" : "string",
24295 "typetext" : "<string>"
44660702
DM
24296 },
24297 "groupid" : {
24298 "format" : "pve-groupid",
013dc89f
DM
24299 "type" : "string",
24300 "typetext" : "<string>"
44660702
DM
24301 }
24302 }
24303 },
24304 "permissions" : {
24305 "check" : [
24306 "perm",
24307 "/access/groups",
24308 [
24309 "Group.Allocate"
24310 ]
24311 ]
24312 },
24313 "protected" : 1,
24314 "returns" : {
24315 "type" : "null"
24316 }
7aacca6f 24317 }
44660702 24318 },
7aacca6f 24319 "leaf" : 0,
44660702
DM
24320 "path" : "/access/groups",
24321 "text" : "groups"
7aacca6f
DM
24322 },
24323 {
24324 "children" : [
24325 {
7aacca6f 24326 "info" : {
7aacca6f 24327 "DELETE" : {
7aacca6f 24328 "description" : "Delete role.",
44660702 24329 "method" : "DELETE",
7aacca6f 24330 "name" : "delete_role",
56122987
DM
24331 "parameters" : {
24332 "additionalProperties" : 0,
24333 "properties" : {
7aacca6f
DM
24334 "roleid" : {
24335 "format" : "pve-roleid",
013dc89f
DM
24336 "type" : "string",
24337 "typetext" : "<string>"
56122987
DM
24338 }
24339 }
24340 },
56122987
DM
24341 "permissions" : {
24342 "check" : [
24343 "perm",
7aacca6f 24344 "/access",
56122987 24345 [
7aacca6f
DM
24346 "Sys.Modify"
24347 ]
56122987 24348 ]
44660702
DM
24349 },
24350 "protected" : 1,
24351 "returns" : {
24352 "type" : "null"
56122987
DM
24353 }
24354 },
44660702
DM
24355 "GET" : {
24356 "description" : "Get role configuration.",
24357 "method" : "GET",
24358 "name" : "read_role",
24359 "parameters" : {
24360 "additionalProperties" : 0,
24361 "properties" : {
24362 "roleid" : {
24363 "format" : "pve-roleid",
013dc89f
DM
24364 "type" : "string",
24365 "typetext" : "<string>"
44660702
DM
24366 }
24367 }
24368 },
7aacca6f 24369 "permissions" : {
44660702 24370 "user" : "all"
56122987 24371 },
44660702
DM
24372 "returns" : {}
24373 },
24374 "PUT" : {
24375 "description" : "Create new role.",
24376 "method" : "PUT",
24377 "name" : "update_role",
56122987
DM
24378 "parameters" : {
24379 "additionalProperties" : 0,
24380 "properties" : {
7aacca6f 24381 "append" : {
44660702 24382 "optional" : 1,
7aacca6f 24383 "requires" : "privs",
013dc89f
DM
24384 "type" : "boolean",
24385 "typetext" : "<boolean>"
7aacca6f
DM
24386 },
24387 "privs" : {
24388 "format" : "pve-priv-list",
013dc89f
DM
24389 "type" : "string",
24390 "typetext" : "<string>"
44660702
DM
24391 },
24392 "roleid" : {
24393 "format" : "pve-roleid",
013dc89f
DM
24394 "type" : "string",
24395 "typetext" : "<string>"
56122987
DM
24396 }
24397 }
24398 },
44660702
DM
24399 "permissions" : {
24400 "check" : [
24401 "perm",
24402 "/access",
24403 [
24404 "Sys.Modify"
24405 ]
24406 ]
24407 },
56122987 24408 "protected" : 1,
7aacca6f
DM
24409 "returns" : {
24410 "type" : "null"
56122987
DM
24411 }
24412 }
24413 },
44660702 24414 "leaf" : 1,
7aacca6f 24415 "path" : "/access/roles/{roleid}",
44660702 24416 "text" : "{roleid}"
56122987
DM
24417 }
24418 ],
56122987 24419 "info" : {
7aacca6f
DM
24420 "GET" : {
24421 "description" : "Role index.",
44660702 24422 "method" : "GET",
7aacca6f 24423 "name" : "index",
56122987 24424 "parameters" : {
56122987
DM
24425 "additionalProperties" : 0
24426 },
7aacca6f
DM
24427 "permissions" : {
24428 "user" : "all"
24429 },
56122987 24430 "returns" : {
7aacca6f 24431 "items" : {
7aacca6f
DM
24432 "properties" : {
24433 "roleid" : {
24434 "type" : "string"
24435 }
44660702
DM
24436 },
24437 "type" : "object"
24438 },
24439 "links" : [
24440 {
24441 "href" : "{roleid}",
24442 "rel" : "child"
7aacca6f 24443 }
44660702
DM
24444 ],
24445 "type" : "array"
24446 }
7aacca6f
DM
24447 },
24448 "POST" : {
24449 "description" : "Create new role.",
44660702
DM
24450 "method" : "POST",
24451 "name" : "create_role",
7aacca6f
DM
24452 "parameters" : {
24453 "additionalProperties" : 0,
24454 "properties" : {
7aacca6f
DM
24455 "privs" : {
24456 "format" : "pve-priv-list",
24457 "optional" : 1,
013dc89f
DM
24458 "type" : "string",
24459 "typetext" : "<string>"
44660702
DM
24460 },
24461 "roleid" : {
24462 "format" : "pve-roleid",
013dc89f
DM
24463 "type" : "string",
24464 "typetext" : "<string>"
7aacca6f
DM
24465 }
24466 }
24467 },
44660702
DM
24468 "permissions" : {
24469 "check" : [
24470 "perm",
24471 "/access",
24472 [
24473 "Sys.Modify"
24474 ]
24475 ]
24476 },
24477 "protected" : 1,
7aacca6f
DM
24478 "returns" : {
24479 "type" : "null"
24480 }
24481 }
24482 },
44660702 24483 "leaf" : 0,
7aacca6f 24484 "path" : "/access/roles",
44660702 24485 "text" : "roles"
7aacca6f
DM
24486 },
24487 {
24488 "info" : {
56122987 24489 "GET" : {
44660702
DM
24490 "description" : "Get Access Control List (ACLs).",
24491 "method" : "GET",
24492 "name" : "read_acl",
7aacca6f
DM
24493 "parameters" : {
24494 "additionalProperties" : 0
24495 },
44660702
DM
24496 "permissions" : {
24497 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
24498 "user" : "all"
24499 },
56122987 24500 "returns" : {
56122987 24501 "items" : {
44660702 24502 "additionalProperties" : 0,
56122987 24503 "properties" : {
7aacca6f
DM
24504 "path" : {
24505 "type" : "string"
24506 },
44660702
DM
24507 "propagate" : {
24508 "type" : "boolean"
24509 },
24510 "roleid" : {
24511 "type" : "string"
24512 },
7aacca6f
DM
24513 "type" : {
24514 "enum" : [
24515 "user",
24516 "group"
24517 ],
24518 "type" : "string"
24519 },
7aacca6f
DM
24520 "ugid" : {
24521 "type" : "string"
56122987 24522 }
7aacca6f 24523 },
44660702 24524 "type" : "object"
7aacca6f
DM
24525 },
24526 "type" : "array"
44660702 24527 }
7aacca6f
DM
24528 },
24529 "PUT" : {
44660702
DM
24530 "description" : "Update Access Control List (add or remove permissions).",
24531 "method" : "PUT",
7aacca6f
DM
24532 "name" : "update_acl",
24533 "parameters" : {
24534 "additionalProperties" : 0,
24535 "properties" : {
24536 "delete" : {
44660702 24537 "description" : "Remove permissions (instead of adding it).",
7aacca6f 24538 "optional" : 1,
013dc89f
DM
24539 "type" : "boolean",
24540 "typetext" : "<boolean>"
7aacca6f 24541 },
44660702
DM
24542 "groups" : {
24543 "description" : "List of groups.",
24544 "format" : "pve-groupid-list",
7aacca6f 24545 "optional" : 1,
013dc89f
DM
24546 "type" : "string",
24547 "typetext" : "<string>"
7aacca6f
DM
24548 },
24549 "path" : {
24550 "description" : "Access control path",
013dc89f
DM
24551 "type" : "string",
24552 "typetext" : "<string>"
7aacca6f 24553 },
7aacca6f 24554 "propagate" : {
44660702 24555 "default" : 1,
7aacca6f 24556 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 24557 "optional" : 1,
013dc89f
DM
24558 "type" : "boolean",
24559 "typetext" : "<boolean>"
7aacca6f 24560 },
44660702
DM
24561 "roles" : {
24562 "description" : "List of roles.",
24563 "format" : "pve-roleid-list",
013dc89f
DM
24564 "type" : "string",
24565 "typetext" : "<string>"
44660702
DM
24566 },
24567 "users" : {
24568 "description" : "List of users.",
24569 "format" : "pve-userid-list",
7aacca6f 24570 "optional" : 1,
013dc89f
DM
24571 "type" : "string",
24572 "typetext" : "<string>"
56122987
DM
24573 }
24574 }
24575 },
56122987 24576 "permissions" : {
7aacca6f
DM
24577 "check" : [
24578 "perm-modify",
24579 "{path}"
24580 ]
24581 },
7aacca6f
DM
24582 "protected" : 1,
24583 "returns" : {
24584 "type" : "null"
44660702 24585 }
56122987
DM
24586 }
24587 },
7aacca6f 24588 "leaf" : 1,
44660702
DM
24589 "path" : "/access/acl",
24590 "text" : "acl"
7aacca6f
DM
24591 },
24592 {
56122987
DM
24593 "children" : [
24594 {
56122987 24595 "info" : {
44660702
DM
24596 "DELETE" : {
24597 "description" : "Delete an authentication server.",
24598 "method" : "DELETE",
24599 "name" : "delete",
24600 "parameters" : {
24601 "additionalProperties" : 0,
24602 "properties" : {
24603 "realm" : {
24604 "description" : "Authentication domain ID",
24605 "format" : "pve-realm",
24606 "maxLength" : 32,
013dc89f
DM
24607 "type" : "string",
24608 "typetext" : "<string>"
56122987 24609 }
44660702 24610 }
56122987 24611 },
56122987
DM
24612 "permissions" : {
24613 "check" : [
24614 "perm",
7aacca6f 24615 "/access/realm",
56122987 24616 [
7aacca6f 24617 "Realm.Allocate"
56122987
DM
24618 ]
24619 ]
24620 },
7aacca6f 24621 "protected" : 1,
7aacca6f
DM
24622 "returns" : {
24623 "type" : "null"
44660702 24624 }
7aacca6f 24625 },
44660702
DM
24626 "GET" : {
24627 "description" : "Get auth server configuration.",
24628 "method" : "GET",
24629 "name" : "read",
56122987 24630 "parameters" : {
44660702 24631 "additionalProperties" : 0,
56122987 24632 "properties" : {
7aacca6f 24633 "realm" : {
44660702 24634 "description" : "Authentication domain ID",
7aacca6f
DM
24635 "format" : "pve-realm",
24636 "maxLength" : 32,
013dc89f
DM
24637 "type" : "string",
24638 "typetext" : "<string>"
56122987 24639 }
44660702 24640 }
7aacca6f 24641 },
7aacca6f
DM
24642 "permissions" : {
24643 "check" : [
24644 "perm",
24645 "/access/realm",
24646 [
44660702
DM
24647 "Realm.Allocate",
24648 "Sys.Audit"
24649 ],
24650 "any",
24651 1
7aacca6f 24652 ]
44660702
DM
24653 },
24654 "returns" : {}
7aacca6f 24655 },
44660702
DM
24656 "PUT" : {
24657 "description" : "Update authentication server settings.",
24658 "method" : "PUT",
24659 "name" : "update",
7aacca6f 24660 "parameters" : {
44660702 24661 "additionalProperties" : 0,
7aacca6f 24662 "properties" : {
44660702
DM
24663 "base_dn" : {
24664 "description" : "LDAP base domain name",
24665 "maxLength" : 256,
24666 "optional" : 1,
24667 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24668 "type" : "string"
24669 },
4bd7df8b
DM
24670 "bind_dn" : {
24671 "description" : "LDAP bind domain name",
24672 "maxLength" : 256,
24673 "optional" : 1,
24674 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24675 "type" : "string"
24676 },
44660702
DM
24677 "comment" : {
24678 "description" : "Description.",
24679 "maxLength" : 4096,
24680 "optional" : 1,
013dc89f
DM
24681 "type" : "string",
24682 "typetext" : "<string>"
44660702
DM
24683 },
24684 "default" : {
24685 "description" : "Use this as default realm",
24686 "optional" : 1,
013dc89f
DM
24687 "type" : "boolean",
24688 "typetext" : "<boolean>"
44660702
DM
24689 },
24690 "delete" : {
24691 "description" : "A list of settings you want to delete.",
24692 "format" : "pve-configid-list",
24693 "maxLength" : 4096,
24694 "optional" : 1,
013dc89f
DM
24695 "type" : "string",
24696 "typetext" : "<string>"
44660702
DM
24697 },
24698 "digest" : {
24699 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
24700 "maxLength" : 40,
24701 "optional" : 1,
013dc89f
DM
24702 "type" : "string",
24703 "typetext" : "<string>"
44660702
DM
24704 },
24705 "domain" : {
24706 "description" : "AD domain name",
24707 "maxLength" : 256,
24708 "optional" : 1,
24709 "pattern" : "\\S+",
24710 "type" : "string"
24711 },
24712 "port" : {
24713 "description" : "Server port.",
24714 "maximum" : 65535,
24715 "minimum" : 1,
24716 "optional" : 1,
4bd7df8b 24717 "type" : "integer",
013dc89f 24718 "typetext" : "<integer> (1 - 65535)"
44660702 24719 },
7aacca6f 24720 "realm" : {
7aacca6f
DM
24721 "description" : "Authentication domain ID",
24722 "format" : "pve-realm",
44660702 24723 "maxLength" : 32,
013dc89f
DM
24724 "type" : "string",
24725 "typetext" : "<string>"
44660702
DM
24726 },
24727 "secure" : {
24728 "description" : "Use secure LDAPS protocol.",
24729 "optional" : 1,
013dc89f
DM
24730 "type" : "boolean",
24731 "typetext" : "<boolean>"
44660702
DM
24732 },
24733 "server1" : {
24734 "description" : "Server IP address (or DNS name)",
24735 "format" : "address",
24736 "maxLength" : 256,
24737 "optional" : 1,
013dc89f
DM
24738 "type" : "string",
24739 "typetext" : "<string>"
44660702
DM
24740 },
24741 "server2" : {
24742 "description" : "Fallback Server IP address (or DNS name)",
24743 "format" : "address",
24744 "maxLength" : 256,
24745 "optional" : 1,
013dc89f
DM
24746 "type" : "string",
24747 "typetext" : "<string>"
44660702
DM
24748 },
24749 "tfa" : {
24750 "description" : "Use Two-factor authentication.",
24751 "format" : "pve-tfa-config",
24752 "maxLength" : 128,
24753 "optional" : 1,
013dc89f
DM
24754 "type" : "string",
24755 "typetext" : "<string>"
44660702
DM
24756 },
24757 "user_attr" : {
24758 "description" : "LDAP user attribute name",
24759 "maxLength" : 256,
24760 "optional" : 1,
24761 "pattern" : "\\S{2,}",
24762 "type" : "string"
7aacca6f 24763 }
56122987 24764 },
44660702 24765 "type" : "object"
56122987 24766 },
7aacca6f
DM
24767 "permissions" : {
24768 "check" : [
24769 "perm",
24770 "/access/realm",
24771 [
44660702
DM
24772 "Realm.Allocate"
24773 ]
7aacca6f
DM
24774 ]
24775 },
44660702
DM
24776 "protected" : 1,
24777 "returns" : {
24778 "type" : "null"
24779 }
56122987 24780 }
44660702
DM
24781 },
24782 "leaf" : 1,
24783 "path" : "/access/domains/{realm}",
24784 "text" : "{realm}"
56122987 24785 }
7aacca6f 24786 ],
56122987
DM
24787 "info" : {
24788 "GET" : {
44660702
DM
24789 "description" : "Authentication domain index.",
24790 "method" : "GET",
24791 "name" : "index",
24792 "parameters" : {
24793 "additionalProperties" : 0
24794 },
24795 "permissions" : {
24796 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
24797 "user" : "world"
24798 },
56122987 24799 "returns" : {
56122987
DM
24800 "items" : {
24801 "properties" : {
7aacca6f
DM
24802 "comment" : {
24803 "optional" : 1,
24804 "type" : "string"
24805 },
56122987
DM
24806 "realm" : {
24807 "type" : "string"
24808 },
24809 "tfa" : {
7aacca6f 24810 "description" : "Two-factor authentication provider.",
56122987
DM
24811 "enum" : [
24812 "yubico",
24813 "oath"
24814 ],
44660702
DM
24815 "optional" : 1,
24816 "type" : "string"
56122987
DM
24817 }
24818 },
24819 "type" : "object"
44660702
DM
24820 },
24821 "links" : [
24822 {
24823 "href" : "{realm}",
24824 "rel" : "child"
24825 }
24826 ],
24827 "type" : "array"
24828 }
56122987
DM
24829 },
24830 "POST" : {
7aacca6f 24831 "description" : "Add an authentication server.",
44660702 24832 "method" : "POST",
7aacca6f 24833 "name" : "create",
56122987 24834 "parameters" : {
44660702 24835 "additionalProperties" : 0,
56122987 24836 "properties" : {
44660702
DM
24837 "base_dn" : {
24838 "description" : "LDAP base domain name",
56122987 24839 "maxLength" : 256,
44660702
DM
24840 "optional" : 1,
24841 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 24842 "type" : "string"
56122987 24843 },
4bd7df8b
DM
24844 "bind_dn" : {
24845 "description" : "LDAP bind domain name",
24846 "maxLength" : 256,
24847 "optional" : 1,
24848 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24849 "type" : "string"
24850 },
44660702
DM
24851 "comment" : {
24852 "description" : "Description.",
24853 "maxLength" : 4096,
56122987 24854 "optional" : 1,
013dc89f
DM
24855 "type" : "string",
24856 "typetext" : "<string>"
56122987 24857 },
44660702
DM
24858 "default" : {
24859 "description" : "Use this as default realm",
7aacca6f 24860 "optional" : 1,
013dc89f
DM
24861 "type" : "boolean",
24862 "typetext" : "<boolean>"
56122987 24863 },
44660702
DM
24864 "domain" : {
24865 "description" : "AD domain name",
24866 "maxLength" : 256,
7aacca6f 24867 "optional" : 1,
44660702
DM
24868 "pattern" : "\\S+",
24869 "type" : "string"
56122987 24870 },
7aacca6f 24871 "port" : {
44660702 24872 "description" : "Server port.",
7aacca6f 24873 "maximum" : 65535,
44660702 24874 "minimum" : 1,
7aacca6f 24875 "optional" : 1,
4bd7df8b 24876 "type" : "integer",
013dc89f 24877 "typetext" : "<integer> (1 - 65535)"
56122987 24878 },
44660702
DM
24879 "realm" : {
24880 "description" : "Authentication domain ID",
24881 "format" : "pve-realm",
24882 "maxLength" : 32,
013dc89f
DM
24883 "type" : "string",
24884 "typetext" : "<string>"
44660702
DM
24885 },
24886 "secure" : {
24887 "description" : "Use secure LDAPS protocol.",
7aacca6f 24888 "optional" : 1,
013dc89f
DM
24889 "type" : "boolean",
24890 "typetext" : "<boolean>"
56122987 24891 },
44660702
DM
24892 "server1" : {
24893 "description" : "Server IP address (or DNS name)",
24894 "format" : "address",
24895 "maxLength" : 256,
24896 "optional" : 1,
013dc89f
DM
24897 "type" : "string",
24898 "typetext" : "<string>"
56122987 24899 },
44660702
DM
24900 "server2" : {
24901 "description" : "Fallback Server IP address (or DNS name)",
24902 "format" : "address",
7aacca6f 24903 "maxLength" : 256,
7aacca6f 24904 "optional" : 1,
013dc89f
DM
24905 "type" : "string",
24906 "typetext" : "<string>"
7aacca6f 24907 },
44660702
DM
24908 "tfa" : {
24909 "description" : "Use Two-factor authentication.",
24910 "format" : "pve-tfa-config",
24911 "maxLength" : 128,
24912 "optional" : 1,
013dc89f
DM
24913 "type" : "string",
24914 "typetext" : "<string>"
44660702
DM
24915 },
24916 "type" : {
24917 "description" : "Realm type.",
24918 "enum" : [
24919 "ad",
24920 "ldap",
24921 "pam",
24922 "pve"
24923 ],
24924 "type" : "string"
24925 },
24926 "user_attr" : {
24927 "description" : "LDAP user attribute name",
7aacca6f 24928 "maxLength" : 256,
7aacca6f 24929 "optional" : 1,
44660702
DM
24930 "pattern" : "\\S{2,}",
24931 "type" : "string"
7aacca6f
DM
24932 }
24933 },
7aacca6f 24934 "type" : "object"
56122987 24935 },
7aacca6f
DM
24936 "permissions" : {
24937 "check" : [
24938 "perm",
24939 "/access/realm",
24940 [
24941 "Realm.Allocate"
24942 ]
24943 ]
44660702
DM
24944 },
24945 "protected" : 1,
24946 "returns" : {
24947 "type" : "null"
7aacca6f 24948 }
56122987 24949 }
7aacca6f 24950 },
44660702 24951 "leaf" : 0,
56122987 24952 "path" : "/access/domains",
44660702 24953 "text" : "domains"
56122987
DM
24954 },
24955 {
56122987 24956 "info" : {
44660702
DM
24957 "GET" : {
24958 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
24959 "method" : "GET",
24960 "name" : "get_ticket",
24961 "parameters" : {
24962 "additionalProperties" : 0
24963 },
24964 "permissions" : {
24965 "user" : "world"
24966 },
24967 "returns" : {
24968 "type" : "null"
24969 }
24970 },
56122987 24971 "POST" : {
44660702 24972 "description" : "Create or verify authentication ticket.",
56122987 24973 "method" : "POST",
44660702
DM
24974 "name" : "create_ticket",
24975 "parameters" : {
24976 "additionalProperties" : 0,
56122987 24977 "properties" : {
44660702
DM
24978 "otp" : {
24979 "description" : "One-time password for Two-factor authentication.",
7aacca6f 24980 "optional" : 1,
013dc89f
DM
24981 "type" : "string",
24982 "typetext" : "<string>"
56122987 24983 },
7aacca6f
DM
24984 "password" : {
24985 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
24986 "type" : "string",
24987 "typetext" : "<string>"
7aacca6f 24988 },
44660702
DM
24989 "path" : {
24990 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 24991 "maxLength" : 64,
56122987 24992 "optional" : 1,
56122987 24993 "requires" : "privs",
013dc89f
DM
24994 "type" : "string",
24995 "typetext" : "<string>"
44660702
DM
24996 },
24997 "privs" : {
7aacca6f 24998 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
24999 "format" : "pve-priv-list",
25000 "maxLength" : 64,
56122987 25001 "optional" : 1,
44660702 25002 "requires" : "path",
013dc89f
DM
25003 "type" : "string",
25004 "typetext" : "<string>"
56122987
DM
25005 },
25006 "realm" : {
56122987 25007 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 25008 "format" : "pve-realm",
7aacca6f 25009 "maxLength" : 32,
44660702 25010 "optional" : 1,
013dc89f
DM
25011 "type" : "string",
25012 "typetext" : "<string>"
56122987
DM
25013 },
25014 "username" : {
25015 "description" : "User name",
44660702 25016 "maxLength" : 64,
013dc89f
DM
25017 "type" : "string",
25018 "typetext" : "<string>"
56122987 25019 }
44660702 25020 }
7aacca6f 25021 },
56122987 25022 "permissions" : {
44660702 25023 "description" : "You need to pass valid credientials.",
56122987
DM
25024 "user" : "world"
25025 },
44660702 25026 "protected" : 1,
7aacca6f 25027 "returns" : {
56122987 25028 "properties" : {
44660702
DM
25029 "CSRFPreventionToken" : {
25030 "optional" : 1,
25031 "type" : "string"
56122987 25032 },
44660702
DM
25033 "ticket" : {
25034 "optional" : 1,
25035 "type" : "string"
25036 },
25037 "username" : {
56122987
DM
25038 "type" : "string"
25039 }
25040 },
44660702 25041 "type" : "object"
7aacca6f 25042 }
7aacca6f
DM
25043 }
25044 },
44660702
DM
25045 "leaf" : 1,
25046 "path" : "/access/ticket",
25047 "text" : "ticket"
7aacca6f 25048 },
56122987 25049 {
56122987 25050 "info" : {
7aacca6f 25051 "PUT" : {
44660702 25052 "description" : "Change user password.",
7aacca6f 25053 "method" : "PUT",
44660702 25054 "name" : "change_passsword",
56122987
DM
25055 "parameters" : {
25056 "additionalProperties" : 0,
25057 "properties" : {
44660702
DM
25058 "password" : {
25059 "description" : "The new password.",
25060 "maxLength" : 64,
25061 "minLength" : 5,
013dc89f
DM
25062 "type" : "string",
25063 "typetext" : "<string>"
7aacca6f 25064 },
44660702
DM
25065 "userid" : {
25066 "description" : "User ID",
25067 "format" : "pve-userid",
25068 "maxLength" : 64,
013dc89f
DM
25069 "type" : "string",
25070 "typetext" : "<string>"
56122987 25071 }
7aacca6f 25072 }
56122987
DM
25073 },
25074 "permissions" : {
25075 "check" : [
44660702 25076 "or",
56122987 25077 [
44660702
DM
25078 "userid-param",
25079 "self"
25080 ],
25081 [
25082 "and",
25083 [
25084 "userid-param",
25085 "Realm.AllocateUser"
25086 ],
25087 [
25088 "userid-group",
25089 [
25090 "User.Modify"
25091 ]
25092 ]
56122987 25093 ]
7aacca6f 25094 ],
44660702 25095 "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 25096 },
44660702 25097 "protected" : 1,
7aacca6f
DM
25098 "returns" : {
25099 "type" : "null"
44660702
DM
25100 }
25101 }
25102 },
25103 "leaf" : 1,
25104 "path" : "/access/password",
25105 "text" : "password"
25106 }
25107 ],
25108 "info" : {
25109 "GET" : {
25110 "description" : "Directory index.",
25111 "method" : "GET",
25112 "name" : "index",
25113 "parameters" : {
25114 "additionalProperties" : 0
25115 },
25116 "permissions" : {
25117 "user" : "all"
25118 },
25119 "returns" : {
25120 "items" : {
25121 "properties" : {
25122 "subdir" : {
25123 "type" : "string"
25124 }
7aacca6f 25125 },
44660702
DM
25126 "type" : "object"
25127 },
25128 "links" : [
25129 {
25130 "href" : "{subdir}",
25131 "rel" : "child"
25132 }
25133 ],
25134 "type" : "array"
25135 }
25136 }
25137 },
25138 "leaf" : 0,
25139 "path" : "/access",
25140 "text" : "access"
25141 },
25142 {
25143 "children" : [
25144 {
25145 "info" : {
25146 "DELETE" : {
7aacca6f 25147 "description" : "Delete pool.",
44660702
DM
25148 "method" : "DELETE",
25149 "name" : "delete_pool",
7aacca6f
DM
25150 "parameters" : {
25151 "additionalProperties" : 0,
25152 "properties" : {
25153 "poolid" : {
25154 "format" : "pve-poolid",
013dc89f
DM
25155 "type" : "string",
25156 "typetext" : "<string>"
7aacca6f
DM
25157 }
25158 }
25159 },
56122987
DM
25160 "permissions" : {
25161 "check" : [
25162 "perm",
25163 "/pool/{poolid}",
25164 [
25165 "Pool.Allocate"
25166 ]
44660702
DM
25167 ],
25168 "description" : "You can only delete empty pools (no members)."
25169 },
25170 "protected" : 1,
25171 "returns" : {
25172 "type" : "null"
7aacca6f
DM
25173 }
25174 },
25175 "GET" : {
25176 "description" : "Get pool configuration.",
44660702 25177 "method" : "GET",
7aacca6f 25178 "name" : "read_pool",
56122987 25179 "parameters" : {
44660702 25180 "additionalProperties" : 0,
56122987
DM
25181 "properties" : {
25182 "poolid" : {
44660702 25183 "format" : "pve-poolid",
013dc89f
DM
25184 "type" : "string",
25185 "typetext" : "<string>"
56122987 25186 }
44660702 25187 }
56122987 25188 },
56122987 25189 "permissions" : {
56122987
DM
25190 "check" : [
25191 "perm",
25192 "/pool/{poolid}",
25193 [
25194 "Pool.Allocate"
25195 ]
25196 ]
25197 },
7aacca6f 25198 "returns" : {
44660702 25199 "additionalProperties" : 0,
56122987 25200 "properties" : {
44660702
DM
25201 "comment" : {
25202 "optional" : 1,
25203 "type" : "string"
25204 },
7aacca6f 25205 "members" : {
7aacca6f
DM
25206 "items" : {
25207 "additionalProperties" : 1,
7aacca6f 25208 "properties" : {
7aacca6f
DM
25209 "id" : {
25210 "type" : "string"
25211 },
25212 "node" : {
25213 "type" : "string"
25214 },
44660702
DM
25215 "storage" : {
25216 "optional" : 1,
25217 "type" : "string"
25218 },
7aacca6f 25219 "type" : {
7aacca6f
DM
25220 "enum" : [
25221 "qemu",
25222 "lxc",
25223 "openvz",
25224 "storage"
44660702
DM
25225 ],
25226 "type" : "string"
25227 },
25228 "vmid" : {
25229 "optional" : 1,
25230 "type" : "integer"
7aacca6f 25231 }
44660702
DM
25232 },
25233 "type" : "object"
25234 },
25235 "type" : "array"
25236 }
25237 },
25238 "type" : "object"
25239 }
25240 },
25241 "PUT" : {
25242 "description" : "Update pool data.",
25243 "method" : "PUT",
25244 "name" : "update_pool",
25245 "parameters" : {
25246 "additionalProperties" : 0,
25247 "properties" : {
56122987
DM
25248 "comment" : {
25249 "optional" : 1,
013dc89f
DM
25250 "type" : "string",
25251 "typetext" : "<string>"
44660702
DM
25252 },
25253 "delete" : {
25254 "description" : "Remove vms/storage (instead of adding it).",
25255 "optional" : 1,
013dc89f
DM
25256 "type" : "boolean",
25257 "typetext" : "<boolean>"
44660702
DM
25258 },
25259 "poolid" : {
25260 "format" : "pve-poolid",
013dc89f
DM
25261 "type" : "string",
25262 "typetext" : "<string>"
44660702
DM
25263 },
25264 "storage" : {
25265 "description" : "List of storage IDs.",
25266 "format" : "pve-storage-id-list",
25267 "optional" : 1,
013dc89f
DM
25268 "type" : "string",
25269 "typetext" : "<string>"
44660702
DM
25270 },
25271 "vms" : {
25272 "description" : "List of virtual machines.",
25273 "format" : "pve-vmid-list",
25274 "optional" : 1,
013dc89f
DM
25275 "type" : "string",
25276 "typetext" : "<string>"
56122987 25277 }
44660702
DM
25278 }
25279 },
25280 "permissions" : {
25281 "check" : [
25282 "perm",
25283 "/pool/{poolid}",
25284 [
25285 "Pool.Allocate"
25286 ]
25287 ],
25288 "description" : "You also need the right to modify permissions on any object you add/delete."
25289 },
25290 "protected" : 1,
25291 "returns" : {
25292 "type" : "null"
56122987
DM
25293 }
25294 }
25295 },
44660702
DM
25296 "leaf" : 1,
25297 "path" : "/pools/{poolid}",
7aacca6f 25298 "text" : "{poolid}"
56122987 25299 }
7aacca6f 25300 ],
56122987
DM
25301 "info" : {
25302 "GET" : {
44660702
DM
25303 "description" : "Pool index.",
25304 "method" : "GET",
25305 "name" : "index",
25306 "parameters" : {
25307 "additionalProperties" : 0
25308 },
25309 "permissions" : {
25310 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
25311 "user" : "all"
25312 },
56122987 25313 "returns" : {
44660702
DM
25314 "items" : {
25315 "properties" : {
25316 "poolid" : {
25317 "type" : "string"
25318 }
56122987 25319 },
44660702
DM
25320 "type" : "object"
25321 },
25322 "links" : [
25323 {
25324 "href" : "{poolid}",
25325 "rel" : "child"
25326 }
25327 ],
25328 "type" : "array"
25329 }
25330 },
25331 "POST" : {
25332 "description" : "Create new pool.",
25333 "method" : "POST",
25334 "name" : "create_pool",
25335 "parameters" : {
25336 "additionalProperties" : 0,
25337 "properties" : {
25338 "comment" : {
25339 "optional" : 1,
013dc89f
DM
25340 "type" : "string",
25341 "typetext" : "<string>"
7aacca6f 25342 },
44660702
DM
25343 "poolid" : {
25344 "format" : "pve-poolid",
013dc89f
DM
25345 "type" : "string",
25346 "typetext" : "<string>"
56122987
DM
25347 }
25348 }
25349 },
56122987 25350 "permissions" : {
44660702
DM
25351 "check" : [
25352 "perm",
25353 "/pool/{poolid}",
25354 [
25355 "Pool.Allocate"
25356 ]
25357 ]
56122987 25358 },
44660702
DM
25359 "protected" : 1,
25360 "returns" : {
25361 "type" : "null"
25362 }
25363 }
25364 },
25365 "leaf" : 0,
25366 "path" : "/pools",
25367 "text" : "pools"
25368 },
25369 {
25370 "info" : {
25371 "GET" : {
25372 "description" : "API version details. The result also includes the global datacenter confguration.",
25373 "method" : "GET",
25374 "name" : "version",
7aacca6f
DM
25375 "parameters" : {
25376 "additionalProperties" : 0
25377 },
44660702
DM
25378 "permissions" : {
25379 "user" : "all"
25380 },
25381 "returns" : {
25382 "properties" : {
25383 "release" : {
25384 "type" : "string"
25385 },
25386 "repoid" : {
25387 "type" : "string"
25388 },
25389 "version" : {
25390 "type" : "string"
25391 }
25392 },
25393 "type" : "object"
25394 }
56122987
DM
25395 }
25396 },
44660702
DM
25397 "leaf" : 1,
25398 "path" : "/version",
56122987
DM
25399 "text" : "version"
25400 }
25401]
25402;
25403