]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
Add node level subchapter
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
32d876b5
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "GET" : {
9 "description" : "Corosync node list.",
10 "method" : "GET",
11 "name" : "nodes",
12 "parameters" : {
13 "additionalProperties" : 0
14 },
15 "returns" : {
16 "items" : {
17 "properties" : {
18 "node" : {
19 "type" : "string"
20 }
21 },
22 "type" : "object"
23 },
24 "links" : [
25 {
26 "href" : "{node}",
27 "rel" : "child"
28 }
29 ],
30 "type" : "array"
31 }
32 }
33 },
34 "leaf" : 1,
35 "path" : "/cluster/config/nodes",
36 "text" : "nodes"
37 },
38 {
39 "info" : {
40 "GET" : {
41 "description" : "Get corosync totem protocol settings.",
42 "method" : "GET",
43 "name" : "totem",
44 "parameters" : {
45 "additionalProperties" : 0
46 },
47 "returns" : {
48 "properties" : {},
49 "type" : "object"
50 }
51 }
52 },
53 "leaf" : 1,
54 "path" : "/cluster/config/totem",
55 "text" : "totem"
56 }
57 ],
58 "info" : {
59 "GET" : {
60 "description" : "Directory index.",
61 "method" : "GET",
62 "name" : "index",
63 "parameters" : {
64 "additionalProperties" : 0
65 },
66 "returns" : {
67 "items" : {
68 "properties" : {},
69 "type" : "object"
70 },
71 "links" : [
72 {
73 "href" : "{name}",
74 "rel" : "child"
75 }
76 ],
77 "type" : "array"
78 }
79 }
80 },
81 "leaf" : 0,
82 "path" : "/cluster/config",
83 "text" : "config"
84 },
56122987 85 {
56122987
DM
86 "children" : [
87 {
56122987
DM
88 "children" : [
89 {
44660702
DM
90 "children" : [
91 {
92 "info" : {
93 "DELETE" : {
94 "description" : "Delete rule.",
95 "method" : "DELETE",
96 "name" : "delete_rule",
97 "parameters" : {
98 "additionalProperties" : 0,
99 "properties" : {
100 "digest" : {
101 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
102 "maxLength" : 40,
103 "optional" : 1,
013dc89f
DM
104 "type" : "string",
105 "typetext" : "<string>"
44660702
DM
106 },
107 "group" : {
108 "description" : "Security Group name.",
4bd7df8b 109 "maxLength" : 18,
44660702
DM
110 "minLength" : 2,
111 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
112 "type" : "string"
113 },
114 "pos" : {
115 "description" : "Update rule at position <pos>.",
116 "minimum" : 0,
117 "optional" : 1,
4bd7df8b 118 "type" : "integer",
013dc89f 119 "typetext" : "<integer> (0 - N)"
44660702
DM
120 }
121 }
122 },
123 "permissions" : {
124 "check" : [
125 "perm",
126 "/",
127 [
128 "Sys.Modify"
129 ]
130 ]
131 },
132 "protected" : 1,
133 "proxyto" : null,
134 "returns" : {
135 "type" : "null"
7aacca6f
DM
136 }
137 },
44660702
DM
138 "GET" : {
139 "description" : "Get single rule data.",
140 "method" : "GET",
141 "name" : "get_rule",
142 "parameters" : {
143 "additionalProperties" : 0,
144 "properties" : {
145 "group" : {
146 "description" : "Security Group name.",
4bd7df8b 147 "maxLength" : 18,
44660702
DM
148 "minLength" : 2,
149 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
150 "type" : "string"
151 },
152 "pos" : {
153 "description" : "Update rule at position <pos>.",
154 "minimum" : 0,
155 "optional" : 1,
4bd7df8b 156 "type" : "integer",
013dc89f 157 "typetext" : "<integer> (0 - N)"
44660702 158 }
7aacca6f 159 }
56122987 160 },
44660702
DM
161 "permissions" : {
162 "check" : [
163 "perm",
164 "/",
165 [
166 "Sys.Audit"
167 ]
168 ]
169 },
170 "proxyto" : null,
171 "returns" : {
172 "properties" : {
173 "pos" : {
174 "type" : "integer"
175 }
176 },
177 "type" : "object"
56122987 178 }
44660702 179 },
7aacca6f 180 "PUT" : {
44660702
DM
181 "description" : "Modify rule data.",
182 "method" : "PUT",
183 "name" : "update_rule",
7aacca6f
DM
184 "parameters" : {
185 "additionalProperties" : 0,
186 "properties" : {
44660702
DM
187 "action" : {
188 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 189 "maxLength" : 20,
44660702 190 "minLength" : 2,
7aacca6f 191 "optional" : 1,
44660702 192 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
193 "type" : "string"
194 },
44660702 195 "comment" : {
e94f0d56 196 "description" : "Descriptive comment.",
7aacca6f 197 "optional" : 1,
013dc89f
DM
198 "type" : "string",
199 "typetext" : "<string>"
7aacca6f 200 },
44660702
DM
201 "delete" : {
202 "description" : "A list of settings you want to delete.",
203 "format" : "pve-configid-list",
7aacca6f 204 "optional" : 1,
013dc89f
DM
205 "type" : "string",
206 "typetext" : "<string>"
7aacca6f 207 },
44660702
DM
208 "dest" : {
209 "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.",
210 "format" : "pve-fw-addr-spec",
7aacca6f 211 "optional" : 1,
013dc89f
DM
212 "type" : "string",
213 "typetext" : "<string>"
7aacca6f
DM
214 },
215 "digest" : {
216 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 217 "maxLength" : 40,
7aacca6f 218 "optional" : 1,
013dc89f
DM
219 "type" : "string",
220 "typetext" : "<string>"
7aacca6f 221 },
44660702
DM
222 "dport" : {
223 "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.",
224 "format" : "pve-fw-dport-spec",
7aacca6f 225 "optional" : 1,
013dc89f
DM
226 "type" : "string",
227 "typetext" : "<string>"
7aacca6f 228 },
44660702 229 "enable" : {
e94f0d56 230 "description" : "Flag to enable/disable a rule.",
44660702 231 "minimum" : 0,
7aacca6f 232 "optional" : 1,
4bd7df8b 233 "type" : "integer",
013dc89f 234 "typetext" : "<integer> (0 - N)"
7aacca6f 235 },
44660702
DM
236 "group" : {
237 "description" : "Security Group name.",
4bd7df8b 238 "maxLength" : 18,
44660702
DM
239 "minLength" : 2,
240 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
241 "type" : "string"
242 },
243 "iface" : {
244 "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.",
245 "format" : "pve-iface",
246 "maxLength" : 20,
247 "minLength" : 2,
7aacca6f 248 "optional" : 1,
013dc89f
DM
249 "type" : "string",
250 "typetext" : "<string>"
7aacca6f 251 },
44660702 252 "macro" : {
e94f0d56 253 "description" : "Use predefined standard macro.",
44660702
DM
254 "maxLength" : 128,
255 "optional" : 1,
013dc89f
DM
256 "type" : "string",
257 "typetext" : "<string>"
7aacca6f
DM
258 },
259 "moveto" : {
260 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 261 "minimum" : 0,
7aacca6f 262 "optional" : 1,
4bd7df8b 263 "type" : "integer",
013dc89f 264 "typetext" : "<integer> (0 - N)"
7aacca6f 265 },
44660702
DM
266 "pos" : {
267 "description" : "Update rule at position <pos>.",
268 "minimum" : 0,
269 "optional" : 1,
4bd7df8b 270 "type" : "integer",
013dc89f 271 "typetext" : "<integer> (0 - N)"
7aacca6f 272 },
44660702
DM
273 "proto" : {
274 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
275 "format" : "pve-fw-protocol-spec",
7aacca6f 276 "optional" : 1,
013dc89f
DM
277 "type" : "string",
278 "typetext" : "<string>"
44660702
DM
279 },
280 "source" : {
281 "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.",
282 "format" : "pve-fw-addr-spec",
283 "optional" : 1,
013dc89f
DM
284 "type" : "string",
285 "typetext" : "<string>"
44660702
DM
286 },
287 "sport" : {
288 "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.",
289 "format" : "pve-fw-sport-spec",
290 "optional" : 1,
013dc89f
DM
291 "type" : "string",
292 "typetext" : "<string>"
7aacca6f
DM
293 },
294 "type" : {
e94f0d56 295 "description" : "Rule type.",
7aacca6f
DM
296 "enum" : [
297 "in",
298 "out",
299 "group"
300 ],
301 "optional" : 1,
302 "type" : "string"
303 }
304 }
305 },
7aacca6f
DM
306 "permissions" : {
307 "check" : [
308 "perm",
309 "/",
310 [
311 "Sys.Modify"
312 ]
313 ]
314 },
44660702 315 "protected" : 1,
7aacca6f
DM
316 "proxyto" : null,
317 "returns" : {
318 "type" : "null"
319 }
7aacca6f
DM
320 }
321 },
44660702 322 "leaf" : 1,
7aacca6f 323 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 324 "text" : "{pos}"
7aacca6f
DM
325 }
326 ],
44660702
DM
327 "info" : {
328 "DELETE" : {
329 "description" : "Delete security group.",
330 "method" : "DELETE",
331 "name" : "delete_security_group",
332 "parameters" : {
333 "additionalProperties" : 0,
334 "properties" : {
335 "group" : {
336 "description" : "Security Group name.",
4bd7df8b 337 "maxLength" : 18,
44660702
DM
338 "minLength" : 2,
339 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
340 "type" : "string"
341 }
56122987 342 }
7aacca6f 343 },
44660702
DM
344 "permissions" : {
345 "check" : [
346 "perm",
347 "/",
348 [
349 "Sys.Modify"
350 ]
7aacca6f 351 ]
56122987 352 },
44660702
DM
353 "protected" : 1,
354 "returns" : {
355 "type" : "null"
56122987 356 }
7aacca6f 357 },
7aacca6f 358 "GET" : {
44660702 359 "description" : "List rules.",
7aacca6f 360 "method" : "GET",
44660702
DM
361 "name" : "get_rules",
362 "parameters" : {
363 "additionalProperties" : 0,
7aacca6f 364 "properties" : {
44660702
DM
365 "group" : {
366 "description" : "Security Group name.",
4bd7df8b 367 "maxLength" : 18,
44660702
DM
368 "minLength" : 2,
369 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
370 "type" : "string"
7aacca6f 371 }
44660702 372 }
7aacca6f
DM
373 },
374 "permissions" : {
375 "check" : [
376 "perm",
377 "/",
378 [
379 "Sys.Audit"
380 ]
381 ]
382 },
44660702
DM
383 "proxyto" : null,
384 "returns" : {
385 "items" : {
386 "properties" : {
387 "pos" : {
388 "type" : "integer"
389 }
390 },
391 "type" : "object"
392 },
393 "links" : [
394 {
395 "href" : "{pos}",
396 "rel" : "child"
397 }
398 ],
399 "type" : "array"
400 }
401 },
402 "POST" : {
403 "description" : "Create new rule.",
404 "method" : "POST",
405 "name" : "create_rule",
7aacca6f
DM
406 "parameters" : {
407 "additionalProperties" : 0,
408 "properties" : {
44660702
DM
409 "action" : {
410 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
411 "maxLength" : 20,
56122987 412 "minLength" : 2,
44660702
DM
413 "optional" : 0,
414 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 415 "type" : "string"
56122987 416 },
44660702 417 "comment" : {
e94f0d56 418 "description" : "Descriptive comment.",
56122987 419 "optional" : 1,
013dc89f
DM
420 "type" : "string",
421 "typetext" : "<string>"
56122987 422 },
44660702
DM
423 "dest" : {
424 "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
425 "format" : "pve-fw-addr-spec",
426 "optional" : 1,
013dc89f
DM
427 "type" : "string",
428 "typetext" : "<string>"
56122987 429 },
44660702
DM
430 "digest" : {
431 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
432 "maxLength" : 40,
7aacca6f 433 "optional" : 1,
013dc89f
DM
434 "type" : "string",
435 "typetext" : "<string>"
56122987 436 },
44660702
DM
437 "dport" : {
438 "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.",
439 "format" : "pve-fw-dport-spec",
56122987 440 "optional" : 1,
013dc89f
DM
441 "type" : "string",
442 "typetext" : "<string>"
56122987 443 },
7aacca6f 444 "enable" : {
e94f0d56 445 "description" : "Flag to enable/disable a rule.",
44660702 446 "minimum" : 0,
7aacca6f 447 "optional" : 1,
4bd7df8b 448 "type" : "integer",
013dc89f 449 "typetext" : "<integer> (0 - N)"
56122987 450 },
44660702
DM
451 "group" : {
452 "description" : "Security Group name.",
4bd7df8b 453 "maxLength" : 18,
44660702 454 "minLength" : 2,
7aacca6f 455 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
456 "type" : "string"
457 },
458 "iface" : {
459 "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.",
460 "format" : "pve-iface",
461 "maxLength" : 20,
7aacca6f 462 "minLength" : 2,
44660702 463 "optional" : 1,
013dc89f
DM
464 "type" : "string",
465 "typetext" : "<string>"
56122987 466 },
7aacca6f 467 "macro" : {
e94f0d56 468 "description" : "Use predefined standard macro.",
44660702 469 "maxLength" : 128,
7aacca6f 470 "optional" : 1,
013dc89f
DM
471 "type" : "string",
472 "typetext" : "<string>"
7aacca6f
DM
473 },
474 "pos" : {
475 "description" : "Update rule at position <pos>.",
44660702 476 "minimum" : 0,
56122987 477 "optional" : 1,
4bd7df8b 478 "type" : "integer",
013dc89f 479 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
480 },
481 "proto" : {
482 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 483 "format" : "pve-fw-protocol-spec",
7aacca6f 484 "optional" : 1,
013dc89f
DM
485 "type" : "string",
486 "typetext" : "<string>"
44660702
DM
487 },
488 "source" : {
489 "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.",
490 "format" : "pve-fw-addr-spec",
491 "optional" : 1,
013dc89f
DM
492 "type" : "string",
493 "typetext" : "<string>"
44660702
DM
494 },
495 "sport" : {
496 "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.",
497 "format" : "pve-fw-sport-spec",
498 "optional" : 1,
013dc89f
DM
499 "type" : "string",
500 "typetext" : "<string>"
44660702
DM
501 },
502 "type" : {
e94f0d56 503 "description" : "Rule type.",
44660702
DM
504 "enum" : [
505 "in",
506 "out",
507 "group"
508 ],
509 "optional" : 0,
510 "type" : "string"
56122987 511 }
44660702 512 }
56122987 513 },
56122987
DM
514 "permissions" : {
515 "check" : [
516 "perm",
517 "/",
518 [
519 "Sys.Modify"
520 ]
521 ]
522 },
44660702
DM
523 "protected" : 1,
524 "proxyto" : null,
56122987
DM
525 "returns" : {
526 "type" : "null"
7aacca6f 527 }
44660702
DM
528 }
529 },
530 "leaf" : 0,
531 "path" : "/cluster/firewall/groups/{group}",
532 "text" : "{group}"
533 }
534 ],
535 "info" : {
536 "GET" : {
537 "description" : "List security groups.",
538 "method" : "GET",
539 "name" : "list_security_groups",
540 "parameters" : {
541 "additionalProperties" : 0
542 },
543 "permissions" : {
544 "user" : "all"
545 },
546 "returns" : {
547 "items" : {
548 "properties" : {
549 "comment" : {
550 "optional" : 1,
551 "type" : "string"
552 },
553 "digest" : {
554 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
555 "maxLength" : 40,
556 "optional" : 0,
557 "type" : "string"
558 },
559 "group" : {
560 "description" : "Security Group name.",
4bd7df8b 561 "maxLength" : 18,
44660702
DM
562 "minLength" : 2,
563 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
564 "type" : "string"
565 }
566 },
567 "type" : "object"
56122987 568 },
44660702
DM
569 "links" : [
570 {
571 "href" : "{group}",
572 "rel" : "child"
573 }
574 ],
575 "type" : "array"
576 }
577 },
578 "POST" : {
579 "description" : "Create new security group.",
580 "method" : "POST",
581 "name" : "create_security_group",
582 "parameters" : {
583 "additionalProperties" : 0,
584 "properties" : {
585 "comment" : {
586 "optional" : 1,
013dc89f
DM
587 "type" : "string",
588 "typetext" : "<string>"
44660702
DM
589 },
590 "digest" : {
591 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
592 "maxLength" : 40,
593 "optional" : 1,
013dc89f
DM
594 "type" : "string",
595 "typetext" : "<string>"
44660702
DM
596 },
597 "group" : {
598 "description" : "Security Group name.",
4bd7df8b 599 "maxLength" : 18,
44660702
DM
600 "minLength" : 2,
601 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
602 "type" : "string"
603 },
604 "rename" : {
605 "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 606 "maxLength" : 18,
44660702
DM
607 "minLength" : 2,
608 "optional" : 1,
609 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
610 "type" : "string"
611 }
612 }
613 },
614 "permissions" : {
615 "check" : [
616 "perm",
617 "/",
618 [
619 "Sys.Modify"
620 ]
621 ]
622 },
623 "protected" : 1,
624 "returns" : {
625 "type" : "null"
626 }
627 }
628 },
629 "leaf" : 0,
630 "path" : "/cluster/firewall/groups",
631 "text" : "groups"
632 },
633 {
634 "children" : [
635 {
636 "info" : {
7aacca6f 637 "DELETE" : {
44660702
DM
638 "description" : "Delete rule.",
639 "method" : "DELETE",
640 "name" : "delete_rule",
641 "parameters" : {
642 "additionalProperties" : 0,
643 "properties" : {
644 "digest" : {
645 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
646 "maxLength" : 40,
647 "optional" : 1,
013dc89f
DM
648 "type" : "string",
649 "typetext" : "<string>"
44660702
DM
650 },
651 "pos" : {
652 "description" : "Update rule at position <pos>.",
653 "minimum" : 0,
654 "optional" : 1,
4bd7df8b 655 "type" : "integer",
013dc89f 656 "typetext" : "<integer> (0 - N)"
44660702
DM
657 }
658 }
659 },
56122987
DM
660 "permissions" : {
661 "check" : [
662 "perm",
663 "/",
664 [
7aacca6f 665 "Sys.Modify"
56122987
DM
666 ]
667 ]
668 },
44660702 669 "protected" : 1,
56122987
DM
670 "proxyto" : null,
671 "returns" : {
7aacca6f 672 "type" : "null"
44660702
DM
673 }
674 },
675 "GET" : {
676 "description" : "Get single rule data.",
677 "method" : "GET",
678 "name" : "get_rule",
56122987
DM
679 "parameters" : {
680 "additionalProperties" : 0,
681 "properties" : {
682 "pos" : {
7aacca6f 683 "description" : "Update rule at position <pos>.",
44660702 684 "minimum" : 0,
56122987 685 "optional" : 1,
4bd7df8b 686 "type" : "integer",
013dc89f 687 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
688 }
689 }
690 },
7aacca6f
DM
691 "permissions" : {
692 "check" : [
693 "perm",
694 "/",
695 [
696 "Sys.Audit"
697 ]
698 ]
56122987 699 },
44660702
DM
700 "proxyto" : null,
701 "returns" : {
7aacca6f 702 "properties" : {
44660702
DM
703 "pos" : {
704 "type" : "integer"
7aacca6f 705 }
44660702
DM
706 },
707 "type" : "object"
708 }
56122987 709 },
44660702
DM
710 "PUT" : {
711 "description" : "Modify rule data.",
712 "method" : "PUT",
713 "name" : "update_rule",
7aacca6f
DM
714 "parameters" : {
715 "additionalProperties" : 0,
716 "properties" : {
44660702
DM
717 "action" : {
718 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
719 "maxLength" : 20,
720 "minLength" : 2,
721 "optional" : 1,
722 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
723 "type" : "string"
7aacca6f 724 },
44660702 725 "comment" : {
e94f0d56 726 "description" : "Descriptive comment.",
44660702 727 "optional" : 1,
013dc89f
DM
728 "type" : "string",
729 "typetext" : "<string>"
7aacca6f 730 },
44660702
DM
731 "delete" : {
732 "description" : "A list of settings you want to delete.",
733 "format" : "pve-configid-list",
734 "optional" : 1,
013dc89f
DM
735 "type" : "string",
736 "typetext" : "<string>"
44660702
DM
737 },
738 "dest" : {
739 "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.",
740 "format" : "pve-fw-addr-spec",
741 "optional" : 1,
013dc89f
DM
742 "type" : "string",
743 "typetext" : "<string>"
44660702
DM
744 },
745 "digest" : {
746 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
747 "maxLength" : 40,
748 "optional" : 1,
013dc89f
DM
749 "type" : "string",
750 "typetext" : "<string>"
44660702
DM
751 },
752 "dport" : {
753 "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.",
754 "format" : "pve-fw-dport-spec",
755 "optional" : 1,
013dc89f
DM
756 "type" : "string",
757 "typetext" : "<string>"
44660702
DM
758 },
759 "enable" : {
e94f0d56 760 "description" : "Flag to enable/disable a rule.",
44660702
DM
761 "minimum" : 0,
762 "optional" : 1,
4bd7df8b 763 "type" : "integer",
013dc89f 764 "typetext" : "<integer> (0 - N)"
44660702
DM
765 },
766 "iface" : {
767 "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.",
768 "format" : "pve-iface",
769 "maxLength" : 20,
7aacca6f 770 "minLength" : 2,
44660702 771 "optional" : 1,
013dc89f
DM
772 "type" : "string",
773 "typetext" : "<string>"
7aacca6f 774 },
44660702 775 "macro" : {
e94f0d56 776 "description" : "Use predefined standard macro.",
44660702
DM
777 "maxLength" : 128,
778 "optional" : 1,
013dc89f
DM
779 "type" : "string",
780 "typetext" : "<string>"
44660702
DM
781 },
782 "moveto" : {
783 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
784 "minimum" : 0,
785 "optional" : 1,
4bd7df8b 786 "type" : "integer",
013dc89f 787 "typetext" : "<integer> (0 - N)"
44660702
DM
788 },
789 "pos" : {
790 "description" : "Update rule at position <pos>.",
791 "minimum" : 0,
792 "optional" : 1,
4bd7df8b 793 "type" : "integer",
013dc89f 794 "typetext" : "<integer> (0 - N)"
44660702
DM
795 },
796 "proto" : {
797 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
798 "format" : "pve-fw-protocol-spec",
799 "optional" : 1,
013dc89f
DM
800 "type" : "string",
801 "typetext" : "<string>"
44660702
DM
802 },
803 "source" : {
804 "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.",
805 "format" : "pve-fw-addr-spec",
806 "optional" : 1,
013dc89f
DM
807 "type" : "string",
808 "typetext" : "<string>"
44660702
DM
809 },
810 "sport" : {
811 "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.",
812 "format" : "pve-fw-sport-spec",
813 "optional" : 1,
013dc89f
DM
814 "type" : "string",
815 "typetext" : "<string>"
44660702
DM
816 },
817 "type" : {
e94f0d56 818 "description" : "Rule type.",
44660702
DM
819 "enum" : [
820 "in",
821 "out",
822 "group"
823 ],
824 "optional" : 1,
825 "type" : "string"
7aacca6f 826 }
56122987
DM
827 }
828 },
7aacca6f
DM
829 "permissions" : {
830 "check" : [
831 "perm",
832 "/",
833 [
834 "Sys.Modify"
835 ]
836 ]
837 },
44660702
DM
838 "protected" : 1,
839 "proxyto" : null,
840 "returns" : {
841 "type" : "null"
842 }
7aacca6f 843 }
56122987 844 },
44660702
DM
845 "leaf" : 1,
846 "path" : "/cluster/firewall/rules/{pos}",
847 "text" : "{pos}"
7aacca6f
DM
848 }
849 ],
7aacca6f 850 "info" : {
44660702
DM
851 "GET" : {
852 "description" : "List rules.",
853 "method" : "GET",
854 "name" : "get_rules",
7aacca6f 855 "parameters" : {
44660702 856 "additionalProperties" : 0
7aacca6f
DM
857 },
858 "permissions" : {
859 "check" : [
860 "perm",
861 "/",
862 [
44660702 863 "Sys.Audit"
7aacca6f
DM
864 ]
865 ]
866 },
44660702 867 "proxyto" : null,
7aacca6f 868 "returns" : {
7aacca6f
DM
869 "items" : {
870 "properties" : {
44660702
DM
871 "pos" : {
872 "type" : "integer"
7aacca6f
DM
873 }
874 },
875 "type" : "object"
56122987 876 },
7aacca6f
DM
877 "links" : [
878 {
44660702 879 "href" : "{pos}",
7aacca6f
DM
880 "rel" : "child"
881 }
44660702
DM
882 ],
883 "type" : "array"
7aacca6f 884 }
44660702 885 },
7aacca6f 886 "POST" : {
44660702 887 "description" : "Create new rule.",
7aacca6f 888 "method" : "POST",
44660702 889 "name" : "create_rule",
7aacca6f
DM
890 "parameters" : {
891 "additionalProperties" : 0,
892 "properties" : {
44660702
DM
893 "action" : {
894 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
895 "maxLength" : 20,
7aacca6f 896 "minLength" : 2,
44660702
DM
897 "optional" : 0,
898 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
899 "type" : "string"
7aacca6f
DM
900 },
901 "comment" : {
e94f0d56 902 "description" : "Descriptive comment.",
7aacca6f 903 "optional" : 1,
013dc89f
DM
904 "type" : "string",
905 "typetext" : "<string>"
44660702
DM
906 },
907 "dest" : {
908 "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.",
909 "format" : "pve-fw-addr-spec",
910 "optional" : 1,
013dc89f
DM
911 "type" : "string",
912 "typetext" : "<string>"
44660702
DM
913 },
914 "digest" : {
915 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
916 "maxLength" : 40,
917 "optional" : 1,
013dc89f
DM
918 "type" : "string",
919 "typetext" : "<string>"
44660702
DM
920 },
921 "dport" : {
922 "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.",
923 "format" : "pve-fw-dport-spec",
924 "optional" : 1,
013dc89f
DM
925 "type" : "string",
926 "typetext" : "<string>"
44660702
DM
927 },
928 "enable" : {
e94f0d56 929 "description" : "Flag to enable/disable a rule.",
44660702
DM
930 "minimum" : 0,
931 "optional" : 1,
4bd7df8b 932 "type" : "integer",
013dc89f 933 "typetext" : "<integer> (0 - N)"
44660702
DM
934 },
935 "iface" : {
936 "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.",
937 "format" : "pve-iface",
938 "maxLength" : 20,
939 "minLength" : 2,
940 "optional" : 1,
013dc89f
DM
941 "type" : "string",
942 "typetext" : "<string>"
44660702
DM
943 },
944 "macro" : {
e94f0d56 945 "description" : "Use predefined standard macro.",
44660702
DM
946 "maxLength" : 128,
947 "optional" : 1,
013dc89f
DM
948 "type" : "string",
949 "typetext" : "<string>"
44660702
DM
950 },
951 "pos" : {
952 "description" : "Update rule at position <pos>.",
953 "minimum" : 0,
954 "optional" : 1,
4bd7df8b 955 "type" : "integer",
013dc89f 956 "typetext" : "<integer> (0 - N)"
44660702
DM
957 },
958 "proto" : {
959 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
960 "format" : "pve-fw-protocol-spec",
961 "optional" : 1,
013dc89f
DM
962 "type" : "string",
963 "typetext" : "<string>"
44660702
DM
964 },
965 "source" : {
966 "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.",
967 "format" : "pve-fw-addr-spec",
968 "optional" : 1,
013dc89f
DM
969 "type" : "string",
970 "typetext" : "<string>"
44660702
DM
971 },
972 "sport" : {
973 "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.",
974 "format" : "pve-fw-sport-spec",
975 "optional" : 1,
013dc89f
DM
976 "type" : "string",
977 "typetext" : "<string>"
44660702
DM
978 },
979 "type" : {
e94f0d56 980 "description" : "Rule type.",
44660702
DM
981 "enum" : [
982 "in",
983 "out",
984 "group"
985 ],
986 "optional" : 0,
987 "type" : "string"
7aacca6f
DM
988 }
989 }
990 },
991 "permissions" : {
992 "check" : [
993 "perm",
994 "/",
995 [
996 "Sys.Modify"
997 ]
998 ]
999 },
44660702
DM
1000 "protected" : 1,
1001 "proxyto" : null,
7aacca6f 1002 "returns" : {
44660702
DM
1003 "type" : "null"
1004 }
1005 }
1006 },
1007 "leaf" : 0,
1008 "path" : "/cluster/firewall/rules",
1009 "text" : "rules"
1010 },
1011 {
1012 "children" : [
1013 {
1014 "children" : [
1015 {
1016 "info" : {
1017 "DELETE" : {
1018 "description" : "Remove IP or Network from IPSet.",
1019 "method" : "DELETE",
1020 "name" : "remove_ip",
1021 "parameters" : {
1022 "additionalProperties" : 0,
1023 "properties" : {
1024 "cidr" : {
1025 "description" : "Network/IP specification in CIDR format.",
1026 "format" : "IPorCIDRorAlias",
013dc89f
DM
1027 "type" : "string",
1028 "typetext" : "<string>"
44660702
DM
1029 },
1030 "digest" : {
1031 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1032 "maxLength" : 40,
1033 "optional" : 1,
013dc89f
DM
1034 "type" : "string",
1035 "typetext" : "<string>"
44660702
DM
1036 },
1037 "name" : {
1038 "description" : "IP set name.",
1039 "maxLength" : 64,
1040 "minLength" : 2,
1041 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1042 "type" : "string"
1043 }
1044 }
1045 },
1046 "permissions" : {
1047 "check" : [
1048 "perm",
1049 "/",
1050 [
1051 "Sys.Modify"
1052 ]
1053 ]
1054 },
1055 "protected" : 1,
1056 "returns" : {
1057 "type" : "null"
1058 }
7aacca6f 1059 },
44660702
DM
1060 "GET" : {
1061 "description" : "Read IP or Network settings from IPSet.",
1062 "method" : "GET",
1063 "name" : "read_ip",
1064 "parameters" : {
1065 "additionalProperties" : 0,
1066 "properties" : {
1067 "cidr" : {
1068 "description" : "Network/IP specification in CIDR format.",
1069 "format" : "IPorCIDRorAlias",
013dc89f
DM
1070 "type" : "string",
1071 "typetext" : "<string>"
44660702
DM
1072 },
1073 "name" : {
1074 "description" : "IP set name.",
1075 "maxLength" : 64,
1076 "minLength" : 2,
1077 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1078 "type" : "string"
1079 }
1080 }
1081 },
1082 "permissions" : {
1083 "check" : [
1084 "perm",
1085 "/",
1086 [
1087 "Sys.Audit"
1088 ]
1089 ]
1090 },
1091 "protected" : 1,
1092 "returns" : {
1093 "type" : "object"
1094 }
7aacca6f 1095 },
44660702
DM
1096 "PUT" : {
1097 "description" : "Update IP or Network settings",
1098 "method" : "PUT",
1099 "name" : "update_ip",
1100 "parameters" : {
1101 "additionalProperties" : 0,
1102 "properties" : {
1103 "cidr" : {
1104 "description" : "Network/IP specification in CIDR format.",
1105 "format" : "IPorCIDRorAlias",
013dc89f
DM
1106 "type" : "string",
1107 "typetext" : "<string>"
44660702
DM
1108 },
1109 "comment" : {
1110 "optional" : 1,
013dc89f
DM
1111 "type" : "string",
1112 "typetext" : "<string>"
44660702
DM
1113 },
1114 "digest" : {
1115 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1116 "maxLength" : 40,
1117 "optional" : 1,
013dc89f
DM
1118 "type" : "string",
1119 "typetext" : "<string>"
44660702
DM
1120 },
1121 "name" : {
1122 "description" : "IP set name.",
1123 "maxLength" : 64,
1124 "minLength" : 2,
1125 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1126 "type" : "string"
1127 },
1128 "nomatch" : {
1129 "optional" : 1,
013dc89f
DM
1130 "type" : "boolean",
1131 "typetext" : "<boolean>"
44660702
DM
1132 }
1133 }
1134 },
1135 "permissions" : {
1136 "check" : [
1137 "perm",
1138 "/",
1139 [
1140 "Sys.Modify"
1141 ]
1142 ]
1143 },
1144 "protected" : 1,
1145 "returns" : {
1146 "type" : "null"
1147 }
7aacca6f
DM
1148 }
1149 },
44660702
DM
1150 "leaf" : 1,
1151 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1152 "text" : "{cidr}"
7aacca6f 1153 }
44660702 1154 ],
7aacca6f
DM
1155 "info" : {
1156 "DELETE" : {
44660702
DM
1157 "description" : "Delete IPSet",
1158 "method" : "DELETE",
1159 "name" : "delete_ipset",
56122987 1160 "parameters" : {
44660702 1161 "additionalProperties" : 0,
56122987
DM
1162 "properties" : {
1163 "name" : {
44660702 1164 "description" : "IP set name.",
56122987 1165 "maxLength" : 64,
44660702 1166 "minLength" : 2,
56122987 1167 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1168 "type" : "string"
56122987 1169 }
44660702 1170 }
7aacca6f 1171 },
56122987
DM
1172 "permissions" : {
1173 "check" : [
1174 "perm",
1175 "/",
1176 [
1177 "Sys.Modify"
1178 ]
1179 ]
1180 },
7aacca6f
DM
1181 "protected" : 1,
1182 "returns" : {
1183 "type" : "null"
44660702 1184 }
7aacca6f 1185 },
44660702
DM
1186 "GET" : {
1187 "description" : "List IPSet content",
1188 "method" : "GET",
1189 "name" : "get_ipset",
56122987
DM
1190 "parameters" : {
1191 "additionalProperties" : 0,
1192 "properties" : {
7aacca6f 1193 "name" : {
44660702 1194 "description" : "IP set name.",
7aacca6f 1195 "maxLength" : 64,
7aacca6f 1196 "minLength" : 2,
44660702 1197 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1198 "type" : "string"
56122987 1199 }
7aacca6f 1200 }
56122987 1201 },
56122987
DM
1202 "permissions" : {
1203 "check" : [
1204 "perm",
1205 "/",
1206 [
44660702 1207 "Sys.Audit"
56122987
DM
1208 ]
1209 ]
44660702
DM
1210 },
1211 "returns" : {
1212 "items" : {
1213 "properties" : {
1214 "cidr" : {
1215 "type" : "string"
1216 },
1217 "comment" : {
1218 "optional" : 1,
1219 "type" : "string"
1220 },
1221 "digest" : {
1222 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1223 "maxLength" : 40,
1224 "optional" : 0,
1225 "type" : "string"
1226 },
1227 "nomatch" : {
1228 "optional" : 1,
1229 "type" : "boolean"
1230 }
1231 },
1232 "type" : "object"
1233 },
1234 "links" : [
1235 {
1236 "href" : "{cidr}",
1237 "rel" : "child"
1238 }
1239 ],
1240 "type" : "array"
7aacca6f
DM
1241 }
1242 },
44660702
DM
1243 "POST" : {
1244 "description" : "Add IP or Network to IPSet.",
1245 "method" : "POST",
1246 "name" : "create_ip",
56122987
DM
1247 "parameters" : {
1248 "additionalProperties" : 0,
1249 "properties" : {
44660702
DM
1250 "cidr" : {
1251 "description" : "Network/IP specification in CIDR format.",
1252 "format" : "IPorCIDRorAlias",
013dc89f
DM
1253 "type" : "string",
1254 "typetext" : "<string>"
44660702
DM
1255 },
1256 "comment" : {
1257 "optional" : 1,
013dc89f
DM
1258 "type" : "string",
1259 "typetext" : "<string>"
44660702
DM
1260 },
1261 "name" : {
1262 "description" : "IP set name.",
1263 "maxLength" : 64,
1264 "minLength" : 2,
1265 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1266 "type" : "string"
1267 },
1268 "nomatch" : {
1269 "optional" : 1,
013dc89f
DM
1270 "type" : "boolean",
1271 "typetext" : "<boolean>"
56122987
DM
1272 }
1273 }
1274 },
56122987
DM
1275 "permissions" : {
1276 "check" : [
1277 "perm",
1278 "/",
1279 [
44660702 1280 "Sys.Modify"
56122987
DM
1281 ]
1282 ]
1283 },
44660702 1284 "protected" : 1,
56122987 1285 "returns" : {
44660702
DM
1286 "type" : "null"
1287 }
56122987
DM
1288 }
1289 },
44660702
DM
1290 "leaf" : 0,
1291 "path" : "/cluster/firewall/ipset/{name}",
1292 "text" : "{name}"
56122987
DM
1293 }
1294 ],
56122987 1295 "info" : {
44660702
DM
1296 "GET" : {
1297 "description" : "List IPSets",
1298 "method" : "GET",
1299 "name" : "ipset_index",
56122987 1300 "parameters" : {
7aacca6f 1301 "additionalProperties" : 0
56122987 1302 },
56122987
DM
1303 "permissions" : {
1304 "check" : [
1305 "perm",
1306 "/",
1307 [
7aacca6f 1308 "Sys.Audit"
56122987
DM
1309 ]
1310 ]
1311 },
56122987
DM
1312 "returns" : {
1313 "items" : {
1314 "properties" : {
44660702
DM
1315 "comment" : {
1316 "optional" : 1,
1317 "type" : "string"
56122987 1318 },
44660702
DM
1319 "digest" : {
1320 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1321 "maxLength" : 40,
1322 "optional" : 0,
1323 "type" : "string"
1324 },
1325 "name" : {
1326 "description" : "IP set name.",
1327 "maxLength" : 64,
1328 "minLength" : 2,
1329 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1330 "type" : "string"
56122987
DM
1331 }
1332 },
1333 "type" : "object"
44660702
DM
1334 },
1335 "links" : [
1336 {
1337 "href" : "{name}",
1338 "rel" : "child"
1339 }
1340 ],
1341 "type" : "array"
56122987 1342 }
44660702
DM
1343 },
1344 "POST" : {
1345 "description" : "Create new IPSet",
1346 "method" : "POST",
1347 "name" : "create_ipset",
7aacca6f
DM
1348 "parameters" : {
1349 "additionalProperties" : 0,
1350 "properties" : {
44660702
DM
1351 "comment" : {
1352 "optional" : 1,
013dc89f
DM
1353 "type" : "string",
1354 "typetext" : "<string>"
44660702
DM
1355 },
1356 "digest" : {
1357 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1358 "maxLength" : 40,
1359 "optional" : 1,
013dc89f
DM
1360 "type" : "string",
1361 "typetext" : "<string>"
44660702
DM
1362 },
1363 "name" : {
1364 "description" : "IP set name.",
1365 "maxLength" : 64,
1366 "minLength" : 2,
1367 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1368 "type" : "string"
1369 },
1370 "rename" : {
1371 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1372 "maxLength" : 64,
1373 "minLength" : 2,
1374 "optional" : 1,
1375 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1376 "type" : "string"
7aacca6f
DM
1377 }
1378 }
1379 },
56122987
DM
1380 "permissions" : {
1381 "check" : [
1382 "perm",
1383 "/",
1384 [
44660702 1385 "Sys.Modify"
56122987
DM
1386 ]
1387 ]
1388 },
44660702 1389 "protected" : 1,
56122987 1390 "returns" : {
44660702
DM
1391 "type" : "null"
1392 }
56122987 1393 }
7aacca6f 1394 },
44660702
DM
1395 "leaf" : 0,
1396 "path" : "/cluster/firewall/ipset",
1397 "text" : "ipset"
1398 },
56122987 1399 {
44660702
DM
1400 "children" : [
1401 {
1402 "info" : {
1403 "DELETE" : {
1404 "description" : "Remove IP or Network alias.",
1405 "method" : "DELETE",
1406 "name" : "remove_alias",
1407 "parameters" : {
1408 "additionalProperties" : 0,
1409 "properties" : {
1410 "digest" : {
1411 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1412 "maxLength" : 40,
1413 "optional" : 1,
013dc89f
DM
1414 "type" : "string",
1415 "typetext" : "<string>"
44660702
DM
1416 },
1417 "name" : {
1418 "description" : "Alias name.",
1419 "maxLength" : 64,
1420 "minLength" : 2,
1421 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1422 "type" : "string"
1423 }
1424 }
1425 },
1426 "permissions" : {
1427 "check" : [
1428 "perm",
1429 "/",
1430 [
1431 "Sys.Modify"
1432 ]
1433 ]
1434 },
1435 "protected" : 1,
1436 "returns" : {
1437 "type" : "null"
1438 }
1439 },
1440 "GET" : {
1441 "description" : "Read alias.",
1442 "method" : "GET",
1443 "name" : "read_alias",
1444 "parameters" : {
1445 "additionalProperties" : 0,
1446 "properties" : {
1447 "name" : {
1448 "description" : "Alias name.",
1449 "maxLength" : 64,
1450 "minLength" : 2,
1451 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1452 "type" : "string"
1453 }
1454 }
1455 },
1456 "permissions" : {
1457 "check" : [
1458 "perm",
1459 "/",
1460 [
1461 "Sys.Audit"
1462 ]
1463 ]
1464 },
1465 "returns" : {
1466 "type" : "object"
1467 }
1468 },
1469 "PUT" : {
1470 "description" : "Update IP or Network alias.",
1471 "method" : "PUT",
1472 "name" : "update_alias",
1473 "parameters" : {
1474 "additionalProperties" : 0,
1475 "properties" : {
1476 "cidr" : {
1477 "description" : "Network/IP specification in CIDR format.",
1478 "format" : "IPorCIDR",
013dc89f
DM
1479 "type" : "string",
1480 "typetext" : "<string>"
44660702
DM
1481 },
1482 "comment" : {
1483 "optional" : 1,
013dc89f
DM
1484 "type" : "string",
1485 "typetext" : "<string>"
44660702
DM
1486 },
1487 "digest" : {
1488 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1489 "maxLength" : 40,
1490 "optional" : 1,
013dc89f
DM
1491 "type" : "string",
1492 "typetext" : "<string>"
44660702
DM
1493 },
1494 "name" : {
1495 "description" : "Alias name.",
1496 "maxLength" : 64,
1497 "minLength" : 2,
1498 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1499 "type" : "string"
1500 },
1501 "rename" : {
1502 "description" : "Rename an existing alias.",
1503 "maxLength" : 64,
1504 "minLength" : 2,
1505 "optional" : 1,
1506 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1507 "type" : "string"
1508 }
1509 }
1510 },
1511 "permissions" : {
1512 "check" : [
1513 "perm",
1514 "/",
1515 [
1516 "Sys.Modify"
1517 ]
1518 ]
1519 },
1520 "protected" : 1,
1521 "returns" : {
1522 "type" : "null"
1523 }
1524 }
1525 },
1526 "leaf" : 1,
1527 "path" : "/cluster/firewall/aliases/{name}",
1528 "text" : "{name}"
1529 }
1530 ],
1531 "info" : {
1532 "GET" : {
1533 "description" : "List aliases",
1534 "method" : "GET",
1535 "name" : "get_aliases",
1536 "parameters" : {
1537 "additionalProperties" : 0
1538 },
1539 "permissions" : {
1540 "check" : [
1541 "perm",
1542 "/",
1543 [
1544 "Sys.Audit"
1545 ]
1546 ]
1547 },
1548 "returns" : {
1549 "items" : {
1550 "properties" : {
1551 "cidr" : {
1552 "type" : "string"
1553 },
1554 "comment" : {
1555 "optional" : 1,
1556 "type" : "string"
1557 },
1558 "digest" : {
1559 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1560 "maxLength" : 40,
1561 "optional" : 0,
1562 "type" : "string"
1563 },
1564 "name" : {
1565 "type" : "string"
1566 }
1567 },
1568 "type" : "object"
1569 },
1570 "links" : [
1571 {
1572 "href" : "{name}",
1573 "rel" : "child"
1574 }
1575 ],
1576 "type" : "array"
1577 }
1578 },
1579 "POST" : {
1580 "description" : "Create IP or Network Alias.",
1581 "method" : "POST",
1582 "name" : "create_alias",
56122987
DM
1583 "parameters" : {
1584 "additionalProperties" : 0,
1585 "properties" : {
44660702
DM
1586 "cidr" : {
1587 "description" : "Network/IP specification in CIDR format.",
1588 "format" : "IPorCIDR",
013dc89f
DM
1589 "type" : "string",
1590 "typetext" : "<string>"
44660702
DM
1591 },
1592 "comment" : {
1593 "optional" : 1,
013dc89f
DM
1594 "type" : "string",
1595 "typetext" : "<string>"
44660702
DM
1596 },
1597 "name" : {
1598 "description" : "Alias name.",
1599 "maxLength" : 64,
1600 "minLength" : 2,
1601 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1602 "type" : "string"
56122987
DM
1603 }
1604 }
1605 },
56122987
DM
1606 "permissions" : {
1607 "check" : [
1608 "perm",
1609 "/",
1610 [
1611 "Sys.Modify"
1612 ]
1613 ]
1614 },
44660702 1615 "protected" : 1,
56122987
DM
1616 "returns" : {
1617 "type" : "null"
1618 }
44660702
DM
1619 }
1620 },
1621 "leaf" : 0,
1622 "path" : "/cluster/firewall/aliases",
1623 "text" : "aliases"
1624 },
1625 {
1626 "info" : {
1627 "GET" : {
1628 "description" : "Get Firewall options.",
1629 "method" : "GET",
1630 "name" : "get_options",
1631 "parameters" : {
1632 "additionalProperties" : 0
7aacca6f 1633 },
56122987
DM
1634 "permissions" : {
1635 "check" : [
1636 "perm",
1637 "/",
1638 [
44660702 1639 "Sys.Audit"
56122987
DM
1640 ]
1641 ]
1642 },
44660702 1643 "returns" : {
56122987 1644 "properties" : {
44660702
DM
1645 "enable" : {
1646 "description" : "Enable or disable the firewall cluster wide.",
1647 "minimum" : 0,
56122987 1648 "optional" : 1,
7aacca6f 1649 "type" : "integer"
56122987 1650 },
44660702
DM
1651 "policy_in" : {
1652 "description" : "Input policy.",
1653 "enum" : [
1654 "ACCEPT",
1655 "REJECT",
1656 "DROP"
1657 ],
56122987 1658 "optional" : 1,
44660702 1659 "type" : "string"
7aacca6f 1660 },
44660702
DM
1661 "policy_out" : {
1662 "description" : "Output policy.",
1663 "enum" : [
1664 "ACCEPT",
1665 "REJECT",
1666 "DROP"
1667 ],
7aacca6f 1668 "optional" : 1,
44660702
DM
1669 "type" : "string"
1670 }
1671 },
1672 "type" : "object"
1673 }
1674 },
1675 "PUT" : {
1676 "description" : "Set Firewall options.",
1677 "method" : "PUT",
1678 "name" : "set_options",
1679 "parameters" : {
1680 "additionalProperties" : 0,
1681 "properties" : {
1682 "delete" : {
1683 "description" : "A list of settings you want to delete.",
1684 "format" : "pve-configid-list",
56122987 1685 "optional" : 1,
013dc89f
DM
1686 "type" : "string",
1687 "typetext" : "<string>"
56122987 1688 },
44660702
DM
1689 "digest" : {
1690 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1691 "maxLength" : 40,
56122987 1692 "optional" : 1,
013dc89f
DM
1693 "type" : "string",
1694 "typetext" : "<string>"
56122987 1695 },
44660702
DM
1696 "enable" : {
1697 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 1698 "minimum" : 0,
56122987 1699 "optional" : 1,
4bd7df8b 1700 "type" : "integer",
013dc89f 1701 "typetext" : "<integer> (0 - N)"
56122987 1702 },
44660702
DM
1703 "policy_in" : {
1704 "description" : "Input policy.",
56122987 1705 "enum" : [
44660702
DM
1706 "ACCEPT",
1707 "REJECT",
1708 "DROP"
56122987 1709 ],
56122987 1710 "optional" : 1,
44660702 1711 "type" : "string"
56122987 1712 },
44660702
DM
1713 "policy_out" : {
1714 "description" : "Output policy.",
56122987 1715 "enum" : [
44660702
DM
1716 "ACCEPT",
1717 "REJECT",
1718 "DROP"
56122987 1719 ],
7aacca6f 1720 "optional" : 1,
44660702 1721 "type" : "string"
56122987 1722 }
44660702
DM
1723 }
1724 },
1725 "permissions" : {
1726 "check" : [
1727 "perm",
1728 "/",
1729 [
1730 "Sys.Modify"
1731 ]
1732 ]
7aacca6f
DM
1733 },
1734 "protected" : 1,
44660702
DM
1735 "returns" : {
1736 "type" : "null"
1737 }
1738 }
1739 },
1740 "leaf" : 1,
1741 "path" : "/cluster/firewall/options",
1742 "text" : "options"
1743 },
1744 {
1745 "info" : {
7aacca6f 1746 "GET" : {
44660702 1747 "description" : "List available macros",
7aacca6f 1748 "method" : "GET",
44660702
DM
1749 "name" : "get_macros",
1750 "parameters" : {
1751 "additionalProperties" : 0
7aacca6f 1752 },
44660702
DM
1753 "permissions" : {
1754 "user" : "all"
1755 },
1756 "returns" : {
1757 "items" : {
1758 "properties" : {
1759 "descr" : {
1760 "description" : "More verbose description (if available).",
1761 "type" : "string"
1762 },
1763 "macro" : {
1764 "description" : "Macro name.",
1765 "type" : "string"
1766 }
1767 },
1768 "type" : "object"
1769 },
1770 "type" : "array"
1771 }
1772 }
1773 },
1774 "leaf" : 1,
1775 "path" : "/cluster/firewall/macros",
1776 "text" : "macros"
1777 },
1778 {
1779 "info" : {
1780 "GET" : {
1781 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
1782 "method" : "GET",
1783 "name" : "refs",
7aacca6f 1784 "parameters" : {
44660702 1785 "additionalProperties" : 0,
7aacca6f 1786 "properties" : {
44660702
DM
1787 "type" : {
1788 "description" : "Only list references of specified type.",
1789 "enum" : [
1790 "alias",
1791 "ipset"
1792 ],
1793 "optional" : 1,
1794 "type" : "string"
7aacca6f 1795 }
44660702 1796 }
7aacca6f
DM
1797 },
1798 "permissions" : {
1799 "check" : [
1800 "perm",
1801 "/",
1802 [
1803 "Sys.Audit"
1804 ]
1805 ]
1806 },
44660702
DM
1807 "returns" : {
1808 "items" : {
1809 "properties" : {
1810 "comment" : {
1811 "optional" : 1,
1812 "type" : "string"
1813 },
1814 "name" : {
1815 "type" : "string"
1816 },
1817 "ref" : {
1818 "type" : "string"
1819 },
1820 "type" : {
1821 "enum" : [
1822 "alias",
1823 "ipset"
1824 ],
1825 "type" : "string"
1826 }
1827 },
1828 "type" : "object"
1829 },
1830 "type" : "array"
1831 }
56122987
DM
1832 }
1833 },
7aacca6f 1834 "leaf" : 1,
44660702
DM
1835 "path" : "/cluster/firewall/refs",
1836 "text" : "refs"
56122987
DM
1837 }
1838 ],
56122987 1839 "info" : {
44660702
DM
1840 "GET" : {
1841 "description" : "Directory index.",
1842 "method" : "GET",
1843 "name" : "index",
56122987 1844 "parameters" : {
56122987
DM
1845 "additionalProperties" : 0
1846 },
44660702
DM
1847 "permissions" : {
1848 "user" : "all"
1849 },
56122987 1850 "returns" : {
44660702
DM
1851 "items" : {
1852 "properties" : {},
1853 "type" : "object"
1854 },
7aacca6f
DM
1855 "links" : [
1856 {
44660702
DM
1857 "href" : "{name}",
1858 "rel" : "child"
7aacca6f
DM
1859 }
1860 ],
7aacca6f 1861 "type" : "array"
7aacca6f 1862 }
56122987
DM
1863 }
1864 },
44660702
DM
1865 "leaf" : 0,
1866 "path" : "/cluster/firewall",
1867 "text" : "firewall"
7aacca6f
DM
1868 },
1869 {
56122987
DM
1870 "children" : [
1871 {
56122987 1872 "info" : {
44660702
DM
1873 "DELETE" : {
1874 "description" : "Delete vzdump backup job definition.",
1875 "method" : "DELETE",
1876 "name" : "delete_job",
1877 "parameters" : {
1878 "additionalProperties" : 0,
1879 "properties" : {
1880 "id" : {
1881 "description" : "The job ID.",
1882 "maxLength" : 50,
013dc89f
DM
1883 "type" : "string",
1884 "typetext" : "<string>"
44660702
DM
1885 }
1886 }
1887 },
1888 "permissions" : {
1889 "check" : [
1890 "perm",
1891 "/",
1892 [
1893 "Sys.Modify"
1894 ]
1895 ]
1896 },
1897 "protected" : 1,
56122987
DM
1898 "returns" : {
1899 "type" : "null"
44660702
DM
1900 }
1901 },
1902 "GET" : {
1903 "description" : "Read vzdump backup job definition.",
1904 "method" : "GET",
1905 "name" : "read_job",
1906 "parameters" : {
1907 "additionalProperties" : 0,
1908 "properties" : {
1909 "id" : {
1910 "description" : "The job ID.",
1911 "maxLength" : 50,
013dc89f
DM
1912 "type" : "string",
1913 "typetext" : "<string>"
44660702
DM
1914 }
1915 }
56122987 1916 },
7aacca6f
DM
1917 "permissions" : {
1918 "check" : [
1919 "perm",
1920 "/",
1921 [
44660702 1922 "Sys.Audit"
7aacca6f
DM
1923 ]
1924 ]
1925 },
44660702
DM
1926 "returns" : {
1927 "type" : "object"
1928 }
1929 },
1930 "PUT" : {
1931 "description" : "Update vzdump backup job definition.",
1932 "method" : "PUT",
1933 "name" : "update_job",
56122987 1934 "parameters" : {
44660702 1935 "additionalProperties" : 0,
56122987 1936 "properties" : {
44660702
DM
1937 "all" : {
1938 "default" : 0,
1939 "description" : "Backup all known guest systems on this host.",
7aacca6f 1940 "optional" : 1,
013dc89f
DM
1941 "type" : "boolean",
1942 "typetext" : "<boolean>"
7aacca6f 1943 },
44660702
DM
1944 "bwlimit" : {
1945 "default" : 0,
1946 "description" : "Limit I/O bandwidth (KBytes per second).",
1947 "minimum" : 0,
1948 "optional" : 1,
4bd7df8b 1949 "type" : "integer",
013dc89f 1950 "typetext" : "<integer> (0 - N)"
44660702
DM
1951 },
1952 "compress" : {
1953 "default" : "0",
1954 "description" : "Compress dump file.",
7aacca6f 1955 "enum" : [
44660702
DM
1956 "0",
1957 "1",
1958 "gzip",
1959 "lzo"
7aacca6f 1960 ],
44660702
DM
1961 "optional" : 1,
1962 "type" : "string"
7aacca6f 1963 },
44660702
DM
1964 "delete" : {
1965 "description" : "A list of settings you want to delete.",
1966 "format" : "pve-configid-list",
7aacca6f 1967 "optional" : 1,
013dc89f
DM
1968 "type" : "string",
1969 "typetext" : "<string>"
56122987 1970 },
44660702
DM
1971 "dow" : {
1972 "description" : "Day of week selection.",
1973 "format" : "pve-day-of-week-list",
7aacca6f 1974 "optional" : 1,
013dc89f
DM
1975 "type" : "string",
1976 "typetext" : "<string>"
56122987 1977 },
44660702
DM
1978 "dumpdir" : {
1979 "description" : "Store resulting files to specified directory.",
56122987 1980 "optional" : 1,
013dc89f
DM
1981 "type" : "string",
1982 "typetext" : "<string>"
56122987 1983 },
44660702
DM
1984 "enabled" : {
1985 "default" : "1",
1986 "description" : "Enable or disable the job.",
1987 "optional" : 1,
013dc89f
DM
1988 "type" : "boolean",
1989 "typetext" : "<boolean>"
44660702
DM
1990 },
1991 "exclude" : {
1992 "description" : "Exclude specified guest systems (assumes --all)",
1993 "format" : "pve-vmid-list",
1994 "optional" : 1,
013dc89f
DM
1995 "type" : "string",
1996 "typetext" : "<string>"
44660702
DM
1997 },
1998 "exclude-path" : {
1999 "description" : "Exclude certain files/directories (shell globs).",
2000 "format" : "string-alist",
2001 "optional" : 1,
013dc89f
DM
2002 "type" : "string",
2003 "typetext" : "<string>"
44660702
DM
2004 },
2005 "id" : {
2006 "description" : "The job ID.",
2007 "maxLength" : 50,
013dc89f
DM
2008 "type" : "string",
2009 "typetext" : "<string>"
44660702
DM
2010 },
2011 "ionice" : {
2012 "default" : 7,
2013 "description" : "Set CFQ ionice priority.",
2014 "maximum" : 8,
2015 "minimum" : 0,
2016 "optional" : 1,
4bd7df8b 2017 "type" : "integer",
013dc89f 2018 "typetext" : "<integer> (0 - 8)"
44660702
DM
2019 },
2020 "lockwait" : {
2021 "default" : 180,
2022 "description" : "Maximal time to wait for the global lock (minutes).",
2023 "minimum" : 0,
2024 "optional" : 1,
4bd7df8b 2025 "type" : "integer",
013dc89f 2026 "typetext" : "<integer> (0 - N)"
44660702
DM
2027 },
2028 "mailnotification" : {
2029 "default" : "always",
2030 "description" : "Specify when to send an email",
56122987 2031 "enum" : [
44660702
DM
2032 "always",
2033 "failure"
56122987 2034 ],
44660702
DM
2035 "optional" : 1,
2036 "type" : "string"
2037 },
2038 "mailto" : {
2039 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2040 "format" : "string-list",
2041 "optional" : 1,
013dc89f
DM
2042 "type" : "string",
2043 "typetext" : "<string>"
44660702
DM
2044 },
2045 "maxfiles" : {
2046 "default" : 1,
2047 "description" : "Maximal number of backup files per guest system.",
2048 "minimum" : 1,
2049 "optional" : 1,
4bd7df8b 2050 "type" : "integer",
013dc89f 2051 "typetext" : "<integer> (1 - N)"
44660702
DM
2052 },
2053 "mode" : {
2054 "default" : "snapshot",
2055 "description" : "Backup mode.",
2056 "enum" : [
2057 "snapshot",
2058 "suspend",
2059 "stop"
2060 ],
2061 "optional" : 1,
2062 "type" : "string"
2063 },
2064 "node" : {
2065 "description" : "Only run if executed on this node.",
2066 "format" : "pve-node",
2067 "optional" : 1,
013dc89f
DM
2068 "type" : "string",
2069 "typetext" : "<string>"
44660702
DM
2070 },
2071 "pigz" : {
2072 "default" : 0,
2073 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2074 "optional" : 1,
013dc89f
DM
2075 "type" : "integer",
2076 "typetext" : "<integer>"
44660702
DM
2077 },
2078 "quiet" : {
2079 "default" : 0,
2080 "description" : "Be quiet.",
2081 "optional" : 1,
013dc89f
DM
2082 "type" : "boolean",
2083 "typetext" : "<boolean>"
44660702
DM
2084 },
2085 "remove" : {
2086 "default" : 1,
2087 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2088 "optional" : 1,
013dc89f
DM
2089 "type" : "boolean",
2090 "typetext" : "<boolean>"
44660702
DM
2091 },
2092 "script" : {
2093 "description" : "Use specified hook script.",
2094 "optional" : 1,
013dc89f
DM
2095 "type" : "string",
2096 "typetext" : "<string>"
44660702
DM
2097 },
2098 "size" : {
2099 "default" : 1024,
2100 "description" : "Unused, will be removed in a future release.",
2101 "minimum" : 500,
2102 "optional" : 1,
4bd7df8b 2103 "type" : "integer",
013dc89f 2104 "typetext" : "<integer> (500 - N)"
44660702
DM
2105 },
2106 "starttime" : {
2107 "description" : "Job Start time.",
2108 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2109 "type" : "string",
44660702 2110 "typetext" : "HH:MM"
7aacca6f 2111 },
44660702
DM
2112 "stdexcludes" : {
2113 "default" : 1,
2114 "description" : "Exclude temporary files and logs.",
2115 "optional" : 1,
013dc89f
DM
2116 "type" : "boolean",
2117 "typetext" : "<boolean>"
44660702
DM
2118 },
2119 "stop" : {
2120 "default" : 0,
2121 "description" : "Stop runnig backup jobs on this host.",
2122 "optional" : 1,
013dc89f
DM
2123 "type" : "boolean",
2124 "typetext" : "<boolean>"
44660702
DM
2125 },
2126 "stopwait" : {
2127 "default" : 10,
2128 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2129 "minimum" : 0,
2130 "optional" : 1,
4bd7df8b 2131 "type" : "integer",
013dc89f 2132 "typetext" : "<integer> (0 - N)"
44660702
DM
2133 },
2134 "storage" : {
2135 "description" : "Store resulting file to this storage.",
2136 "format" : "pve-storage-id",
2137 "optional" : 1,
013dc89f
DM
2138 "type" : "string",
2139 "typetext" : "<string>"
56122987 2140 },
44660702
DM
2141 "tmpdir" : {
2142 "description" : "Store temporary files to specified directory.",
2143 "optional" : 1,
013dc89f
DM
2144 "type" : "string",
2145 "typetext" : "<string>"
44660702
DM
2146 },
2147 "vmid" : {
2148 "description" : "The ID of the guest system you want to backup.",
2149 "format" : "pve-vmid-list",
2150 "optional" : 1,
013dc89f
DM
2151 "type" : "string",
2152 "typetext" : "<string>"
56122987 2153 }
44660702 2154 }
56122987
DM
2155 },
2156 "permissions" : {
2157 "check" : [
2158 "perm",
2159 "/",
2160 [
44660702 2161 "Sys.Modify"
56122987
DM
2162 ]
2163 ]
2164 },
44660702
DM
2165 "protected" : 1,
2166 "returns" : {
2167 "type" : "null"
7aacca6f 2168 }
56122987
DM
2169 }
2170 },
44660702
DM
2171 "leaf" : 1,
2172 "path" : "/cluster/backup/{id}",
2173 "text" : "{id}"
2174 }
2175 ],
2176 "info" : {
2177 "GET" : {
2178 "description" : "List vzdump backup schedule.",
2179 "method" : "GET",
2180 "name" : "index",
2181 "parameters" : {
2182 "additionalProperties" : 0
2183 },
2184 "permissions" : {
2185 "check" : [
2186 "perm",
2187 "/",
2188 [
2189 "Sys.Audit"
2190 ]
2191 ]
2192 },
2193 "returns" : {
2194 "items" : {
2195 "properties" : {
2196 "id" : {
2197 "type" : "string"
2198 }
2199 },
2200 "type" : "object"
2201 },
2202 "links" : [
2203 {
2204 "href" : "{id}",
2205 "rel" : "child"
2206 }
2207 ],
2208 "type" : "array"
2209 }
2210 },
2211 "POST" : {
2212 "description" : "Create new vzdump backup job.",
2213 "method" : "POST",
2214 "name" : "create_job",
2215 "parameters" : {
2216 "additionalProperties" : 0,
2217 "properties" : {
2218 "all" : {
2219 "default" : 0,
2220 "description" : "Backup all known guest systems on this host.",
2221 "optional" : 1,
013dc89f
DM
2222 "type" : "boolean",
2223 "typetext" : "<boolean>"
44660702
DM
2224 },
2225 "bwlimit" : {
2226 "default" : 0,
2227 "description" : "Limit I/O bandwidth (KBytes per second).",
2228 "minimum" : 0,
2229 "optional" : 1,
4bd7df8b 2230 "type" : "integer",
013dc89f 2231 "typetext" : "<integer> (0 - N)"
44660702
DM
2232 },
2233 "compress" : {
2234 "default" : "0",
2235 "description" : "Compress dump file.",
2236 "enum" : [
2237 "0",
2238 "1",
2239 "gzip",
2240 "lzo"
2241 ],
2242 "optional" : 1,
2243 "type" : "string"
2244 },
2245 "dow" : {
2246 "default" : "mon,tue,wed,thu,fri,sat,sun",
2247 "description" : "Day of week selection.",
2248 "format" : "pve-day-of-week-list",
2249 "optional" : 1,
013dc89f
DM
2250 "type" : "string",
2251 "typetext" : "<string>"
44660702
DM
2252 },
2253 "dumpdir" : {
2254 "description" : "Store resulting files to specified directory.",
2255 "optional" : 1,
013dc89f
DM
2256 "type" : "string",
2257 "typetext" : "<string>"
44660702
DM
2258 },
2259 "enabled" : {
2260 "default" : "1",
2261 "description" : "Enable or disable the job.",
2262 "optional" : 1,
013dc89f
DM
2263 "type" : "boolean",
2264 "typetext" : "<boolean>"
44660702
DM
2265 },
2266 "exclude" : {
2267 "description" : "Exclude specified guest systems (assumes --all)",
2268 "format" : "pve-vmid-list",
2269 "optional" : 1,
013dc89f
DM
2270 "type" : "string",
2271 "typetext" : "<string>"
44660702
DM
2272 },
2273 "exclude-path" : {
2274 "description" : "Exclude certain files/directories (shell globs).",
2275 "format" : "string-alist",
2276 "optional" : 1,
013dc89f
DM
2277 "type" : "string",
2278 "typetext" : "<string>"
44660702
DM
2279 },
2280 "ionice" : {
2281 "default" : 7,
2282 "description" : "Set CFQ ionice priority.",
2283 "maximum" : 8,
2284 "minimum" : 0,
2285 "optional" : 1,
4bd7df8b 2286 "type" : "integer",
013dc89f 2287 "typetext" : "<integer> (0 - 8)"
44660702
DM
2288 },
2289 "lockwait" : {
2290 "default" : 180,
2291 "description" : "Maximal time to wait for the global lock (minutes).",
2292 "minimum" : 0,
2293 "optional" : 1,
4bd7df8b 2294 "type" : "integer",
013dc89f 2295 "typetext" : "<integer> (0 - N)"
44660702
DM
2296 },
2297 "mailnotification" : {
2298 "default" : "always",
2299 "description" : "Specify when to send an email",
2300 "enum" : [
2301 "always",
2302 "failure"
2303 ],
2304 "optional" : 1,
2305 "type" : "string"
2306 },
2307 "mailto" : {
2308 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2309 "format" : "string-list",
2310 "optional" : 1,
013dc89f
DM
2311 "type" : "string",
2312 "typetext" : "<string>"
44660702
DM
2313 },
2314 "maxfiles" : {
2315 "default" : 1,
2316 "description" : "Maximal number of backup files per guest system.",
2317 "minimum" : 1,
2318 "optional" : 1,
4bd7df8b 2319 "type" : "integer",
013dc89f 2320 "typetext" : "<integer> (1 - N)"
44660702
DM
2321 },
2322 "mode" : {
2323 "default" : "snapshot",
2324 "description" : "Backup mode.",
2325 "enum" : [
2326 "snapshot",
2327 "suspend",
2328 "stop"
2329 ],
2330 "optional" : 1,
2331 "type" : "string"
2332 },
2333 "node" : {
2334 "description" : "Only run if executed on this node.",
2335 "format" : "pve-node",
2336 "optional" : 1,
013dc89f
DM
2337 "type" : "string",
2338 "typetext" : "<string>"
44660702
DM
2339 },
2340 "pigz" : {
2341 "default" : 0,
2342 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2343 "optional" : 1,
013dc89f
DM
2344 "type" : "integer",
2345 "typetext" : "<integer>"
44660702
DM
2346 },
2347 "quiet" : {
2348 "default" : 0,
2349 "description" : "Be quiet.",
2350 "optional" : 1,
013dc89f
DM
2351 "type" : "boolean",
2352 "typetext" : "<boolean>"
44660702
DM
2353 },
2354 "remove" : {
2355 "default" : 1,
2356 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2357 "optional" : 1,
013dc89f
DM
2358 "type" : "boolean",
2359 "typetext" : "<boolean>"
44660702
DM
2360 },
2361 "script" : {
2362 "description" : "Use specified hook script.",
2363 "optional" : 1,
013dc89f
DM
2364 "type" : "string",
2365 "typetext" : "<string>"
44660702
DM
2366 },
2367 "size" : {
2368 "default" : 1024,
2369 "description" : "Unused, will be removed in a future release.",
2370 "minimum" : 500,
2371 "optional" : 1,
4bd7df8b 2372 "type" : "integer",
013dc89f 2373 "typetext" : "<integer> (500 - N)"
44660702
DM
2374 },
2375 "starttime" : {
2376 "description" : "Job Start time.",
2377 "pattern" : "\\d{1,2}:\\d{1,2}",
2378 "type" : "string",
2379 "typetext" : "HH:MM"
2380 },
2381 "stdexcludes" : {
2382 "default" : 1,
2383 "description" : "Exclude temporary files and logs.",
2384 "optional" : 1,
013dc89f
DM
2385 "type" : "boolean",
2386 "typetext" : "<boolean>"
44660702
DM
2387 },
2388 "stop" : {
2389 "default" : 0,
2390 "description" : "Stop runnig backup jobs on this host.",
2391 "optional" : 1,
013dc89f
DM
2392 "type" : "boolean",
2393 "typetext" : "<boolean>"
44660702
DM
2394 },
2395 "stopwait" : {
2396 "default" : 10,
2397 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2398 "minimum" : 0,
2399 "optional" : 1,
4bd7df8b 2400 "type" : "integer",
013dc89f 2401 "typetext" : "<integer> (0 - N)"
44660702
DM
2402 },
2403 "storage" : {
2404 "description" : "Store resulting file to this storage.",
2405 "format" : "pve-storage-id",
2406 "optional" : 1,
013dc89f
DM
2407 "type" : "string",
2408 "typetext" : "<string>"
44660702
DM
2409 },
2410 "tmpdir" : {
2411 "description" : "Store temporary files to specified directory.",
2412 "optional" : 1,
013dc89f
DM
2413 "type" : "string",
2414 "typetext" : "<string>"
44660702
DM
2415 },
2416 "vmid" : {
2417 "description" : "The ID of the guest system you want to backup.",
2418 "format" : "pve-vmid-list",
2419 "optional" : 1,
013dc89f
DM
2420 "type" : "string",
2421 "typetext" : "<string>"
44660702
DM
2422 }
2423 }
2424 },
2425 "permissions" : {
2426 "check" : [
2427 "perm",
2428 "/",
2429 [
2430 "Sys.Modify"
2431 ]
de0983cb
DM
2432 ],
2433 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
2434 },
2435 "protected" : 1,
2436 "returns" : {
2437 "type" : "null"
2438 }
2439 }
2440 },
2441 "leaf" : 0,
2442 "path" : "/cluster/backup",
2443 "text" : "backup"
2444 },
2445 {
2446 "children" : [
2447 {
2448 "children" : [
2449 {
2450 "children" : [
56122987 2451 {
56122987
DM
2452 "info" : {
2453 "POST" : {
44660702
DM
2454 "description" : "Request resource migration (online) to another node.",
2455 "method" : "POST",
2456 "name" : "migrate",
56122987 2457 "parameters" : {
7aacca6f 2458 "additionalProperties" : 0,
56122987
DM
2459 "properties" : {
2460 "node" : {
7aacca6f 2461 "description" : "The cluster node name.",
44660702 2462 "format" : "pve-node",
013dc89f
DM
2463 "type" : "string",
2464 "typetext" : "<string>"
56122987
DM
2465 },
2466 "sid" : {
44660702 2467 "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 2468 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2469 "type" : "string",
44660702 2470 "typetext" : "<type>:<name>"
56122987 2471 }
7aacca6f 2472 }
56122987 2473 },
56122987
DM
2474 "permissions" : {
2475 "check" : [
2476 "perm",
2477 "/",
2478 [
2479 "Sys.Console"
2480 ]
2481 ]
2482 },
7aacca6f 2483 "protected" : 1,
7aacca6f
DM
2484 "returns" : {
2485 "type" : "null"
44660702 2486 }
56122987 2487 }
44660702
DM
2488 },
2489 "leaf" : 1,
2490 "path" : "/cluster/ha/resources/{sid}/migrate",
2491 "text" : "migrate"
2492 },
2493 {
2494 "info" : {
2495 "POST" : {
2496 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2497 "method" : "POST",
2498 "name" : "relocate",
2499 "parameters" : {
2500 "additionalProperties" : 0,
2501 "properties" : {
2502 "node" : {
2503 "description" : "The cluster node name.",
2504 "format" : "pve-node",
013dc89f
DM
2505 "type" : "string",
2506 "typetext" : "<string>"
44660702
DM
2507 },
2508 "sid" : {
2509 "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).",
2510 "format" : "pve-ha-resource-or-vm-id",
2511 "type" : "string",
2512 "typetext" : "<type>:<name>"
2513 }
2514 }
2515 },
2516 "permissions" : {
2517 "check" : [
2518 "perm",
2519 "/",
2520 [
2521 "Sys.Console"
2522 ]
2523 ]
2524 },
2525 "protected" : 1,
2526 "returns" : {
2527 "type" : "null"
2528 }
2529 }
2530 },
2531 "leaf" : 1,
2532 "path" : "/cluster/ha/resources/{sid}/relocate",
2533 "text" : "relocate"
2534 }
2535 ],
2536 "info" : {
2537 "DELETE" : {
2538 "description" : "Delete resource configuration.",
2539 "method" : "DELETE",
2540 "name" : "delete",
7aacca6f 2541 "parameters" : {
44660702 2542 "additionalProperties" : 0,
7aacca6f
DM
2543 "properties" : {
2544 "sid" : {
2545 "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 2546 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2547 "type" : "string",
44660702
DM
2548 "typetext" : "<type>:<name>"
2549 }
2550 }
2551 },
2552 "permissions" : {
2553 "check" : [
2554 "perm",
2555 "/",
2556 [
2557 "Sys.Console"
2558 ]
2559 ]
2560 },
2561 "protected" : 1,
2562 "returns" : {
2563 "type" : "null"
2564 }
2565 },
2566 "GET" : {
2567 "description" : "Read resource configuration.",
2568 "method" : "GET",
2569 "name" : "read",
2570 "parameters" : {
2571 "additionalProperties" : 0,
2572 "properties" : {
2573 "sid" : {
2574 "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 2575 "format" : "pve-ha-resource-or-vm-id",
44660702 2576 "type" : "string",
7aacca6f
DM
2577 "typetext" : "<type>:<name>"
2578 }
44660702 2579 }
7aacca6f
DM
2580 },
2581 "permissions" : {
2582 "check" : [
2583 "perm",
2584 "/",
2585 [
2586 "Sys.Audit"
2587 ]
2588 ]
2589 },
44660702 2590 "returns" : {}
7aacca6f 2591 },
56122987 2592 "PUT" : {
44660702 2593 "description" : "Update resource configuration.",
7aacca6f 2594 "method" : "PUT",
44660702 2595 "name" : "update",
56122987
DM
2596 "parameters" : {
2597 "additionalProperties" : 0,
2598 "properties" : {
44660702
DM
2599 "comment" : {
2600 "description" : "Description.",
2601 "maxLength" : 4096,
56122987 2602 "optional" : 1,
013dc89f
DM
2603 "type" : "string",
2604 "typetext" : "<string>"
56122987 2605 },
7aacca6f
DM
2606 "delete" : {
2607 "description" : "A list of settings you want to delete.",
7aacca6f 2608 "format" : "pve-configid-list",
44660702
DM
2609 "maxLength" : 4096,
2610 "optional" : 1,
013dc89f
DM
2611 "type" : "string",
2612 "typetext" : "<string>"
56122987 2613 },
44660702
DM
2614 "digest" : {
2615 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2616 "maxLength" : 40,
2617 "optional" : 1,
013dc89f
DM
2618 "type" : "string",
2619 "typetext" : "<string>"
56122987 2620 },
44660702
DM
2621 "group" : {
2622 "description" : "The HA group identifier.",
2623 "format" : "pve-configid",
7aacca6f 2624 "optional" : 1,
013dc89f
DM
2625 "type" : "string",
2626 "typetext" : "<string>"
56122987
DM
2627 },
2628 "max_relocate" : {
7aacca6f 2629 "default" : 1,
56122987 2630 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
2631 "minimum" : 0,
2632 "optional" : 1,
4bd7df8b 2633 "type" : "integer",
013dc89f 2634 "typetext" : "<integer> (0 - N)"
7aacca6f 2635 },
44660702
DM
2636 "max_restart" : {
2637 "default" : 1,
2638 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2639 "minimum" : 0,
7aacca6f 2640 "optional" : 1,
4bd7df8b 2641 "type" : "integer",
013dc89f 2642 "typetext" : "<integer> (0 - N)"
44660702
DM
2643 },
2644 "sid" : {
2645 "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).",
2646 "format" : "pve-ha-resource-or-vm-id",
2647 "type" : "string",
2648 "typetext" : "<type>:<name>"
7aacca6f
DM
2649 },
2650 "state" : {
f13c1238
DM
2651 "default" : "started",
2652 "description" : "Requested resource state.",
7aacca6f 2653 "enum" : [
f13c1238
DM
2654 "started",
2655 "stopped",
7aacca6f
DM
2656 "enabled",
2657 "disabled"
2658 ],
7aacca6f 2659 "optional" : 1,
f13c1238
DM
2660 "type" : "string",
2661 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
56122987 2662 }
44660702
DM
2663 },
2664 "type" : "object"
56122987 2665 },
56122987
DM
2666 "permissions" : {
2667 "check" : [
2668 "perm",
2669 "/",
2670 [
2671 "Sys.Console"
2672 ]
2673 ]
2674 },
7aacca6f 2675 "protected" : 1,
56122987
DM
2676 "returns" : {
2677 "type" : "null"
2678 }
2679 }
2680 },
44660702 2681 "leaf" : 0,
7aacca6f 2682 "path" : "/cluster/ha/resources/{sid}",
44660702 2683 "text" : "{sid}"
56122987
DM
2684 }
2685 ],
7aacca6f
DM
2686 "info" : {
2687 "GET" : {
44660702
DM
2688 "description" : "List HA resources.",
2689 "method" : "GET",
2690 "name" : "index",
7aacca6f 2691 "parameters" : {
44660702
DM
2692 "additionalProperties" : 0,
2693 "properties" : {
2694 "type" : {
2695 "description" : "Only list resources of specific type",
2696 "enum" : [
2697 "ct",
2698 "vm"
2699 ],
2700 "optional" : 1,
2701 "type" : "string"
2702 }
2703 }
7aacca6f 2704 },
7aacca6f
DM
2705 "permissions" : {
2706 "check" : [
2707 "perm",
2708 "/",
2709 [
2710 "Sys.Audit"
2711 ]
2712 ]
2713 },
7aacca6f 2714 "returns" : {
7aacca6f 2715 "items" : {
7aacca6f 2716 "properties" : {
44660702 2717 "sid" : {
7aacca6f
DM
2718 "type" : "string"
2719 }
44660702
DM
2720 },
2721 "type" : "object"
7aacca6f
DM
2722 },
2723 "links" : [
2724 {
44660702 2725 "href" : "{sid}",
7aacca6f
DM
2726 "rel" : "child"
2727 }
44660702
DM
2728 ],
2729 "type" : "array"
7aacca6f
DM
2730 }
2731 },
2732 "POST" : {
44660702 2733 "description" : "Create a new HA resource.",
7aacca6f 2734 "method" : "POST",
44660702 2735 "name" : "create",
7aacca6f 2736 "parameters" : {
44660702 2737 "additionalProperties" : 0,
7aacca6f
DM
2738 "properties" : {
2739 "comment" : {
7aacca6f 2740 "description" : "Description.",
44660702 2741 "maxLength" : 4096,
7aacca6f 2742 "optional" : 1,
013dc89f
DM
2743 "type" : "string",
2744 "typetext" : "<string>"
7aacca6f 2745 },
44660702
DM
2746 "group" : {
2747 "description" : "The HA group identifier.",
2748 "format" : "pve-configid",
7aacca6f 2749 "optional" : 1,
013dc89f
DM
2750 "type" : "string",
2751 "typetext" : "<string>"
7aacca6f 2752 },
44660702
DM
2753 "max_relocate" : {
2754 "default" : 1,
2755 "description" : "Maximal number of service relocate tries when a service failes to start.",
2756 "minimum" : 0,
7aacca6f 2757 "optional" : 1,
4bd7df8b 2758 "type" : "integer",
013dc89f 2759 "typetext" : "<integer> (0 - N)"
7aacca6f 2760 },
44660702
DM
2761 "max_restart" : {
2762 "default" : 1,
2763 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2764 "minimum" : 0,
2765 "optional" : 1,
4bd7df8b 2766 "type" : "integer",
013dc89f 2767 "typetext" : "<integer> (0 - N)"
44660702
DM
2768 },
2769 "sid" : {
2770 "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).",
2771 "format" : "pve-ha-resource-or-vm-id",
2772 "type" : "string",
2773 "typetext" : "<type>:<name>"
2774 },
2775 "state" : {
f13c1238
DM
2776 "default" : "started",
2777 "description" : "Requested resource state.",
7aacca6f 2778 "enum" : [
f13c1238
DM
2779 "started",
2780 "stopped",
44660702
DM
2781 "enabled",
2782 "disabled"
7aacca6f 2783 ],
7aacca6f 2784 "optional" : 1,
f13c1238
DM
2785 "type" : "string",
2786 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
7aacca6f 2787 },
44660702
DM
2788 "type" : {
2789 "description" : "Resource type.",
2790 "enum" : [
2791 "ct",
2792 "vm"
2793 ],
2794 "optional" : 1,
2795 "type" : "string"
2796 }
7aacca6f 2797 },
44660702 2798 "type" : "object"
7aacca6f
DM
2799 },
2800 "permissions" : {
2801 "check" : [
2802 "perm",
2803 "/",
2804 [
2805 "Sys.Console"
2806 ]
2807 ]
2808 },
44660702
DM
2809 "protected" : 1,
2810 "returns" : {
2811 "type" : "null"
2812 }
7aacca6f
DM
2813 }
2814 },
44660702
DM
2815 "leaf" : 0,
2816 "path" : "/cluster/ha/resources",
2817 "text" : "resources"
2818 },
2819 {
56122987
DM
2820 "children" : [
2821 {
56122987 2822 "info" : {
44660702
DM
2823 "DELETE" : {
2824 "description" : "Delete ha group configuration.",
2825 "method" : "DELETE",
2826 "name" : "delete",
56122987 2827 "parameters" : {
7aacca6f 2828 "additionalProperties" : 0,
56122987 2829 "properties" : {
7aacca6f
DM
2830 "group" : {
2831 "description" : "The HA group identifier.",
44660702 2832 "format" : "pve-configid",
013dc89f
DM
2833 "type" : "string",
2834 "typetext" : "<string>"
56122987 2835 }
7aacca6f 2836 }
56122987 2837 },
56122987
DM
2838 "permissions" : {
2839 "check" : [
2840 "perm",
2841 "/",
2842 [
7aacca6f 2843 "Sys.Console"
56122987
DM
2844 ]
2845 ]
2846 },
44660702 2847 "protected" : 1,
7aacca6f
DM
2848 "returns" : {
2849 "type" : "null"
56122987
DM
2850 }
2851 },
44660702
DM
2852 "GET" : {
2853 "description" : "Read ha group configuration.",
2854 "method" : "GET",
2855 "name" : "read",
56122987 2856 "parameters" : {
44660702 2857 "additionalProperties" : 0,
56122987
DM
2858 "properties" : {
2859 "group" : {
2860 "description" : "The HA group identifier.",
44660702 2861 "format" : "pve-configid",
013dc89f
DM
2862 "type" : "string",
2863 "typetext" : "<string>"
56122987 2864 }
44660702 2865 }
56122987 2866 },
56122987
DM
2867 "permissions" : {
2868 "check" : [
2869 "perm",
2870 "/",
2871 [
44660702 2872 "Sys.Audit"
56122987
DM
2873 ]
2874 ]
2875 },
44660702 2876 "returns" : {}
7aacca6f 2877 },
44660702
DM
2878 "PUT" : {
2879 "description" : "Update ha group configuration.",
2880 "method" : "PUT",
2881 "name" : "update",
7aacca6f 2882 "parameters" : {
44660702 2883 "additionalProperties" : 0,
7aacca6f 2884 "properties" : {
44660702
DM
2885 "comment" : {
2886 "description" : "Description.",
2887 "maxLength" : 4096,
2888 "optional" : 1,
013dc89f
DM
2889 "type" : "string",
2890 "typetext" : "<string>"
44660702
DM
2891 },
2892 "delete" : {
2893 "description" : "A list of settings you want to delete.",
2894 "format" : "pve-configid-list",
2895 "maxLength" : 4096,
2896 "optional" : 1,
013dc89f
DM
2897 "type" : "string",
2898 "typetext" : "<string>"
44660702
DM
2899 },
2900 "digest" : {
2901 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2902 "maxLength" : 40,
2903 "optional" : 1,
013dc89f
DM
2904 "type" : "string",
2905 "typetext" : "<string>"
44660702 2906 },
7aacca6f
DM
2907 "group" : {
2908 "description" : "The HA group identifier.",
44660702 2909 "format" : "pve-configid",
013dc89f
DM
2910 "type" : "string",
2911 "typetext" : "<string>"
44660702
DM
2912 },
2913 "nodes" : {
f13c1238 2914 "description" : "List of cluster node names with optional priority.",
44660702
DM
2915 "format" : "pve-ha-group-node-list",
2916 "optional" : 1,
7aacca6f 2917 "type" : "string",
f13c1238
DM
2918 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
2919 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
2920 },
2921 "nofailback" : {
2922 "default" : 0,
2923 "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.",
2924 "optional" : 1,
013dc89f
DM
2925 "type" : "boolean",
2926 "typetext" : "<boolean>"
44660702
DM
2927 },
2928 "restricted" : {
2929 "default" : 0,
c4808e75 2930 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 2931 "optional" : 1,
013dc89f 2932 "type" : "boolean",
c4808e75
DM
2933 "typetext" : "<boolean>",
2934 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
7aacca6f
DM
2935 }
2936 },
44660702 2937 "type" : "object"
7aacca6f 2938 },
7aacca6f
DM
2939 "permissions" : {
2940 "check" : [
2941 "perm",
2942 "/",
2943 [
44660702 2944 "Sys.Console"
7aacca6f
DM
2945 ]
2946 ]
2947 },
44660702
DM
2948 "protected" : 1,
2949 "returns" : {
2950 "type" : "null"
2951 }
56122987
DM
2952 }
2953 },
2954 "leaf" : 1,
44660702
DM
2955 "path" : "/cluster/ha/groups/{group}",
2956 "text" : "{group}"
56122987 2957 }
44660702
DM
2958 ],
2959 "info" : {
2960 "GET" : {
2961 "description" : "Get HA groups.",
2962 "method" : "GET",
2963 "name" : "index",
2964 "parameters" : {
2965 "additionalProperties" : 0
2966 },
2967 "permissions" : {
2968 "check" : [
2969 "perm",
2970 "/",
2971 [
2972 "Sys.Audit"
2973 ]
2974 ]
2975 },
2976 "returns" : {
2977 "items" : {
2978 "properties" : {
2979 "group" : {
2980 "type" : "string"
2981 }
2982 },
2983 "type" : "object"
2984 },
2985 "links" : [
2986 {
2987 "href" : "{group}",
2988 "rel" : "child"
2989 }
2990 ],
2991 "type" : "array"
2992 }
2993 },
2994 "POST" : {
2995 "description" : "Create a new HA group.",
2996 "method" : "POST",
2997 "name" : "create",
2998 "parameters" : {
2999 "additionalProperties" : 0,
3000 "properties" : {
3001 "comment" : {
3002 "description" : "Description.",
3003 "maxLength" : 4096,
3004 "optional" : 1,
013dc89f
DM
3005 "type" : "string",
3006 "typetext" : "<string>"
44660702
DM
3007 },
3008 "group" : {
3009 "description" : "The HA group identifier.",
3010 "format" : "pve-configid",
013dc89f
DM
3011 "type" : "string",
3012 "typetext" : "<string>"
44660702
DM
3013 },
3014 "nodes" : {
f13c1238 3015 "description" : "List of cluster node names with optional priority.",
44660702
DM
3016 "format" : "pve-ha-group-node-list",
3017 "optional" : 0,
3018 "type" : "string",
f13c1238
DM
3019 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3020 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
44660702
DM
3021 },
3022 "nofailback" : {
3023 "default" : 0,
3024 "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.",
3025 "optional" : 1,
013dc89f
DM
3026 "type" : "boolean",
3027 "typetext" : "<boolean>"
44660702
DM
3028 },
3029 "restricted" : {
3030 "default" : 0,
c4808e75 3031 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3032 "optional" : 1,
013dc89f 3033 "type" : "boolean",
c4808e75
DM
3034 "typetext" : "<boolean>",
3035 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
44660702
DM
3036 },
3037 "type" : {
3038 "description" : "Group type.",
3039 "enum" : [
3040 "group"
3041 ],
3042 "optional" : 1,
3043 "type" : "string"
3044 }
3045 },
3046 "type" : "object"
3047 },
3048 "permissions" : {
3049 "check" : [
3050 "perm",
3051 "/",
3052 [
3053 "Sys.Console"
3054 ]
3055 ]
3056 },
3057 "protected" : 1,
3058 "returns" : {
3059 "type" : "null"
3060 }
3061 }
3062 },
3063 "leaf" : 0,
3064 "path" : "/cluster/ha/groups",
3065 "text" : "groups"
7aacca6f
DM
3066 },
3067 {
7aacca6f
DM
3068 "children" : [
3069 {
3070 "info" : {
3071 "GET" : {
56122987 3072 "description" : "Get HA manger status.",
44660702 3073 "method" : "GET",
7aacca6f 3074 "name" : "status",
44660702
DM
3075 "parameters" : {
3076 "additionalProperties" : 0
3077 },
56122987
DM
3078 "permissions" : {
3079 "check" : [
3080 "perm",
3081 "/",
3082 [
3083 "Sys.Audit"
3084 ]
3085 ]
7aacca6f 3086 },
44660702
DM
3087 "returns" : {
3088 "type" : "array"
56122987
DM
3089 }
3090 }
7aacca6f 3091 },
7aacca6f 3092 "leaf" : 1,
44660702
DM
3093 "path" : "/cluster/ha/status/current",
3094 "text" : "current"
56122987
DM
3095 },
3096 {
3097 "info" : {
3098 "GET" : {
7aacca6f 3099 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3100 "method" : "GET",
3101 "name" : "manager_status",
7aacca6f
DM
3102 "parameters" : {
3103 "additionalProperties" : 0
3104 },
56122987
DM
3105 "permissions" : {
3106 "check" : [
3107 "perm",
3108 "/",
3109 [
3110 "Sys.Audit"
3111 ]
3112 ]
44660702
DM
3113 },
3114 "returns" : {
3115 "type" : "object"
7aacca6f 3116 }
56122987
DM
3117 }
3118 },
56122987 3119 "leaf" : 1,
44660702
DM
3120 "path" : "/cluster/ha/status/manager_status",
3121 "text" : "manager_status"
56122987
DM
3122 }
3123 ],
56122987
DM
3124 "info" : {
3125 "GET" : {
44660702 3126 "description" : "Directory index.",
7aacca6f 3127 "method" : "GET",
44660702
DM
3128 "name" : "index",
3129 "parameters" : {
3130 "additionalProperties" : 0
3131 },
3132 "permissions" : {
3133 "user" : "all"
3134 },
56122987 3135 "returns" : {
56122987
DM
3136 "items" : {
3137 "properties" : {},
3138 "type" : "object"
3139 },
3140 "links" : [
3141 {
44660702
DM
3142 "href" : "{name}",
3143 "rel" : "child"
56122987 3144 }
7aacca6f
DM
3145 ],
3146 "type" : "array"
44660702 3147 }
56122987 3148 }
7aacca6f 3149 },
44660702 3150 "leaf" : 0,
7aacca6f 3151 "path" : "/cluster/ha/status",
44660702 3152 "text" : "status"
56122987
DM
3153 }
3154 ],
56122987
DM
3155 "info" : {
3156 "GET" : {
7aacca6f 3157 "description" : "Directory index.",
44660702
DM
3158 "method" : "GET",
3159 "name" : "index",
3160 "parameters" : {
3161 "additionalProperties" : 0
3162 },
7aacca6f
DM
3163 "permissions" : {
3164 "check" : [
3165 "perm",
3166 "/",
3167 [
3168 "Sys.Audit"
3169 ]
3170 ]
3171 },
56122987 3172 "returns" : {
56122987 3173 "items" : {
7aacca6f
DM
3174 "properties" : {
3175 "id" : {
3176 "type" : "string"
3177 }
44660702
DM
3178 },
3179 "type" : "object"
7aacca6f
DM
3180 },
3181 "links" : [
3182 {
3183 "href" : "{id}",
3184 "rel" : "child"
3185 }
44660702
DM
3186 ],
3187 "type" : "array"
7aacca6f
DM
3188 }
3189 }
44660702
DM
3190 },
3191 "leaf" : 0,
3192 "path" : "/cluster/ha",
3193 "text" : "ha"
7aacca6f
DM
3194 },
3195 {
7aacca6f
DM
3196 "info" : {
3197 "GET" : {
3198 "description" : "Read cluster log",
44660702
DM
3199 "method" : "GET",
3200 "name" : "log",
56122987 3201 "parameters" : {
7aacca6f 3202 "additionalProperties" : 0,
56122987
DM
3203 "properties" : {
3204 "max" : {
7aacca6f 3205 "description" : "Maximum number of entries.",
44660702
DM
3206 "minimum" : 1,
3207 "optional" : 1,
4bd7df8b 3208 "type" : "integer",
013dc89f 3209 "typetext" : "<integer> (1 - N)"
56122987 3210 }
7aacca6f 3211 }
56122987 3212 },
44660702
DM
3213 "permissions" : {
3214 "user" : "all"
3215 },
7aacca6f 3216 "returns" : {
7aacca6f 3217 "items" : {
44660702
DM
3218 "properties" : {},
3219 "type" : "object"
3220 },
3221 "type" : "array"
7aacca6f 3222 }
56122987 3223 }
44660702
DM
3224 },
3225 "leaf" : 1,
3226 "path" : "/cluster/log",
3227 "text" : "log"
56122987
DM
3228 },
3229 {
56122987
DM
3230 "info" : {
3231 "GET" : {
44660702 3232 "description" : "Resources index (cluster wide).",
7aacca6f 3233 "method" : "GET",
7aacca6f 3234 "name" : "resources",
56122987
DM
3235 "parameters" : {
3236 "additionalProperties" : 0,
3237 "properties" : {
3238 "type" : {
3239 "enum" : [
3240 "vm",
3241 "storage",
3242 "node"
44660702
DM
3243 ],
3244 "optional" : 1,
3245 "type" : "string"
56122987
DM
3246 }
3247 }
3248 },
44660702
DM
3249 "permissions" : {
3250 "user" : "all"
3251 },
3252 "returns" : {
3253 "items" : {
3254 "properties" : {},
3255 "type" : "object"
3256 },
3257 "type" : "array"
3258 }
56122987
DM
3259 }
3260 },
7aacca6f 3261 "leaf" : 1,
44660702
DM
3262 "path" : "/cluster/resources",
3263 "text" : "resources"
56122987
DM
3264 },
3265 {
56122987
DM
3266 "info" : {
3267 "GET" : {
7aacca6f 3268 "description" : "List recent tasks (cluster wide).",
44660702 3269 "method" : "GET",
7aacca6f 3270 "name" : "tasks",
56122987
DM
3271 "parameters" : {
3272 "additionalProperties" : 0
3273 },
44660702
DM
3274 "permissions" : {
3275 "user" : "all"
3276 },
56122987
DM
3277 "returns" : {
3278 "items" : {
3279 "properties" : {
3280 "upid" : {
3281 "type" : "string"
3282 }
44660702
DM
3283 },
3284 "type" : "object"
3285 },
3286 "type" : "array"
7aacca6f 3287 }
56122987
DM
3288 }
3289 },
7aacca6f 3290 "leaf" : 1,
44660702
DM
3291 "path" : "/cluster/tasks",
3292 "text" : "tasks"
56122987
DM
3293 },
3294 {
56122987 3295 "info" : {
7aacca6f 3296 "GET" : {
44660702
DM
3297 "description" : "Get datacenter options.",
3298 "method" : "GET",
3299 "name" : "get_options",
56122987 3300 "parameters" : {
7aacca6f
DM
3301 "additionalProperties" : 0
3302 },
3303 "permissions" : {
3304 "check" : [
3305 "perm",
3306 "/",
3307 [
3308 "Sys.Audit"
3309 ]
3310 ]
3311 },
7aacca6f 3312 "returns" : {
44660702
DM
3313 "properties" : {},
3314 "type" : "object"
7aacca6f
DM
3315 }
3316 },
3317 "PUT" : {
44660702
DM
3318 "description" : "Set datacenter options.",
3319 "method" : "PUT",
7aacca6f
DM
3320 "name" : "set_options",
3321 "parameters" : {
3322 "additionalProperties" : 0,
3323 "properties" : {
56122987 3324 "console" : {
56122987 3325 "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
3326 "enum" : [
3327 "applet",
3328 "vv",
3329 "html5"
44660702
DM
3330 ],
3331 "optional" : 1,
3332 "type" : "string"
56122987 3333 },
7aacca6f 3334 "delete" : {
7aacca6f 3335 "description" : "A list of settings you want to delete.",
44660702 3336 "format" : "pve-configid-list",
7aacca6f 3337 "optional" : 1,
013dc89f
DM
3338 "type" : "string",
3339 "typetext" : "<string>"
7aacca6f 3340 },
44660702
DM
3341 "email_from" : {
3342 "description" : "Specify email address to send notification from (default is root@$hostname)",
3343 "format" : "email-opt",
7aacca6f 3344 "optional" : 1,
013dc89f
DM
3345 "type" : "string",
3346 "typetext" : "<string>"
44660702
DM
3347 },
3348 "fencing" : {
3349 "default" : "watchdog",
3350 "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 3351 "enum" : [
44660702
DM
3352 "watchdog",
3353 "hardware",
3354 "both"
7aacca6f 3355 ],
44660702
DM
3356 "optional" : 1,
3357 "type" : "string"
3358 },
3359 "http_proxy" : {
3360 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3361 "optional" : 1,
3362 "pattern" : "http://.*",
3363 "type" : "string"
7aacca6f 3364 },
56122987 3365 "keyboard" : {
44660702 3366 "description" : "Default keybord layout for vnc server.",
56122987 3367 "enum" : [
44660702
DM
3368 "de",
3369 "de-ch",
7aacca6f 3370 "da",
56122987 3371 "en-gb",
44660702
DM
3372 "en-us",
3373 "es",
3374 "fi",
3375 "fr",
3376 "fr-be",
3377 "fr-ca",
3378 "fr-ch",
3379 "hu",
7aacca6f 3380 "is",
44660702
DM
3381 "it",
3382 "ja",
3383 "lt",
56122987 3384 "mk",
7aacca6f 3385 "nl",
56122987 3386 "no",
44660702 3387 "pl",
7aacca6f 3388 "pt",
44660702
DM
3389 "pt-br",
3390 "sv",
3391 "sl",
3392 "tr"
56122987 3393 ],
56122987
DM
3394 "optional" : 1,
3395 "type" : "string"
3396 },
44660702
DM
3397 "language" : {
3398 "description" : "Default GUI language.",
3399 "enum" : [
3400 "en",
3401 "de"
3402 ],
56122987 3403 "optional" : 1,
44660702 3404 "type" : "string"
56122987 3405 },
4bd7df8b
DM
3406 "mac_prefix" : {
3407 "description" : "Prefix for autogenerated MAC addresses.",
3408 "optional" : 1,
3409 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3410 "type" : "string"
3411 },
44660702
DM
3412 "max_workers" : {
3413 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3414 "minimum" : 1,
56122987 3415 "optional" : 1,
4bd7df8b 3416 "type" : "integer",
013dc89f 3417 "typetext" : "<integer> (1 - N)"
56122987 3418 },
de0983cb
DM
3419 "migration" : {
3420 "description" : "For cluster wide migration settings.",
3421 "format" : {
3422 "network" : {
3423 "description" : "CIDR of the (sub) network that is used for migration.",
3424 "format" : "CIDR",
3425 "format_description" : "CIDR",
3426 "optional" : 1,
3427 "type" : "string"
3428 },
3429 "type" : {
3430 "default" : "secure",
3431 "default_key" : 1,
3432 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3433 "enum" : [
3434 "secure",
3435 "insecure"
3436 ],
3437 "type" : "string"
3438 }
3439 },
3440 "optional" : 1,
3441 "type" : "string",
3442 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3443 },
7aacca6f 3444 "migration_unsecure" : {
de0983cb 3445 "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 3446 "optional" : 1,
013dc89f
DM
3447 "type" : "boolean",
3448 "typetext" : "<boolean>"
56122987
DM
3449 }
3450 }
3451 },
44660702
DM
3452 "permissions" : {
3453 "check" : [
3454 "perm",
3455 "/",
3456 [
3457 "Sys.Modify"
3458 ]
3459 ]
3460 },
56122987 3461 "protected" : 1,
7aacca6f
DM
3462 "returns" : {
3463 "type" : "null"
44660702 3464 }
7aacca6f
DM
3465 }
3466 },
44660702
DM
3467 "leaf" : 1,
3468 "path" : "/cluster/options",
7aacca6f
DM
3469 "text" : "options"
3470 },
3471 {
7aacca6f 3472 "info" : {
56122987 3473 "GET" : {
44660702
DM
3474 "description" : "Get cluster status informations.",
3475 "method" : "GET",
3476 "name" : "get_status",
56122987
DM
3477 "parameters" : {
3478 "additionalProperties" : 0
3479 },
56122987
DM
3480 "permissions" : {
3481 "check" : [
3482 "perm",
3483 "/",
3484 [
3485 "Sys.Audit"
3486 ]
3487 ]
3488 },
7aacca6f 3489 "protected" : 1,
56122987 3490 "returns" : {
56122987 3491 "items" : {
56122987
DM
3492 "properties" : {
3493 "type" : {
3494 "type" : "string"
3495 }
44660702
DM
3496 },
3497 "type" : "object"
7aacca6f
DM
3498 },
3499 "type" : "array"
56122987
DM
3500 }
3501 }
3502 },
44660702 3503 "leaf" : 1,
7aacca6f 3504 "path" : "/cluster/status",
44660702 3505 "text" : "status"
56122987
DM
3506 },
3507 {
56122987
DM
3508 "info" : {
3509 "GET" : {
56122987 3510 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3511 "method" : "GET",
3512 "name" : "nextid",
56122987 3513 "parameters" : {
44660702 3514 "additionalProperties" : 0,
56122987
DM
3515 "properties" : {
3516 "vmid" : {
44660702 3517 "description" : "The (unique) ID of the VM.",
56122987 3518 "format" : "pve-vmid",
7aacca6f 3519 "minimum" : 1,
7aacca6f 3520 "optional" : 1,
4bd7df8b 3521 "type" : "integer",
013dc89f 3522 "typetext" : "<integer> (1 - N)"
56122987 3523 }
44660702 3524 }
56122987 3525 },
7aacca6f
DM
3526 "permissions" : {
3527 "user" : "all"
44660702
DM
3528 },
3529 "returns" : {
3530 "description" : "The next free VMID.",
3531 "type" : "integer"
7aacca6f 3532 }
56122987
DM
3533 }
3534 },
7aacca6f 3535 "leaf" : 1,
44660702
DM
3536 "path" : "/cluster/nextid",
3537 "text" : "nextid"
56122987
DM
3538 }
3539 ],
44660702
DM
3540 "info" : {
3541 "GET" : {
3542 "description" : "Cluster index.",
3543 "method" : "GET",
3544 "name" : "index",
3545 "parameters" : {
3546 "additionalProperties" : 0
3547 },
3548 "permissions" : {
3549 "user" : "all"
3550 },
3551 "returns" : {
3552 "items" : {
3553 "properties" : {},
3554 "type" : "object"
3555 },
3556 "links" : [
3557 {
3558 "href" : "{name}",
3559 "rel" : "child"
3560 }
3561 ],
3562 "type" : "array"
3563 }
3564 }
3565 },
3566 "leaf" : 0,
3567 "path" : "/cluster",
7aacca6f 3568 "text" : "cluster"
56122987
DM
3569 },
3570 {
56122987
DM
3571 "children" : [
3572 {
7aacca6f
DM
3573 "children" : [
3574 {
3575 "children" : [
3576 {
56122987
DM
3577 "children" : [
3578 {
56122987
DM
3579 "children" : [
3580 {
3581 "children" : [
3582 {
56122987
DM
3583 "info" : {
3584 "DELETE" : {
44660702 3585 "description" : "Delete rule.",
7aacca6f 3586 "method" : "DELETE",
44660702 3587 "name" : "delete_rule",
56122987 3588 "parameters" : {
44660702 3589 "additionalProperties" : 0,
56122987 3590 "properties" : {
44660702
DM
3591 "digest" : {
3592 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3593 "maxLength" : 40,
3594 "optional" : 1,
013dc89f
DM
3595 "type" : "string",
3596 "typetext" : "<string>"
44660702 3597 },
56122987 3598 "node" : {
7aacca6f 3599 "description" : "The cluster node name.",
44660702 3600 "format" : "pve-node",
013dc89f
DM
3601 "type" : "string",
3602 "typetext" : "<string>"
7aacca6f 3603 },
56122987 3604 "pos" : {
7aacca6f 3605 "description" : "Update rule at position <pos>.",
44660702 3606 "minimum" : 0,
56122987 3607 "optional" : 1,
4bd7df8b 3608 "type" : "integer",
013dc89f 3609 "typetext" : "<integer> (0 - N)"
44660702
DM
3610 },
3611 "vmid" : {
3612 "description" : "The (unique) ID of the VM.",
3613 "format" : "pve-vmid",
3614 "minimum" : 1,
4bd7df8b 3615 "type" : "integer",
013dc89f 3616 "typetext" : "<integer> (1 - N)"
56122987 3617 }
44660702 3618 }
7aacca6f 3619 },
56122987
DM
3620 "permissions" : {
3621 "check" : [
3622 "perm",
3623 "/vms/{vmid}",
3624 [
3625 "VM.Config.Network"
3626 ]
3627 ]
3628 },
44660702
DM
3629 "protected" : 1,
3630 "proxyto" : null,
56122987
DM
3631 "returns" : {
3632 "type" : "null"
44660702
DM
3633 }
3634 },
3635 "GET" : {
3636 "description" : "Get single rule data.",
3637 "method" : "GET",
3638 "name" : "get_rule",
3639 "parameters" : {
3640 "additionalProperties" : 0,
3641 "properties" : {
3642 "node" : {
3643 "description" : "The cluster node name.",
3644 "format" : "pve-node",
013dc89f
DM
3645 "type" : "string",
3646 "typetext" : "<string>"
44660702
DM
3647 },
3648 "pos" : {
3649 "description" : "Update rule at position <pos>.",
3650 "minimum" : 0,
3651 "optional" : 1,
4bd7df8b 3652 "type" : "integer",
013dc89f 3653 "typetext" : "<integer> (0 - N)"
44660702
DM
3654 },
3655 "vmid" : {
3656 "description" : "The (unique) ID of the VM.",
3657 "format" : "pve-vmid",
3658 "minimum" : 1,
4bd7df8b 3659 "type" : "integer",
013dc89f 3660 "typetext" : "<integer> (1 - N)"
44660702
DM
3661 }
3662 }
56122987 3663 },
56122987
DM
3664 "permissions" : {
3665 "check" : [
3666 "perm",
3667 "/vms/{vmid}",
3668 [
44660702 3669 "VM.Audit"
56122987
DM
3670 ]
3671 ]
3672 },
56122987 3673 "proxyto" : null,
44660702
DM
3674 "returns" : {
3675 "properties" : {
3676 "pos" : {
3677 "type" : "integer"
3678 }
3679 },
3680 "type" : "object"
3681 }
3682 },
3683 "PUT" : {
7aacca6f
DM
3684 "description" : "Modify rule data.",
3685 "method" : "PUT",
44660702 3686 "name" : "update_rule",
56122987 3687 "parameters" : {
44660702 3688 "additionalProperties" : 0,
56122987 3689 "properties" : {
44660702
DM
3690 "action" : {
3691 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3692 "maxLength" : 20,
3693 "minLength" : 2,
56122987 3694 "optional" : 1,
44660702 3695 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3696 "type" : "string"
3697 },
7aacca6f 3698 "comment" : {
e94f0d56 3699 "description" : "Descriptive comment.",
7aacca6f 3700 "optional" : 1,
013dc89f
DM
3701 "type" : "string",
3702 "typetext" : "<string>"
7aacca6f
DM
3703 },
3704 "delete" : {
7aacca6f 3705 "description" : "A list of settings you want to delete.",
44660702
DM
3706 "format" : "pve-configid-list",
3707 "optional" : 1,
013dc89f
DM
3708 "type" : "string",
3709 "typetext" : "<string>"
7aacca6f
DM
3710 },
3711 "dest" : {
44660702 3712 "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 3713 "format" : "pve-fw-addr-spec",
56122987 3714 "optional" : 1,
013dc89f
DM
3715 "type" : "string",
3716 "typetext" : "<string>"
56122987 3717 },
7aacca6f 3718 "digest" : {
44660702 3719 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 3720 "maxLength" : 40,
56122987 3721 "optional" : 1,
013dc89f
DM
3722 "type" : "string",
3723 "typetext" : "<string>"
44660702
DM
3724 },
3725 "dport" : {
3726 "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.",
3727 "format" : "pve-fw-dport-spec",
3728 "optional" : 1,
013dc89f
DM
3729 "type" : "string",
3730 "typetext" : "<string>"
56122987 3731 },
7aacca6f 3732 "enable" : {
e94f0d56 3733 "description" : "Flag to enable/disable a rule.",
44660702 3734 "minimum" : 0,
56122987 3735 "optional" : 1,
4bd7df8b 3736 "type" : "integer",
013dc89f 3737 "typetext" : "<integer> (0 - N)"
7aacca6f 3738 },
44660702
DM
3739 "iface" : {
3740 "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.",
3741 "format" : "pve-iface",
3742 "maxLength" : 20,
7aacca6f 3743 "minLength" : 2,
56122987 3744 "optional" : 1,
013dc89f
DM
3745 "type" : "string",
3746 "typetext" : "<string>"
56122987 3747 },
44660702 3748 "macro" : {
e94f0d56 3749 "description" : "Use predefined standard macro.",
44660702 3750 "maxLength" : 128,
56122987 3751 "optional" : 1,
013dc89f
DM
3752 "type" : "string",
3753 "typetext" : "<string>"
56122987 3754 },
44660702
DM
3755 "moveto" : {
3756 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
3757 "minimum" : 0,
56122987 3758 "optional" : 1,
4bd7df8b 3759 "type" : "integer",
013dc89f 3760 "typetext" : "<integer> (0 - N)"
56122987 3761 },
44660702
DM
3762 "node" : {
3763 "description" : "The cluster node name.",
3764 "format" : "pve-node",
013dc89f
DM
3765 "type" : "string",
3766 "typetext" : "<string>"
44660702
DM
3767 },
3768 "pos" : {
3769 "description" : "Update rule at position <pos>.",
3770 "minimum" : 0,
3771 "optional" : 1,
4bd7df8b 3772 "type" : "integer",
013dc89f 3773 "typetext" : "<integer> (0 - N)"
56122987 3774 },
44660702
DM
3775 "proto" : {
3776 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3777 "format" : "pve-fw-protocol-spec",
3778 "optional" : 1,
013dc89f
DM
3779 "type" : "string",
3780 "typetext" : "<string>"
7aacca6f 3781 },
44660702
DM
3782 "source" : {
3783 "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.",
3784 "format" : "pve-fw-addr-spec",
56122987 3785 "optional" : 1,
013dc89f
DM
3786 "type" : "string",
3787 "typetext" : "<string>"
56122987
DM
3788 },
3789 "sport" : {
3790 "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
3791 "format" : "pve-fw-sport-spec",
3792 "optional" : 1,
013dc89f
DM
3793 "type" : "string",
3794 "typetext" : "<string>"
44660702
DM
3795 },
3796 "type" : {
e94f0d56 3797 "description" : "Rule type.",
44660702
DM
3798 "enum" : [
3799 "in",
3800 "out",
3801 "group"
3802 ],
56122987 3803 "optional" : 1,
56122987 3804 "type" : "string"
44660702
DM
3805 },
3806 "vmid" : {
3807 "description" : "The (unique) ID of the VM.",
3808 "format" : "pve-vmid",
3809 "minimum" : 1,
4bd7df8b 3810 "type" : "integer",
013dc89f 3811 "typetext" : "<integer> (1 - N)"
56122987 3812 }
44660702 3813 }
56122987 3814 },
56122987
DM
3815 "permissions" : {
3816 "check" : [
3817 "perm",
3818 "/vms/{vmid}",
3819 [
44660702 3820 "VM.Config.Network"
56122987
DM
3821 ]
3822 ]
7aacca6f 3823 },
44660702 3824 "protected" : 1,
7aacca6f 3825 "proxyto" : null,
7aacca6f 3826 "returns" : {
44660702
DM
3827 "type" : "null"
3828 }
56122987 3829 }
7aacca6f 3830 },
44660702 3831 "leaf" : 1,
7aacca6f 3832 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 3833 "text" : "{pos}"
56122987
DM
3834 }
3835 ],
56122987 3836 "info" : {
44660702
DM
3837 "GET" : {
3838 "description" : "List rules.",
3839 "method" : "GET",
3840 "name" : "get_rules",
3841 "parameters" : {
3842 "additionalProperties" : 0,
3843 "properties" : {
3844 "node" : {
3845 "description" : "The cluster node name.",
3846 "format" : "pve-node",
013dc89f
DM
3847 "type" : "string",
3848 "typetext" : "<string>"
44660702
DM
3849 },
3850 "vmid" : {
3851 "description" : "The (unique) ID of the VM.",
3852 "format" : "pve-vmid",
3853 "minimum" : 1,
4bd7df8b 3854 "type" : "integer",
013dc89f 3855 "typetext" : "<integer> (1 - N)"
44660702
DM
3856 }
3857 }
56122987 3858 },
56122987
DM
3859 "permissions" : {
3860 "check" : [
3861 "perm",
3862 "/vms/{vmid}",
3863 [
44660702 3864 "VM.Audit"
56122987
DM
3865 ]
3866 ]
7aacca6f 3867 },
44660702
DM
3868 "proxyto" : null,
3869 "returns" : {
3870 "items" : {
3871 "properties" : {
3872 "pos" : {
3873 "type" : "integer"
3874 }
3875 },
3876 "type" : "object"
3877 },
3878 "links" : [
3879 {
3880 "href" : "{pos}",
3881 "rel" : "child"
3882 }
3883 ],
3884 "type" : "array"
3885 }
3886 },
3887 "POST" : {
3888 "description" : "Create new rule.",
7aacca6f 3889 "method" : "POST",
44660702 3890 "name" : "create_rule",
56122987 3891 "parameters" : {
44660702 3892 "additionalProperties" : 0,
56122987 3893 "properties" : {
44660702
DM
3894 "action" : {
3895 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3896 "maxLength" : 20,
3897 "minLength" : 2,
3898 "optional" : 0,
3899 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
3900 "type" : "string"
56122987 3901 },
44660702 3902 "comment" : {
e94f0d56 3903 "description" : "Descriptive comment.",
56122987 3904 "optional" : 1,
013dc89f
DM
3905 "type" : "string",
3906 "typetext" : "<string>"
56122987 3907 },
44660702
DM
3908 "dest" : {
3909 "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.",
3910 "format" : "pve-fw-addr-spec",
3911 "optional" : 1,
013dc89f
DM
3912 "type" : "string",
3913 "typetext" : "<string>"
56122987 3914 },
44660702
DM
3915 "digest" : {
3916 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3917 "maxLength" : 40,
56122987 3918 "optional" : 1,
013dc89f
DM
3919 "type" : "string",
3920 "typetext" : "<string>"
56122987 3921 },
7aacca6f
DM
3922 "dport" : {
3923 "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 3924 "format" : "pve-fw-dport-spec",
7aacca6f 3925 "optional" : 1,
013dc89f
DM
3926 "type" : "string",
3927 "typetext" : "<string>"
56122987
DM
3928 },
3929 "enable" : {
e94f0d56 3930 "description" : "Flag to enable/disable a rule.",
56122987 3931 "minimum" : 0,
44660702 3932 "optional" : 1,
4bd7df8b 3933 "type" : "integer",
013dc89f 3934 "typetext" : "<integer> (0 - N)"
56122987 3935 },
44660702
DM
3936 "iface" : {
3937 "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.",
3938 "format" : "pve-iface",
3939 "maxLength" : 20,
7aacca6f 3940 "minLength" : 2,
44660702 3941 "optional" : 1,
013dc89f
DM
3942 "type" : "string",
3943 "typetext" : "<string>"
56122987 3944 },
44660702 3945 "macro" : {
e94f0d56 3946 "description" : "Use predefined standard macro.",
44660702 3947 "maxLength" : 128,
56122987 3948 "optional" : 1,
013dc89f
DM
3949 "type" : "string",
3950 "typetext" : "<string>"
7aacca6f 3951 },
44660702
DM
3952 "node" : {
3953 "description" : "The cluster node name.",
3954 "format" : "pve-node",
013dc89f
DM
3955 "type" : "string",
3956 "typetext" : "<string>"
44660702
DM
3957 },
3958 "pos" : {
3959 "description" : "Update rule at position <pos>.",
3960 "minimum" : 0,
3961 "optional" : 1,
4bd7df8b 3962 "type" : "integer",
013dc89f 3963 "typetext" : "<integer> (0 - N)"
44660702
DM
3964 },
3965 "proto" : {
3966 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
3967 "format" : "pve-fw-protocol-spec",
7aacca6f 3968 "optional" : 1,
013dc89f
DM
3969 "type" : "string",
3970 "typetext" : "<string>"
7aacca6f
DM
3971 },
3972 "source" : {
3973 "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 3974 "format" : "pve-fw-addr-spec",
7aacca6f 3975 "optional" : 1,
013dc89f
DM
3976 "type" : "string",
3977 "typetext" : "<string>"
7aacca6f 3978 },
44660702
DM
3979 "sport" : {
3980 "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.",
3981 "format" : "pve-fw-sport-spec",
7aacca6f 3982 "optional" : 1,
013dc89f
DM
3983 "type" : "string",
3984 "typetext" : "<string>"
7aacca6f 3985 },
44660702 3986 "type" : {
e94f0d56 3987 "description" : "Rule type.",
44660702
DM
3988 "enum" : [
3989 "in",
3990 "out",
3991 "group"
3992 ],
3993 "optional" : 0,
3994 "type" : "string"
7aacca6f 3995 },
7aacca6f 3996 "vmid" : {
44660702 3997 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
3998 "format" : "pve-vmid",
3999 "minimum" : 1,
4bd7df8b 4000 "type" : "integer",
013dc89f 4001 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4002 }
4003 }
4004 },
56122987
DM
4005 "permissions" : {
4006 "check" : [
4007 "perm",
4008 "/vms/{vmid}",
4009 [
44660702 4010 "VM.Config.Network"
56122987
DM
4011 ]
4012 ]
4013 },
44660702
DM
4014 "protected" : 1,
4015 "proxyto" : null,
56122987 4016 "returns" : {
44660702
DM
4017 "type" : "null"
4018 }
56122987
DM
4019 }
4020 },
44660702 4021 "leaf" : 0,
7aacca6f 4022 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4023 "text" : "rules"
56122987
DM
4024 },
4025 {
4026 "children" : [
4027 {
56122987 4028 "info" : {
44660702
DM
4029 "DELETE" : {
4030 "description" : "Remove IP or Network alias.",
4031 "method" : "DELETE",
4032 "name" : "remove_alias",
56122987 4033 "parameters" : {
44660702 4034 "additionalProperties" : 0,
56122987 4035 "properties" : {
44660702
DM
4036 "digest" : {
4037 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4038 "maxLength" : 40,
4039 "optional" : 1,
013dc89f
DM
4040 "type" : "string",
4041 "typetext" : "<string>"
56122987
DM
4042 },
4043 "name" : {
56122987 4044 "description" : "Alias name.",
44660702 4045 "maxLength" : 64,
7aacca6f 4046 "minLength" : 2,
44660702 4047 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
4048 "type" : "string"
4049 },
7aacca6f 4050 "node" : {
44660702 4051 "description" : "The cluster node name.",
7aacca6f 4052 "format" : "pve-node",
013dc89f
DM
4053 "type" : "string",
4054 "typetext" : "<string>"
44660702
DM
4055 },
4056 "vmid" : {
4057 "description" : "The (unique) ID of the VM.",
4058 "format" : "pve-vmid",
4059 "minimum" : 1,
4bd7df8b 4060 "type" : "integer",
013dc89f 4061 "typetext" : "<integer> (1 - N)"
56122987 4062 }
44660702 4063 }
56122987 4064 },
7aacca6f
DM
4065 "permissions" : {
4066 "check" : [
4067 "perm",
4068 "/vms/{vmid}",
4069 [
4070 "VM.Config.Network"
4071 ]
4072 ]
56122987 4073 },
44660702
DM
4074 "protected" : 1,
4075 "returns" : {
4076 "type" : "null"
4077 }
4078 },
4079 "GET" : {
4080 "description" : "Read alias.",
4081 "method" : "GET",
4082 "name" : "read_alias",
56122987 4083 "parameters" : {
44660702 4084 "additionalProperties" : 0,
56122987 4085 "properties" : {
56122987 4086 "name" : {
7aacca6f 4087 "description" : "Alias name.",
44660702 4088 "maxLength" : 64,
56122987 4089 "minLength" : 2,
44660702 4090 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4091 "type" : "string"
7aacca6f
DM
4092 },
4093 "node" : {
4094 "description" : "The cluster node name.",
44660702 4095 "format" : "pve-node",
013dc89f
DM
4096 "type" : "string",
4097 "typetext" : "<string>"
44660702
DM
4098 },
4099 "vmid" : {
4100 "description" : "The (unique) ID of the VM.",
4101 "format" : "pve-vmid",
4102 "minimum" : 1,
4bd7df8b 4103 "type" : "integer",
013dc89f 4104 "typetext" : "<integer> (1 - N)"
56122987 4105 }
44660702 4106 }
56122987 4107 },
44660702
DM
4108 "permissions" : {
4109 "check" : [
4110 "perm",
4111 "/vms/{vmid}",
4112 [
4113 "VM.Audit"
4114 ]
4115 ]
56122987 4116 },
44660702
DM
4117 "returns" : {
4118 "type" : "object"
4119 }
7aacca6f 4120 },
44660702
DM
4121 "PUT" : {
4122 "description" : "Update IP or Network alias.",
4123 "method" : "PUT",
4124 "name" : "update_alias",
56122987
DM
4125 "parameters" : {
4126 "additionalProperties" : 0,
4127 "properties" : {
44660702
DM
4128 "cidr" : {
4129 "description" : "Network/IP specification in CIDR format.",
4130 "format" : "IPorCIDR",
013dc89f
DM
4131 "type" : "string",
4132 "typetext" : "<string>"
44660702
DM
4133 },
4134 "comment" : {
4135 "optional" : 1,
013dc89f
DM
4136 "type" : "string",
4137 "typetext" : "<string>"
56122987
DM
4138 },
4139 "digest" : {
44660702 4140 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4141 "maxLength" : 40,
4142 "optional" : 1,
013dc89f
DM
4143 "type" : "string",
4144 "typetext" : "<string>"
56122987 4145 },
7aacca6f 4146 "name" : {
44660702 4147 "description" : "Alias name.",
56122987
DM
4148 "maxLength" : 64,
4149 "minLength" : 2,
4150 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4151 "type" : "string"
7aacca6f
DM
4152 },
4153 "node" : {
7aacca6f 4154 "description" : "The cluster node name.",
44660702 4155 "format" : "pve-node",
013dc89f
DM
4156 "type" : "string",
4157 "typetext" : "<string>"
44660702
DM
4158 },
4159 "rename" : {
4160 "description" : "Rename an existing alias.",
4161 "maxLength" : 64,
4162 "minLength" : 2,
4163 "optional" : 1,
4164 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4165 "type" : "string"
4166 },
4167 "vmid" : {
4168 "description" : "The (unique) ID of the VM.",
4169 "format" : "pve-vmid",
4170 "minimum" : 1,
4bd7df8b 4171 "type" : "integer",
013dc89f 4172 "typetext" : "<integer> (1 - N)"
56122987
DM
4173 }
4174 }
4175 },
7aacca6f
DM
4176 "permissions" : {
4177 "check" : [
4178 "perm",
4179 "/vms/{vmid}",
4180 [
4181 "VM.Config.Network"
4182 ]
4183 ]
4184 },
4185 "protected" : 1,
7aacca6f
DM
4186 "returns" : {
4187 "type" : "null"
44660702 4188 }
56122987
DM
4189 }
4190 },
44660702 4191 "leaf" : 1,
7aacca6f 4192 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4193 "text" : "{name}"
56122987
DM
4194 }
4195 ],
4196 "info" : {
44660702
DM
4197 "GET" : {
4198 "description" : "List aliases",
4199 "method" : "GET",
4200 "name" : "get_aliases",
56122987 4201 "parameters" : {
44660702 4202 "additionalProperties" : 0,
56122987 4203 "properties" : {
7aacca6f 4204 "node" : {
7aacca6f 4205 "description" : "The cluster node name.",
44660702 4206 "format" : "pve-node",
013dc89f
DM
4207 "type" : "string",
4208 "typetext" : "<string>"
56122987 4209 },
44660702
DM
4210 "vmid" : {
4211 "description" : "The (unique) ID of the VM.",
4212 "format" : "pve-vmid",
4213 "minimum" : 1,
4bd7df8b 4214 "type" : "integer",
013dc89f 4215 "typetext" : "<integer> (1 - N)"
56122987 4216 }
44660702 4217 }
56122987 4218 },
56122987
DM
4219 "permissions" : {
4220 "check" : [
4221 "perm",
4222 "/vms/{vmid}",
4223 [
44660702 4224 "VM.Audit"
56122987
DM
4225 ]
4226 ]
4227 },
56122987
DM
4228 "returns" : {
4229 "items" : {
4230 "properties" : {
44660702 4231 "cidr" : {
56122987
DM
4232 "type" : "string"
4233 },
44660702
DM
4234 "comment" : {
4235 "optional" : 1,
7aacca6f 4236 "type" : "string"
56122987
DM
4237 },
4238 "digest" : {
56122987 4239 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4240 "maxLength" : 40,
56122987
DM
4241 "optional" : 0,
4242 "type" : "string"
4243 },
44660702 4244 "name" : {
56122987
DM
4245 "type" : "string"
4246 }
44660702
DM
4247 },
4248 "type" : "object"
56122987 4249 },
56122987
DM
4250 "links" : [
4251 {
4252 "href" : "{name}",
4253 "rel" : "child"
4254 }
44660702
DM
4255 ],
4256 "type" : "array"
4257 }
4258 },
4259 "POST" : {
4260 "description" : "Create IP or Network Alias.",
4261 "method" : "POST",
4262 "name" : "create_alias",
56122987 4263 "parameters" : {
7aacca6f 4264 "additionalProperties" : 0,
56122987 4265 "properties" : {
44660702
DM
4266 "cidr" : {
4267 "description" : "Network/IP specification in CIDR format.",
4268 "format" : "IPorCIDR",
013dc89f
DM
4269 "type" : "string",
4270 "typetext" : "<string>"
44660702
DM
4271 },
4272 "comment" : {
4273 "optional" : 1,
013dc89f
DM
4274 "type" : "string",
4275 "typetext" : "<string>"
44660702
DM
4276 },
4277 "name" : {
4278 "description" : "Alias name.",
4279 "maxLength" : 64,
4280 "minLength" : 2,
4281 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4282 "type" : "string"
56122987
DM
4283 },
4284 "node" : {
7aacca6f 4285 "description" : "The cluster node name.",
44660702 4286 "format" : "pve-node",
013dc89f
DM
4287 "type" : "string",
4288 "typetext" : "<string>"
44660702
DM
4289 },
4290 "vmid" : {
4291 "description" : "The (unique) ID of the VM.",
4292 "format" : "pve-vmid",
4293 "minimum" : 1,
4bd7df8b 4294 "type" : "integer",
013dc89f 4295 "typetext" : "<integer> (1 - N)"
56122987 4296 }
7aacca6f 4297 }
56122987 4298 },
44660702
DM
4299 "permissions" : {
4300 "check" : [
4301 "perm",
4302 "/vms/{vmid}",
4303 [
4304 "VM.Config.Network"
4305 ]
4306 ]
4307 },
4308 "protected" : 1,
4309 "returns" : {
4310 "type" : "null"
4311 }
56122987 4312 }
44660702
DM
4313 },
4314 "leaf" : 0,
4315 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4316 "text" : "aliases"
56122987
DM
4317 },
4318 {
56122987
DM
4319 "children" : [
4320 {
7aacca6f
DM
4321 "children" : [
4322 {
4323 "info" : {
4324 "DELETE" : {
44660702 4325 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4326 "method" : "DELETE",
44660702 4327 "name" : "remove_ip",
7aacca6f 4328 "parameters" : {
44660702 4329 "additionalProperties" : 0,
7aacca6f 4330 "properties" : {
44660702
DM
4331 "cidr" : {
4332 "description" : "Network/IP specification in CIDR format.",
4333 "format" : "IPorCIDRorAlias",
013dc89f
DM
4334 "type" : "string",
4335 "typetext" : "<string>"
44660702
DM
4336 },
4337 "digest" : {
4338 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4339 "maxLength" : 40,
4340 "optional" : 1,
013dc89f
DM
4341 "type" : "string",
4342 "typetext" : "<string>"
44660702 4343 },
7aacca6f 4344 "name" : {
7aacca6f 4345 "description" : "IP set name.",
44660702
DM
4346 "maxLength" : 64,
4347 "minLength" : 2,
7aacca6f 4348 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4349 "type" : "string"
7aacca6f
DM
4350 },
4351 "node" : {
4352 "description" : "The cluster node name.",
44660702 4353 "format" : "pve-node",
013dc89f
DM
4354 "type" : "string",
4355 "typetext" : "<string>"
7aacca6f
DM
4356 },
4357 "vmid" : {
44660702 4358 "description" : "The (unique) ID of the VM.",
7aacca6f 4359 "format" : "pve-vmid",
44660702 4360 "minimum" : 1,
4bd7df8b 4361 "type" : "integer",
013dc89f 4362 "typetext" : "<integer> (1 - N)"
7aacca6f 4363 }
44660702 4364 }
7aacca6f 4365 },
7aacca6f
DM
4366 "permissions" : {
4367 "check" : [
4368 "perm",
4369 "/vms/{vmid}",
4370 [
4371 "VM.Config.Network"
4372 ]
4373 ]
4374 },
4375 "protected" : 1,
44660702
DM
4376 "returns" : {
4377 "type" : "null"
4378 }
56122987 4379 },
44660702
DM
4380 "GET" : {
4381 "description" : "Read IP or Network settings from IPSet.",
4382 "method" : "GET",
4383 "name" : "read_ip",
7aacca6f 4384 "parameters" : {
44660702 4385 "additionalProperties" : 0,
7aacca6f 4386 "properties" : {
7aacca6f 4387 "cidr" : {
44660702 4388 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4389 "format" : "IPorCIDRorAlias",
013dc89f
DM
4390 "type" : "string",
4391 "typetext" : "<string>"
7aacca6f
DM
4392 },
4393 "name" : {
7aacca6f 4394 "description" : "IP set name.",
44660702 4395 "maxLength" : 64,
7aacca6f 4396 "minLength" : 2,
44660702
DM
4397 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4398 "type" : "string"
7aacca6f 4399 },
44660702
DM
4400 "node" : {
4401 "description" : "The cluster node name.",
4402 "format" : "pve-node",
013dc89f
DM
4403 "type" : "string",
4404 "typetext" : "<string>"
7aacca6f 4405 },
44660702
DM
4406 "vmid" : {
4407 "description" : "The (unique) ID of the VM.",
4408 "format" : "pve-vmid",
4409 "minimum" : 1,
4bd7df8b 4410 "type" : "integer",
013dc89f 4411 "typetext" : "<integer> (1 - N)"
7aacca6f 4412 }
44660702 4413 }
7aacca6f 4414 },
44660702
DM
4415 "permissions" : {
4416 "check" : [
4417 "perm",
4418 "/vms/{vmid}",
4419 [
4420 "VM.Audit"
4421 ]
4422 ]
4423 },
4424 "protected" : 1,
7aacca6f 4425 "returns" : {
44660702 4426 "type" : "object"
7aacca6f 4427 }
56122987 4428 },
44660702
DM
4429 "PUT" : {
4430 "description" : "Update IP or Network settings",
4431 "method" : "PUT",
4432 "name" : "update_ip",
7aacca6f
DM
4433 "parameters" : {
4434 "additionalProperties" : 0,
4435 "properties" : {
44660702
DM
4436 "cidr" : {
4437 "description" : "Network/IP specification in CIDR format.",
4438 "format" : "IPorCIDRorAlias",
013dc89f
DM
4439 "type" : "string",
4440 "typetext" : "<string>"
44660702
DM
4441 },
4442 "comment" : {
4443 "optional" : 1,
013dc89f
DM
4444 "type" : "string",
4445 "typetext" : "<string>"
44660702
DM
4446 },
4447 "digest" : {
4448 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4449 "maxLength" : 40,
4450 "optional" : 1,
013dc89f
DM
4451 "type" : "string",
4452 "typetext" : "<string>"
44660702 4453 },
7aacca6f 4454 "name" : {
7aacca6f 4455 "description" : "IP set name.",
44660702 4456 "maxLength" : 64,
7aacca6f 4457 "minLength" : 2,
44660702
DM
4458 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4459 "type" : "string"
7aacca6f
DM
4460 },
4461 "node" : {
7aacca6f 4462 "description" : "The cluster node name.",
44660702 4463 "format" : "pve-node",
013dc89f
DM
4464 "type" : "string",
4465 "typetext" : "<string>"
7aacca6f 4466 },
44660702
DM
4467 "nomatch" : {
4468 "optional" : 1,
013dc89f
DM
4469 "type" : "boolean",
4470 "typetext" : "<boolean>"
7aacca6f
DM
4471 },
4472 "vmid" : {
4473 "description" : "The (unique) ID of the VM.",
44660702 4474 "format" : "pve-vmid",
7aacca6f 4475 "minimum" : 1,
4bd7df8b 4476 "type" : "integer",
013dc89f 4477 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4478 }
4479 }
4480 },
4481 "permissions" : {
4482 "check" : [
4483 "perm",
4484 "/vms/{vmid}",
4485 [
44660702 4486 "VM.Config.Network"
7aacca6f
DM
4487 ]
4488 ]
4489 },
7aacca6f 4490 "protected" : 1,
7aacca6f 4491 "returns" : {
44660702 4492 "type" : "null"
7aacca6f 4493 }
56122987 4494 }
7aacca6f 4495 },
7aacca6f 4496 "leaf" : 1,
44660702
DM
4497 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4498 "text" : "{cidr}"
7aacca6f 4499 }
44660702
DM
4500 ],
4501 "info" : {
4502 "DELETE" : {
4503 "description" : "Delete IPSet",
4504 "method" : "DELETE",
4505 "name" : "delete_ipset",
4506 "parameters" : {
4507 "additionalProperties" : 0,
4508 "properties" : {
4509 "name" : {
4510 "description" : "IP set name.",
4511 "maxLength" : 64,
4512 "minLength" : 2,
4513 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4514 "type" : "string"
4515 },
4516 "node" : {
4517 "description" : "The cluster node name.",
4518 "format" : "pve-node",
013dc89f
DM
4519 "type" : "string",
4520 "typetext" : "<string>"
44660702
DM
4521 },
4522 "vmid" : {
4523 "description" : "The (unique) ID of the VM.",
4524 "format" : "pve-vmid",
4525 "minimum" : 1,
4bd7df8b 4526 "type" : "integer",
013dc89f 4527 "typetext" : "<integer> (1 - N)"
44660702
DM
4528 }
4529 }
7aacca6f 4530 },
44660702
DM
4531 "permissions" : {
4532 "check" : [
4533 "perm",
4534 "/vms/{vmid}",
4535 [
4536 "VM.Config.Network"
4537 ]
4538 ]
7aacca6f 4539 },
44660702
DM
4540 "protected" : 1,
4541 "returns" : {
4542 "type" : "null"
4543 }
4544 },
4545 "GET" : {
4546 "description" : "List IPSet content",
4547 "method" : "GET",
4548 "name" : "get_ipset",
4549 "parameters" : {
4550 "additionalProperties" : 0,
4551 "properties" : {
4552 "name" : {
4553 "description" : "IP set name.",
4554 "maxLength" : 64,
4555 "minLength" : 2,
4556 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4557 "type" : "string"
4558 },
4559 "node" : {
4560 "description" : "The cluster node name.",
4561 "format" : "pve-node",
013dc89f
DM
4562 "type" : "string",
4563 "typetext" : "<string>"
44660702
DM
4564 },
4565 "vmid" : {
4566 "description" : "The (unique) ID of the VM.",
4567 "format" : "pve-vmid",
4568 "minimum" : 1,
4bd7df8b 4569 "type" : "integer",
013dc89f 4570 "typetext" : "<integer> (1 - N)"
44660702
DM
4571 }
4572 }
7aacca6f 4573 },
44660702
DM
4574 "permissions" : {
4575 "check" : [
4576 "perm",
4577 "/vms/{vmid}",
4578 [
4579 "VM.Audit"
4580 ]
4581 ]
7aacca6f 4582 },
44660702
DM
4583 "returns" : {
4584 "items" : {
4585 "properties" : {
4586 "cidr" : {
4587 "type" : "string"
4588 },
4589 "comment" : {
4590 "optional" : 1,
4591 "type" : "string"
4592 },
4593 "digest" : {
4594 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4595 "maxLength" : 40,
4596 "optional" : 0,
4597 "type" : "string"
4598 },
4599 "nomatch" : {
4600 "optional" : 1,
4601 "type" : "boolean"
4602 }
4603 },
4604 "type" : "object"
4605 },
4606 "links" : [
4607 {
4608 "href" : "{cidr}",
4609 "rel" : "child"
4610 }
4611 ],
4612 "type" : "array"
56122987
DM
4613 }
4614 },
44660702
DM
4615 "POST" : {
4616 "description" : "Add IP or Network to IPSet.",
4617 "method" : "POST",
4618 "name" : "create_ip",
4619 "parameters" : {
4620 "additionalProperties" : 0,
4621 "properties" : {
4622 "cidr" : {
4623 "description" : "Network/IP specification in CIDR format.",
4624 "format" : "IPorCIDRorAlias",
013dc89f
DM
4625 "type" : "string",
4626 "typetext" : "<string>"
44660702
DM
4627 },
4628 "comment" : {
4629 "optional" : 1,
013dc89f
DM
4630 "type" : "string",
4631 "typetext" : "<string>"
44660702
DM
4632 },
4633 "name" : {
4634 "description" : "IP set name.",
4635 "maxLength" : 64,
4636 "minLength" : 2,
4637 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4638 "type" : "string"
4639 },
4640 "node" : {
4641 "description" : "The cluster node name.",
4642 "format" : "pve-node",
013dc89f
DM
4643 "type" : "string",
4644 "typetext" : "<string>"
44660702
DM
4645 },
4646 "nomatch" : {
4647 "optional" : 1,
013dc89f
DM
4648 "type" : "boolean",
4649 "typetext" : "<boolean>"
44660702
DM
4650 },
4651 "vmid" : {
4652 "description" : "The (unique) ID of the VM.",
4653 "format" : "pve-vmid",
4654 "minimum" : 1,
4bd7df8b 4655 "type" : "integer",
013dc89f 4656 "typetext" : "<integer> (1 - N)"
44660702
DM
4657 }
4658 }
4659 },
4660 "permissions" : {
4661 "check" : [
4662 "perm",
4663 "/vms/{vmid}",
4664 [
4665 "VM.Config.Network"
4666 ]
4667 ]
4668 },
4669 "protected" : 1,
4670 "returns" : {
4671 "type" : "null"
4672 }
4673 }
4674 },
4675 "leaf" : 0,
4676 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4677 "text" : "{name}"
4678 }
4679 ],
4680 "info" : {
4681 "GET" : {
4682 "description" : "List IPSets",
4683 "method" : "GET",
4684 "name" : "ipset_index",
4685 "parameters" : {
4686 "additionalProperties" : 0,
4687 "properties" : {
4688 "node" : {
4689 "description" : "The cluster node name.",
4690 "format" : "pve-node",
013dc89f
DM
4691 "type" : "string",
4692 "typetext" : "<string>"
44660702
DM
4693 },
4694 "vmid" : {
4695 "description" : "The (unique) ID of the VM.",
4696 "format" : "pve-vmid",
4697 "minimum" : 1,
4bd7df8b 4698 "type" : "integer",
013dc89f 4699 "typetext" : "<integer> (1 - N)"
44660702
DM
4700 }
4701 }
56122987
DM
4702 },
4703 "permissions" : {
4704 "check" : [
4705 "perm",
4706 "/vms/{vmid}",
4707 [
44660702 4708 "VM.Audit"
56122987
DM
4709 ]
4710 ]
4711 },
7aacca6f 4712 "returns" : {
7aacca6f
DM
4713 "items" : {
4714 "properties" : {
7aacca6f
DM
4715 "comment" : {
4716 "optional" : 1,
4717 "type" : "string"
4718 },
4719 "digest" : {
7aacca6f 4720 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
4721 "maxLength" : 40,
4722 "optional" : 0,
4723 "type" : "string"
4724 },
4725 "name" : {
4726 "description" : "IP set name.",
4727 "maxLength" : 64,
4728 "minLength" : 2,
4729 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4730 "type" : "string"
7aacca6f
DM
4731 }
4732 },
4733 "type" : "object"
4734 },
4735 "links" : [
4736 {
44660702
DM
4737 "href" : "{name}",
4738 "rel" : "child"
7aacca6f 4739 }
44660702
DM
4740 ],
4741 "type" : "array"
4742 }
4743 },
4744 "POST" : {
4745 "description" : "Create new IPSet",
4746 "method" : "POST",
4747 "name" : "create_ipset",
56122987
DM
4748 "parameters" : {
4749 "additionalProperties" : 0,
4750 "properties" : {
44660702
DM
4751 "comment" : {
4752 "optional" : 1,
013dc89f
DM
4753 "type" : "string",
4754 "typetext" : "<string>"
56122987 4755 },
44660702
DM
4756 "digest" : {
4757 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4758 "maxLength" : 40,
4759 "optional" : 1,
013dc89f
DM
4760 "type" : "string",
4761 "typetext" : "<string>"
44660702
DM
4762 },
4763 "name" : {
4764 "description" : "IP set name.",
4765 "maxLength" : 64,
4766 "minLength" : 2,
4767 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4768 "type" : "string"
4769 },
4770 "node" : {
4771 "description" : "The cluster node name.",
4772 "format" : "pve-node",
013dc89f
DM
4773 "type" : "string",
4774 "typetext" : "<string>"
44660702
DM
4775 },
4776 "rename" : {
4777 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
4778 "maxLength" : 64,
4779 "minLength" : 2,
4780 "optional" : 1,
4781 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4782 "type" : "string"
4783 },
4784 "vmid" : {
4785 "description" : "The (unique) ID of the VM.",
4786 "format" : "pve-vmid",
4787 "minimum" : 1,
4bd7df8b 4788 "type" : "integer",
013dc89f 4789 "typetext" : "<integer> (1 - N)"
44660702
DM
4790 }
4791 }
4792 },
7aacca6f
DM
4793 "permissions" : {
4794 "check" : [
4795 "perm",
4796 "/vms/{vmid}",
4797 [
4798 "VM.Config.Network"
4799 ]
4800 ]
4801 },
44660702 4802 "protected" : 1,
56122987 4803 "returns" : {
7aacca6f 4804 "type" : "null"
44660702
DM
4805 }
4806 }
4807 },
4808 "leaf" : 0,
4809 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
4810 "text" : "ipset"
4811 },
4812 {
4813 "info" : {
4814 "GET" : {
4815 "description" : "Get VM firewall options.",
4816 "method" : "GET",
4817 "name" : "get_options",
7aacca6f
DM
4818 "parameters" : {
4819 "additionalProperties" : 0,
56122987 4820 "properties" : {
7aacca6f
DM
4821 "node" : {
4822 "description" : "The cluster node name.",
44660702 4823 "format" : "pve-node",
013dc89f
DM
4824 "type" : "string",
4825 "typetext" : "<string>"
7aacca6f 4826 },
44660702
DM
4827 "vmid" : {
4828 "description" : "The (unique) ID of the VM.",
4829 "format" : "pve-vmid",
4830 "minimum" : 1,
4bd7df8b 4831 "type" : "integer",
013dc89f 4832 "typetext" : "<integer> (1 - N)"
44660702
DM
4833 }
4834 }
4835 },
4836 "permissions" : {
4837 "check" : [
4838 "perm",
4839 "/vms/{vmid}",
4840 [
4841 "VM.Audit"
4842 ]
4843 ]
4844 },
4845 "proxyto" : "node",
4846 "returns" : {
4847 "properties" : {
4848 "dhcp" : {
4849 "description" : "Enable DHCP.",
56122987 4850 "optional" : 1,
44660702 4851 "type" : "boolean"
56122987 4852 },
44660702
DM
4853 "enable" : {
4854 "description" : "Enable/disable firewall rules.",
7aacca6f 4855 "optional" : 1,
44660702 4856 "type" : "boolean"
56122987 4857 },
44660702
DM
4858 "ipfilter" : {
4859 "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 4860 "optional" : 1,
44660702 4861 "type" : "boolean"
7aacca6f 4862 },
56122987 4863 "log_level_in" : {
7aacca6f 4864 "description" : "Log level for incoming traffic.",
56122987
DM
4865 "enum" : [
4866 "emerg",
4867 "alert",
4868 "crit",
4869 "err",
4870 "warning",
4871 "notice",
4872 "info",
4873 "debug",
4874 "nolog"
4875 ],
56122987
DM
4876 "optional" : 1,
4877 "type" : "string"
4878 },
44660702
DM
4879 "log_level_out" : {
4880 "description" : "Log level for outgoing traffic.",
4881 "enum" : [
4882 "emerg",
4883 "alert",
4884 "crit",
4885 "err",
4886 "warning",
4887 "notice",
4888 "info",
4889 "debug",
4890 "nolog"
4891 ],
4892 "optional" : 1,
4893 "type" : "string"
4894 },
4895 "macfilter" : {
4896 "description" : "Enable/disable MAC address filter.",
56122987 4897 "optional" : 1,
7aacca6f 4898 "type" : "boolean"
56122987
DM
4899 },
4900 "ndp" : {
44660702 4901 "description" : "Enable NDP.",
56122987 4902 "optional" : 1,
44660702 4903 "type" : "boolean"
56122987
DM
4904 },
4905 "policy_in" : {
56122987
DM
4906 "description" : "Input policy.",
4907 "enum" : [
4908 "ACCEPT",
4909 "REJECT",
4910 "DROP"
44660702
DM
4911 ],
4912 "optional" : 1,
4913 "type" : "string"
56122987 4914 },
44660702
DM
4915 "policy_out" : {
4916 "description" : "Output policy.",
4917 "enum" : [
4918 "ACCEPT",
4919 "REJECT",
4920 "DROP"
4921 ],
4922 "optional" : 1,
4923 "type" : "string"
4924 },
4925 "radv" : {
4926 "description" : "Allow sending Router Advertisement.",
4927 "optional" : 1,
4928 "type" : "boolean"
4929 }
4930 },
4931 "type" : "object"
4932 }
4933 },
4934 "PUT" : {
4935 "description" : "Set Firewall options.",
4936 "method" : "PUT",
4937 "name" : "set_options",
4938 "parameters" : {
4939 "additionalProperties" : 0,
4940 "properties" : {
4941 "delete" : {
4942 "description" : "A list of settings you want to delete.",
4943 "format" : "pve-configid-list",
4944 "optional" : 1,
013dc89f
DM
4945 "type" : "string",
4946 "typetext" : "<string>"
44660702
DM
4947 },
4948 "dhcp" : {
4949 "description" : "Enable DHCP.",
7aacca6f 4950 "optional" : 1,
013dc89f
DM
4951 "type" : "boolean",
4952 "typetext" : "<boolean>"
7aacca6f
DM
4953 },
4954 "digest" : {
4955 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4956 "maxLength" : 40,
7aacca6f 4957 "optional" : 1,
013dc89f
DM
4958 "type" : "string",
4959 "typetext" : "<string>"
7aacca6f
DM
4960 },
4961 "enable" : {
4962 "description" : "Enable/disable firewall rules.",
56122987 4963 "optional" : 1,
013dc89f
DM
4964 "type" : "boolean",
4965 "typetext" : "<boolean>"
7aacca6f 4966 },
44660702
DM
4967 "ipfilter" : {
4968 "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.",
4969 "optional" : 1,
013dc89f
DM
4970 "type" : "boolean",
4971 "typetext" : "<boolean>"
44660702
DM
4972 },
4973 "log_level_in" : {
4974 "description" : "Log level for incoming traffic.",
56122987
DM
4975 "enum" : [
4976 "emerg",
4977 "alert",
4978 "crit",
4979 "err",
4980 "warning",
4981 "notice",
4982 "info",
4983 "debug",
4984 "nolog"
7aacca6f 4985 ],
7aacca6f 4986 "optional" : 1,
44660702 4987 "type" : "string"
7aacca6f 4988 },
44660702
DM
4989 "log_level_out" : {
4990 "description" : "Log level for outgoing traffic.",
56122987
DM
4991 "enum" : [
4992 "emerg",
4993 "alert",
4994 "crit",
4995 "err",
4996 "warning",
4997 "notice",
4998 "info",
4999 "debug",
5000 "nolog"
5001 ],
56122987 5002 "optional" : 1,
44660702 5003 "type" : "string"
56122987
DM
5004 },
5005 "macfilter" : {
56122987 5006 "description" : "Enable/disable MAC address filter.",
7aacca6f 5007 "optional" : 1,
013dc89f
DM
5008 "type" : "boolean",
5009 "typetext" : "<boolean>"
56122987 5010 },
44660702
DM
5011 "ndp" : {
5012 "description" : "Enable NDP.",
5013 "optional" : 1,
013dc89f
DM
5014 "type" : "boolean",
5015 "typetext" : "<boolean>"
44660702
DM
5016 },
5017 "node" : {
5018 "description" : "The cluster node name.",
5019 "format" : "pve-node",
013dc89f
DM
5020 "type" : "string",
5021 "typetext" : "<string>"
44660702 5022 },
56122987 5023 "policy_in" : {
44660702 5024 "description" : "Input policy.",
56122987
DM
5025 "enum" : [
5026 "ACCEPT",
5027 "REJECT",
5028 "DROP"
7aacca6f 5029 ],
56122987 5030 "optional" : 1,
7aacca6f 5031 "type" : "string"
56122987 5032 },
44660702
DM
5033 "policy_out" : {
5034 "description" : "Output policy.",
5035 "enum" : [
5036 "ACCEPT",
5037 "REJECT",
5038 "DROP"
5039 ],
56122987 5040 "optional" : 1,
44660702 5041 "type" : "string"
56122987 5042 },
44660702
DM
5043 "radv" : {
5044 "description" : "Allow sending Router Advertisement.",
56122987 5045 "optional" : 1,
013dc89f
DM
5046 "type" : "boolean",
5047 "typetext" : "<boolean>"
7aacca6f
DM
5048 },
5049 "vmid" : {
5050 "description" : "The (unique) ID of the VM.",
44660702 5051 "format" : "pve-vmid",
7aacca6f 5052 "minimum" : 1,
4bd7df8b 5053 "type" : "integer",
013dc89f 5054 "typetext" : "<integer> (1 - N)"
56122987
DM
5055 }
5056 }
5057 },
56122987
DM
5058 "permissions" : {
5059 "check" : [
5060 "perm",
5061 "/vms/{vmid}",
5062 [
44660702 5063 "VM.Config.Network"
56122987
DM
5064 ]
5065 ]
7aacca6f 5066 },
44660702 5067 "protected" : 1,
7aacca6f 5068 "proxyto" : "node",
44660702
DM
5069 "returns" : {
5070 "type" : "null"
5071 }
56122987
DM
5072 }
5073 },
44660702 5074 "leaf" : 1,
7aacca6f 5075 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 5076 "text" : "options"
56122987
DM
5077 },
5078 {
56122987
DM
5079 "info" : {
5080 "GET" : {
44660702
DM
5081 "description" : "Read firewall log",
5082 "method" : "GET",
5083 "name" : "log",
5084 "parameters" : {
5085 "additionalProperties" : 0,
5086 "properties" : {
5087 "limit" : {
5088 "minimum" : 0,
5089 "optional" : 1,
4bd7df8b 5090 "type" : "integer",
013dc89f 5091 "typetext" : "<integer> (0 - N)"
56122987 5092 },
44660702
DM
5093 "node" : {
5094 "description" : "The cluster node name.",
5095 "format" : "pve-node",
013dc89f
DM
5096 "type" : "string",
5097 "typetext" : "<string>"
44660702
DM
5098 },
5099 "start" : {
5100 "minimum" : 0,
5101 "optional" : 1,
4bd7df8b 5102 "type" : "integer",
013dc89f 5103 "typetext" : "<integer> (0 - N)"
44660702
DM
5104 },
5105 "vmid" : {
5106 "description" : "The (unique) ID of the VM.",
5107 "format" : "pve-vmid",
5108 "minimum" : 1,
4bd7df8b 5109 "type" : "integer",
013dc89f 5110 "typetext" : "<integer> (1 - N)"
44660702
DM
5111 }
5112 }
7aacca6f 5113 },
7aacca6f
DM
5114 "permissions" : {
5115 "check" : [
5116 "perm",
5117 "/vms/{vmid}",
5118 [
5119 "VM.Console"
5120 ]
5121 ]
56122987 5122 },
7aacca6f 5123 "protected" : 1,
44660702
DM
5124 "proxyto" : "node",
5125 "returns" : {
5126 "items" : {
5127 "properties" : {
5128 "n" : {
5129 "description" : "Line number",
5130 "type" : "integer"
5131 },
5132 "t" : {
5133 "description" : "Line text",
5134 "type" : "string"
5135 }
56122987 5136 },
44660702 5137 "type" : "object"
7aacca6f 5138 },
44660702 5139 "type" : "array"
7aacca6f
DM
5140 }
5141 }
5142 },
44660702 5143 "leaf" : 1,
7aacca6f 5144 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5145 "text" : "log"
7aacca6f
DM
5146 },
5147 {
7aacca6f
DM
5148 "info" : {
5149 "GET" : {
5150 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5151 "method" : "GET",
5152 "name" : "refs",
56122987 5153 "parameters" : {
44660702 5154 "additionalProperties" : 0,
56122987
DM
5155 "properties" : {
5156 "node" : {
7aacca6f 5157 "description" : "The cluster node name.",
44660702 5158 "format" : "pve-node",
013dc89f
DM
5159 "type" : "string",
5160 "typetext" : "<string>"
56122987
DM
5161 },
5162 "type" : {
56122987
DM
5163 "description" : "Only list references of specified type.",
5164 "enum" : [
5165 "alias",
5166 "ipset"
7aacca6f 5167 ],
44660702
DM
5168 "optional" : 1,
5169 "type" : "string"
5170 },
5171 "vmid" : {
5172 "description" : "The (unique) ID of the VM.",
5173 "format" : "pve-vmid",
5174 "minimum" : 1,
4bd7df8b 5175 "type" : "integer",
013dc89f 5176 "typetext" : "<integer> (1 - N)"
56122987 5177 }
44660702
DM
5178 }
5179 },
5180 "permissions" : {
5181 "check" : [
5182 "perm",
5183 "/vms/{vmid}",
5184 [
5185 "VM.Audit"
5186 ]
5187 ]
56122987
DM
5188 },
5189 "returns" : {
56122987
DM
5190 "items" : {
5191 "properties" : {
44660702
DM
5192 "comment" : {
5193 "optional" : 1,
56122987
DM
5194 "type" : "string"
5195 },
5196 "name" : {
5197 "type" : "string"
5198 },
44660702
DM
5199 "type" : {
5200 "enum" : [
5201 "alias",
5202 "ipset"
5203 ],
7aacca6f 5204 "type" : "string"
56122987
DM
5205 }
5206 },
5207 "type" : "object"
7aacca6f
DM
5208 },
5209 "type" : "array"
5210 }
56122987 5211 }
44660702
DM
5212 },
5213 "leaf" : 1,
5214 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5215 "text" : "refs"
56122987
DM
5216 }
5217 ],
56122987
DM
5218 "info" : {
5219 "GET" : {
44660702 5220 "description" : "Directory index.",
56122987 5221 "method" : "GET",
44660702 5222 "name" : "index",
56122987 5223 "parameters" : {
44660702 5224 "additionalProperties" : 0,
56122987
DM
5225 "properties" : {
5226 "node" : {
5227 "description" : "The cluster node name.",
44660702 5228 "format" : "pve-node",
013dc89f
DM
5229 "type" : "string",
5230 "typetext" : "<string>"
56122987
DM
5231 },
5232 "vmid" : {
44660702 5233 "description" : "The (unique) ID of the VM.",
56122987
DM
5234 "format" : "pve-vmid",
5235 "minimum" : 1,
4bd7df8b 5236 "type" : "integer",
013dc89f 5237 "typetext" : "<integer> (1 - N)"
56122987 5238 }
44660702 5239 }
56122987 5240 },
56122987
DM
5241 "permissions" : {
5242 "user" : "all"
7aacca6f 5243 },
44660702
DM
5244 "returns" : {
5245 "items" : {
5246 "properties" : {},
5247 "type" : "object"
5248 },
5249 "links" : [
5250 {
5251 "href" : "{name}",
5252 "rel" : "child"
5253 }
5254 ],
5255 "type" : "array"
5256 }
56122987 5257 }
44660702
DM
5258 },
5259 "leaf" : 0,
5260 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5261 "text" : "firewall"
56122987
DM
5262 },
5263 {
56122987
DM
5264 "info" : {
5265 "GET" : {
44660702
DM
5266 "description" : "Read VM RRD statistics (returns PNG)",
5267 "method" : "GET",
7aacca6f 5268 "name" : "rrd",
56122987
DM
5269 "parameters" : {
5270 "additionalProperties" : 0,
5271 "properties" : {
7aacca6f 5272 "cf" : {
44660702 5273 "description" : "The RRD consolidation function",
7aacca6f
DM
5274 "enum" : [
5275 "AVERAGE",
5276 "MAX"
5277 ],
7aacca6f
DM
5278 "optional" : 1,
5279 "type" : "string"
5280 },
44660702
DM
5281 "ds" : {
5282 "description" : "The list of datasources you want to display.",
5283 "format" : "pve-configid-list",
013dc89f
DM
5284 "type" : "string",
5285 "typetext" : "<string>"
56122987
DM
5286 },
5287 "node" : {
44660702 5288 "description" : "The cluster node name.",
56122987 5289 "format" : "pve-node",
013dc89f
DM
5290 "type" : "string",
5291 "typetext" : "<string>"
56122987
DM
5292 },
5293 "timeframe" : {
44660702 5294 "description" : "Specify the time frame you are interested in.",
56122987
DM
5295 "enum" : [
5296 "hour",
5297 "day",
5298 "week",
5299 "month",
5300 "year"
5301 ],
56122987
DM
5302 "type" : "string"
5303 },
44660702
DM
5304 "vmid" : {
5305 "description" : "The (unique) ID of the VM.",
5306 "format" : "pve-vmid",
5307 "minimum" : 1,
4bd7df8b 5308 "type" : "integer",
013dc89f 5309 "typetext" : "<integer> (1 - N)"
56122987
DM
5310 }
5311 }
5312 },
56122987
DM
5313 "permissions" : {
5314 "check" : [
5315 "perm",
5316 "/vms/{vmid}",
5317 [
5318 "VM.Audit"
5319 ]
5320 ]
5321 },
7aacca6f
DM
5322 "protected" : 1,
5323 "returns" : {
5324 "properties" : {
5325 "filename" : {
5326 "type" : "string"
5327 }
5328 },
5329 "type" : "object"
44660702 5330 }
56122987 5331 }
44660702
DM
5332 },
5333 "leaf" : 1,
5334 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5335 "text" : "rrd"
56122987
DM
5336 },
5337 {
7aacca6f 5338 "info" : {
56122987 5339 "GET" : {
7aacca6f 5340 "description" : "Read VM RRD statistics",
44660702 5341 "method" : "GET",
56122987 5342 "name" : "rrddata",
56122987 5343 "parameters" : {
44660702 5344 "additionalProperties" : 0,
56122987 5345 "properties" : {
44660702
DM
5346 "cf" : {
5347 "description" : "The RRD consolidation function",
5348 "enum" : [
5349 "AVERAGE",
5350 "MAX"
5351 ],
5352 "optional" : 1,
5353 "type" : "string"
5354 },
56122987 5355 "node" : {
44660702 5356 "description" : "The cluster node name.",
56122987 5357 "format" : "pve-node",
013dc89f
DM
5358 "type" : "string",
5359 "typetext" : "<string>"
56122987
DM
5360 },
5361 "timeframe" : {
44660702 5362 "description" : "Specify the time frame you are interested in.",
56122987
DM
5363 "enum" : [
5364 "hour",
5365 "day",
5366 "week",
5367 "month",
5368 "year"
7aacca6f 5369 ],
44660702 5370 "type" : "string"
7aacca6f
DM
5371 },
5372 "vmid" : {
7aacca6f
DM
5373 "description" : "The (unique) ID of the VM.",
5374 "format" : "pve-vmid",
44660702 5375 "minimum" : 1,
4bd7df8b 5376 "type" : "integer",
013dc89f 5377 "typetext" : "<integer> (1 - N)"
56122987 5378 }
44660702 5379 }
56122987 5380 },
56122987
DM
5381 "permissions" : {
5382 "check" : [
5383 "perm",
5384 "/vms/{vmid}",
5385 [
5386 "VM.Audit"
5387 ]
5388 ]
5389 },
44660702 5390 "protected" : 1,
7aacca6f 5391 "returns" : {
7aacca6f 5392 "items" : {
44660702
DM
5393 "properties" : {},
5394 "type" : "object"
5395 },
5396 "type" : "array"
7aacca6f 5397 }
56122987
DM
5398 }
5399 },
44660702
DM
5400 "leaf" : 1,
5401 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5402 "text" : "rrddata"
5403 },
5404 {
56122987 5405 "info" : {
44660702
DM
5406 "GET" : {
5407 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5408 "method" : "GET",
5409 "name" : "vm_config",
5410 "parameters" : {
5411 "additionalProperties" : 0,
5412 "properties" : {
5413 "current" : {
5414 "default" : 0,
5415 "description" : "Get current values (instead of pending values).",
5416 "optional" : 1,
013dc89f
DM
5417 "type" : "boolean",
5418 "typetext" : "<boolean>"
44660702
DM
5419 },
5420 "node" : {
5421 "description" : "The cluster node name.",
5422 "format" : "pve-node",
013dc89f
DM
5423 "type" : "string",
5424 "typetext" : "<string>"
44660702
DM
5425 },
5426 "vmid" : {
5427 "description" : "The (unique) ID of the VM.",
5428 "format" : "pve-vmid",
5429 "minimum" : 1,
4bd7df8b 5430 "type" : "integer",
013dc89f 5431 "typetext" : "<integer> (1 - N)"
44660702
DM
5432 }
5433 }
7aacca6f 5434 },
56122987
DM
5435 "permissions" : {
5436 "check" : [
5437 "perm",
5438 "/vms/{vmid}",
5439 [
44660702
DM
5440 "VM.Audit"
5441 ]
56122987
DM
5442 ]
5443 },
56122987 5444 "proxyto" : "node",
44660702
DM
5445 "returns" : {
5446 "properties" : {
5447 "digest" : {
5448 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5449 "type" : "string"
5450 }
5451 },
5452 "type" : "object"
5453 }
5454 },
5455 "POST" : {
7aacca6f
DM
5456 "description" : "Set virtual machine options (asynchrounous API).",
5457 "method" : "POST",
44660702 5458 "name" : "update_vm_async",
56122987 5459 "parameters" : {
44660702 5460 "additionalProperties" : 0,
56122987 5461 "properties" : {
44660702
DM
5462 "acpi" : {
5463 "default" : 1,
5464 "description" : "Enable/disable ACPI.",
5465 "optional" : 1,
013dc89f
DM
5466 "type" : "boolean",
5467 "typetext" : "<boolean>"
44660702
DM
5468 },
5469 "agent" : {
7aacca6f 5470 "default" : 0,
44660702 5471 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5472 "optional" : 1,
013dc89f
DM
5473 "type" : "boolean",
5474 "typetext" : "<boolean>"
7aacca6f 5475 },
44660702 5476 "args" : {
c2993fe5 5477 "description" : "Arbitrary arguments passed to kvm.",
44660702 5478 "optional" : 1,
c2993fe5 5479 "type" : "string",
013dc89f 5480 "typetext" : "<string>",
c2993fe5 5481 "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 5482 },
44660702
DM
5483 "autostart" : {
5484 "default" : 0,
5485 "description" : "Automatic restart after crash (currently ignored).",
56122987 5486 "optional" : 1,
013dc89f
DM
5487 "type" : "boolean",
5488 "typetext" : "<boolean>"
56122987 5489 },
44660702
DM
5490 "background_delay" : {
5491 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5492 "maximum" : 30,
5493 "minimum" : 1,
7aacca6f 5494 "optional" : 1,
4bd7df8b 5495 "type" : "integer",
013dc89f 5496 "typetext" : "<integer> (1 - 30)"
56122987 5497 },
44660702
DM
5498 "balloon" : {
5499 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5500 "minimum" : 0,
7aacca6f 5501 "optional" : 1,
4bd7df8b 5502 "type" : "integer",
013dc89f 5503 "typetext" : "<integer> (0 - N)"
7aacca6f 5504 },
44660702
DM
5505 "bios" : {
5506 "default" : "seabios",
5507 "description" : "Select BIOS implementation.",
5508 "enum" : [
5509 "seabios",
5510 "ovmf"
5511 ],
56122987 5512 "optional" : 1,
44660702 5513 "type" : "string"
7aacca6f 5514 },
44660702
DM
5515 "boot" : {
5516 "default" : "cdn",
5517 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5518 "optional" : 1,
5519 "pattern" : "[acdn]{1,4}",
5520 "type" : "string"
5521 },
5522 "bootdisk" : {
5523 "description" : "Enable booting from specified disk.",
5524 "format" : "pve-qm-bootdisk",
5525 "optional" : 1,
5526 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5527 "type" : "string"
5528 },
5529 "cdrom" : {
5530 "description" : "This is an alias for option -ide2",
de0983cb 5531 "format" : "pve-qm-ide",
44660702 5532 "optional" : 1,
7aacca6f 5533 "type" : "string",
013dc89f 5534 "typetext" : "<volume>"
44660702
DM
5535 },
5536 "cores" : {
5537 "default" : 1,
5538 "description" : "The number of cores per socket.",
5539 "minimum" : 1,
7aacca6f 5540 "optional" : 1,
4bd7df8b 5541 "type" : "integer",
013dc89f 5542 "typetext" : "<integer> (1 - N)"
7aacca6f 5543 },
44660702
DM
5544 "cpu" : {
5545 "description" : "Emulated CPU type.",
56122987 5546 "format" : {
44660702
DM
5547 "cputype" : {
5548 "default" : "kvm64",
7aacca6f 5549 "default_key" : 1,
44660702 5550 "description" : "Emulated CPU type.",
56122987 5551 "enum" : [
44660702
DM
5552 "486",
5553 "athlon",
f004f5b9
DM
5554 "Broadwell",
5555 "Broadwell-noTSX",
5556 "Conroe",
44660702 5557 "core2duo",
f004f5b9
DM
5558 "coreduo",
5559 "Haswell",
5560 "Haswell-noTSX",
5561 "host",
5562 "IvyBridge",
44660702
DM
5563 "kvm32",
5564 "kvm64",
44660702 5565 "Nehalem",
44660702
DM
5566 "Opteron_G1",
5567 "Opteron_G2",
5568 "Opteron_G3",
5569 "Opteron_G4",
5570 "Opteron_G5",
f004f5b9
DM
5571 "Penryn",
5572 "pentium",
5573 "pentium2",
5574 "pentium3",
5575 "phenom",
5576 "qemu32",
5577 "qemu64",
5578 "SandyBridge",
5579 "Westmere"
56122987 5580 ],
56122987
DM
5581 "type" : "string"
5582 },
44660702
DM
5583 "hidden" : {
5584 "default" : 0,
5585 "description" : "Do not identify as a KVM virtual machine.",
56122987 5586 "optional" : 1,
44660702
DM
5587 "type" : "boolean"
5588 }
5589 },
5590 "optional" : 1,
4bd7df8b 5591 "type" : "string",
013dc89f 5592 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
5593 },
5594 "cpulimit" : {
5595 "default" : 0,
c2993fe5 5596 "description" : "Limit of CPU usage.",
44660702
DM
5597 "maximum" : 128,
5598 "minimum" : 0,
5599 "optional" : 1,
c2993fe5 5600 "type" : "number",
013dc89f 5601 "typetext" : "<number> (0 - 128)",
c2993fe5 5602 "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
5603 },
5604 "cpuunits" : {
de0983cb 5605 "default" : 1024,
c2993fe5 5606 "description" : "CPU weight for a VM.",
44660702
DM
5607 "maximum" : 500000,
5608 "minimum" : 0,
5609 "optional" : 1,
c2993fe5 5610 "type" : "integer",
013dc89f 5611 "typetext" : "<integer> (0 - 500000)",
c2993fe5 5612 "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
5613 },
5614 "delete" : {
5615 "description" : "A list of settings you want to delete.",
5616 "format" : "pve-configid-list",
5617 "optional" : 1,
013dc89f
DM
5618 "type" : "string",
5619 "typetext" : "<string>"
44660702
DM
5620 },
5621 "description" : {
5622 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5623 "optional" : 1,
013dc89f
DM
5624 "type" : "string",
5625 "typetext" : "<string>"
44660702
DM
5626 },
5627 "digest" : {
5628 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5629 "maxLength" : 40,
5630 "optional" : 1,
013dc89f
DM
5631 "type" : "string",
5632 "typetext" : "<string>"
44660702
DM
5633 },
5634 "force" : {
5635 "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.",
5636 "optional" : 1,
5637 "requires" : "delete",
013dc89f
DM
5638 "type" : "boolean",
5639 "typetext" : "<boolean>"
44660702
DM
5640 },
5641 "freeze" : {
5642 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5643 "optional" : 1,
013dc89f
DM
5644 "type" : "boolean",
5645 "typetext" : "<boolean>"
44660702
DM
5646 },
5647 "hostpci[n]" : {
c2993fe5 5648 "description" : "Map host PCI devices into guest.",
44660702
DM
5649 "format" : "pve-qm-hostpci",
5650 "optional" : 1,
57b78691 5651 "type" : "string",
4bd7df8b 5652 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 5653 "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
5654 },
5655 "hotplug" : {
5656 "default" : "network,disk,usb",
5657 "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'.",
5658 "format" : "pve-hotplug-features",
5659 "optional" : 1,
013dc89f
DM
5660 "type" : "string",
5661 "typetext" : "<string>"
44660702 5662 },
4bd7df8b
DM
5663 "hugepages" : {
5664 "description" : "Enable/disable hugepages memory.",
5665 "enum" : [
5666 "any",
5667 "2",
5668 "1024"
5669 ],
5670 "optional" : 1,
5671 "type" : "string"
5672 },
44660702
DM
5673 "ide[n]" : {
5674 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5675 "format" : {
5676 "aio" : {
5677 "description" : "AIO type to use.",
5678 "enum" : [
5679 "native",
5680 "threads"
56122987 5681 ],
56122987 5682 "optional" : 1,
44660702 5683 "type" : "string"
56122987 5684 },
44660702
DM
5685 "backup" : {
5686 "description" : "Whether the drive should be included when making backups.",
56122987 5687 "optional" : 1,
44660702 5688 "type" : "boolean"
56122987 5689 },
7aacca6f 5690 "bps" : {
de0983cb 5691 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
5692 "format_description" : "bps",
5693 "optional" : 1,
5694 "type" : "integer"
5695 },
de0983cb
DM
5696 "bps_max_length" : {
5697 "description" : "Maximum length of I/O bursts in seconds.",
5698 "format_description" : "seconds",
5699 "minimum" : 1,
5700 "optional" : 1,
5701 "type" : "integer"
5702 },
44660702 5703 "bps_rd" : {
de0983cb 5704 "description" : "Maximum read speed in bytes per second.",
44660702 5705 "format_description" : "bps",
56122987 5706 "optional" : 1,
44660702 5707 "type" : "integer"
56122987 5708 },
de0983cb
DM
5709 "bps_rd_length" : {
5710 "description" : "Maximum length of read I/O bursts in seconds.",
5711 "format_description" : "seconds",
5712 "minimum" : 1,
5713 "optional" : 1,
5714 "type" : "integer"
5715 },
44660702 5716 "bps_wr" : {
de0983cb 5717 "description" : "Maximum write speed in bytes per second.",
44660702
DM
5718 "format_description" : "bps",
5719 "optional" : 1,
5720 "type" : "integer"
5721 },
de0983cb
DM
5722 "bps_wr_length" : {
5723 "description" : "Maximum length of write I/O bursts in seconds.",
5724 "format_description" : "seconds",
5725 "minimum" : 1,
5726 "optional" : 1,
5727 "type" : "integer"
5728 },
44660702
DM
5729 "cache" : {
5730 "description" : "The drive's cache mode",
5731 "enum" : [
5732 "none",
5733 "writethrough",
5734 "writeback",
5735 "unsafe",
5736 "directsync"
5737 ],
44660702
DM
5738 "optional" : 1,
5739 "type" : "string"
5740 },
5741 "cyls" : {
5742 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
5743 "optional" : 1,
5744 "type" : "integer"
5745 },
5746 "detect_zeroes" : {
5747 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
5748 "optional" : 1,
5749 "type" : "boolean"
5750 },
5751 "discard" : {
5752 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
5753 "enum" : [
5754 "ignore",
5755 "on"
5756 ],
56122987 5757 "optional" : 1,
44660702
DM
5758 "type" : "string"
5759 },
5760 "file" : {
5761 "default_key" : 1,
5762 "description" : "The drive's backing volume.",
5763 "format" : "pve-volume-id-or-qm-path",
5764 "format_description" : "volume",
5765 "type" : "string"
56122987 5766 },
7aacca6f 5767 "format" : {
7aacca6f 5768 "description" : "The drive's backing file's data format.",
56122987 5769 "enum" : [
7aacca6f
DM
5770 "raw",
5771 "cow",
5772 "qcow",
5773 "qed",
5774 "qcow2",
5775 "vmdk",
5776 "cloop"
56122987
DM
5777 ],
5778 "optional" : 1,
56122987
DM
5779 "type" : "string"
5780 },
44660702
DM
5781 "heads" : {
5782 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
5783 "optional" : 1,
5784 "type" : "integer"
7aacca6f 5785 },
44660702 5786 "iops" : {
de0983cb 5787 "description" : "Maximum r/w I/O in operations per second.",
44660702 5788 "format_description" : "iops",
56122987 5789 "optional" : 1,
44660702 5790 "type" : "integer"
56122987 5791 },
44660702 5792 "iops_max" : {
de0983cb 5793 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 5794 "format_description" : "iops",
56122987 5795 "optional" : 1,
44660702 5796 "type" : "integer"
56122987 5797 },
de0983cb
DM
5798 "iops_max_length" : {
5799 "description" : "Maximum length of I/O bursts in seconds.",
5800 "format_description" : "seconds",
5801 "minimum" : 1,
5802 "optional" : 1,
5803 "type" : "integer"
5804 },
44660702 5805 "iops_rd" : {
de0983cb 5806 "description" : "Maximum read I/O in operations per second.",
44660702
DM
5807 "format_description" : "iops",
5808 "optional" : 1,
5809 "type" : "integer"
5810 },
de0983cb
DM
5811 "iops_rd_length" : {
5812 "description" : "Maximum length of read I/O bursts in seconds.",
5813 "format_description" : "seconds",
5814 "minimum" : 1,
5815 "optional" : 1,
5816 "type" : "integer"
5817 },
44660702 5818 "iops_rd_max" : {
de0983cb 5819 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 5820 "format_description" : "iops",
44660702
DM
5821 "optional" : 1,
5822 "type" : "integer"
5823 },
5824 "iops_wr" : {
de0983cb 5825 "description" : "Maximum write I/O in operations per second.",
44660702 5826 "format_description" : "iops",
56122987 5827 "optional" : 1,
7aacca6f 5828 "type" : "integer"
56122987 5829 },
de0983cb
DM
5830 "iops_wr_length" : {
5831 "description" : "Maximum length of write I/O bursts in seconds.",
5832 "format_description" : "seconds",
5833 "minimum" : 1,
5834 "optional" : 1,
5835 "type" : "integer"
5836 },
44660702 5837 "iops_wr_max" : {
de0983cb 5838 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 5839 "format_description" : "iops",
7aacca6f 5840 "optional" : 1,
44660702 5841 "type" : "integer"
56122987 5842 },
44660702 5843 "mbps" : {
de0983cb 5844 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
5845 "format_description" : "mbps",
5846 "optional" : 1,
5847 "type" : "number"
5848 },
5849 "mbps_max" : {
de0983cb 5850 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
5851 "format_description" : "mbps",
5852 "optional" : 1,
5853 "type" : "number"
5854 },
5855 "mbps_rd" : {
de0983cb 5856 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
5857 "format_description" : "mbps",
5858 "optional" : 1,
5859 "type" : "number"
5860 },
5861 "mbps_rd_max" : {
de0983cb 5862 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
5863 "format_description" : "mbps",
5864 "optional" : 1,
5865 "type" : "number"
5866 },
5867 "mbps_wr" : {
de0983cb 5868 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
5869 "format_description" : "mbps",
5870 "optional" : 1,
5871 "type" : "number"
5872 },
5873 "mbps_wr_max" : {
de0983cb 5874 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 5875 "format_description" : "mbps",
56122987 5876 "optional" : 1,
44660702 5877 "type" : "number"
56122987 5878 },
7aacca6f 5879 "media" : {
7aacca6f 5880 "default" : "disk",
7aacca6f
DM
5881 "description" : "The drive's media type.",
5882 "enum" : [
5883 "cdrom",
5884 "disk"
44660702 5885 ],
44660702
DM
5886 "optional" : 1,
5887 "type" : "string"
56122987 5888 },
44660702
DM
5889 "model" : {
5890 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
5891 "format" : "urlencoded",
5892 "format_description" : "model",
5893 "maxLength" : 120,
56122987 5894 "optional" : 1,
44660702 5895 "type" : "string"
56122987 5896 },
44660702
DM
5897 "rerror" : {
5898 "description" : "Read error action.",
5899 "enum" : [
5900 "ignore",
5901 "report",
5902 "stop"
5903 ],
56122987 5904 "optional" : 1,
44660702
DM
5905 "type" : "string"
5906 },
5907 "secs" : {
5908 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
5909 "optional" : 1,
5910 "type" : "integer"
5911 },
5912 "serial" : {
5913 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
5914 "format" : "urlencoded",
5915 "format_description" : "serial",
5916 "maxLength" : 60,
5917 "optional" : 1,
5918 "type" : "string"
5919 },
5920 "size" : {
5921 "description" : "Disk size. This is purely informational and has no effect.",
5922 "format" : "disk-size",
f004f5b9 5923 "format_description" : "DiskSize",
44660702
DM
5924 "optional" : 1,
5925 "type" : "string"
5926 },
5927 "snapshot" : {
5928 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
5929 "optional" : 1,
5930 "type" : "boolean"
5931 },
5932 "trans" : {
5933 "description" : "Force disk geometry bios translation mode.",
5934 "enum" : [
5935 "none",
5936 "lba",
5937 "auto"
5938 ],
44660702
DM
5939 "optional" : 1,
5940 "type" : "string"
5941 },
5942 "volume" : {
5943 "alias" : "file"
5944 },
5945 "werror" : {
5946 "description" : "Write error action.",
5947 "enum" : [
5948 "enospc",
5949 "ignore",
5950 "report",
5951 "stop"
5952 ],
44660702
DM
5953 "optional" : 1,
5954 "type" : "string"
56122987
DM
5955 }
5956 },
44660702 5957 "optional" : 1,
4bd7df8b 5958 "type" : "string",
013dc89f 5959 "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 5960 },
44660702
DM
5961 "keyboard" : {
5962 "default" : "en-us",
c2993fe5 5963 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
5964 "enum" : [
5965 "de",
5966 "de-ch",
5967 "da",
5968 "en-gb",
5969 "en-us",
5970 "es",
5971 "fi",
5972 "fr",
5973 "fr-be",
5974 "fr-ca",
5975 "fr-ch",
5976 "hu",
5977 "is",
5978 "it",
5979 "ja",
5980 "lt",
5981 "mk",
5982 "nl",
5983 "no",
5984 "pl",
5985 "pt",
5986 "pt-br",
5987 "sv",
5988 "sl",
5989 "tr"
5990 ],
56122987 5991 "optional" : 1,
44660702
DM
5992 "type" : "string"
5993 },
5994 "kvm" : {
7aacca6f 5995 "default" : 1,
44660702
DM
5996 "description" : "Enable/disable KVM hardware virtualization.",
5997 "optional" : 1,
013dc89f
DM
5998 "type" : "boolean",
5999 "typetext" : "<boolean>"
56122987 6000 },
44660702
DM
6001 "localtime" : {
6002 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 6003 "optional" : 1,
013dc89f
DM
6004 "type" : "boolean",
6005 "typetext" : "<boolean>"
56122987 6006 },
44660702
DM
6007 "lock" : {
6008 "description" : "Lock/unlock the VM.",
6009 "enum" : [
6010 "migrate",
6011 "backup",
6012 "snapshot",
6013 "rollback"
6014 ],
7aacca6f 6015 "optional" : 1,
44660702
DM
6016 "type" : "string"
6017 },
6018 "machine" : {
6019 "description" : "Specific the Qemu machine type.",
6020 "maxLength" : 40,
6021 "optional" : 1,
6022 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
6023 "type" : "string"
6024 },
6025 "memory" : {
6026 "default" : 512,
6027 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
6028 "minimum" : 16,
6029 "optional" : 1,
4bd7df8b 6030 "type" : "integer",
013dc89f 6031 "typetext" : "<integer> (16 - N)"
44660702
DM
6032 },
6033 "migrate_downtime" : {
6034 "default" : 0.1,
6035 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
6036 "minimum" : 0,
6037 "optional" : 1,
4bd7df8b 6038 "type" : "number",
013dc89f 6039 "typetext" : "<number> (0 - N)"
44660702
DM
6040 },
6041 "migrate_speed" : {
6042 "default" : 0,
6043 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
6044 "minimum" : 0,
6045 "optional" : 1,
4bd7df8b 6046 "type" : "integer",
013dc89f 6047 "typetext" : "<integer> (0 - N)"
44660702
DM
6048 },
6049 "name" : {
6050 "description" : "Set a name for the VM. Only used on the configuration web interface.",
6051 "format" : "dns-name",
6052 "optional" : 1,
013dc89f
DM
6053 "type" : "string",
6054 "typetext" : "<string>"
44660702
DM
6055 },
6056 "net[n]" : {
c2993fe5 6057 "description" : "Specify network devices.",
f004f5b9
DM
6058 "format" : {
6059 "bridge" : {
c2993fe5 6060 "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
6061 "format_description" : "bridge",
6062 "optional" : 1,
6063 "type" : "string"
6064 },
6065 "e1000" : {
6066 "alias" : "macaddr",
6067 "keyAlias" : "model"
6068 },
6069 "e1000-82540em" : {
6070 "alias" : "macaddr",
6071 "keyAlias" : "model"
6072 },
6073 "e1000-82544gc" : {
6074 "alias" : "macaddr",
6075 "keyAlias" : "model"
6076 },
6077 "e1000-82545em" : {
6078 "alias" : "macaddr",
6079 "keyAlias" : "model"
6080 },
6081 "firewall" : {
6082 "description" : "Whether this interface should be protected by the firewall.",
6083 "optional" : 1,
6084 "type" : "boolean"
6085 },
6086 "i82551" : {
6087 "alias" : "macaddr",
6088 "keyAlias" : "model"
6089 },
6090 "i82557b" : {
6091 "alias" : "macaddr",
6092 "keyAlias" : "model"
6093 },
6094 "i82559er" : {
6095 "alias" : "macaddr",
6096 "keyAlias" : "model"
6097 },
6098 "link_down" : {
c2993fe5 6099 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
6100 "optional" : 1,
6101 "type" : "boolean"
6102 },
6103 "macaddr" : {
c2993fe5 6104 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 6105 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
6106 "optional" : 1,
6107 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
6108 "type" : "string"
6109 },
6110 "model" : {
6111 "default_key" : 1,
c2993fe5 6112 "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
6113 "enum" : [
6114 "rtl8139",
6115 "ne2k_pci",
6116 "e1000",
6117 "pcnet",
6118 "virtio",
6119 "ne2k_isa",
6120 "i82551",
6121 "i82557b",
6122 "i82559er",
6123 "vmxnet3",
6124 "e1000-82540em",
6125 "e1000-82544gc",
6126 "e1000-82545em"
6127 ],
f004f5b9
DM
6128 "type" : "string"
6129 },
6130 "ne2k_isa" : {
6131 "alias" : "macaddr",
6132 "keyAlias" : "model"
6133 },
6134 "ne2k_pci" : {
6135 "alias" : "macaddr",
6136 "keyAlias" : "model"
6137 },
6138 "pcnet" : {
6139 "alias" : "macaddr",
6140 "keyAlias" : "model"
6141 },
6142 "queues" : {
6143 "description" : "Number of packet queues to be used on the device.",
6144 "maximum" : 16,
6145 "minimum" : 0,
6146 "optional" : 1,
6147 "type" : "integer"
6148 },
6149 "rate" : {
c2993fe5 6150 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
6151 "minimum" : 0,
6152 "optional" : 1,
6153 "type" : "number"
6154 },
6155 "rtl8139" : {
6156 "alias" : "macaddr",
6157 "keyAlias" : "model"
6158 },
6159 "tag" : {
6160 "description" : "VLAN tag to apply to packets on this interface.",
6161 "maximum" : 4094,
c2993fe5 6162 "minimum" : 1,
f004f5b9
DM
6163 "optional" : 1,
6164 "type" : "integer"
6165 },
6166 "trunks" : {
6167 "description" : "VLAN trunks to pass through this interface.",
6168 "format_description" : "vlanid[;vlanid...]",
6169 "optional" : 1,
6170 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6171 "type" : "string"
6172 },
6173 "virtio" : {
6174 "alias" : "macaddr",
6175 "keyAlias" : "model"
6176 },
6177 "vmxnet3" : {
6178 "alias" : "macaddr",
6179 "keyAlias" : "model"
6180 }
6181 },
44660702 6182 "optional" : 1,
4bd7df8b 6183 "type" : "string",
013dc89f 6184 "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
6185 },
6186 "node" : {
6187 "description" : "The cluster node name.",
6188 "format" : "pve-node",
013dc89f
DM
6189 "type" : "string",
6190 "typetext" : "<string>"
44660702
DM
6191 },
6192 "numa" : {
6193 "default" : 0,
6194 "description" : "Enable/disable NUMA.",
6195 "optional" : 1,
013dc89f
DM
6196 "type" : "boolean",
6197 "typetext" : "<boolean>"
44660702
DM
6198 },
6199 "numa[n]" : {
c2993fe5 6200 "description" : "NUMA topology.",
56122987 6201 "format" : {
7aacca6f 6202 "cpus" : {
c2993fe5 6203 "description" : "CPUs accessing this NUMA node.",
44660702
DM
6204 "format_description" : "id[-id];...",
6205 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6206 "type" : "string"
7aacca6f
DM
6207 },
6208 "hostnodes" : {
c2993fe5 6209 "description" : "Host NUMA nodes to use.",
44660702 6210 "format_description" : "id[-id];...",
7aacca6f 6211 "optional" : 1,
7aacca6f 6212 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 6213 "type" : "string"
7aacca6f 6214 },
44660702 6215 "memory" : {
c2993fe5 6216 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 6217 "optional" : 1,
44660702
DM
6218 "type" : "number"
6219 },
6220 "policy" : {
c2993fe5 6221 "description" : "NUMA allocation policy.",
7aacca6f
DM
6222 "enum" : [
6223 "preferred",
6224 "bind",
6225 "interleave"
6226 ],
44660702
DM
6227 "optional" : 1,
6228 "type" : "string"
56122987 6229 }
44660702 6230 },
56122987 6231 "optional" : 1,
4bd7df8b
DM
6232 "type" : "string",
6233 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 6234 },
44660702 6235 "onboot" : {
7aacca6f 6236 "default" : 0,
44660702
DM
6237 "description" : "Specifies whether a VM will be started during system bootup.",
6238 "optional" : 1,
013dc89f
DM
6239 "type" : "boolean",
6240 "typetext" : "<boolean>"
7aacca6f
DM
6241 },
6242 "ostype" : {
c2993fe5 6243 "description" : "Specify guest operating system.",
7aacca6f
DM
6244 "enum" : [
6245 "other",
6246 "wxp",
6247 "w2k",
6248 "w2k3",
6249 "w2k8",
6250 "wvista",
6251 "win7",
6252 "win8",
32d876b5 6253 "win10",
7aacca6f
DM
6254 "l24",
6255 "l26",
6256 "solaris"
6257 ],
7aacca6f 6258 "optional" : 1,
c2993fe5
DM
6259 "type" : "string",
6260 "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 6261 },
44660702 6262 "parallel[n]" : {
c2993fe5 6263 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 6264 "optional" : 1,
44660702 6265 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
6266 "type" : "string",
6267 "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
6268 },
6269 "protection" : {
6270 "default" : 0,
c2993fe5 6271 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 6272 "optional" : 1,
013dc89f
DM
6273 "type" : "boolean",
6274 "typetext" : "<boolean>"
7aacca6f 6275 },
44660702
DM
6276 "reboot" : {
6277 "default" : 1,
6278 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 6279 "optional" : 1,
013dc89f
DM
6280 "type" : "boolean",
6281 "typetext" : "<boolean>"
7aacca6f 6282 },
44660702
DM
6283 "revert" : {
6284 "description" : "Revert a pending change.",
6285 "format" : "pve-configid-list",
7aacca6f 6286 "optional" : 1,
013dc89f
DM
6287 "type" : "string",
6288 "typetext" : "<string>"
44660702
DM
6289 },
6290 "sata[n]" : {
6291 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 6292 "format" : {
44660702
DM
6293 "aio" : {
6294 "description" : "AIO type to use.",
7aacca6f 6295 "enum" : [
44660702
DM
6296 "native",
6297 "threads"
7aacca6f 6298 ],
44660702
DM
6299 "optional" : 1,
6300 "type" : "string"
7aacca6f 6301 },
44660702
DM
6302 "backup" : {
6303 "description" : "Whether the drive should be included when making backups.",
56122987 6304 "optional" : 1,
7aacca6f 6305 "type" : "boolean"
44660702
DM
6306 },
6307 "bps" : {
de0983cb 6308 "description" : "Maximum r/w speed in bytes per second.",
44660702 6309 "format_description" : "bps",
7aacca6f 6310 "optional" : 1,
44660702 6311 "type" : "integer"
56122987 6312 },
de0983cb
DM
6313 "bps_max_length" : {
6314 "description" : "Maximum length of I/O bursts in seconds.",
6315 "format_description" : "seconds",
6316 "minimum" : 1,
6317 "optional" : 1,
6318 "type" : "integer"
6319 },
44660702 6320 "bps_rd" : {
de0983cb 6321 "description" : "Maximum read speed in bytes per second.",
44660702 6322 "format_description" : "bps",
56122987 6323 "optional" : 1,
44660702 6324 "type" : "integer"
56122987 6325 },
de0983cb
DM
6326 "bps_rd_length" : {
6327 "description" : "Maximum length of read I/O bursts in seconds.",
6328 "format_description" : "seconds",
6329 "minimum" : 1,
6330 "optional" : 1,
6331 "type" : "integer"
6332 },
44660702 6333 "bps_wr" : {
de0983cb 6334 "description" : "Maximum write speed in bytes per second.",
44660702 6335 "format_description" : "bps",
56122987 6336 "optional" : 1,
44660702 6337 "type" : "integer"
56122987 6338 },
de0983cb
DM
6339 "bps_wr_length" : {
6340 "description" : "Maximum length of write I/O bursts in seconds.",
6341 "format_description" : "seconds",
6342 "minimum" : 1,
6343 "optional" : 1,
6344 "type" : "integer"
6345 },
56122987 6346 "cache" : {
44660702 6347 "description" : "The drive's cache mode",
56122987
DM
6348 "enum" : [
6349 "none",
6350 "writethrough",
6351 "writeback",
6352 "unsafe",
6353 "directsync"
6354 ],
56122987 6355 "optional" : 1,
44660702 6356 "type" : "string"
56122987 6357 },
44660702
DM
6358 "cyls" : {
6359 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6360 "optional" : 1,
44660702 6361 "type" : "integer"
7aacca6f
DM
6362 },
6363 "detect_zeroes" : {
6364 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6365 "optional" : 1,
44660702 6366 "type" : "boolean"
56122987 6367 },
44660702
DM
6368 "discard" : {
6369 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6370 "enum" : [
6371 "ignore",
6372 "on"
6373 ],
56122987 6374 "optional" : 1,
44660702 6375 "type" : "string"
7aacca6f 6376 },
44660702
DM
6377 "file" : {
6378 "default_key" : 1,
6379 "description" : "The drive's backing volume.",
6380 "format" : "pve-volume-id-or-qm-path",
6381 "format_description" : "volume",
6382 "type" : "string"
56122987 6383 },
7aacca6f 6384 "format" : {
44660702 6385 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6386 "enum" : [
6387 "raw",
6388 "cow",
6389 "qcow",
6390 "qed",
6391 "qcow2",
6392 "vmdk",
6393 "cloop"
6394 ],
7aacca6f 6395 "optional" : 1,
44660702 6396 "type" : "string"
56122987 6397 },
7aacca6f 6398 "heads" : {
7aacca6f 6399 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6400 "optional" : 1,
7aacca6f 6401 "type" : "integer"
56122987 6402 },
44660702 6403 "iops" : {
de0983cb 6404 "description" : "Maximum r/w I/O in operations per second.",
44660702 6405 "format_description" : "iops",
56122987 6406 "optional" : 1,
44660702 6407 "type" : "integer"
56122987 6408 },
44660702 6409 "iops_max" : {
de0983cb 6410 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6411 "format_description" : "iops",
56122987 6412 "optional" : 1,
44660702 6413 "type" : "integer"
56122987 6414 },
de0983cb
DM
6415 "iops_max_length" : {
6416 "description" : "Maximum length of I/O bursts in seconds.",
6417 "format_description" : "seconds",
6418 "minimum" : 1,
6419 "optional" : 1,
6420 "type" : "integer"
6421 },
44660702 6422 "iops_rd" : {
de0983cb 6423 "description" : "Maximum read I/O in operations per second.",
44660702 6424 "format_description" : "iops",
7aacca6f 6425 "optional" : 1,
44660702 6426 "type" : "integer"
56122987 6427 },
de0983cb
DM
6428 "iops_rd_length" : {
6429 "description" : "Maximum length of read I/O bursts in seconds.",
6430 "format_description" : "seconds",
6431 "minimum" : 1,
6432 "optional" : 1,
6433 "type" : "integer"
6434 },
44660702 6435 "iops_rd_max" : {
de0983cb 6436 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6437 "format_description" : "iops",
56122987 6438 "optional" : 1,
44660702 6439 "type" : "integer"
7aacca6f 6440 },
44660702 6441 "iops_wr" : {
de0983cb 6442 "description" : "Maximum write I/O in operations per second.",
44660702 6443 "format_description" : "iops",
56122987 6444 "optional" : 1,
44660702 6445 "type" : "integer"
56122987 6446 },
de0983cb
DM
6447 "iops_wr_length" : {
6448 "description" : "Maximum length of write I/O bursts in seconds.",
6449 "format_description" : "seconds",
6450 "minimum" : 1,
6451 "optional" : 1,
6452 "type" : "integer"
6453 },
56122987 6454 "iops_wr_max" : {
de0983cb 6455 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6456 "format_description" : "iops",
56122987 6457 "optional" : 1,
44660702 6458 "type" : "integer"
56122987 6459 },
44660702 6460 "mbps" : {
de0983cb 6461 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6462 "format_description" : "mbps",
56122987 6463 "optional" : 1,
44660702 6464 "type" : "number"
56122987 6465 },
44660702 6466 "mbps_max" : {
de0983cb 6467 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6468 "format_description" : "mbps",
6469 "optional" : 1,
6470 "type" : "number"
56122987 6471 },
44660702 6472 "mbps_rd" : {
de0983cb 6473 "description" : "Maximum read speed in megabytes per second.",
44660702 6474 "format_description" : "mbps",
56122987 6475 "optional" : 1,
44660702 6476 "type" : "number"
56122987 6477 },
44660702 6478 "mbps_rd_max" : {
de0983cb 6479 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6480 "format_description" : "mbps",
56122987 6481 "optional" : 1,
44660702 6482 "type" : "number"
56122987 6483 },
44660702 6484 "mbps_wr" : {
de0983cb 6485 "description" : "Maximum write speed in megabytes per second.",
56122987 6486 "format_description" : "mbps",
44660702
DM
6487 "optional" : 1,
6488 "type" : "number"
56122987 6489 },
44660702 6490 "mbps_wr_max" : {
de0983cb 6491 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6492 "format_description" : "mbps",
6493 "optional" : 1,
6494 "type" : "number"
7aacca6f 6495 },
44660702
DM
6496 "media" : {
6497 "default" : "disk",
6498 "description" : "The drive's media type.",
6499 "enum" : [
6500 "cdrom",
6501 "disk"
6502 ],
56122987 6503 "optional" : 1,
44660702
DM
6504 "type" : "string"
6505 },
6506 "rerror" : {
6507 "description" : "Read error action.",
7aacca6f 6508 "enum" : [
44660702
DM
6509 "ignore",
6510 "report",
6511 "stop"
6512 ],
7aacca6f 6513 "optional" : 1,
44660702 6514 "type" : "string"
56122987 6515 },
44660702
DM
6516 "secs" : {
6517 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6518 "optional" : 1,
44660702 6519 "type" : "integer"
56122987 6520 },
44660702
DM
6521 "serial" : {
6522 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6523 "format" : "urlencoded",
6524 "format_description" : "serial",
6525 "maxLength" : 60,
56122987 6526 "optional" : 1,
44660702 6527 "type" : "string"
56122987 6528 },
44660702
DM
6529 "size" : {
6530 "description" : "Disk size. This is purely informational and has no effect.",
6531 "format" : "disk-size",
f004f5b9 6532 "format_description" : "DiskSize",
44660702
DM
6533 "optional" : 1,
6534 "type" : "string"
6535 },
6536 "snapshot" : {
6537 "description" : "Whether the drive should be included when making snapshots.",
56122987 6538 "optional" : 1,
44660702
DM
6539 "type" : "boolean"
6540 },
6541 "trans" : {
6542 "description" : "Force disk geometry bios translation mode.",
56122987 6543 "enum" : [
7aacca6f
DM
6544 "none",
6545 "lba",
6546 "auto"
56122987 6547 ],
44660702
DM
6548 "optional" : 1,
6549 "type" : "string"
56122987 6550 },
7aacca6f
DM
6551 "volume" : {
6552 "alias" : "file"
56122987 6553 },
44660702
DM
6554 "werror" : {
6555 "description" : "Write error action.",
6556 "enum" : [
6557 "enospc",
6558 "ignore",
6559 "report",
6560 "stop"
6561 ],
7aacca6f 6562 "optional" : 1,
44660702
DM
6563 "type" : "string"
6564 }
6565 },
6566 "optional" : 1,
4bd7df8b 6567 "type" : "string",
013dc89f 6568 "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
6569 },
6570 "scsi[n]" : {
6571 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6572 "format" : {
56122987 6573 "aio" : {
56122987
DM
6574 "description" : "AIO type to use.",
6575 "enum" : [
6576 "native",
6577 "threads"
6578 ],
7aacca6f 6579 "optional" : 1,
44660702 6580 "type" : "string"
56122987 6581 },
44660702
DM
6582 "backup" : {
6583 "description" : "Whether the drive should be included when making backups.",
56122987 6584 "optional" : 1,
44660702 6585 "type" : "boolean"
56122987 6586 },
44660702 6587 "bps" : {
de0983cb 6588 "description" : "Maximum r/w speed in bytes per second.",
44660702 6589 "format_description" : "bps",
56122987 6590 "optional" : 1,
44660702 6591 "type" : "integer"
56122987 6592 },
de0983cb
DM
6593 "bps_max_length" : {
6594 "description" : "Maximum length of I/O bursts in seconds.",
6595 "format_description" : "seconds",
6596 "minimum" : 1,
6597 "optional" : 1,
6598 "type" : "integer"
6599 },
44660702 6600 "bps_rd" : {
de0983cb 6601 "description" : "Maximum read speed in bytes per second.",
44660702 6602 "format_description" : "bps",
56122987 6603 "optional" : 1,
44660702 6604 "type" : "integer"
56122987 6605 },
de0983cb
DM
6606 "bps_rd_length" : {
6607 "description" : "Maximum length of read I/O bursts in seconds.",
6608 "format_description" : "seconds",
6609 "minimum" : 1,
6610 "optional" : 1,
6611 "type" : "integer"
6612 },
7aacca6f 6613 "bps_wr" : {
de0983cb 6614 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6615 "format_description" : "bps",
56122987 6616 "optional" : 1,
44660702 6617 "type" : "integer"
56122987 6618 },
de0983cb
DM
6619 "bps_wr_length" : {
6620 "description" : "Maximum length of write I/O bursts in seconds.",
6621 "format_description" : "seconds",
6622 "minimum" : 1,
6623 "optional" : 1,
6624 "type" : "integer"
6625 },
44660702
DM
6626 "cache" : {
6627 "description" : "The drive's cache mode",
7aacca6f 6628 "enum" : [
44660702
DM
6629 "none",
6630 "writethrough",
6631 "writeback",
6632 "unsafe",
6633 "directsync"
7aacca6f 6634 ],
56122987 6635 "optional" : 1,
44660702 6636 "type" : "string"
56122987 6637 },
44660702
DM
6638 "cyls" : {
6639 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6640 "optional" : 1,
44660702 6641 "type" : "integer"
56122987 6642 },
44660702
DM
6643 "detect_zeroes" : {
6644 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6645 "optional" : 1,
44660702 6646 "type" : "boolean"
56122987 6647 },
44660702
DM
6648 "discard" : {
6649 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6650 "enum" : [
6651 "ignore",
6652 "on"
6653 ],
7aacca6f 6654 "optional" : 1,
44660702 6655 "type" : "string"
56122987 6656 },
44660702
DM
6657 "file" : {
6658 "default_key" : 1,
6659 "description" : "The drive's backing volume.",
6660 "format" : "pve-volume-id-or-qm-path",
6661 "format_description" : "volume",
6662 "type" : "string"
56122987 6663 },
7aacca6f 6664 "format" : {
44660702 6665 "description" : "The drive's backing file's data format.",
56122987 6666 "enum" : [
7aacca6f
DM
6667 "raw",
6668 "cow",
6669 "qcow",
6670 "qed",
6671 "qcow2",
6672 "vmdk",
6673 "cloop"
6674 ],
44660702
DM
6675 "optional" : 1,
6676 "type" : "string"
56122987 6677 },
44660702
DM
6678 "heads" : {
6679 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6680 "optional" : 1,
7aacca6f 6681 "type" : "integer"
56122987 6682 },
44660702 6683 "iops" : {
de0983cb 6684 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 6685 "format_description" : "iops",
44660702
DM
6686 "optional" : 1,
6687 "type" : "integer"
7aacca6f 6688 },
44660702 6689 "iops_max" : {
de0983cb 6690 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6691 "format_description" : "iops",
56122987 6692 "optional" : 1,
44660702 6693 "type" : "integer"
7aacca6f 6694 },
de0983cb
DM
6695 "iops_max_length" : {
6696 "description" : "Maximum length of I/O bursts in seconds.",
6697 "format_description" : "seconds",
6698 "minimum" : 1,
6699 "optional" : 1,
6700 "type" : "integer"
6701 },
44660702 6702 "iops_rd" : {
de0983cb 6703 "description" : "Maximum read I/O in operations per second.",
44660702 6704 "format_description" : "iops",
7aacca6f 6705 "optional" : 1,
44660702 6706 "type" : "integer"
56122987 6707 },
de0983cb
DM
6708 "iops_rd_length" : {
6709 "description" : "Maximum length of read I/O bursts in seconds.",
6710 "format_description" : "seconds",
6711 "minimum" : 1,
6712 "optional" : 1,
6713 "type" : "integer"
6714 },
44660702 6715 "iops_rd_max" : {
de0983cb 6716 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
6717 "format_description" : "iops",
6718 "optional" : 1,
6719 "type" : "integer"
6720 },
6721 "iops_wr" : {
de0983cb 6722 "description" : "Maximum write I/O in operations per second.",
44660702 6723 "format_description" : "iops",
56122987 6724 "optional" : 1,
44660702
DM
6725 "type" : "integer"
6726 },
de0983cb
DM
6727 "iops_wr_length" : {
6728 "description" : "Maximum length of write I/O bursts in seconds.",
6729 "format_description" : "seconds",
6730 "minimum" : 1,
6731 "optional" : 1,
6732 "type" : "integer"
6733 },
44660702 6734 "iops_wr_max" : {
de0983cb 6735 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
6736 "format_description" : "iops",
6737 "optional" : 1,
6738 "type" : "integer"
56122987 6739 },
7aacca6f 6740 "iothread" : {
7aacca6f 6741 "description" : "Whether to use iothreads for this drive",
56122987 6742 "optional" : 1,
56122987
DM
6743 "type" : "boolean"
6744 },
44660702 6745 "mbps" : {
de0983cb 6746 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6747 "format_description" : "mbps",
6748 "optional" : 1,
6749 "type" : "number"
6750 },
6751 "mbps_max" : {
de0983cb 6752 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6753 "format_description" : "mbps",
6754 "optional" : 1,
6755 "type" : "number"
6756 },
6757 "mbps_rd" : {
de0983cb 6758 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6759 "format_description" : "mbps",
6760 "optional" : 1,
6761 "type" : "number"
6762 },
6763 "mbps_rd_max" : {
de0983cb 6764 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6765 "format_description" : "mbps",
6766 "optional" : 1,
6767 "type" : "number"
6768 },
6769 "mbps_wr" : {
de0983cb 6770 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6771 "format_description" : "mbps",
6772 "optional" : 1,
6773 "type" : "number"
6774 },
6775 "mbps_wr_max" : {
de0983cb 6776 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6777 "format_description" : "mbps",
6778 "optional" : 1,
6779 "type" : "number"
6780 },
7aacca6f 6781 "media" : {
44660702
DM
6782 "default" : "disk",
6783 "description" : "The drive's media type.",
7aacca6f
DM
6784 "enum" : [
6785 "cdrom",
6786 "disk"
6787 ],
56122987 6788 "optional" : 1,
44660702
DM
6789 "type" : "string"
6790 },
6791 "queues" : {
6792 "description" : "Number of queues.",
44660702
DM
6793 "minimum" : 2,
6794 "optional" : 1,
6795 "type" : "integer"
6796 },
6797 "secs" : {
6798 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6799 "optional" : 1,
6800 "type" : "integer"
6801 },
6802 "serial" : {
6803 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6804 "format" : "urlencoded",
6805 "format_description" : "serial",
6806 "maxLength" : 60,
6807 "optional" : 1,
6808 "type" : "string"
6809 },
6810 "size" : {
6811 "description" : "Disk size. This is purely informational and has no effect.",
6812 "format" : "disk-size",
f004f5b9 6813 "format_description" : "DiskSize",
44660702
DM
6814 "optional" : 1,
6815 "type" : "string"
56122987 6816 },
7aacca6f
DM
6817 "snapshot" : {
6818 "description" : "Whether the drive should be included when making snapshots.",
6819 "optional" : 1,
44660702 6820 "type" : "boolean"
7aacca6f 6821 },
44660702
DM
6822 "trans" : {
6823 "description" : "Force disk geometry bios translation mode.",
6824 "enum" : [
6825 "none",
6826 "lba",
6827 "auto"
6828 ],
44660702
DM
6829 "optional" : 1,
6830 "type" : "string"
6831 },
6832 "volume" : {
6833 "alias" : "file"
6834 },
6835 "werror" : {
6836 "description" : "Write error action.",
6837 "enum" : [
6838 "enospc",
6839 "ignore",
6840 "report",
6841 "stop"
6842 ],
56122987 6843 "optional" : 1,
44660702 6844 "type" : "string"
56122987 6845 }
44660702 6846 },
7aacca6f 6847 "optional" : 1,
4bd7df8b 6848 "type" : "string",
013dc89f 6849 "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
6850 },
6851 "scsihw" : {
6852 "default" : "lsi",
c2993fe5 6853 "description" : "SCSI controller model",
7aacca6f 6854 "enum" : [
44660702
DM
6855 "lsi",
6856 "lsi53c810",
6857 "virtio-scsi-pci",
6858 "virtio-scsi-single",
6859 "megasas",
6860 "pvscsi"
7aacca6f 6861 ],
44660702
DM
6862 "optional" : 1,
6863 "type" : "string"
56122987 6864 },
44660702 6865 "serial[n]" : {
c2993fe5 6866 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 6867 "optional" : 1,
44660702 6868 "pattern" : "(/dev/.+|socket)",
c2993fe5 6869 "type" : "string",
57b78691 6870 "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 6871 },
44660702
DM
6872 "shares" : {
6873 "default" : 1000,
6874 "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",
6875 "maximum" : 50000,
6876 "minimum" : 0,
56122987 6877 "optional" : 1,
4bd7df8b 6878 "type" : "integer",
013dc89f 6879 "typetext" : "<integer> (0 - 50000)"
56122987 6880 },
44660702
DM
6881 "skiplock" : {
6882 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 6883 "optional" : 1,
013dc89f
DM
6884 "type" : "boolean",
6885 "typetext" : "<boolean>"
56122987 6886 },
44660702
DM
6887 "smbios1" : {
6888 "description" : "Specify SMBIOS type 1 fields.",
6889 "format" : "pve-qm-smbios1",
6890 "maxLength" : 256,
56122987 6891 "optional" : 1,
4bd7df8b
DM
6892 "type" : "string",
6893 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 6894 },
44660702
DM
6895 "smp" : {
6896 "default" : 1,
6897 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 6898 "minimum" : 1,
7aacca6f 6899 "optional" : 1,
4bd7df8b 6900 "type" : "integer",
013dc89f 6901 "typetext" : "<integer> (1 - N)"
7aacca6f 6902 },
44660702
DM
6903 "sockets" : {
6904 "default" : 1,
6905 "description" : "The number of CPU sockets.",
6906 "minimum" : 1,
7aacca6f 6907 "optional" : 1,
4bd7df8b 6908 "type" : "integer",
013dc89f 6909 "typetext" : "<integer> (1 - N)"
56122987 6910 },
44660702
DM
6911 "startdate" : {
6912 "default" : "now",
6913 "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 6914 "optional" : 1,
44660702 6915 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 6916 "type" : "string",
44660702 6917 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 6918 },
7aacca6f 6919 "startup" : {
7aacca6f 6920 "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 6921 "format" : "pve-startup-order",
56122987 6922 "optional" : 1,
44660702
DM
6923 "type" : "string",
6924 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 6925 },
44660702 6926 "tablet" : {
7aacca6f 6927 "default" : 1,
c2993fe5 6928 "description" : "Enable/disable the USB tablet device.",
7aacca6f 6929 "optional" : 1,
c2993fe5 6930 "type" : "boolean",
013dc89f 6931 "typetext" : "<boolean>",
c2993fe5 6932 "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 6933 },
44660702
DM
6934 "tdf" : {
6935 "default" : 0,
6936 "description" : "Enable/disable time drift fix.",
7aacca6f 6937 "optional" : 1,
013dc89f
DM
6938 "type" : "boolean",
6939 "typetext" : "<boolean>"
7aacca6f 6940 },
44660702
DM
6941 "template" : {
6942 "default" : 0,
6943 "description" : "Enable/disable Template.",
7aacca6f 6944 "optional" : 1,
013dc89f
DM
6945 "type" : "boolean",
6946 "typetext" : "<boolean>"
7aacca6f 6947 },
44660702 6948 "unused[n]" : {
c2993fe5 6949 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 6950 "format" : "pve-volume-id",
7aacca6f 6951 "optional" : 1,
013dc89f
DM
6952 "type" : "string",
6953 "typetext" : "<string>"
7aacca6f 6954 },
44660702 6955 "usb[n]" : {
c2993fe5 6956 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
6957 "format" : {
6958 "host" : {
6959 "default_key" : 1,
c2993fe5 6960 "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
6961 "format" : "pve-qm-usb-device",
6962 "format_description" : "HOSTUSBDEVICE|spice",
6963 "type" : "string"
6964 },
6965 "usb3" : {
c2993fe5
DM
6966 "default" : 0,
6967 "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
6968 "optional" : 1,
6969 "type" : "boolean"
6970 }
6971 },
7aacca6f 6972 "optional" : 1,
4bd7df8b
DM
6973 "type" : "string",
6974 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 6975 },
44660702
DM
6976 "vcpus" : {
6977 "default" : 0,
6978 "description" : "Number of hotplugged vcpus.",
6979 "minimum" : 1,
56122987 6980 "optional" : 1,
4bd7df8b 6981 "type" : "integer",
013dc89f 6982 "typetext" : "<integer> (1 - N)"
56122987 6983 },
44660702 6984 "vga" : {
c2993fe5 6985 "description" : "Select the VGA type.",
44660702
DM
6986 "enum" : [
6987 "std",
6988 "cirrus",
6989 "vmware",
6990 "qxl",
6991 "serial0",
6992 "serial1",
6993 "serial2",
6994 "serial3",
6995 "qxl2",
6996 "qxl3",
6997 "qxl4"
6998 ],
56122987 6999 "optional" : 1,
c2993fe5
DM
7000 "type" : "string",
7001 "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 7002 },
44660702
DM
7003 "virtio[n]" : {
7004 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 7005 "format" : {
44660702
DM
7006 "aio" : {
7007 "description" : "AIO type to use.",
56122987 7008 "enum" : [
44660702
DM
7009 "native",
7010 "threads"
56122987 7011 ],
56122987
DM
7012 "optional" : 1,
7013 "type" : "string"
7014 },
44660702
DM
7015 "backup" : {
7016 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7017 "optional" : 1,
7018 "type" : "boolean"
7aacca6f 7019 },
44660702 7020 "bps" : {
de0983cb 7021 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7022 "format_description" : "bps",
7023 "optional" : 1,
7024 "type" : "integer"
56122987 7025 },
de0983cb
DM
7026 "bps_max_length" : {
7027 "description" : "Maximum length of I/O bursts in seconds.",
7028 "format_description" : "seconds",
7029 "minimum" : 1,
7030 "optional" : 1,
7031 "type" : "integer"
7032 },
44660702 7033 "bps_rd" : {
de0983cb 7034 "description" : "Maximum read speed in bytes per second.",
44660702 7035 "format_description" : "bps",
56122987 7036 "optional" : 1,
44660702 7037 "type" : "integer"
56122987 7038 },
de0983cb
DM
7039 "bps_rd_length" : {
7040 "description" : "Maximum length of read I/O bursts in seconds.",
7041 "format_description" : "seconds",
7042 "minimum" : 1,
7043 "optional" : 1,
7044 "type" : "integer"
7045 },
44660702 7046 "bps_wr" : {
de0983cb 7047 "description" : "Maximum write speed in bytes per second.",
44660702 7048 "format_description" : "bps",
56122987 7049 "optional" : 1,
44660702
DM
7050 "type" : "integer"
7051 },
de0983cb
DM
7052 "bps_wr_length" : {
7053 "description" : "Maximum length of write I/O bursts in seconds.",
7054 "format_description" : "seconds",
7055 "minimum" : 1,
7056 "optional" : 1,
7057 "type" : "integer"
7058 },
44660702
DM
7059 "cache" : {
7060 "description" : "The drive's cache mode",
56122987 7061 "enum" : [
44660702
DM
7062 "none",
7063 "writethrough",
7064 "writeback",
7065 "unsafe",
7066 "directsync"
56122987 7067 ],
56122987 7068 "optional" : 1,
44660702 7069 "type" : "string"
56122987 7070 },
44660702
DM
7071 "cyls" : {
7072 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 7073 "optional" : 1,
44660702 7074 "type" : "integer"
7aacca6f 7075 },
44660702
DM
7076 "detect_zeroes" : {
7077 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7078 "optional" : 1,
7079 "type" : "boolean"
7aacca6f 7080 },
44660702
DM
7081 "discard" : {
7082 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7083 "enum" : [
7084 "ignore",
7085 "on"
7086 ],
56122987 7087 "optional" : 1,
44660702 7088 "type" : "string"
56122987
DM
7089 },
7090 "file" : {
7aacca6f 7091 "default_key" : 1,
44660702 7092 "description" : "The drive's backing volume.",
7aacca6f 7093 "format" : "pve-volume-id-or-qm-path",
44660702
DM
7094 "format_description" : "volume",
7095 "type" : "string"
7aacca6f
DM
7096 },
7097 "format" : {
7aacca6f
DM
7098 "description" : "The drive's backing file's data format.",
7099 "enum" : [
7100 "raw",
7101 "cow",
7102 "qcow",
7103 "qed",
7104 "qcow2",
7105 "vmdk",
7106 "cloop"
56122987
DM
7107 ],
7108 "optional" : 1,
56122987
DM
7109 "type" : "string"
7110 },
44660702
DM
7111 "heads" : {
7112 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7113 "optional" : 1,
44660702 7114 "type" : "integer"
56122987 7115 },
44660702 7116 "iops" : {
de0983cb 7117 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7118 "format_description" : "iops",
56122987 7119 "optional" : 1,
44660702 7120 "type" : "integer"
56122987 7121 },
44660702 7122 "iops_max" : {
de0983cb 7123 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7124 "format_description" : "iops",
56122987 7125 "optional" : 1,
56122987
DM
7126 "type" : "integer"
7127 },
de0983cb
DM
7128 "iops_max_length" : {
7129 "description" : "Maximum length of I/O bursts in seconds.",
7130 "format_description" : "seconds",
7131 "minimum" : 1,
7132 "optional" : 1,
7133 "type" : "integer"
7134 },
44660702 7135 "iops_rd" : {
de0983cb 7136 "description" : "Maximum read I/O in operations per second.",
44660702 7137 "format_description" : "iops",
56122987 7138 "optional" : 1,
44660702 7139 "type" : "integer"
56122987 7140 },
de0983cb
DM
7141 "iops_rd_length" : {
7142 "description" : "Maximum length of read I/O bursts in seconds.",
7143 "format_description" : "seconds",
7144 "minimum" : 1,
7145 "optional" : 1,
7146 "type" : "integer"
7147 },
44660702 7148 "iops_rd_max" : {
de0983cb 7149 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7150 "format_description" : "iops",
7aacca6f 7151 "optional" : 1,
44660702 7152 "type" : "integer"
56122987 7153 },
44660702 7154 "iops_wr" : {
de0983cb 7155 "description" : "Maximum write I/O in operations per second.",
44660702 7156 "format_description" : "iops",
7aacca6f 7157 "optional" : 1,
44660702 7158 "type" : "integer"
56122987 7159 },
de0983cb
DM
7160 "iops_wr_length" : {
7161 "description" : "Maximum length of write I/O bursts in seconds.",
7162 "format_description" : "seconds",
7163 "minimum" : 1,
7164 "optional" : 1,
7165 "type" : "integer"
7166 },
44660702 7167 "iops_wr_max" : {
de0983cb 7168 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7169 "format_description" : "iops",
56122987
DM
7170 "optional" : 1,
7171 "type" : "integer"
7172 },
44660702
DM
7173 "iothread" : {
7174 "description" : "Whether to use iothreads for this drive",
44660702
DM
7175 "optional" : 1,
7176 "type" : "boolean"
7177 },
7178 "mbps" : {
de0983cb 7179 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7180 "format_description" : "mbps",
44660702
DM
7181 "optional" : 1,
7182 "type" : "number"
7183 },
7184 "mbps_max" : {
de0983cb 7185 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7186 "format_description" : "mbps",
7187 "optional" : 1,
7188 "type" : "number"
7aacca6f 7189 },
44660702 7190 "mbps_rd" : {
de0983cb 7191 "description" : "Maximum read speed in megabytes per second.",
44660702 7192 "format_description" : "mbps",
56122987 7193 "optional" : 1,
44660702 7194 "type" : "number"
56122987 7195 },
44660702 7196 "mbps_rd_max" : {
de0983cb 7197 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 7198 "format_description" : "mbps",
7aacca6f 7199 "optional" : 1,
44660702 7200 "type" : "number"
56122987 7201 },
44660702 7202 "mbps_wr" : {
de0983cb 7203 "description" : "Maximum write speed in megabytes per second.",
44660702 7204 "format_description" : "mbps",
56122987 7205 "optional" : 1,
44660702 7206 "type" : "number"
56122987 7207 },
44660702 7208 "mbps_wr_max" : {
de0983cb 7209 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7210 "format_description" : "mbps",
56122987 7211 "optional" : 1,
44660702 7212 "type" : "number"
56122987
DM
7213 },
7214 "media" : {
7aacca6f 7215 "default" : "disk",
44660702 7216 "description" : "The drive's media type.",
56122987
DM
7217 "enum" : [
7218 "cdrom",
7219 "disk"
7220 ],
44660702
DM
7221 "optional" : 1,
7222 "type" : "string"
56122987 7223 },
7aacca6f 7224 "rerror" : {
44660702 7225 "description" : "Read error action.",
56122987 7226 "enum" : [
7aacca6f
DM
7227 "ignore",
7228 "report",
7229 "stop"
56122987 7230 ],
56122987 7231 "optional" : 1,
44660702 7232 "type" : "string"
56122987 7233 },
44660702
DM
7234 "secs" : {
7235 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7236 "optional" : 1,
7237 "type" : "integer"
7238 },
7239 "serial" : {
7240 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7241 "format" : "urlencoded",
7242 "format_description" : "serial",
7243 "maxLength" : 60,
56122987 7244 "optional" : 1,
7aacca6f 7245 "type" : "string"
56122987 7246 },
44660702
DM
7247 "size" : {
7248 "description" : "Disk size. This is purely informational and has no effect.",
7249 "format" : "disk-size",
f004f5b9 7250 "format_description" : "DiskSize",
56122987 7251 "optional" : 1,
44660702 7252 "type" : "string"
56122987 7253 },
44660702
DM
7254 "snapshot" : {
7255 "description" : "Whether the drive should be included when making snapshots.",
56122987 7256 "optional" : 1,
44660702 7257 "type" : "boolean"
56122987 7258 },
44660702
DM
7259 "trans" : {
7260 "description" : "Force disk geometry bios translation mode.",
7261 "enum" : [
7262 "none",
7263 "lba",
7264 "auto"
7265 ],
44660702
DM
7266 "optional" : 1,
7267 "type" : "string"
7268 },
7269 "volume" : {
7270 "alias" : "file"
7271 },
7272 "werror" : {
7273 "description" : "Write error action.",
7274 "enum" : [
7275 "enospc",
7276 "ignore",
7277 "report",
7278 "stop"
7279 ],
56122987 7280 "optional" : 1,
44660702 7281 "type" : "string"
56122987 7282 }
44660702 7283 },
56122987 7284 "optional" : 1,
4bd7df8b 7285 "type" : "string",
013dc89f 7286 "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 7287 },
7aacca6f
DM
7288 "vmid" : {
7289 "description" : "The (unique) ID of the VM.",
7aacca6f 7290 "format" : "pve-vmid",
44660702 7291 "minimum" : 1,
4bd7df8b 7292 "type" : "integer",
013dc89f 7293 "typetext" : "<integer> (1 - N)"
56122987 7294 },
44660702 7295 "watchdog" : {
c2993fe5 7296 "description" : "Create a virtual hardware watchdog device.",
44660702 7297 "format" : "pve-qm-watchdog",
56122987 7298 "optional" : 1,
c2993fe5 7299 "type" : "string",
013dc89f 7300 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 7301 "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 7302 }
44660702 7303 }
56122987 7304 },
7aacca6f
DM
7305 "permissions" : {
7306 "check" : [
7307 "perm",
7308 "/vms/{vmid}",
7309 [
44660702
DM
7310 "VM.Config.Disk",
7311 "VM.Config.CDROM",
7312 "VM.Config.CPU",
7313 "VM.Config.Memory",
7314 "VM.Config.Network",
7315 "VM.Config.HWType",
7316 "VM.Config.Options"
7317 ],
7318 "any",
7319 1
7aacca6f 7320 ]
56122987 7321 },
44660702 7322 "protected" : 1,
7aacca6f 7323 "proxyto" : "node",
44660702
DM
7324 "returns" : {
7325 "optional" : 1,
7326 "type" : "string"
7327 }
56122987 7328 },
7aacca6f 7329 "PUT" : {
44660702
DM
7330 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7331 "method" : "PUT",
7332 "name" : "update_vm",
56122987 7333 "parameters" : {
7aacca6f 7334 "additionalProperties" : 0,
56122987 7335 "properties" : {
44660702
DM
7336 "acpi" : {
7337 "default" : 1,
7338 "description" : "Enable/disable ACPI.",
7aacca6f 7339 "optional" : 1,
013dc89f
DM
7340 "type" : "boolean",
7341 "typetext" : "<boolean>"
7aacca6f 7342 },
44660702
DM
7343 "agent" : {
7344 "default" : 0,
7345 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7346 "optional" : 1,
013dc89f
DM
7347 "type" : "boolean",
7348 "typetext" : "<boolean>"
56122987 7349 },
44660702 7350 "args" : {
c2993fe5 7351 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7352 "optional" : 1,
c2993fe5 7353 "type" : "string",
013dc89f 7354 "typetext" : "<string>",
c2993fe5 7355 "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 7356 },
44660702
DM
7357 "autostart" : {
7358 "default" : 0,
7359 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 7360 "optional" : 1,
013dc89f
DM
7361 "type" : "boolean",
7362 "typetext" : "<boolean>"
7aacca6f 7363 },
44660702
DM
7364 "balloon" : {
7365 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7366 "minimum" : 0,
7367 "optional" : 1,
4bd7df8b 7368 "type" : "integer",
013dc89f 7369 "typetext" : "<integer> (0 - N)"
44660702
DM
7370 },
7371 "bios" : {
7372 "default" : "seabios",
7373 "description" : "Select BIOS implementation.",
7aacca6f 7374 "enum" : [
44660702
DM
7375 "seabios",
7376 "ovmf"
7aacca6f 7377 ],
56122987 7378 "optional" : 1,
7aacca6f
DM
7379 "type" : "string"
7380 },
44660702
DM
7381 "boot" : {
7382 "default" : "cdn",
7383 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7384 "optional" : 1,
44660702
DM
7385 "pattern" : "[acdn]{1,4}",
7386 "type" : "string"
56122987 7387 },
44660702
DM
7388 "bootdisk" : {
7389 "description" : "Enable booting from specified disk.",
7390 "format" : "pve-qm-bootdisk",
7391 "optional" : 1,
7392 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7393 "type" : "string"
7394 },
7395 "cdrom" : {
7396 "description" : "This is an alias for option -ide2",
de0983cb 7397 "format" : "pve-qm-ide",
56122987 7398 "optional" : 1,
7aacca6f 7399 "type" : "string",
013dc89f 7400 "typetext" : "<volume>"
44660702
DM
7401 },
7402 "cores" : {
7403 "default" : 1,
7404 "description" : "The number of cores per socket.",
7405 "minimum" : 1,
7406 "optional" : 1,
4bd7df8b 7407 "type" : "integer",
013dc89f 7408 "typetext" : "<integer> (1 - N)"
44660702
DM
7409 },
7410 "cpu" : {
7411 "description" : "Emulated CPU type.",
7412 "format" : {
7413 "cputype" : {
7414 "default" : "kvm64",
7415 "default_key" : 1,
7416 "description" : "Emulated CPU type.",
7417 "enum" : [
7418 "486",
7419 "athlon",
f004f5b9
DM
7420 "Broadwell",
7421 "Broadwell-noTSX",
7422 "Conroe",
44660702 7423 "core2duo",
f004f5b9
DM
7424 "coreduo",
7425 "Haswell",
7426 "Haswell-noTSX",
7427 "host",
7428 "IvyBridge",
44660702
DM
7429 "kvm32",
7430 "kvm64",
44660702 7431 "Nehalem",
44660702
DM
7432 "Opteron_G1",
7433 "Opteron_G2",
7434 "Opteron_G3",
7435 "Opteron_G4",
7436 "Opteron_G5",
f004f5b9
DM
7437 "Penryn",
7438 "pentium",
7439 "pentium2",
7440 "pentium3",
7441 "phenom",
7442 "qemu32",
7443 "qemu64",
7444 "SandyBridge",
7445 "Westmere"
44660702 7446 ],
44660702
DM
7447 "type" : "string"
7448 },
7449 "hidden" : {
7450 "default" : 0,
7451 "description" : "Do not identify as a KVM virtual machine.",
7452 "optional" : 1,
7453 "type" : "boolean"
7454 }
7455 },
7456 "optional" : 1,
4bd7df8b 7457 "type" : "string",
013dc89f 7458 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
7459 },
7460 "cpulimit" : {
7461 "default" : 0,
c2993fe5 7462 "description" : "Limit of CPU usage.",
44660702
DM
7463 "maximum" : 128,
7464 "minimum" : 0,
7465 "optional" : 1,
c2993fe5 7466 "type" : "number",
013dc89f 7467 "typetext" : "<number> (0 - 128)",
c2993fe5 7468 "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
7469 },
7470 "cpuunits" : {
de0983cb 7471 "default" : 1024,
c2993fe5 7472 "description" : "CPU weight for a VM.",
44660702
DM
7473 "maximum" : 500000,
7474 "minimum" : 0,
7475 "optional" : 1,
c2993fe5 7476 "type" : "integer",
013dc89f 7477 "typetext" : "<integer> (0 - 500000)",
c2993fe5 7478 "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
7479 },
7480 "delete" : {
7481 "description" : "A list of settings you want to delete.",
7482 "format" : "pve-configid-list",
7483 "optional" : 1,
013dc89f
DM
7484 "type" : "string",
7485 "typetext" : "<string>"
44660702
DM
7486 },
7487 "description" : {
7488 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7489 "optional" : 1,
013dc89f
DM
7490 "type" : "string",
7491 "typetext" : "<string>"
44660702
DM
7492 },
7493 "digest" : {
7494 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7495 "maxLength" : 40,
7496 "optional" : 1,
013dc89f
DM
7497 "type" : "string",
7498 "typetext" : "<string>"
44660702
DM
7499 },
7500 "force" : {
7501 "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.",
7502 "optional" : 1,
7503 "requires" : "delete",
013dc89f
DM
7504 "type" : "boolean",
7505 "typetext" : "<boolean>"
44660702
DM
7506 },
7507 "freeze" : {
7508 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7509 "optional" : 1,
013dc89f
DM
7510 "type" : "boolean",
7511 "typetext" : "<boolean>"
44660702
DM
7512 },
7513 "hostpci[n]" : {
c2993fe5 7514 "description" : "Map host PCI devices into guest.",
44660702
DM
7515 "format" : "pve-qm-hostpci",
7516 "optional" : 1,
57b78691 7517 "type" : "string",
4bd7df8b 7518 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 7519 "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 7520 },
7aacca6f 7521 "hotplug" : {
7aacca6f 7522 "default" : "network,disk,usb",
44660702
DM
7523 "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'.",
7524 "format" : "pve-hotplug-features",
56122987 7525 "optional" : 1,
013dc89f
DM
7526 "type" : "string",
7527 "typetext" : "<string>"
56122987 7528 },
4bd7df8b
DM
7529 "hugepages" : {
7530 "description" : "Enable/disable hugepages memory.",
7531 "enum" : [
7532 "any",
7533 "2",
7534 "1024"
7535 ],
7536 "optional" : 1,
7537 "type" : "string"
7538 },
56122987 7539 "ide[n]" : {
7aacca6f 7540 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7541 "format" : {
44660702
DM
7542 "aio" : {
7543 "description" : "AIO type to use.",
7544 "enum" : [
7545 "native",
7546 "threads"
7547 ],
56122987 7548 "optional" : 1,
44660702 7549 "type" : "string"
56122987 7550 },
44660702
DM
7551 "backup" : {
7552 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7553 "optional" : 1,
7554 "type" : "boolean"
7555 },
7556 "bps" : {
de0983cb 7557 "description" : "Maximum r/w speed in bytes per second.",
44660702 7558 "format_description" : "bps",
56122987 7559 "optional" : 1,
44660702 7560 "type" : "integer"
56122987 7561 },
de0983cb
DM
7562 "bps_max_length" : {
7563 "description" : "Maximum length of I/O bursts in seconds.",
7564 "format_description" : "seconds",
7565 "minimum" : 1,
7566 "optional" : 1,
7567 "type" : "integer"
7568 },
44660702 7569 "bps_rd" : {
de0983cb 7570 "description" : "Maximum read speed in bytes per second.",
44660702 7571 "format_description" : "bps",
56122987 7572 "optional" : 1,
44660702 7573 "type" : "integer"
56122987 7574 },
de0983cb
DM
7575 "bps_rd_length" : {
7576 "description" : "Maximum length of read I/O bursts in seconds.",
7577 "format_description" : "seconds",
7578 "minimum" : 1,
7579 "optional" : 1,
7580 "type" : "integer"
7581 },
7aacca6f 7582 "bps_wr" : {
de0983cb 7583 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7584 "format_description" : "bps",
7585 "optional" : 1,
7586 "type" : "integer"
7aacca6f 7587 },
de0983cb
DM
7588 "bps_wr_length" : {
7589 "description" : "Maximum length of write I/O bursts in seconds.",
7590 "format_description" : "seconds",
7591 "minimum" : 1,
7592 "optional" : 1,
7593 "type" : "integer"
7594 },
44660702
DM
7595 "cache" : {
7596 "description" : "The drive's cache mode",
7597 "enum" : [
7598 "none",
7599 "writethrough",
7600 "writeback",
7601 "unsafe",
7602 "directsync"
7603 ],
56122987 7604 "optional" : 1,
44660702
DM
7605 "type" : "string"
7606 },
7607 "cyls" : {
7608 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
7609 "optional" : 1,
7610 "type" : "integer"
7611 },
7612 "detect_zeroes" : {
7613 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7614 "optional" : 1,
7615 "type" : "boolean"
56122987 7616 },
7aacca6f 7617 "discard" : {
7aacca6f 7618 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 7619 "enum" : [
7aacca6f
DM
7620 "ignore",
7621 "on"
56122987
DM
7622 ],
7623 "optional" : 1,
44660702 7624 "type" : "string"
7aacca6f 7625 },
44660702
DM
7626 "file" : {
7627 "default_key" : 1,
7628 "description" : "The drive's backing volume.",
7629 "format" : "pve-volume-id-or-qm-path",
7630 "format_description" : "volume",
7631 "type" : "string"
7aacca6f
DM
7632 },
7633 "format" : {
44660702 7634 "description" : "The drive's backing file's data format.",
7aacca6f
DM
7635 "enum" : [
7636 "raw",
7637 "cow",
7638 "qcow",
7639 "qed",
7640 "qcow2",
7641 "vmdk",
7642 "cloop"
7643 ],
7aacca6f 7644 "optional" : 1,
44660702 7645 "type" : "string"
56122987 7646 },
7aacca6f 7647 "heads" : {
44660702 7648 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7649 "optional" : 1,
44660702 7650 "type" : "integer"
7aacca6f 7651 },
44660702 7652 "iops" : {
de0983cb 7653 "description" : "Maximum r/w I/O in operations per second.",
44660702 7654 "format_description" : "iops",
7aacca6f 7655 "optional" : 1,
44660702 7656 "type" : "integer"
56122987 7657 },
44660702 7658 "iops_max" : {
de0983cb 7659 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7660 "format_description" : "iops",
56122987 7661 "optional" : 1,
44660702 7662 "type" : "integer"
56122987 7663 },
de0983cb
DM
7664 "iops_max_length" : {
7665 "description" : "Maximum length of I/O bursts in seconds.",
7666 "format_description" : "seconds",
7667 "minimum" : 1,
7668 "optional" : 1,
7669 "type" : "integer"
7670 },
44660702 7671 "iops_rd" : {
de0983cb 7672 "description" : "Maximum read I/O in operations per second.",
44660702 7673 "format_description" : "iops",
56122987 7674 "optional" : 1,
44660702 7675 "type" : "integer"
7aacca6f 7676 },
de0983cb
DM
7677 "iops_rd_length" : {
7678 "description" : "Maximum length of read I/O bursts in seconds.",
7679 "format_description" : "seconds",
7680 "minimum" : 1,
7681 "optional" : 1,
7682 "type" : "integer"
7683 },
44660702 7684 "iops_rd_max" : {
de0983cb 7685 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7686 "format_description" : "iops",
7aacca6f 7687 "optional" : 1,
44660702 7688 "type" : "integer"
7aacca6f 7689 },
44660702 7690 "iops_wr" : {
de0983cb 7691 "description" : "Maximum write I/O in operations per second.",
44660702 7692 "format_description" : "iops",
7aacca6f 7693 "optional" : 1,
44660702 7694 "type" : "integer"
56122987 7695 },
de0983cb
DM
7696 "iops_wr_length" : {
7697 "description" : "Maximum length of write I/O bursts in seconds.",
7698 "format_description" : "seconds",
7699 "minimum" : 1,
7700 "optional" : 1,
7701 "type" : "integer"
7702 },
44660702 7703 "iops_wr_max" : {
de0983cb 7704 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7705 "format_description" : "iops",
7aacca6f 7706 "optional" : 1,
44660702 7707 "type" : "integer"
7aacca6f
DM
7708 },
7709 "mbps" : {
de0983cb 7710 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7711 "format_description" : "mbps",
7aacca6f 7712 "optional" : 1,
44660702 7713 "type" : "number"
7aacca6f 7714 },
44660702 7715 "mbps_max" : {
de0983cb 7716 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 7717 "format_description" : "mbps",
7aacca6f 7718 "optional" : 1,
44660702 7719 "type" : "number"
7aacca6f 7720 },
44660702 7721 "mbps_rd" : {
de0983cb 7722 "description" : "Maximum read speed in megabytes per second.",
44660702 7723 "format_description" : "mbps",
7aacca6f 7724 "optional" : 1,
44660702 7725 "type" : "number"
7aacca6f 7726 },
44660702 7727 "mbps_rd_max" : {
de0983cb 7728 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7729 "format_description" : "mbps",
7730 "optional" : 1,
7731 "type" : "number"
7aacca6f 7732 },
44660702 7733 "mbps_wr" : {
de0983cb 7734 "description" : "Maximum write speed in megabytes per second.",
44660702 7735 "format_description" : "mbps",
7aacca6f 7736 "optional" : 1,
44660702
DM
7737 "type" : "number"
7738 },
7739 "mbps_wr_max" : {
de0983cb 7740 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7741 "format_description" : "mbps",
7742 "optional" : 1,
7743 "type" : "number"
7744 },
7745 "media" : {
7746 "default" : "disk",
7747 "description" : "The drive's media type.",
56122987 7748 "enum" : [
44660702
DM
7749 "cdrom",
7750 "disk"
56122987 7751 ],
44660702
DM
7752 "optional" : 1,
7753 "type" : "string"
56122987 7754 },
7aacca6f 7755 "model" : {
44660702 7756 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 7757 "format" : "urlencoded",
7aacca6f 7758 "format_description" : "model",
44660702 7759 "maxLength" : 120,
56122987 7760 "optional" : 1,
44660702 7761 "type" : "string"
56122987 7762 },
44660702
DM
7763 "rerror" : {
7764 "description" : "Read error action.",
7765 "enum" : [
7766 "ignore",
7767 "report",
7768 "stop"
7769 ],
56122987 7770 "optional" : 1,
44660702 7771 "type" : "string"
56122987 7772 },
44660702
DM
7773 "secs" : {
7774 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7775 "optional" : 1,
7776 "type" : "integer"
56122987 7777 },
44660702
DM
7778 "serial" : {
7779 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7780 "format" : "urlencoded",
7781 "format_description" : "serial",
7782 "maxLength" : 60,
56122987 7783 "optional" : 1,
44660702 7784 "type" : "string"
56122987 7785 },
44660702
DM
7786 "size" : {
7787 "description" : "Disk size. This is purely informational and has no effect.",
7788 "format" : "disk-size",
f004f5b9 7789 "format_description" : "DiskSize",
56122987 7790 "optional" : 1,
44660702 7791 "type" : "string"
56122987 7792 },
44660702
DM
7793 "snapshot" : {
7794 "description" : "Whether the drive should be included when making snapshots.",
56122987 7795 "optional" : 1,
44660702 7796 "type" : "boolean"
56122987 7797 },
44660702
DM
7798 "trans" : {
7799 "description" : "Force disk geometry bios translation mode.",
7800 "enum" : [
7801 "none",
7802 "lba",
7803 "auto"
7804 ],
56122987 7805 "optional" : 1,
44660702
DM
7806 "type" : "string"
7807 },
7808 "volume" : {
7809 "alias" : "file"
56122987 7810 },
7aacca6f 7811 "werror" : {
44660702 7812 "description" : "Write error action.",
7aacca6f
DM
7813 "enum" : [
7814 "enospc",
7815 "ignore",
7816 "report",
7817 "stop"
7818 ],
56122987 7819 "optional" : 1,
44660702 7820 "type" : "string"
7aacca6f 7821 }
44660702
DM
7822 },
7823 "optional" : 1,
4bd7df8b 7824 "type" : "string",
013dc89f 7825 "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 7826 },
44660702
DM
7827 "keyboard" : {
7828 "default" : "en-us",
c2993fe5 7829 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
7830 "enum" : [
7831 "de",
7832 "de-ch",
7833 "da",
7834 "en-gb",
7835 "en-us",
7836 "es",
7837 "fi",
7838 "fr",
7839 "fr-be",
7840 "fr-ca",
7841 "fr-ch",
7842 "hu",
7843 "is",
7844 "it",
7845 "ja",
7846 "lt",
7847 "mk",
7848 "nl",
7849 "no",
7850 "pl",
7851 "pt",
7852 "pt-br",
7853 "sv",
7854 "sl",
7855 "tr"
7856 ],
7aacca6f 7857 "optional" : 1,
44660702 7858 "type" : "string"
7aacca6f 7859 },
44660702 7860 "kvm" : {
7aacca6f 7861 "default" : 1,
44660702 7862 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 7863 "optional" : 1,
013dc89f
DM
7864 "type" : "boolean",
7865 "typetext" : "<boolean>"
7aacca6f 7866 },
44660702
DM
7867 "localtime" : {
7868 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 7869 "optional" : 1,
013dc89f
DM
7870 "type" : "boolean",
7871 "typetext" : "<boolean>"
7aacca6f 7872 },
44660702
DM
7873 "lock" : {
7874 "description" : "Lock/unlock the VM.",
7875 "enum" : [
7876 "migrate",
7877 "backup",
7878 "snapshot",
7879 "rollback"
7880 ],
7aacca6f 7881 "optional" : 1,
44660702 7882 "type" : "string"
7aacca6f 7883 },
44660702
DM
7884 "machine" : {
7885 "description" : "Specific the Qemu machine type.",
7886 "maxLength" : 40,
7aacca6f 7887 "optional" : 1,
44660702
DM
7888 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
7889 "type" : "string"
7aacca6f 7890 },
44660702
DM
7891 "memory" : {
7892 "default" : 512,
7893 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
7894 "minimum" : 16,
7aacca6f 7895 "optional" : 1,
4bd7df8b 7896 "type" : "integer",
013dc89f 7897 "typetext" : "<integer> (16 - N)"
7aacca6f 7898 },
44660702
DM
7899 "migrate_downtime" : {
7900 "default" : 0.1,
7901 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
7902 "minimum" : 0,
7aacca6f 7903 "optional" : 1,
4bd7df8b 7904 "type" : "number",
013dc89f 7905 "typetext" : "<number> (0 - N)"
7aacca6f 7906 },
44660702 7907 "migrate_speed" : {
7aacca6f 7908 "default" : 0,
44660702
DM
7909 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
7910 "minimum" : 0,
7911 "optional" : 1,
4bd7df8b 7912 "type" : "integer",
013dc89f 7913 "typetext" : "<integer> (0 - N)"
7aacca6f 7914 },
44660702
DM
7915 "name" : {
7916 "description" : "Set a name for the VM. Only used on the configuration web interface.",
7917 "format" : "dns-name",
7aacca6f 7918 "optional" : 1,
013dc89f
DM
7919 "type" : "string",
7920 "typetext" : "<string>"
7aacca6f 7921 },
44660702 7922 "net[n]" : {
c2993fe5 7923 "description" : "Specify network devices.",
f004f5b9
DM
7924 "format" : {
7925 "bridge" : {
c2993fe5 7926 "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
7927 "format_description" : "bridge",
7928 "optional" : 1,
7929 "type" : "string"
7930 },
7931 "e1000" : {
7932 "alias" : "macaddr",
7933 "keyAlias" : "model"
7934 },
7935 "e1000-82540em" : {
7936 "alias" : "macaddr",
7937 "keyAlias" : "model"
7938 },
7939 "e1000-82544gc" : {
7940 "alias" : "macaddr",
7941 "keyAlias" : "model"
7942 },
7943 "e1000-82545em" : {
7944 "alias" : "macaddr",
7945 "keyAlias" : "model"
7946 },
7947 "firewall" : {
7948 "description" : "Whether this interface should be protected by the firewall.",
7949 "optional" : 1,
7950 "type" : "boolean"
7951 },
7952 "i82551" : {
7953 "alias" : "macaddr",
7954 "keyAlias" : "model"
7955 },
7956 "i82557b" : {
7957 "alias" : "macaddr",
7958 "keyAlias" : "model"
7959 },
7960 "i82559er" : {
7961 "alias" : "macaddr",
7962 "keyAlias" : "model"
7963 },
7964 "link_down" : {
c2993fe5 7965 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
7966 "optional" : 1,
7967 "type" : "boolean"
7968 },
7969 "macaddr" : {
c2993fe5 7970 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 7971 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
7972 "optional" : 1,
7973 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
7974 "type" : "string"
7975 },
7976 "model" : {
7977 "default_key" : 1,
c2993fe5 7978 "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
7979 "enum" : [
7980 "rtl8139",
7981 "ne2k_pci",
7982 "e1000",
7983 "pcnet",
7984 "virtio",
7985 "ne2k_isa",
7986 "i82551",
7987 "i82557b",
7988 "i82559er",
7989 "vmxnet3",
7990 "e1000-82540em",
7991 "e1000-82544gc",
7992 "e1000-82545em"
7993 ],
f004f5b9
DM
7994 "type" : "string"
7995 },
7996 "ne2k_isa" : {
7997 "alias" : "macaddr",
7998 "keyAlias" : "model"
7999 },
8000 "ne2k_pci" : {
8001 "alias" : "macaddr",
8002 "keyAlias" : "model"
8003 },
8004 "pcnet" : {
8005 "alias" : "macaddr",
8006 "keyAlias" : "model"
8007 },
8008 "queues" : {
8009 "description" : "Number of packet queues to be used on the device.",
8010 "maximum" : 16,
8011 "minimum" : 0,
8012 "optional" : 1,
8013 "type" : "integer"
8014 },
8015 "rate" : {
c2993fe5 8016 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8017 "minimum" : 0,
8018 "optional" : 1,
8019 "type" : "number"
8020 },
8021 "rtl8139" : {
8022 "alias" : "macaddr",
8023 "keyAlias" : "model"
8024 },
8025 "tag" : {
8026 "description" : "VLAN tag to apply to packets on this interface.",
8027 "maximum" : 4094,
c2993fe5 8028 "minimum" : 1,
f004f5b9
DM
8029 "optional" : 1,
8030 "type" : "integer"
8031 },
8032 "trunks" : {
8033 "description" : "VLAN trunks to pass through this interface.",
8034 "format_description" : "vlanid[;vlanid...]",
8035 "optional" : 1,
8036 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8037 "type" : "string"
8038 },
8039 "virtio" : {
8040 "alias" : "macaddr",
8041 "keyAlias" : "model"
8042 },
8043 "vmxnet3" : {
8044 "alias" : "macaddr",
8045 "keyAlias" : "model"
8046 }
8047 },
7aacca6f 8048 "optional" : 1,
4bd7df8b 8049 "type" : "string",
013dc89f 8050 "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 8051 },
44660702
DM
8052 "node" : {
8053 "description" : "The cluster node name.",
8054 "format" : "pve-node",
013dc89f
DM
8055 "type" : "string",
8056 "typetext" : "<string>"
44660702
DM
8057 },
8058 "numa" : {
8059 "default" : 0,
8060 "description" : "Enable/disable NUMA.",
7aacca6f 8061 "optional" : 1,
013dc89f
DM
8062 "type" : "boolean",
8063 "typetext" : "<boolean>"
7aacca6f 8064 },
44660702 8065 "numa[n]" : {
c2993fe5 8066 "description" : "NUMA topology.",
44660702
DM
8067 "format" : {
8068 "cpus" : {
c2993fe5 8069 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8070 "format_description" : "id[-id];...",
8071 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8072 "type" : "string"
8073 },
8074 "hostnodes" : {
c2993fe5 8075 "description" : "Host NUMA nodes to use.",
44660702
DM
8076 "format_description" : "id[-id];...",
8077 "optional" : 1,
8078 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8079 "type" : "string"
8080 },
8081 "memory" : {
c2993fe5 8082 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
8083 "optional" : 1,
8084 "type" : "number"
8085 },
8086 "policy" : {
c2993fe5 8087 "description" : "NUMA allocation policy.",
44660702
DM
8088 "enum" : [
8089 "preferred",
8090 "bind",
8091 "interleave"
8092 ],
44660702
DM
8093 "optional" : 1,
8094 "type" : "string"
8095 }
8096 },
7aacca6f 8097 "optional" : 1,
4bd7df8b
DM
8098 "type" : "string",
8099 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 8100 },
44660702
DM
8101 "onboot" : {
8102 "default" : 0,
8103 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 8104 "optional" : 1,
013dc89f
DM
8105 "type" : "boolean",
8106 "typetext" : "<boolean>"
7aacca6f 8107 },
44660702 8108 "ostype" : {
c2993fe5 8109 "description" : "Specify guest operating system.",
44660702
DM
8110 "enum" : [
8111 "other",
8112 "wxp",
8113 "w2k",
8114 "w2k3",
8115 "w2k8",
8116 "wvista",
8117 "win7",
8118 "win8",
32d876b5 8119 "win10",
44660702
DM
8120 "l24",
8121 "l26",
8122 "solaris"
8123 ],
7aacca6f 8124 "optional" : 1,
c2993fe5
DM
8125 "type" : "string",
8126 "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 8127 },
44660702 8128 "parallel[n]" : {
c2993fe5 8129 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8130 "optional" : 1,
44660702 8131 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8132 "type" : "string",
8133 "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 8134 },
44660702
DM
8135 "protection" : {
8136 "default" : 0,
c2993fe5 8137 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8138 "optional" : 1,
013dc89f
DM
8139 "type" : "boolean",
8140 "typetext" : "<boolean>"
7aacca6f 8141 },
44660702
DM
8142 "reboot" : {
8143 "default" : 1,
8144 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8145 "optional" : 1,
013dc89f
DM
8146 "type" : "boolean",
8147 "typetext" : "<boolean>"
7aacca6f 8148 },
44660702
DM
8149 "revert" : {
8150 "description" : "Revert a pending change.",
8151 "format" : "pve-configid-list",
7aacca6f 8152 "optional" : 1,
013dc89f
DM
8153 "type" : "string",
8154 "typetext" : "<string>"
7aacca6f 8155 },
44660702
DM
8156 "sata[n]" : {
8157 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 8158 "format" : {
44660702
DM
8159 "aio" : {
8160 "description" : "AIO type to use.",
8161 "enum" : [
8162 "native",
8163 "threads"
8164 ],
44660702
DM
8165 "optional" : 1,
8166 "type" : "string"
8167 },
8168 "backup" : {
8169 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8170 "optional" : 1,
8171 "type" : "boolean"
8172 },
8173 "bps" : {
de0983cb 8174 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 8175 "format_description" : "bps",
7aacca6f
DM
8176 "optional" : 1,
8177 "type" : "integer"
56122987 8178 },
de0983cb
DM
8179 "bps_max_length" : {
8180 "description" : "Maximum length of I/O bursts in seconds.",
8181 "format_description" : "seconds",
8182 "minimum" : 1,
8183 "optional" : 1,
8184 "type" : "integer"
8185 },
44660702 8186 "bps_rd" : {
de0983cb 8187 "description" : "Maximum read speed in bytes per second.",
44660702 8188 "format_description" : "bps",
7aacca6f 8189 "optional" : 1,
44660702 8190 "type" : "integer"
7aacca6f 8191 },
de0983cb
DM
8192 "bps_rd_length" : {
8193 "description" : "Maximum length of read I/O bursts in seconds.",
8194 "format_description" : "seconds",
8195 "minimum" : 1,
8196 "optional" : 1,
8197 "type" : "integer"
8198 },
44660702 8199 "bps_wr" : {
de0983cb 8200 "description" : "Maximum write speed in bytes per second.",
44660702 8201 "format_description" : "bps",
7aacca6f 8202 "optional" : 1,
44660702 8203 "type" : "integer"
7aacca6f 8204 },
de0983cb
DM
8205 "bps_wr_length" : {
8206 "description" : "Maximum length of write I/O bursts in seconds.",
8207 "format_description" : "seconds",
8208 "minimum" : 1,
8209 "optional" : 1,
8210 "type" : "integer"
8211 },
44660702
DM
8212 "cache" : {
8213 "description" : "The drive's cache mode",
8214 "enum" : [
8215 "none",
8216 "writethrough",
8217 "writeback",
8218 "unsafe",
8219 "directsync"
8220 ],
7aacca6f 8221 "optional" : 1,
44660702 8222 "type" : "string"
7aacca6f 8223 },
44660702
DM
8224 "cyls" : {
8225 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8226 "optional" : 1,
44660702 8227 "type" : "integer"
7aacca6f 8228 },
44660702
DM
8229 "detect_zeroes" : {
8230 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 8231 "optional" : 1,
44660702 8232 "type" : "boolean"
7aacca6f 8233 },
44660702
DM
8234 "discard" : {
8235 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8236 "enum" : [
8237 "ignore",
8238 "on"
8239 ],
7aacca6f 8240 "optional" : 1,
44660702
DM
8241 "type" : "string"
8242 },
8243 "file" : {
8244 "default_key" : 1,
8245 "description" : "The drive's backing volume.",
8246 "format" : "pve-volume-id-or-qm-path",
8247 "format_description" : "volume",
8248 "type" : "string"
7aacca6f
DM
8249 },
8250 "format" : {
7aacca6f 8251 "description" : "The drive's backing file's data format.",
56122987
DM
8252 "enum" : [
8253 "raw",
8254 "cow",
8255 "qcow",
8256 "qed",
8257 "qcow2",
8258 "vmdk",
8259 "cloop"
8260 ],
8261 "optional" : 1,
7aacca6f 8262 "type" : "string"
56122987 8263 },
7aacca6f 8264 "heads" : {
7aacca6f 8265 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8266 "optional" : 1,
8267 "type" : "integer"
56122987 8268 },
44660702 8269 "iops" : {
de0983cb 8270 "description" : "Maximum r/w I/O in operations per second.",
44660702 8271 "format_description" : "iops",
56122987 8272 "optional" : 1,
44660702 8273 "type" : "integer"
7aacca6f 8274 },
44660702 8275 "iops_max" : {
de0983cb 8276 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8277 "format_description" : "iops",
7aacca6f 8278 "optional" : 1,
44660702 8279 "type" : "integer"
56122987 8280 },
de0983cb
DM
8281 "iops_max_length" : {
8282 "description" : "Maximum length of I/O bursts in seconds.",
8283 "format_description" : "seconds",
8284 "minimum" : 1,
8285 "optional" : 1,
8286 "type" : "integer"
8287 },
44660702 8288 "iops_rd" : {
de0983cb 8289 "description" : "Maximum read I/O in operations per second.",
44660702 8290 "format_description" : "iops",
56122987 8291 "optional" : 1,
44660702 8292 "type" : "integer"
7aacca6f 8293 },
de0983cb
DM
8294 "iops_rd_length" : {
8295 "description" : "Maximum length of read I/O bursts in seconds.",
8296 "format_description" : "seconds",
8297 "minimum" : 1,
8298 "optional" : 1,
8299 "type" : "integer"
8300 },
44660702 8301 "iops_rd_max" : {
de0983cb 8302 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8303 "format_description" : "iops",
56122987 8304 "optional" : 1,
44660702 8305 "type" : "integer"
56122987 8306 },
44660702 8307 "iops_wr" : {
de0983cb 8308 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8309 "format_description" : "iops",
8310 "optional" : 1,
8311 "type" : "integer"
56122987 8312 },
de0983cb
DM
8313 "iops_wr_length" : {
8314 "description" : "Maximum length of write I/O bursts in seconds.",
8315 "format_description" : "seconds",
8316 "minimum" : 1,
8317 "optional" : 1,
8318 "type" : "integer"
8319 },
44660702 8320 "iops_wr_max" : {
de0983cb 8321 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8322 "format_description" : "iops",
8323 "optional" : 1,
8324 "type" : "integer"
8325 },
8326 "mbps" : {
de0983cb 8327 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8328 "format_description" : "mbps",
8329 "optional" : 1,
8330 "type" : "number"
8331 },
8332 "mbps_max" : {
de0983cb 8333 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8334 "format_description" : "mbps",
8335 "optional" : 1,
8336 "type" : "number"
8337 },
8338 "mbps_rd" : {
de0983cb 8339 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8340 "format_description" : "mbps",
8341 "optional" : 1,
8342 "type" : "number"
8343 },
8344 "mbps_rd_max" : {
de0983cb 8345 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8346 "format_description" : "mbps",
8347 "optional" : 1,
8348 "type" : "number"
8349 },
8350 "mbps_wr" : {
de0983cb 8351 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8352 "format_description" : "mbps",
8353 "optional" : 1,
8354 "type" : "number"
8355 },
8356 "mbps_wr_max" : {
de0983cb 8357 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8358 "format_description" : "mbps",
8359 "optional" : 1,
8360 "type" : "number"
8361 },
8362 "media" : {
8363 "default" : "disk",
8364 "description" : "The drive's media type.",
8365 "enum" : [
8366 "cdrom",
8367 "disk"
8368 ],
56122987 8369 "optional" : 1,
44660702
DM
8370 "type" : "string"
8371 },
8372 "rerror" : {
7aacca6f
DM
8373 "description" : "Read error action.",
8374 "enum" : [
8375 "ignore",
8376 "report",
8377 "stop"
44660702 8378 ],
56122987 8379 "optional" : 1,
44660702 8380 "type" : "string"
56122987 8381 },
7aacca6f 8382 "secs" : {
44660702 8383 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8384 "optional" : 1,
44660702 8385 "type" : "integer"
56122987 8386 },
44660702
DM
8387 "serial" : {
8388 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8389 "format" : "urlencoded",
8390 "format_description" : "serial",
8391 "maxLength" : 60,
56122987 8392 "optional" : 1,
44660702 8393 "type" : "string"
56122987 8394 },
44660702
DM
8395 "size" : {
8396 "description" : "Disk size. This is purely informational and has no effect.",
8397 "format" : "disk-size",
f004f5b9 8398 "format_description" : "DiskSize",
56122987 8399 "optional" : 1,
44660702 8400 "type" : "string"
56122987
DM
8401 },
8402 "snapshot" : {
7aacca6f 8403 "description" : "Whether the drive should be included when making snapshots.",
56122987 8404 "optional" : 1,
44660702 8405 "type" : "boolean"
56122987 8406 },
56122987 8407 "trans" : {
7aacca6f 8408 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8409 "enum" : [
8410 "none",
8411 "lba",
8412 "auto"
8413 ],
8414 "optional" : 1,
44660702 8415 "type" : "string"
56122987 8416 },
44660702
DM
8417 "volume" : {
8418 "alias" : "file"
56122987 8419 },
7aacca6f 8420 "werror" : {
44660702 8421 "description" : "Write error action.",
56122987 8422 "enum" : [
7aacca6f 8423 "enospc",
56122987 8424 "ignore",
7aacca6f
DM
8425 "report",
8426 "stop"
8427 ],
7aacca6f 8428 "optional" : 1,
44660702
DM
8429 "type" : "string"
8430 }
8431 },
8432 "optional" : 1,
4bd7df8b 8433 "type" : "string",
013dc89f 8434 "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
8435 },
8436 "scsi[n]" : {
8437 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8438 "format" : {
8439 "aio" : {
7aacca6f 8440 "description" : "AIO type to use.",
56122987
DM
8441 "enum" : [
8442 "native",
8443 "threads"
44660702 8444 ],
56122987 8445 "optional" : 1,
44660702 8446 "type" : "string"
56122987 8447 },
7aacca6f 8448 "backup" : {
7aacca6f 8449 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8450 "optional" : 1,
44660702 8451 "type" : "boolean"
56122987 8452 },
44660702 8453 "bps" : {
de0983cb 8454 "description" : "Maximum r/w speed in bytes per second.",
44660702 8455 "format_description" : "bps",
7aacca6f 8456 "optional" : 1,
44660702 8457 "type" : "integer"
7aacca6f 8458 },
de0983cb
DM
8459 "bps_max_length" : {
8460 "description" : "Maximum length of I/O bursts in seconds.",
8461 "format_description" : "seconds",
8462 "minimum" : 1,
8463 "optional" : 1,
8464 "type" : "integer"
8465 },
44660702 8466 "bps_rd" : {
de0983cb 8467 "description" : "Maximum read speed in bytes per second.",
44660702 8468 "format_description" : "bps",
56122987 8469 "optional" : 1,
44660702 8470 "type" : "integer"
56122987 8471 },
de0983cb
DM
8472 "bps_rd_length" : {
8473 "description" : "Maximum length of read I/O bursts in seconds.",
8474 "format_description" : "seconds",
8475 "minimum" : 1,
8476 "optional" : 1,
8477 "type" : "integer"
8478 },
44660702 8479 "bps_wr" : {
de0983cb 8480 "description" : "Maximum write speed in bytes per second.",
44660702 8481 "format_description" : "bps",
56122987 8482 "optional" : 1,
44660702 8483 "type" : "integer"
56122987 8484 },
de0983cb
DM
8485 "bps_wr_length" : {
8486 "description" : "Maximum length of write I/O bursts in seconds.",
8487 "format_description" : "seconds",
8488 "minimum" : 1,
8489 "optional" : 1,
8490 "type" : "integer"
8491 },
44660702
DM
8492 "cache" : {
8493 "description" : "The drive's cache mode",
8494 "enum" : [
8495 "none",
8496 "writethrough",
8497 "writeback",
8498 "unsafe",
8499 "directsync"
8500 ],
56122987 8501 "optional" : 1,
44660702
DM
8502 "type" : "string"
8503 },
8504 "cyls" : {
8505 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8506 "optional" : 1,
8507 "type" : "integer"
8508 },
8509 "detect_zeroes" : {
8510 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8511 "optional" : 1,
8512 "type" : "boolean"
8513 },
8514 "discard" : {
8515 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8516 "enum" : [
8517 "ignore",
8518 "on"
8519 ],
44660702
DM
8520 "optional" : 1,
8521 "type" : "string"
8522 },
8523 "file" : {
8524 "default_key" : 1,
8525 "description" : "The drive's backing volume.",
8526 "format" : "pve-volume-id-or-qm-path",
8527 "format_description" : "volume",
8528 "type" : "string"
56122987 8529 },
7aacca6f 8530 "format" : {
44660702 8531 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8532 "enum" : [
8533 "raw",
8534 "cow",
8535 "qcow",
8536 "qed",
8537 "qcow2",
8538 "vmdk",
8539 "cloop"
8540 ],
56122987 8541 "optional" : 1,
44660702 8542 "type" : "string"
56122987 8543 },
44660702
DM
8544 "heads" : {
8545 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8546 "optional" : 1,
44660702 8547 "type" : "integer"
56122987 8548 },
44660702 8549 "iops" : {
de0983cb 8550 "description" : "Maximum r/w I/O in operations per second.",
44660702 8551 "format_description" : "iops",
7aacca6f 8552 "optional" : 1,
44660702 8553 "type" : "integer"
56122987 8554 },
44660702 8555 "iops_max" : {
de0983cb 8556 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 8557 "format_description" : "iops",
7aacca6f 8558 "optional" : 1,
44660702 8559 "type" : "integer"
56122987 8560 },
de0983cb
DM
8561 "iops_max_length" : {
8562 "description" : "Maximum length of I/O bursts in seconds.",
8563 "format_description" : "seconds",
8564 "minimum" : 1,
8565 "optional" : 1,
8566 "type" : "integer"
8567 },
44660702 8568 "iops_rd" : {
de0983cb 8569 "description" : "Maximum read I/O in operations per second.",
44660702 8570 "format_description" : "iops",
56122987 8571 "optional" : 1,
44660702 8572 "type" : "integer"
56122987 8573 },
de0983cb
DM
8574 "iops_rd_length" : {
8575 "description" : "Maximum length of read I/O bursts in seconds.",
8576 "format_description" : "seconds",
8577 "minimum" : 1,
8578 "optional" : 1,
8579 "type" : "integer"
8580 },
44660702 8581 "iops_rd_max" : {
de0983cb 8582 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8583 "format_description" : "iops",
56122987 8584 "optional" : 1,
44660702 8585 "type" : "integer"
56122987 8586 },
44660702 8587 "iops_wr" : {
de0983cb 8588 "description" : "Maximum write I/O in operations per second.",
44660702 8589 "format_description" : "iops",
56122987 8590 "optional" : 1,
44660702 8591 "type" : "integer"
56122987 8592 },
de0983cb
DM
8593 "iops_wr_length" : {
8594 "description" : "Maximum length of write I/O bursts in seconds.",
8595 "format_description" : "seconds",
8596 "minimum" : 1,
8597 "optional" : 1,
8598 "type" : "integer"
8599 },
44660702 8600 "iops_wr_max" : {
de0983cb 8601 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 8602 "format_description" : "iops",
44660702
DM
8603 "optional" : 1,
8604 "type" : "integer"
7aacca6f
DM
8605 },
8606 "iothread" : {
44660702 8607 "description" : "Whether to use iothreads for this drive",
56122987 8608 "optional" : 1,
44660702 8609 "type" : "boolean"
56122987 8610 },
44660702 8611 "mbps" : {
de0983cb 8612 "description" : "Maximum r/w speed in megabytes per second.",
44660702 8613 "format_description" : "mbps",
56122987 8614 "optional" : 1,
44660702 8615 "type" : "number"
56122987 8616 },
44660702 8617 "mbps_max" : {
de0983cb 8618 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8619 "format_description" : "mbps",
56122987 8620 "optional" : 1,
44660702 8621 "type" : "number"
56122987 8622 },
44660702 8623 "mbps_rd" : {
de0983cb 8624 "description" : "Maximum read speed in megabytes per second.",
44660702 8625 "format_description" : "mbps",
7aacca6f 8626 "optional" : 1,
44660702 8627 "type" : "number"
56122987 8628 },
44660702 8629 "mbps_rd_max" : {
de0983cb 8630 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 8631 "format_description" : "mbps",
7aacca6f 8632 "optional" : 1,
44660702 8633 "type" : "number"
7aacca6f 8634 },
44660702 8635 "mbps_wr" : {
de0983cb 8636 "description" : "Maximum write speed in megabytes per second.",
44660702 8637 "format_description" : "mbps",
56122987 8638 "optional" : 1,
44660702 8639 "type" : "number"
56122987 8640 },
44660702 8641 "mbps_wr_max" : {
de0983cb 8642 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 8643 "format_description" : "mbps",
56122987 8644 "optional" : 1,
44660702
DM
8645 "type" : "number"
8646 },
8647 "media" : {
8648 "default" : "disk",
8649 "description" : "The drive's media type.",
7aacca6f 8650 "enum" : [
44660702
DM
8651 "cdrom",
8652 "disk"
7aacca6f 8653 ],
56122987 8654 "optional" : 1,
44660702 8655 "type" : "string"
56122987 8656 },
7aacca6f 8657 "queues" : {
44660702 8658 "description" : "Number of queues.",
7aacca6f 8659 "minimum" : 2,
7aacca6f
DM
8660 "optional" : 1,
8661 "type" : "integer"
56122987 8662 },
44660702
DM
8663 "secs" : {
8664 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8665 "optional" : 1,
44660702 8666 "type" : "integer"
56122987 8667 },
44660702
DM
8668 "serial" : {
8669 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8670 "format" : "urlencoded",
8671 "format_description" : "serial",
8672 "maxLength" : 60,
56122987 8673 "optional" : 1,
44660702 8674 "type" : "string"
56122987 8675 },
44660702
DM
8676 "size" : {
8677 "description" : "Disk size. This is purely informational and has no effect.",
8678 "format" : "disk-size",
f004f5b9 8679 "format_description" : "DiskSize",
44660702
DM
8680 "optional" : 1,
8681 "type" : "string"
8682 },
8683 "snapshot" : {
8684 "description" : "Whether the drive should be included when making snapshots.",
56122987 8685 "optional" : 1,
44660702
DM
8686 "type" : "boolean"
8687 },
8688 "trans" : {
8689 "description" : "Force disk geometry bios translation mode.",
56122987 8690 "enum" : [
44660702
DM
8691 "none",
8692 "lba",
8693 "auto"
56122987 8694 ],
44660702
DM
8695 "optional" : 1,
8696 "type" : "string"
8697 },
8698 "volume" : {
8699 "alias" : "file"
56122987 8700 },
7aacca6f 8701 "werror" : {
7aacca6f
DM
8702 "description" : "Write error action.",
8703 "enum" : [
8704 "enospc",
8705 "ignore",
8706 "report",
8707 "stop"
44660702 8708 ],
56122987 8709 "optional" : 1,
7aacca6f 8710 "type" : "string"
56122987 8711 }
44660702 8712 },
56122987 8713 "optional" : 1,
4bd7df8b 8714 "type" : "string",
013dc89f 8715 "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
8716 },
8717 "scsihw" : {
44660702 8718 "default" : "lsi",
c2993fe5 8719 "description" : "SCSI controller model",
56122987
DM
8720 "enum" : [
8721 "lsi",
8722 "lsi53c810",
8723 "virtio-scsi-pci",
8724 "virtio-scsi-single",
8725 "megasas",
8726 "pvscsi"
8727 ],
8728 "optional" : 1,
56122987
DM
8729 "type" : "string"
8730 },
44660702 8731 "serial[n]" : {
c2993fe5 8732 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 8733 "optional" : 1,
44660702 8734 "pattern" : "(/dev/.+|socket)",
c2993fe5 8735 "type" : "string",
57b78691 8736 "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 8737 },
44660702
DM
8738 "shares" : {
8739 "default" : 1000,
8740 "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",
8741 "maximum" : 50000,
8742 "minimum" : 0,
7aacca6f 8743 "optional" : 1,
4bd7df8b 8744 "type" : "integer",
013dc89f 8745 "typetext" : "<integer> (0 - 50000)"
56122987 8746 },
7aacca6f
DM
8747 "skiplock" : {
8748 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 8749 "optional" : 1,
013dc89f
DM
8750 "type" : "boolean",
8751 "typetext" : "<boolean>"
56122987 8752 },
44660702
DM
8753 "smbios1" : {
8754 "description" : "Specify SMBIOS type 1 fields.",
8755 "format" : "pve-qm-smbios1",
8756 "maxLength" : 256,
56122987 8757 "optional" : 1,
4bd7df8b
DM
8758 "type" : "string",
8759 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 8760 },
44660702
DM
8761 "smp" : {
8762 "default" : 1,
8763 "description" : "The number of CPUs. Please use option -sockets instead.",
8764 "minimum" : 1,
56122987 8765 "optional" : 1,
4bd7df8b 8766 "type" : "integer",
013dc89f 8767 "typetext" : "<integer> (1 - N)"
56122987 8768 },
44660702
DM
8769 "sockets" : {
8770 "default" : 1,
8771 "description" : "The number of CPU sockets.",
8772 "minimum" : 1,
56122987 8773 "optional" : 1,
4bd7df8b 8774 "type" : "integer",
013dc89f 8775 "typetext" : "<integer> (1 - N)"
56122987 8776 },
44660702
DM
8777 "startdate" : {
8778 "default" : "now",
8779 "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'.",
8780 "optional" : 1,
8781 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 8782 "type" : "string",
44660702
DM
8783 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
8784 },
8785 "startup" : {
8786 "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.",
8787 "format" : "pve-startup-order",
7aacca6f 8788 "optional" : 1,
44660702
DM
8789 "type" : "string",
8790 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 8791 },
44660702
DM
8792 "tablet" : {
8793 "default" : 1,
c2993fe5 8794 "description" : "Enable/disable the USB tablet device.",
7aacca6f 8795 "optional" : 1,
c2993fe5 8796 "type" : "boolean",
013dc89f 8797 "typetext" : "<boolean>",
c2993fe5 8798 "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 8799 },
44660702
DM
8800 "tdf" : {
8801 "default" : 0,
8802 "description" : "Enable/disable time drift fix.",
7aacca6f 8803 "optional" : 1,
013dc89f
DM
8804 "type" : "boolean",
8805 "typetext" : "<boolean>"
7aacca6f 8806 },
44660702
DM
8807 "template" : {
8808 "default" : 0,
8809 "description" : "Enable/disable Template.",
7aacca6f 8810 "optional" : 1,
013dc89f
DM
8811 "type" : "boolean",
8812 "typetext" : "<boolean>"
7aacca6f 8813 },
44660702 8814 "unused[n]" : {
c2993fe5 8815 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 8816 "format" : "pve-volume-id",
7aacca6f 8817 "optional" : 1,
013dc89f
DM
8818 "type" : "string",
8819 "typetext" : "<string>"
7aacca6f 8820 },
44660702 8821 "usb[n]" : {
c2993fe5 8822 "description" : "Configure an USB device (n is 0 to 4).",
56122987 8823 "format" : {
44660702
DM
8824 "host" : {
8825 "default_key" : 1,
c2993fe5 8826 "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
8827 "format" : "pve-qm-usb-device",
8828 "format_description" : "HOSTUSBDEVICE|spice",
8829 "type" : "string"
7aacca6f 8830 },
44660702 8831 "usb3" : {
c2993fe5
DM
8832 "default" : 0,
8833 "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 8834 "optional" : 1,
44660702 8835 "type" : "boolean"
7aacca6f 8836 }
44660702 8837 },
7aacca6f 8838 "optional" : 1,
4bd7df8b
DM
8839 "type" : "string",
8840 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 8841 },
44660702 8842 "vcpus" : {
7aacca6f 8843 "default" : 0,
44660702
DM
8844 "description" : "Number of hotplugged vcpus.",
8845 "minimum" : 1,
7aacca6f 8846 "optional" : 1,
4bd7df8b 8847 "type" : "integer",
013dc89f 8848 "typetext" : "<integer> (1 - N)"
7aacca6f 8849 },
44660702 8850 "vga" : {
c2993fe5 8851 "description" : "Select the VGA type.",
44660702
DM
8852 "enum" : [
8853 "std",
8854 "cirrus",
8855 "vmware",
8856 "qxl",
8857 "serial0",
8858 "serial1",
8859 "serial2",
8860 "serial3",
8861 "qxl2",
8862 "qxl3",
8863 "qxl4"
8864 ],
7aacca6f 8865 "optional" : 1,
c2993fe5
DM
8866 "type" : "string",
8867 "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 8868 },
44660702
DM
8869 "virtio[n]" : {
8870 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 8871 "format" : {
7aacca6f 8872 "aio" : {
7aacca6f 8873 "description" : "AIO type to use.",
56122987 8874 "enum" : [
7aacca6f
DM
8875 "native",
8876 "threads"
7aacca6f 8877 ],
44660702
DM
8878 "optional" : 1,
8879 "type" : "string"
56122987 8880 },
44660702
DM
8881 "backup" : {
8882 "description" : "Whether the drive should be included when making backups.",
56122987 8883 "optional" : 1,
44660702 8884 "type" : "boolean"
7aacca6f 8885 },
44660702 8886 "bps" : {
de0983cb 8887 "description" : "Maximum r/w speed in bytes per second.",
44660702 8888 "format_description" : "bps",
7aacca6f 8889 "optional" : 1,
44660702 8890 "type" : "integer"
56122987 8891 },
de0983cb
DM
8892 "bps_max_length" : {
8893 "description" : "Maximum length of I/O bursts in seconds.",
8894 "format_description" : "seconds",
8895 "minimum" : 1,
8896 "optional" : 1,
8897 "type" : "integer"
8898 },
56122987 8899 "bps_rd" : {
de0983cb 8900 "description" : "Maximum read speed in bytes per second.",
44660702 8901 "format_description" : "bps",
56122987 8902 "optional" : 1,
7aacca6f 8903 "type" : "integer"
56122987 8904 },
de0983cb
DM
8905 "bps_rd_length" : {
8906 "description" : "Maximum length of read I/O bursts in seconds.",
8907 "format_description" : "seconds",
8908 "minimum" : 1,
8909 "optional" : 1,
8910 "type" : "integer"
8911 },
44660702 8912 "bps_wr" : {
de0983cb 8913 "description" : "Maximum write speed in bytes per second.",
44660702 8914 "format_description" : "bps",
56122987 8915 "optional" : 1,
7aacca6f 8916 "type" : "integer"
56122987 8917 },
de0983cb
DM
8918 "bps_wr_length" : {
8919 "description" : "Maximum length of write I/O bursts in seconds.",
8920 "format_description" : "seconds",
8921 "minimum" : 1,
8922 "optional" : 1,
8923 "type" : "integer"
8924 },
7aacca6f 8925 "cache" : {
44660702 8926 "description" : "The drive's cache mode",
7aacca6f
DM
8927 "enum" : [
8928 "none",
8929 "writethrough",
8930 "writeback",
8931 "unsafe",
8932 "directsync"
8933 ],
56122987 8934 "optional" : 1,
44660702 8935 "type" : "string"
7aacca6f 8936 },
44660702
DM
8937 "cyls" : {
8938 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8939 "optional" : 1,
8940 "type" : "integer"
8941 },
8942 "detect_zeroes" : {
8943 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8944 "optional" : 1,
8945 "type" : "boolean"
8946 },
8947 "discard" : {
8948 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8949 "enum" : [
44660702
DM
8950 "ignore",
8951 "on"
56122987
DM
8952 ],
8953 "optional" : 1,
44660702 8954 "type" : "string"
56122987 8955 },
44660702
DM
8956 "file" : {
8957 "default_key" : 1,
8958 "description" : "The drive's backing volume.",
8959 "format" : "pve-volume-id-or-qm-path",
8960 "format_description" : "volume",
8961 "type" : "string"
8962 },
8963 "format" : {
8964 "description" : "The drive's backing file's data format.",
8965 "enum" : [
8966 "raw",
8967 "cow",
8968 "qcow",
8969 "qed",
8970 "qcow2",
8971 "vmdk",
8972 "cloop"
8973 ],
56122987 8974 "optional" : 1,
44660702 8975 "type" : "string"
56122987 8976 },
44660702
DM
8977 "heads" : {
8978 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8979 "optional" : 1,
8980 "type" : "integer"
8981 },
8982 "iops" : {
de0983cb 8983 "description" : "Maximum r/w I/O in operations per second.",
44660702 8984 "format_description" : "iops",
56122987 8985 "optional" : 1,
44660702
DM
8986 "type" : "integer"
8987 },
8988 "iops_max" : {
de0983cb 8989 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
8990 "format_description" : "iops",
8991 "optional" : 1,
8992 "type" : "integer"
56122987 8993 },
de0983cb
DM
8994 "iops_max_length" : {
8995 "description" : "Maximum length of I/O bursts in seconds.",
8996 "format_description" : "seconds",
8997 "minimum" : 1,
8998 "optional" : 1,
8999 "type" : "integer"
9000 },
7aacca6f 9001 "iops_rd" : {
de0983cb 9002 "description" : "Maximum read I/O in operations per second.",
7aacca6f 9003 "format_description" : "iops",
7aacca6f 9004 "optional" : 1,
44660702 9005 "type" : "integer"
56122987 9006 },
de0983cb
DM
9007 "iops_rd_length" : {
9008 "description" : "Maximum length of read I/O bursts in seconds.",
9009 "format_description" : "seconds",
9010 "minimum" : 1,
9011 "optional" : 1,
9012 "type" : "integer"
9013 },
44660702 9014 "iops_rd_max" : {
de0983cb 9015 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9016 "format_description" : "iops",
9017 "optional" : 1,
9018 "type" : "integer"
9019 },
9020 "iops_wr" : {
de0983cb 9021 "description" : "Maximum write I/O in operations per second.",
44660702
DM
9022 "format_description" : "iops",
9023 "optional" : 1,
9024 "type" : "integer"
9025 },
de0983cb
DM
9026 "iops_wr_length" : {
9027 "description" : "Maximum length of write I/O bursts in seconds.",
9028 "format_description" : "seconds",
9029 "minimum" : 1,
9030 "optional" : 1,
9031 "type" : "integer"
9032 },
44660702 9033 "iops_wr_max" : {
de0983cb 9034 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9035 "format_description" : "iops",
9036 "optional" : 1,
9037 "type" : "integer"
9038 },
9039 "iothread" : {
9040 "description" : "Whether to use iothreads for this drive",
44660702
DM
9041 "optional" : 1,
9042 "type" : "boolean"
9043 },
9044 "mbps" : {
de0983cb 9045 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9046 "format_description" : "mbps",
7aacca6f 9047 "optional" : 1,
44660702 9048 "type" : "number"
7aacca6f
DM
9049 },
9050 "mbps_max" : {
de0983cb 9051 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9052 "format_description" : "mbps",
56122987 9053 "optional" : 1,
44660702 9054 "type" : "number"
56122987 9055 },
44660702 9056 "mbps_rd" : {
de0983cb 9057 "description" : "Maximum read speed in megabytes per second.",
44660702 9058 "format_description" : "mbps",
56122987 9059 "optional" : 1,
44660702 9060 "type" : "number"
56122987 9061 },
44660702 9062 "mbps_rd_max" : {
de0983cb 9063 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9064 "format_description" : "mbps",
9065 "optional" : 1,
9066 "type" : "number"
9067 },
9068 "mbps_wr" : {
de0983cb 9069 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9070 "format_description" : "mbps",
9071 "optional" : 1,
9072 "type" : "number"
9073 },
9074 "mbps_wr_max" : {
de0983cb 9075 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9076 "format_description" : "mbps",
9077 "optional" : 1,
9078 "type" : "number"
9079 },
9080 "media" : {
9081 "default" : "disk",
9082 "description" : "The drive's media type.",
56122987 9083 "enum" : [
44660702
DM
9084 "cdrom",
9085 "disk"
56122987
DM
9086 ],
9087 "optional" : 1,
44660702 9088 "type" : "string"
56122987 9089 },
44660702
DM
9090 "rerror" : {
9091 "description" : "Read error action.",
9092 "enum" : [
9093 "ignore",
9094 "report",
9095 "stop"
9096 ],
56122987 9097 "optional" : 1,
44660702 9098 "type" : "string"
56122987 9099 },
44660702
DM
9100 "secs" : {
9101 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9102 "optional" : 1,
44660702 9103 "type" : "integer"
56122987 9104 },
7aacca6f
DM
9105 "serial" : {
9106 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 9107 "format" : "urlencoded",
44660702 9108 "format_description" : "serial",
7aacca6f 9109 "maxLength" : 60,
44660702
DM
9110 "optional" : 1,
9111 "type" : "string"
56122987 9112 },
44660702
DM
9113 "size" : {
9114 "description" : "Disk size. This is purely informational and has no effect.",
9115 "format" : "disk-size",
f004f5b9 9116 "format_description" : "DiskSize",
44660702
DM
9117 "optional" : 1,
9118 "type" : "string"
56122987 9119 },
44660702
DM
9120 "snapshot" : {
9121 "description" : "Whether the drive should be included when making snapshots.",
56122987 9122 "optional" : 1,
44660702 9123 "type" : "boolean"
56122987 9124 },
44660702
DM
9125 "trans" : {
9126 "description" : "Force disk geometry bios translation mode.",
9127 "enum" : [
9128 "none",
9129 "lba",
9130 "auto"
9131 ],
7aacca6f 9132 "optional" : 1,
44660702 9133 "type" : "string"
7aacca6f 9134 },
44660702
DM
9135 "volume" : {
9136 "alias" : "file"
9137 },
9138 "werror" : {
9139 "description" : "Write error action.",
9140 "enum" : [
9141 "enospc",
9142 "ignore",
9143 "report",
9144 "stop"
9145 ],
7aacca6f 9146 "optional" : 1,
44660702 9147 "type" : "string"
56122987
DM
9148 }
9149 },
7aacca6f 9150 "optional" : 1,
4bd7df8b 9151 "type" : "string",
013dc89f 9152 "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 9153 },
44660702
DM
9154 "vmid" : {
9155 "description" : "The (unique) ID of the VM.",
9156 "format" : "pve-vmid",
9157 "minimum" : 1,
4bd7df8b 9158 "type" : "integer",
013dc89f 9159 "typetext" : "<integer> (1 - N)"
56122987 9160 },
44660702 9161 "watchdog" : {
c2993fe5 9162 "description" : "Create a virtual hardware watchdog device.",
44660702 9163 "format" : "pve-qm-watchdog",
56122987 9164 "optional" : 1,
c2993fe5 9165 "type" : "string",
013dc89f 9166 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9167 "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 9168 }
7aacca6f 9169 }
56122987 9170 },
56122987
DM
9171 "permissions" : {
9172 "check" : [
9173 "perm",
9174 "/vms/{vmid}",
9175 [
9176 "VM.Config.Disk",
9177 "VM.Config.CDROM",
9178 "VM.Config.CPU",
9179 "VM.Config.Memory",
9180 "VM.Config.Network",
9181 "VM.Config.HWType",
9182 "VM.Config.Options"
9183 ],
9184 "any",
9185 1
9186 ]
9187 },
44660702 9188 "protected" : 1,
7aacca6f 9189 "proxyto" : "node",
56122987 9190 "returns" : {
7aacca6f
DM
9191 "type" : "null"
9192 }
9193 }
9194 },
44660702
DM
9195 "leaf" : 1,
9196 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
9197 "text" : "config"
9198 },
9199 {
9200 "info" : {
56122987 9201 "GET" : {
44660702 9202 "description" : "Get virtual machine configuration, including pending changes.",
56122987 9203 "method" : "GET",
44660702 9204 "name" : "vm_pending",
7aacca6f 9205 "parameters" : {
44660702 9206 "additionalProperties" : 0,
7aacca6f
DM
9207 "properties" : {
9208 "node" : {
7aacca6f 9209 "description" : "The cluster node name.",
44660702 9210 "format" : "pve-node",
013dc89f
DM
9211 "type" : "string",
9212 "typetext" : "<string>"
7aacca6f
DM
9213 },
9214 "vmid" : {
44660702 9215 "description" : "The (unique) ID of the VM.",
7aacca6f 9216 "format" : "pve-vmid",
44660702 9217 "minimum" : 1,
4bd7df8b 9218 "type" : "integer",
013dc89f 9219 "typetext" : "<integer> (1 - N)"
7aacca6f 9220 }
44660702 9221 }
7aacca6f 9222 },
56122987
DM
9223 "permissions" : {
9224 "check" : [
9225 "perm",
9226 "/vms/{vmid}",
9227 [
9228 "VM.Audit"
9229 ]
9230 ]
9231 },
7aacca6f 9232 "proxyto" : "node",
44660702
DM
9233 "returns" : {
9234 "items" : {
9235 "properties" : {
9236 "delete" : {
9237 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
9238 "maximum" : 2,
9239 "minimum" : 0,
9240 "optional" : 1,
9241 "type" : "integer"
9242 },
9243 "key" : {
9244 "description" : "Configuration option name.",
9245 "type" : "string"
9246 },
9247 "pending" : {
9248 "description" : "Pending value.",
9249 "optional" : 1,
9250 "type" : "string"
9251 },
9252 "value" : {
9253 "description" : "Current value.",
9254 "optional" : 1,
9255 "type" : "string"
9256 }
9257 },
9258 "type" : "object"
9259 },
9260 "type" : "array"
9261 }
56122987
DM
9262 }
9263 },
7aacca6f 9264 "leaf" : 1,
44660702
DM
9265 "path" : "/nodes/{node}/qemu/{vmid}/pending",
9266 "text" : "pending"
56122987
DM
9267 },
9268 {
56122987
DM
9269 "info" : {
9270 "PUT" : {
7aacca6f 9271 "description" : "Unlink/delete disk images.",
7aacca6f 9272 "method" : "PUT",
7aacca6f 9273 "name" : "unlink",
56122987 9274 "parameters" : {
44660702 9275 "additionalProperties" : 0,
56122987 9276 "properties" : {
7aacca6f 9277 "force" : {
44660702 9278 "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 9279 "optional" : 1,
013dc89f
DM
9280 "type" : "boolean",
9281 "typetext" : "<boolean>"
7aacca6f 9282 },
56122987
DM
9283 "idlist" : {
9284 "description" : "A list of disk IDs you want to delete.",
44660702 9285 "format" : "pve-configid-list",
013dc89f
DM
9286 "type" : "string",
9287 "typetext" : "<string>"
44660702
DM
9288 },
9289 "node" : {
9290 "description" : "The cluster node name.",
9291 "format" : "pve-node",
013dc89f
DM
9292 "type" : "string",
9293 "typetext" : "<string>"
56122987
DM
9294 },
9295 "vmid" : {
7aacca6f 9296 "description" : "The (unique) ID of the VM.",
44660702 9297 "format" : "pve-vmid",
7aacca6f 9298 "minimum" : 1,
4bd7df8b 9299 "type" : "integer",
013dc89f 9300 "typetext" : "<integer> (1 - N)"
56122987 9301 }
44660702
DM
9302 }
9303 },
9304 "permissions" : {
9305 "check" : [
9306 "perm",
9307 "/vms/{vmid}",
9308 [
9309 "VM.Config.Disk"
9310 ]
9311 ]
9312 },
9313 "protected" : 1,
9314 "proxyto" : "node",
9315 "returns" : {
9316 "type" : "null"
7aacca6f 9317 }
56122987 9318 }
7aacca6f 9319 },
44660702 9320 "leaf" : 1,
7aacca6f 9321 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 9322 "text" : "unlink"
56122987
DM
9323 },
9324 {
56122987
DM
9325 "info" : {
9326 "POST" : {
7aacca6f 9327 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
9328 "method" : "POST",
9329 "name" : "vncproxy",
56122987 9330 "parameters" : {
44660702 9331 "additionalProperties" : 0,
56122987 9332 "properties" : {
44660702
DM
9333 "node" : {
9334 "description" : "The cluster node name.",
9335 "format" : "pve-node",
013dc89f
DM
9336 "type" : "string",
9337 "typetext" : "<string>"
44660702 9338 },
56122987 9339 "vmid" : {
7aacca6f 9340 "description" : "The (unique) ID of the VM.",
44660702 9341 "format" : "pve-vmid",
56122987 9342 "minimum" : 1,
4bd7df8b 9343 "type" : "integer",
013dc89f 9344 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9345 },
9346 "websocket" : {
9347 "description" : "starts websockify instead of vncproxy",
44660702 9348 "optional" : 1,
013dc89f
DM
9349 "type" : "boolean",
9350 "typetext" : "<boolean>"
56122987 9351 }
44660702 9352 }
56122987 9353 },
44660702
DM
9354 "permissions" : {
9355 "check" : [
9356 "perm",
9357 "/vms/{vmid}",
9358 [
9359 "VM.Console"
9360 ]
9361 ]
9362 },
9363 "protected" : 1,
56122987 9364 "returns" : {
7aacca6f 9365 "additionalProperties" : 0,
56122987 9366 "properties" : {
7aacca6f 9367 "cert" : {
56122987
DM
9368 "type" : "string"
9369 },
56122987
DM
9370 "port" : {
9371 "type" : "integer"
9372 },
7aacca6f
DM
9373 "ticket" : {
9374 "type" : "string"
9375 },
44660702
DM
9376 "upid" : {
9377 "type" : "string"
9378 },
7aacca6f 9379 "user" : {
56122987
DM
9380 "type" : "string"
9381 }
7aacca6f 9382 }
56122987
DM
9383 }
9384 }
9385 },
44660702
DM
9386 "leaf" : 1,
9387 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9388 "text" : "vncproxy"
56122987
DM
9389 },
9390 {
56122987
DM
9391 "info" : {
9392 "GET" : {
44660702
DM
9393 "description" : "Opens a weksocket for VNC traffic.",
9394 "method" : "GET",
9395 "name" : "vncwebsocket",
56122987 9396 "parameters" : {
44660702 9397 "additionalProperties" : 0,
56122987 9398 "properties" : {
7aacca6f 9399 "node" : {
7aacca6f 9400 "description" : "The cluster node name.",
44660702 9401 "format" : "pve-node",
013dc89f
DM
9402 "type" : "string",
9403 "typetext" : "<string>"
7aacca6f 9404 },
44660702
DM
9405 "port" : {
9406 "description" : "Port number returned by previous vncproxy call.",
9407 "maximum" : 5999,
9408 "minimum" : 5900,
4bd7df8b 9409 "type" : "integer",
013dc89f 9410 "typetext" : "<integer> (5900 - 5999)"
56122987 9411 },
7aacca6f 9412 "vmid" : {
44660702 9413 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9414 "format" : "pve-vmid",
9415 "minimum" : 1,
4bd7df8b 9416 "type" : "integer",
013dc89f 9417 "typetext" : "<integer> (1 - N)"
44660702
DM
9418 },
9419 "vncticket" : {
9420 "description" : "Ticket from previous call to vncproxy.",
9421 "maxLength" : 512,
013dc89f
DM
9422 "type" : "string",
9423 "typetext" : "<string>"
56122987 9424 }
44660702
DM
9425 }
9426 },
9427 "permissions" : {
9428 "check" : [
9429 "perm",
9430 "/vms/{vmid}",
9431 [
9432 "VM.Console"
9433 ]
9434 ],
9435 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 9436 },
7aacca6f
DM
9437 "returns" : {
9438 "properties" : {
9439 "port" : {
9440 "type" : "string"
9441 }
9442 },
9443 "type" : "object"
9444 }
56122987
DM
9445 }
9446 },
7aacca6f 9447 "leaf" : 1,
44660702
DM
9448 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
9449 "text" : "vncwebsocket"
56122987
DM
9450 },
9451 {
9452 "info" : {
9453 "POST" : {
44660702
DM
9454 "description" : "Returns a SPICE configuration to connect to the VM.",
9455 "method" : "POST",
7aacca6f
DM
9456 "name" : "spiceproxy",
9457 "parameters" : {
44660702 9458 "additionalProperties" : 0,
56122987 9459 "properties" : {
44660702
DM
9460 "node" : {
9461 "description" : "The cluster node name.",
9462 "format" : "pve-node",
013dc89f
DM
9463 "type" : "string",
9464 "typetext" : "<string>"
44660702 9465 },
7aacca6f 9466 "proxy" : {
44660702 9467 "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 9468 "format" : "address",
7aacca6f 9469 "optional" : 1,
013dc89f
DM
9470 "type" : "string",
9471 "typetext" : "<string>"
56122987 9472 },
7aacca6f 9473 "vmid" : {
44660702 9474 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9475 "format" : "pve-vmid",
9476 "minimum" : 1,
4bd7df8b 9477 "type" : "integer",
013dc89f 9478 "typetext" : "<integer> (1 - N)"
56122987 9479 }
44660702 9480 }
56122987 9481 },
56122987
DM
9482 "permissions" : {
9483 "check" : [
9484 "perm",
9485 "/vms/{vmid}",
9486 [
9487 "VM.Console"
9488 ]
9489 ]
9490 },
44660702
DM
9491 "protected" : 1,
9492 "proxyto" : "node",
7aacca6f 9493 "returns" : {
44660702
DM
9494 "additionalProperties" : 1,
9495 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 9496 "properties" : {
44660702 9497 "host" : {
7aacca6f
DM
9498 "type" : "string"
9499 },
7aacca6f
DM
9500 "password" : {
9501 "type" : "string"
9502 },
44660702 9503 "proxy" : {
7aacca6f
DM
9504 "type" : "string"
9505 },
44660702
DM
9506 "tls-port" : {
9507 "type" : "integer"
9508 },
9509 "type" : {
7aacca6f
DM
9510 "type" : "string"
9511 }
44660702 9512 }
7aacca6f
DM
9513 }
9514 }
9515 },
44660702
DM
9516 "leaf" : 1,
9517 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
9518 "text" : "spiceproxy"
9519 },
9520 {
56122987
DM
9521 "children" : [
9522 {
56122987
DM
9523 "info" : {
9524 "GET" : {
44660702
DM
9525 "description" : "Get virtual machine status.",
9526 "method" : "GET",
9527 "name" : "vm_status",
56122987 9528 "parameters" : {
44660702 9529 "additionalProperties" : 0,
56122987 9530 "properties" : {
44660702
DM
9531 "node" : {
9532 "description" : "The cluster node name.",
9533 "format" : "pve-node",
013dc89f
DM
9534 "type" : "string",
9535 "typetext" : "<string>"
44660702 9536 },
56122987 9537 "vmid" : {
44660702 9538 "description" : "The (unique) ID of the VM.",
7aacca6f 9539 "format" : "pve-vmid",
56122987 9540 "minimum" : 1,
4bd7df8b 9541 "type" : "integer",
013dc89f 9542 "typetext" : "<integer> (1 - N)"
56122987 9543 }
44660702 9544 }
56122987
DM
9545 },
9546 "permissions" : {
9547 "check" : [
9548 "perm",
9549 "/vms/{vmid}",
9550 [
9551 "VM.Audit"
9552 ]
9553 ]
9554 },
44660702 9555 "protected" : 1,
7aacca6f 9556 "proxyto" : "node",
56122987
DM
9557 "returns" : {
9558 "type" : "object"
7aacca6f 9559 }
56122987 9560 }
7aacca6f 9561 },
7aacca6f 9562 "leaf" : 1,
44660702
DM
9563 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
9564 "text" : "current"
56122987
DM
9565 },
9566 {
56122987
DM
9567 "info" : {
9568 "POST" : {
44660702 9569 "description" : "Start virtual machine.",
56122987 9570 "method" : "POST",
44660702 9571 "name" : "vm_start",
56122987 9572 "parameters" : {
44660702 9573 "additionalProperties" : 0,
56122987 9574 "properties" : {
44660702
DM
9575 "machine" : {
9576 "description" : "Specific the Qemu machine type.",
9577 "maxLength" : 40,
9578 "optional" : 1,
9579 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
9580 "type" : "string"
9581 },
9582 "migratedfrom" : {
9583 "description" : "The cluster node name.",
9584 "format" : "pve-node",
56122987 9585 "optional" : 1,
013dc89f
DM
9586 "type" : "string",
9587 "typetext" : "<string>"
56122987 9588 },
de0983cb
DM
9589 "migration_network" : {
9590 "description" : "CIDR of the (sub) network that is used for migration.",
9591 "format" : "CIDR",
9592 "optional" : 1,
013dc89f
DM
9593 "type" : "string",
9594 "typetext" : "<string>"
de0983cb
DM
9595 },
9596 "migration_type" : {
9597 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
9598 "enum" : [
9599 "secure",
9600 "insecure"
9601 ],
9602 "optional" : 1,
9603 "type" : "string"
9604 },
7aacca6f 9605 "node" : {
7aacca6f 9606 "description" : "The cluster node name.",
44660702 9607 "format" : "pve-node",
013dc89f
DM
9608 "type" : "string",
9609 "typetext" : "<string>"
7aacca6f 9610 },
44660702
DM
9611 "skiplock" : {
9612 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9613 "optional" : 1,
013dc89f
DM
9614 "type" : "boolean",
9615 "typetext" : "<boolean>"
56122987 9616 },
44660702
DM
9617 "stateuri" : {
9618 "description" : "Some command save/restore state from this location.",
9619 "maxLength" : 128,
56122987 9620 "optional" : 1,
013dc89f
DM
9621 "type" : "string",
9622 "typetext" : "<string>"
56122987
DM
9623 },
9624 "vmid" : {
7aacca6f 9625 "description" : "The (unique) ID of the VM.",
44660702
DM
9626 "format" : "pve-vmid",
9627 "minimum" : 1,
4bd7df8b 9628 "type" : "integer",
013dc89f 9629 "typetext" : "<integer> (1 - N)"
56122987 9630 }
44660702 9631 }
7aacca6f 9632 },
56122987
DM
9633 "permissions" : {
9634 "check" : [
9635 "perm",
9636 "/vms/{vmid}",
9637 [
9638 "VM.PowerMgmt"
9639 ]
9640 ]
44660702
DM
9641 },
9642 "protected" : 1,
9643 "proxyto" : "node",
9644 "returns" : {
9645 "type" : "string"
56122987
DM
9646 }
9647 }
44660702
DM
9648 },
9649 "leaf" : 1,
9650 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
9651 "text" : "start"
56122987
DM
9652 },
9653 {
56122987
DM
9654 "info" : {
9655 "POST" : {
7aacca6f 9656 "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
9657 "method" : "POST",
9658 "name" : "vm_stop",
56122987 9659 "parameters" : {
44660702 9660 "additionalProperties" : 0,
56122987 9661 "properties" : {
44660702
DM
9662 "keepActive" : {
9663 "default" : 0,
de0983cb 9664 "description" : "Do not deactivate storage volumes.",
56122987 9665 "optional" : 1,
013dc89f
DM
9666 "type" : "boolean",
9667 "typetext" : "<boolean>"
56122987
DM
9668 },
9669 "migratedfrom" : {
56122987 9670 "description" : "The cluster node name.",
44660702 9671 "format" : "pve-node",
7aacca6f 9672 "optional" : 1,
013dc89f
DM
9673 "type" : "string",
9674 "typetext" : "<string>"
7aacca6f 9675 },
44660702
DM
9676 "node" : {
9677 "description" : "The cluster node name.",
9678 "format" : "pve-node",
013dc89f
DM
9679 "type" : "string",
9680 "typetext" : "<string>"
56122987
DM
9681 },
9682 "skiplock" : {
9683 "description" : "Ignore locks - only root is allowed to use this option.",
9684 "optional" : 1,
013dc89f
DM
9685 "type" : "boolean",
9686 "typetext" : "<boolean>"
56122987 9687 },
44660702
DM
9688 "timeout" : {
9689 "description" : "Wait maximal timeout seconds.",
9690 "minimum" : 0,
56122987 9691 "optional" : 1,
4bd7df8b 9692 "type" : "integer",
013dc89f 9693 "typetext" : "<integer> (0 - N)"
7aacca6f 9694 },
44660702
DM
9695 "vmid" : {
9696 "description" : "The (unique) ID of the VM.",
9697 "format" : "pve-vmid",
9698 "minimum" : 1,
4bd7df8b 9699 "type" : "integer",
013dc89f 9700 "typetext" : "<integer> (1 - N)"
56122987 9701 }
44660702 9702 }
56122987 9703 },
56122987
DM
9704 "permissions" : {
9705 "check" : [
9706 "perm",
9707 "/vms/{vmid}",
9708 [
9709 "VM.PowerMgmt"
9710 ]
9711 ]
9712 },
44660702
DM
9713 "protected" : 1,
9714 "proxyto" : "node",
7aacca6f
DM
9715 "returns" : {
9716 "type" : "string"
44660702
DM
9717 }
9718 }
9719 },
9720 "leaf" : 1,
9721 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
9722 "text" : "stop"
9723 },
9724 {
9725 "info" : {
9726 "POST" : {
9727 "description" : "Reset virtual machine.",
9728 "method" : "POST",
9729 "name" : "vm_reset",
56122987 9730 "parameters" : {
7aacca6f 9731 "additionalProperties" : 0,
56122987 9732 "properties" : {
56122987
DM
9733 "node" : {
9734 "description" : "The cluster node name.",
44660702 9735 "format" : "pve-node",
013dc89f
DM
9736 "type" : "string",
9737 "typetext" : "<string>"
56122987
DM
9738 },
9739 "skiplock" : {
44660702 9740 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 9741 "optional" : 1,
013dc89f
DM
9742 "type" : "boolean",
9743 "typetext" : "<boolean>"
7aacca6f
DM
9744 },
9745 "vmid" : {
44660702 9746 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9747 "format" : "pve-vmid",
9748 "minimum" : 1,
4bd7df8b 9749 "type" : "integer",
013dc89f 9750 "typetext" : "<integer> (1 - N)"
56122987 9751 }
7aacca6f 9752 }
56122987 9753 },
7aacca6f
DM
9754 "permissions" : {
9755 "check" : [
9756 "perm",
9757 "/vms/{vmid}",
9758 [
9759 "VM.PowerMgmt"
9760 ]
9761 ]
9762 },
44660702 9763 "protected" : 1,
7aacca6f 9764 "proxyto" : "node",
56122987
DM
9765 "returns" : {
9766 "type" : "string"
44660702
DM
9767 }
9768 }
9769 },
9770 "leaf" : 1,
9771 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
9772 "text" : "reset"
9773 },
9774 {
9775 "info" : {
9776 "POST" : {
9777 "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.",
9778 "method" : "POST",
56122987 9779 "name" : "vm_shutdown",
56122987 9780 "parameters" : {
7aacca6f 9781 "additionalProperties" : 0,
56122987 9782 "properties" : {
56122987 9783 "forceStop" : {
56122987 9784 "default" : 0,
44660702 9785 "description" : "Make sure the VM stops.",
7aacca6f 9786 "optional" : 1,
013dc89f
DM
9787 "type" : "boolean",
9788 "typetext" : "<boolean>"
56122987
DM
9789 },
9790 "keepActive" : {
7aacca6f 9791 "default" : 0,
de0983cb 9792 "description" : "Do not deactivate storage volumes.",
44660702 9793 "optional" : 1,
013dc89f
DM
9794 "type" : "boolean",
9795 "typetext" : "<boolean>"
44660702
DM
9796 },
9797 "node" : {
9798 "description" : "The cluster node name.",
9799 "format" : "pve-node",
013dc89f
DM
9800 "type" : "string",
9801 "typetext" : "<string>"
44660702
DM
9802 },
9803 "skiplock" : {
9804 "description" : "Ignore locks - only root is allowed to use this option.",
9805 "optional" : 1,
013dc89f
DM
9806 "type" : "boolean",
9807 "typetext" : "<boolean>"
56122987 9808 },
7aacca6f 9809 "timeout" : {
7aacca6f 9810 "description" : "Wait maximal timeout seconds.",
44660702 9811 "minimum" : 0,
7aacca6f 9812 "optional" : 1,
4bd7df8b 9813 "type" : "integer",
013dc89f 9814 "typetext" : "<integer> (0 - N)"
7aacca6f 9815 },
56122987 9816 "vmid" : {
7aacca6f 9817 "description" : "The (unique) ID of the VM.",
44660702
DM
9818 "format" : "pve-vmid",
9819 "minimum" : 1,
4bd7df8b 9820 "type" : "integer",
013dc89f 9821 "typetext" : "<integer> (1 - N)"
56122987 9822 }
7aacca6f 9823 }
56122987 9824 },
44660702
DM
9825 "permissions" : {
9826 "check" : [
9827 "perm",
9828 "/vms/{vmid}",
9829 [
9830 "VM.PowerMgmt"
9831 ]
9832 ]
9833 },
7aacca6f 9834 "protected" : 1,
44660702
DM
9835 "proxyto" : "node",
9836 "returns" : {
9837 "type" : "string"
9838 }
56122987
DM
9839 }
9840 },
44660702 9841 "leaf" : 1,
7aacca6f 9842 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 9843 "text" : "shutdown"
56122987
DM
9844 },
9845 {
56122987
DM
9846 "info" : {
9847 "POST" : {
44660702 9848 "description" : "Suspend virtual machine.",
56122987 9849 "method" : "POST",
44660702 9850 "name" : "vm_suspend",
7aacca6f 9851 "parameters" : {
44660702 9852 "additionalProperties" : 0,
7aacca6f
DM
9853 "properties" : {
9854 "node" : {
7aacca6f 9855 "description" : "The cluster node name.",
44660702 9856 "format" : "pve-node",
013dc89f
DM
9857 "type" : "string",
9858 "typetext" : "<string>"
7aacca6f
DM
9859 },
9860 "skiplock" : {
9861 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9862 "optional" : 1,
013dc89f
DM
9863 "type" : "boolean",
9864 "typetext" : "<boolean>"
44660702
DM
9865 },
9866 "vmid" : {
9867 "description" : "The (unique) ID of the VM.",
9868 "format" : "pve-vmid",
9869 "minimum" : 1,
4bd7df8b 9870 "type" : "integer",
013dc89f 9871 "typetext" : "<integer> (1 - N)"
44660702
DM
9872 }
9873 }
56122987
DM
9874 },
9875 "permissions" : {
9876 "check" : [
9877 "perm",
9878 "/vms/{vmid}",
9879 [
9880 "VM.PowerMgmt"
9881 ]
9882 ]
9883 },
44660702
DM
9884 "protected" : 1,
9885 "proxyto" : "node",
9886 "returns" : {
9887 "type" : "string"
9888 }
56122987
DM
9889 }
9890 },
44660702 9891 "leaf" : 1,
7aacca6f 9892 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 9893 "text" : "suspend"
56122987
DM
9894 },
9895 {
56122987
DM
9896 "info" : {
9897 "POST" : {
44660702
DM
9898 "description" : "Resume virtual machine.",
9899 "method" : "POST",
7aacca6f 9900 "name" : "vm_resume",
56122987
DM
9901 "parameters" : {
9902 "additionalProperties" : 0,
9903 "properties" : {
44660702
DM
9904 "nocheck" : {
9905 "optional" : 1,
013dc89f
DM
9906 "type" : "boolean",
9907 "typetext" : "<boolean>"
44660702 9908 },
7aacca6f 9909 "node" : {
44660702 9910 "description" : "The cluster node name.",
7aacca6f 9911 "format" : "pve-node",
013dc89f
DM
9912 "type" : "string",
9913 "typetext" : "<string>"
56122987
DM
9914 },
9915 "skiplock" : {
56122987 9916 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9917 "optional" : 1,
013dc89f
DM
9918 "type" : "boolean",
9919 "typetext" : "<boolean>"
56122987 9920 },
7aacca6f 9921 "vmid" : {
7aacca6f
DM
9922 "description" : "The (unique) ID of the VM.",
9923 "format" : "pve-vmid",
44660702 9924 "minimum" : 1,
4bd7df8b 9925 "type" : "integer",
013dc89f 9926 "typetext" : "<integer> (1 - N)"
56122987
DM
9927 }
9928 }
9929 },
9930 "permissions" : {
9931 "check" : [
9932 "perm",
9933 "/vms/{vmid}",
9934 [
9935 "VM.PowerMgmt"
9936 ]
9937 ]
9938 },
44660702
DM
9939 "protected" : 1,
9940 "proxyto" : "node",
56122987
DM
9941 "returns" : {
9942 "type" : "string"
7aacca6f 9943 }
56122987
DM
9944 }
9945 },
44660702
DM
9946 "leaf" : 1,
9947 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 9948 "text" : "resume"
56122987
DM
9949 }
9950 ],
9951 "info" : {
44660702
DM
9952 "GET" : {
9953 "description" : "Directory index",
9954 "method" : "GET",
9955 "name" : "vmcmdidx",
56122987 9956 "parameters" : {
44660702 9957 "additionalProperties" : 0,
56122987 9958 "properties" : {
44660702
DM
9959 "node" : {
9960 "description" : "The cluster node name.",
9961 "format" : "pve-node",
013dc89f
DM
9962 "type" : "string",
9963 "typetext" : "<string>"
7aacca6f 9964 },
56122987 9965 "vmid" : {
7aacca6f 9966 "description" : "The (unique) ID of the VM.",
44660702
DM
9967 "format" : "pve-vmid",
9968 "minimum" : 1,
4bd7df8b 9969 "type" : "integer",
013dc89f 9970 "typetext" : "<integer> (1 - N)"
56122987 9971 }
44660702 9972 }
56122987 9973 },
44660702
DM
9974 "permissions" : {
9975 "user" : "all"
9976 },
9977 "proxyto" : "node",
9978 "returns" : {
9979 "items" : {
9980 "properties" : {
9981 "subdir" : {
9982 "type" : "string"
9983 }
9984 },
9985 "type" : "object"
9986 },
9987 "links" : [
9988 {
9989 "href" : "{subdir}",
9990 "rel" : "child"
9991 }
9992 ],
9993 "type" : "array"
9994 }
56122987 9995 }
7aacca6f 9996 },
44660702
DM
9997 "leaf" : 0,
9998 "path" : "/nodes/{node}/qemu/{vmid}/status",
9999 "text" : "status"
56122987
DM
10000 },
10001 {
56122987 10002 "info" : {
44660702
DM
10003 "PUT" : {
10004 "description" : "Send key event to virtual machine.",
10005 "method" : "PUT",
10006 "name" : "vm_sendkey",
10007 "parameters" : {
10008 "additionalProperties" : 0,
56122987 10009 "properties" : {
44660702
DM
10010 "key" : {
10011 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
10012 "type" : "string",
10013 "typetext" : "<string>"
44660702
DM
10014 },
10015 "node" : {
10016 "description" : "The cluster node name.",
10017 "format" : "pve-node",
013dc89f
DM
10018 "type" : "string",
10019 "typetext" : "<string>"
44660702
DM
10020 },
10021 "skiplock" : {
10022 "description" : "Ignore locks - only root is allowed to use this option.",
10023 "optional" : 1,
013dc89f
DM
10024 "type" : "boolean",
10025 "typetext" : "<boolean>"
7aacca6f 10026 },
44660702
DM
10027 "vmid" : {
10028 "description" : "The (unique) ID of the VM.",
10029 "format" : "pve-vmid",
10030 "minimum" : 1,
4bd7df8b 10031 "type" : "integer",
013dc89f 10032 "typetext" : "<integer> (1 - N)"
56122987 10033 }
7aacca6f 10034 }
56122987 10035 },
56122987
DM
10036 "permissions" : {
10037 "check" : [
10038 "perm",
10039 "/vms/{vmid}",
10040 [
44660702 10041 "VM.Console"
56122987
DM
10042 ]
10043 ]
10044 },
7aacca6f 10045 "protected" : 1,
44660702
DM
10046 "proxyto" : "node",
10047 "returns" : {
10048 "type" : "null"
10049 }
10050 }
10051 },
10052 "leaf" : 1,
10053 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
10054 "text" : "sendkey"
10055 },
10056 {
10057 "info" : {
10058 "GET" : {
10059 "description" : "Check if feature for virtual machine is available.",
10060 "method" : "GET",
7aacca6f 10061 "name" : "vm_feature",
56122987 10062 "parameters" : {
44660702 10063 "additionalProperties" : 0,
56122987 10064 "properties" : {
56122987 10065 "feature" : {
44660702 10066 "description" : "Feature to check.",
56122987
DM
10067 "enum" : [
10068 "snapshot",
10069 "clone",
10070 "copy"
10071 ],
44660702
DM
10072 "type" : "string"
10073 },
10074 "node" : {
10075 "description" : "The cluster node name.",
10076 "format" : "pve-node",
013dc89f
DM
10077 "type" : "string",
10078 "typetext" : "<string>"
56122987
DM
10079 },
10080 "snapname" : {
56122987 10081 "description" : "The name of the snapshot.",
44660702
DM
10082 "format" : "pve-configid",
10083 "maxLength" : 40,
7aacca6f 10084 "optional" : 1,
013dc89f
DM
10085 "type" : "string",
10086 "typetext" : "<string>"
7aacca6f 10087 },
44660702
DM
10088 "vmid" : {
10089 "description" : "The (unique) ID of the VM.",
10090 "format" : "pve-vmid",
10091 "minimum" : 1,
4bd7df8b 10092 "type" : "integer",
013dc89f 10093 "typetext" : "<integer> (1 - N)"
44660702
DM
10094 }
10095 }
10096 },
10097 "permissions" : {
10098 "check" : [
10099 "perm",
10100 "/vms/{vmid}",
10101 [
10102 "VM.Audit"
10103 ]
10104 ]
10105 },
10106 "protected" : 1,
10107 "proxyto" : "node",
10108 "returns" : {
10109 "properties" : {
10110 "hasFeature" : {
10111 "type" : "boolean"
10112 },
10113 "nodes" : {
10114 "items" : {
10115 "type" : "string"
10116 },
10117 "type" : "array"
56122987
DM
10118 }
10119 },
44660702 10120 "type" : "object"
56122987
DM
10121 }
10122 }
10123 },
7aacca6f 10124 "leaf" : 1,
44660702
DM
10125 "path" : "/nodes/{node}/qemu/{vmid}/feature",
10126 "text" : "feature"
56122987
DM
10127 },
10128 {
56122987
DM
10129 "info" : {
10130 "POST" : {
44660702 10131 "description" : "Create a copy of virtual machine/template.",
56122987 10132 "method" : "POST",
7aacca6f 10133 "name" : "clone_vm",
56122987
DM
10134 "parameters" : {
10135 "additionalProperties" : 0,
10136 "properties" : {
44660702
DM
10137 "description" : {
10138 "description" : "Description for the new VM.",
56122987 10139 "optional" : 1,
013dc89f
DM
10140 "type" : "string",
10141 "typetext" : "<string>"
56122987 10142 },
44660702
DM
10143 "format" : {
10144 "description" : "Target format for file storage.",
10145 "enum" : [
10146 "raw",
10147 "qcow2",
10148 "vmdk"
10149 ],
10150 "optional" : 1,
10151 "requires" : "full",
56122987
DM
10152 "type" : "string"
10153 },
44660702
DM
10154 "full" : {
10155 "default" : 0,
10156 "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 10157 "optional" : 1,
013dc89f
DM
10158 "type" : "boolean",
10159 "typetext" : "<boolean>"
44660702
DM
10160 },
10161 "name" : {
56122987 10162 "description" : "Set a name for the new VM.",
44660702
DM
10163 "format" : "dns-name",
10164 "optional" : 1,
013dc89f
DM
10165 "type" : "string",
10166 "typetext" : "<string>"
44660702
DM
10167 },
10168 "newid" : {
10169 "description" : "VMID for the clone.",
10170 "format" : "pve-vmid",
10171 "minimum" : 1,
4bd7df8b 10172 "type" : "integer",
013dc89f 10173 "typetext" : "<integer> (1 - N)"
44660702
DM
10174 },
10175 "node" : {
10176 "description" : "The cluster node name.",
10177 "format" : "pve-node",
013dc89f
DM
10178 "type" : "string",
10179 "typetext" : "<string>"
7aacca6f
DM
10180 },
10181 "pool" : {
10182 "description" : "Add the new VM to the specified pool.",
44660702 10183 "format" : "pve-poolid",
56122987 10184 "optional" : 1,
013dc89f
DM
10185 "type" : "string",
10186 "typetext" : "<string>"
56122987 10187 },
44660702
DM
10188 "snapname" : {
10189 "description" : "The name of the snapshot.",
10190 "format" : "pve-configid",
10191 "maxLength" : 40,
7aacca6f 10192 "optional" : 1,
013dc89f
DM
10193 "type" : "string",
10194 "typetext" : "<string>"
56122987 10195 },
44660702
DM
10196 "storage" : {
10197 "description" : "Target storage for full clone.",
10198 "format" : "pve-storage-id",
7aacca6f 10199 "optional" : 1,
44660702 10200 "requires" : "full",
013dc89f
DM
10201 "type" : "string",
10202 "typetext" : "<string>"
56122987 10203 },
44660702
DM
10204 "target" : {
10205 "description" : "Target node. Only allowed if the original VM is on shared storage.",
10206 "format" : "pve-node",
56122987 10207 "optional" : 1,
013dc89f
DM
10208 "type" : "string",
10209 "typetext" : "<string>"
44660702
DM
10210 },
10211 "vmid" : {
10212 "description" : "The (unique) ID of the VM.",
10213 "format" : "pve-vmid",
10214 "minimum" : 1,
4bd7df8b 10215 "type" : "integer",
013dc89f 10216 "typetext" : "<integer> (1 - N)"
56122987
DM
10217 }
10218 }
10219 },
56122987
DM
10220 "permissions" : {
10221 "check" : [
10222 "and",
10223 [
10224 "perm",
10225 "/vms/{vmid}",
10226 [
10227 "VM.Clone"
10228 ]
10229 ],
10230 [
10231 "or",
10232 [
10233 "perm",
10234 "/vms/{newid}",
10235 [
10236 "VM.Allocate"
10237 ]
10238 ],
10239 [
10240 "perm",
10241 "/pool/{pool}",
10242 [
10243 "VM.Allocate"
10244 ],
10245 "require_param",
10246 "pool"
10247 ]
10248 ]
44660702
DM
10249 ],
10250 "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."
10251 },
10252 "protected" : 1,
10253 "proxyto" : "node",
10254 "returns" : {
10255 "type" : "string"
56122987
DM
10256 }
10257 }
10258 },
44660702
DM
10259 "leaf" : 1,
10260 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
10261 "text" : "clone"
10262 },
10263 {
56122987
DM
10264 "info" : {
10265 "POST" : {
7aacca6f 10266 "description" : "Move volume to different storage.",
44660702
DM
10267 "method" : "POST",
10268 "name" : "move_vm_disk",
56122987
DM
10269 "parameters" : {
10270 "additionalProperties" : 0,
10271 "properties" : {
10272 "delete" : {
44660702 10273 "default" : 0,
56122987 10274 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 10275 "optional" : 1,
013dc89f
DM
10276 "type" : "boolean",
10277 "typetext" : "<boolean>"
56122987 10278 },
44660702
DM
10279 "digest" : {
10280 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10281 "maxLength" : 40,
10282 "optional" : 1,
013dc89f
DM
10283 "type" : "string",
10284 "typetext" : "<string>"
56122987 10285 },
56122987 10286 "disk" : {
56122987
DM
10287 "description" : "The disk you want to move.",
10288 "enum" : [
10289 "ide0",
10290 "ide1",
10291 "ide2",
10292 "ide3",
10293 "scsi0",
10294 "scsi1",
10295 "scsi2",
10296 "scsi3",
10297 "scsi4",
10298 "scsi5",
10299 "scsi6",
10300 "scsi7",
10301 "scsi8",
10302 "scsi9",
10303 "scsi10",
10304 "scsi11",
10305 "scsi12",
10306 "scsi13",
10307 "virtio0",
10308 "virtio1",
10309 "virtio2",
10310 "virtio3",
10311 "virtio4",
10312 "virtio5",
10313 "virtio6",
10314 "virtio7",
10315 "virtio8",
10316 "virtio9",
10317 "virtio10",
10318 "virtio11",
10319 "virtio12",
10320 "virtio13",
10321 "virtio14",
10322 "virtio15",
10323 "sata0",
10324 "sata1",
10325 "sata2",
10326 "sata3",
10327 "sata4",
2c0dde61
DM
10328 "sata5",
10329 "efidisk0"
44660702
DM
10330 ],
10331 "type" : "string"
7aacca6f
DM
10332 },
10333 "format" : {
10334 "description" : "Target Format.",
10335 "enum" : [
10336 "raw",
10337 "qcow2",
10338 "vmdk"
10339 ],
10340 "optional" : 1,
10341 "type" : "string"
44660702
DM
10342 },
10343 "node" : {
10344 "description" : "The cluster node name.",
10345 "format" : "pve-node",
013dc89f
DM
10346 "type" : "string",
10347 "typetext" : "<string>"
44660702
DM
10348 },
10349 "storage" : {
10350 "description" : "Target storage.",
10351 "format" : "pve-storage-id",
013dc89f
DM
10352 "type" : "string",
10353 "typetext" : "<string>"
44660702
DM
10354 },
10355 "vmid" : {
10356 "description" : "The (unique) ID of the VM.",
10357 "format" : "pve-vmid",
10358 "minimum" : 1,
4bd7df8b 10359 "type" : "integer",
013dc89f 10360 "typetext" : "<integer> (1 - N)"
56122987
DM
10361 }
10362 }
10363 },
44660702
DM
10364 "permissions" : {
10365 "check" : [
10366 "and",
10367 [
10368 "perm",
10369 "/vms/{vmid}",
10370 [
10371 "VM.Config.Disk"
10372 ]
10373 ],
10374 [
10375 "perm",
10376 "/storage/{storage}",
10377 [
10378 "Datastore.AllocateSpace"
10379 ]
10380 ]
10381 ],
10382 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10383 },
10384 "protected" : 1,
10385 "proxyto" : "node",
10386 "returns" : {
10387 "description" : "the task ID.",
10388 "type" : "string"
10389 }
56122987 10390 }
7aacca6f 10391 },
44660702 10392 "leaf" : 1,
7aacca6f 10393 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10394 "text" : "move_disk"
56122987
DM
10395 },
10396 {
56122987
DM
10397 "info" : {
10398 "POST" : {
7aacca6f 10399 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 10400 "method" : "POST",
7aacca6f 10401 "name" : "migrate_vm",
56122987 10402 "parameters" : {
44660702 10403 "additionalProperties" : 0,
56122987 10404 "properties" : {
44660702
DM
10405 "force" : {
10406 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
10407 "optional" : 1,
013dc89f
DM
10408 "type" : "boolean",
10409 "typetext" : "<boolean>"
44660702 10410 },
de0983cb
DM
10411 "migration_network" : {
10412 "description" : "CIDR of the (sub) network that is used for migration.",
10413 "format" : "CIDR",
10414 "optional" : 1,
013dc89f
DM
10415 "type" : "string",
10416 "typetext" : "<string>"
de0983cb
DM
10417 },
10418 "migration_type" : {
10419 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10420 "enum" : [
10421 "secure",
10422 "insecure"
10423 ],
10424 "optional" : 1,
10425 "type" : "string"
10426 },
7aacca6f 10427 "node" : {
44660702 10428 "description" : "The cluster node name.",
7aacca6f 10429 "format" : "pve-node",
013dc89f
DM
10430 "type" : "string",
10431 "typetext" : "<string>"
56122987
DM
10432 },
10433 "online" : {
44660702 10434 "description" : "Use online/live migration.",
56122987 10435 "optional" : 1,
013dc89f
DM
10436 "type" : "boolean",
10437 "typetext" : "<boolean>"
56122987 10438 },
44660702
DM
10439 "target" : {
10440 "description" : "Target node.",
10441 "format" : "pve-node",
013dc89f
DM
10442 "type" : "string",
10443 "typetext" : "<string>"
56122987 10444 },
7aacca6f 10445 "vmid" : {
7aacca6f 10446 "description" : "The (unique) ID of the VM.",
44660702 10447 "format" : "pve-vmid",
7aacca6f 10448 "minimum" : 1,
4bd7df8b 10449 "type" : "integer",
013dc89f 10450 "typetext" : "<integer> (1 - N)"
56122987 10451 }
44660702
DM
10452 }
10453 },
10454 "permissions" : {
10455 "check" : [
10456 "perm",
10457 "/vms/{vmid}",
10458 [
10459 "VM.Migrate"
10460 ]
10461 ]
56122987
DM
10462 },
10463 "protected" : 1,
44660702
DM
10464 "proxyto" : "node",
10465 "returns" : {
10466 "description" : "the task ID.",
10467 "type" : "string"
10468 }
56122987 10469 }
7aacca6f 10470 },
44660702
DM
10471 "leaf" : 1,
10472 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 10473 "text" : "migrate"
56122987
DM
10474 },
10475 {
10476 "info" : {
10477 "POST" : {
44660702 10478 "description" : "Execute Qemu monitor commands.",
56122987 10479 "method" : "POST",
44660702 10480 "name" : "monitor",
56122987 10481 "parameters" : {
7aacca6f 10482 "additionalProperties" : 0,
56122987 10483 "properties" : {
44660702
DM
10484 "command" : {
10485 "description" : "The monitor command.",
013dc89f
DM
10486 "type" : "string",
10487 "typetext" : "<string>"
44660702 10488 },
56122987 10489 "node" : {
44660702 10490 "description" : "The cluster node name.",
7aacca6f 10491 "format" : "pve-node",
013dc89f
DM
10492 "type" : "string",
10493 "typetext" : "<string>"
56122987
DM
10494 },
10495 "vmid" : {
44660702 10496 "description" : "The (unique) ID of the VM.",
56122987 10497 "format" : "pve-vmid",
7aacca6f 10498 "minimum" : 1,
4bd7df8b 10499 "type" : "integer",
013dc89f 10500 "typetext" : "<integer> (1 - N)"
56122987 10501 }
7aacca6f 10502 }
56122987 10503 },
56122987
DM
10504 "permissions" : {
10505 "check" : [
10506 "perm",
10507 "/vms/{vmid}",
10508 [
10509 "VM.Monitor"
10510 ]
32d876b5
DM
10511 ],
10512 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 10513 },
44660702
DM
10514 "protected" : 1,
10515 "proxyto" : "node",
10516 "returns" : {
10517 "type" : "string"
10518 }
56122987 10519 }
44660702
DM
10520 },
10521 "leaf" : 1,
10522 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
10523 "text" : "monitor"
56122987 10524 },
32d876b5
DM
10525 {
10526 "info" : {
10527 "POST" : {
10528 "description" : "Execute Qemu Guest Agent commands.",
10529 "method" : "POST",
10530 "name" : "agent",
10531 "parameters" : {
10532 "additionalProperties" : 0,
10533 "properties" : {
10534 "command" : {
10535 "description" : "The QGA command.",
10536 "enum" : [
10537 "ping",
10538 "get-time",
10539 "info",
10540 "fsfreeze-status",
10541 "fsfreeze-freeze",
10542 "fsfreeze-thaw",
10543 "fstrim",
10544 "network-get-interfaces",
10545 "get-vcpus",
10546 "get-fsinfo",
10547 "get-memory-blocks",
10548 "get-memory-block-info",
10549 "suspend-hybrid",
10550 "suspend-ram",
10551 "suspend-disk",
10552 "shutdown"
10553 ],
10554 "type" : "string"
10555 },
10556 "node" : {
10557 "description" : "The cluster node name.",
10558 "format" : "pve-node",
10559 "type" : "string",
10560 "typetext" : "<string>"
10561 },
10562 "vmid" : {
10563 "description" : "The (unique) ID of the VM.",
10564 "format" : "pve-vmid",
10565 "minimum" : 1,
10566 "type" : "integer",
10567 "typetext" : "<integer> (1 - N)"
10568 }
10569 }
10570 },
10571 "permissions" : {
10572 "check" : [
10573 "perm",
10574 "/vms/{vmid}",
10575 [
10576 "VM.Monitor"
10577 ]
10578 ]
10579 },
10580 "protected" : 1,
10581 "proxyto" : "node",
10582 "returns" : {
10583 "description" : "Returns an object with a single `result` property. The type of that\nproperty depends on the executed command.",
10584 "type" : "object"
10585 }
10586 }
10587 },
10588 "leaf" : 1,
10589 "path" : "/nodes/{node}/qemu/{vmid}/agent",
10590 "text" : "agent"
10591 },
56122987 10592 {
56122987
DM
10593 "info" : {
10594 "PUT" : {
44660702
DM
10595 "description" : "Extend volume size.",
10596 "method" : "PUT",
10597 "name" : "resize_vm",
56122987 10598 "parameters" : {
44660702 10599 "additionalProperties" : 0,
56122987 10600 "properties" : {
44660702
DM
10601 "digest" : {
10602 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10603 "maxLength" : 40,
10604 "optional" : 1,
013dc89f
DM
10605 "type" : "string",
10606 "typetext" : "<string>"
56122987 10607 },
56122987
DM
10608 "disk" : {
10609 "description" : "The disk you want to resize.",
10610 "enum" : [
10611 "ide0",
10612 "ide1",
10613 "ide2",
10614 "ide3",
10615 "scsi0",
10616 "scsi1",
10617 "scsi2",
10618 "scsi3",
10619 "scsi4",
10620 "scsi5",
10621 "scsi6",
10622 "scsi7",
10623 "scsi8",
10624 "scsi9",
10625 "scsi10",
10626 "scsi11",
10627 "scsi12",
10628 "scsi13",
10629 "virtio0",
10630 "virtio1",
10631 "virtio2",
10632 "virtio3",
10633 "virtio4",
10634 "virtio5",
10635 "virtio6",
10636 "virtio7",
10637 "virtio8",
10638 "virtio9",
10639 "virtio10",
10640 "virtio11",
10641 "virtio12",
10642 "virtio13",
10643 "virtio14",
10644 "virtio15",
10645 "sata0",
10646 "sata1",
10647 "sata2",
10648 "sata3",
10649 "sata4",
2c0dde61
DM
10650 "sata5",
10651 "efidisk0"
44660702
DM
10652 ],
10653 "type" : "string"
56122987 10654 },
44660702
DM
10655 "node" : {
10656 "description" : "The cluster node name.",
10657 "format" : "pve-node",
013dc89f
DM
10658 "type" : "string",
10659 "typetext" : "<string>"
7aacca6f 10660 },
44660702
DM
10661 "size" : {
10662 "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.",
10663 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
10664 "type" : "string"
56122987
DM
10665 },
10666 "skiplock" : {
10667 "description" : "Ignore locks - only root is allowed to use this option.",
10668 "optional" : 1,
013dc89f
DM
10669 "type" : "boolean",
10670 "typetext" : "<boolean>"
56122987
DM
10671 },
10672 "vmid" : {
7aacca6f 10673 "description" : "The (unique) ID of the VM.",
56122987 10674 "format" : "pve-vmid",
44660702 10675 "minimum" : 1,
4bd7df8b 10676 "type" : "integer",
013dc89f 10677 "typetext" : "<integer> (1 - N)"
56122987
DM
10678 }
10679 }
10680 },
10681 "permissions" : {
10682 "check" : [
10683 "perm",
10684 "/vms/{vmid}",
10685 [
44660702 10686 "VM.Config.Disk"
56122987
DM
10687 ]
10688 ]
10689 },
7aacca6f 10690 "protected" : 1,
7aacca6f 10691 "proxyto" : "node",
44660702
DM
10692 "returns" : {
10693 "type" : "null"
10694 }
7aacca6f
DM
10695 }
10696 },
44660702
DM
10697 "leaf" : 1,
10698 "path" : "/nodes/{node}/qemu/{vmid}/resize",
10699 "text" : "resize"
10700 },
10701 {
56122987
DM
10702 "children" : [
10703 {
10704 "children" : [
10705 {
56122987 10706 "info" : {
44660702
DM
10707 "GET" : {
10708 "description" : "Get snapshot configuration",
10709 "method" : "GET",
10710 "name" : "get_snapshot_config",
56122987 10711 "parameters" : {
44660702 10712 "additionalProperties" : 0,
56122987 10713 "properties" : {
56122987 10714 "node" : {
44660702 10715 "description" : "The cluster node name.",
56122987 10716 "format" : "pve-node",
013dc89f
DM
10717 "type" : "string",
10718 "typetext" : "<string>"
7aacca6f
DM
10719 },
10720 "snapname" : {
44660702 10721 "description" : "The name of the snapshot.",
7aacca6f 10722 "format" : "pve-configid",
44660702 10723 "maxLength" : 40,
013dc89f
DM
10724 "type" : "string",
10725 "typetext" : "<string>"
7aacca6f
DM
10726 },
10727 "vmid" : {
44660702 10728 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10729 "format" : "pve-vmid",
10730 "minimum" : 1,
4bd7df8b 10731 "type" : "integer",
013dc89f 10732 "typetext" : "<integer> (1 - N)"
56122987 10733 }
44660702 10734 }
56122987
DM
10735 },
10736 "permissions" : {
10737 "check" : [
10738 "perm",
10739 "/vms/{vmid}",
10740 [
10741 "VM.Snapshot"
10742 ]
10743 ]
10744 },
44660702 10745 "proxyto" : "node",
56122987 10746 "returns" : {
44660702 10747 "type" : "object"
7aacca6f
DM
10748 }
10749 },
44660702
DM
10750 "PUT" : {
10751 "description" : "Update snapshot metadata.",
10752 "method" : "PUT",
10753 "name" : "update_snapshot_config",
56122987 10754 "parameters" : {
44660702 10755 "additionalProperties" : 0,
56122987 10756 "properties" : {
44660702
DM
10757 "description" : {
10758 "description" : "A textual description or comment.",
10759 "optional" : 1,
013dc89f
DM
10760 "type" : "string",
10761 "typetext" : "<string>"
44660702 10762 },
56122987 10763 "node" : {
7aacca6f 10764 "description" : "The cluster node name.",
44660702 10765 "format" : "pve-node",
013dc89f
DM
10766 "type" : "string",
10767 "typetext" : "<string>"
56122987 10768 },
56122987
DM
10769 "snapname" : {
10770 "description" : "The name of the snapshot.",
44660702 10771 "format" : "pve-configid",
7aacca6f 10772 "maxLength" : 40,
013dc89f
DM
10773 "type" : "string",
10774 "typetext" : "<string>"
7aacca6f
DM
10775 },
10776 "vmid" : {
10777 "description" : "The (unique) ID of the VM.",
44660702 10778 "format" : "pve-vmid",
7aacca6f 10779 "minimum" : 1,
4bd7df8b 10780 "type" : "integer",
013dc89f 10781 "typetext" : "<integer> (1 - N)"
56122987 10782 }
44660702 10783 }
56122987 10784 },
7aacca6f
DM
10785 "permissions" : {
10786 "check" : [
10787 "perm",
10788 "/vms/{vmid}",
10789 [
10790 "VM.Snapshot"
10791 ]
10792 ]
44660702
DM
10793 },
10794 "protected" : 1,
10795 "proxyto" : "node",
10796 "returns" : {
10797 "type" : "null"
7aacca6f 10798 }
56122987
DM
10799 }
10800 },
44660702 10801 "leaf" : 1,
7aacca6f 10802 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 10803 "text" : "config"
56122987
DM
10804 },
10805 {
56122987
DM
10806 "info" : {
10807 "POST" : {
44660702 10808 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 10809 "method" : "POST",
44660702 10810 "name" : "rollback",
56122987
DM
10811 "parameters" : {
10812 "additionalProperties" : 0,
10813 "properties" : {
44660702
DM
10814 "node" : {
10815 "description" : "The cluster node name.",
10816 "format" : "pve-node",
013dc89f
DM
10817 "type" : "string",
10818 "typetext" : "<string>"
44660702 10819 },
56122987 10820 "snapname" : {
44660702 10821 "description" : "The name of the snapshot.",
56122987
DM
10822 "format" : "pve-configid",
10823 "maxLength" : 40,
013dc89f
DM
10824 "type" : "string",
10825 "typetext" : "<string>"
7aacca6f 10826 },
56122987 10827 "vmid" : {
7aacca6f 10828 "description" : "The (unique) ID of the VM.",
44660702 10829 "format" : "pve-vmid",
56122987 10830 "minimum" : 1,
4bd7df8b 10831 "type" : "integer",
013dc89f 10832 "typetext" : "<integer> (1 - N)"
56122987
DM
10833 }
10834 }
10835 },
7aacca6f 10836 "permissions" : {
56122987
DM
10837 "check" : [
10838 "perm",
10839 "/vms/{vmid}",
10840 [
10841 "VM.Snapshot"
10842 ]
10843 ]
10844 },
44660702 10845 "protected" : 1,
7aacca6f 10846 "proxyto" : "node",
44660702
DM
10847 "returns" : {
10848 "description" : "the task ID.",
10849 "type" : "string"
10850 }
56122987
DM
10851 }
10852 },
44660702
DM
10853 "leaf" : 1,
10854 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 10855 "text" : "rollback"
56122987 10856 }
44660702
DM
10857 ],
10858 "info" : {
10859 "DELETE" : {
10860 "description" : "Delete a VM snapshot.",
10861 "method" : "DELETE",
10862 "name" : "delsnapshot",
10863 "parameters" : {
10864 "additionalProperties" : 0,
10865 "properties" : {
10866 "force" : {
10867 "description" : "For removal from config file, even if removing disk snapshots fails.",
10868 "optional" : 1,
013dc89f
DM
10869 "type" : "boolean",
10870 "typetext" : "<boolean>"
44660702
DM
10871 },
10872 "node" : {
10873 "description" : "The cluster node name.",
10874 "format" : "pve-node",
013dc89f
DM
10875 "type" : "string",
10876 "typetext" : "<string>"
44660702
DM
10877 },
10878 "snapname" : {
10879 "description" : "The name of the snapshot.",
10880 "format" : "pve-configid",
10881 "maxLength" : 40,
013dc89f
DM
10882 "type" : "string",
10883 "typetext" : "<string>"
44660702
DM
10884 },
10885 "vmid" : {
10886 "description" : "The (unique) ID of the VM.",
10887 "format" : "pve-vmid",
10888 "minimum" : 1,
4bd7df8b 10889 "type" : "integer",
013dc89f 10890 "typetext" : "<integer> (1 - N)"
44660702
DM
10891 }
10892 }
10893 },
10894 "permissions" : {
10895 "check" : [
10896 "perm",
10897 "/vms/{vmid}",
10898 [
10899 "VM.Snapshot"
10900 ]
10901 ]
10902 },
10903 "protected" : 1,
10904 "proxyto" : "node",
10905 "returns" : {
10906 "description" : "the task ID.",
10907 "type" : "string"
10908 }
10909 },
10910 "GET" : {
10911 "description" : "",
10912 "method" : "GET",
10913 "name" : "snapshot_cmd_idx",
10914 "parameters" : {
10915 "additionalProperties" : 0,
10916 "properties" : {
10917 "node" : {
10918 "description" : "The cluster node name.",
10919 "format" : "pve-node",
013dc89f
DM
10920 "type" : "string",
10921 "typetext" : "<string>"
44660702
DM
10922 },
10923 "snapname" : {
10924 "description" : "The name of the snapshot.",
10925 "format" : "pve-configid",
10926 "maxLength" : 40,
013dc89f
DM
10927 "type" : "string",
10928 "typetext" : "<string>"
44660702
DM
10929 },
10930 "vmid" : {
10931 "description" : "The (unique) ID of the VM.",
10932 "format" : "pve-vmid",
10933 "minimum" : 1,
4bd7df8b 10934 "type" : "integer",
013dc89f 10935 "typetext" : "<integer> (1 - N)"
44660702
DM
10936 }
10937 }
10938 },
10939 "permissions" : {
10940 "user" : "all"
10941 },
10942 "returns" : {
10943 "items" : {
10944 "properties" : {},
10945 "type" : "object"
10946 },
10947 "links" : [
10948 {
10949 "href" : "{cmd}",
10950 "rel" : "child"
10951 }
10952 ],
10953 "type" : "array"
10954 }
10955 }
10956 },
10957 "leaf" : 0,
10958 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
10959 "text" : "{snapname}"
56122987
DM
10960 }
10961 ],
44660702
DM
10962 "info" : {
10963 "GET" : {
10964 "description" : "List all snapshots.",
10965 "method" : "GET",
10966 "name" : "snapshot_list",
10967 "parameters" : {
10968 "additionalProperties" : 0,
10969 "properties" : {
10970 "node" : {
10971 "description" : "The cluster node name.",
10972 "format" : "pve-node",
013dc89f
DM
10973 "type" : "string",
10974 "typetext" : "<string>"
44660702
DM
10975 },
10976 "vmid" : {
10977 "description" : "The (unique) ID of the VM.",
10978 "format" : "pve-vmid",
10979 "minimum" : 1,
4bd7df8b 10980 "type" : "integer",
013dc89f 10981 "typetext" : "<integer> (1 - N)"
44660702
DM
10982 }
10983 }
10984 },
10985 "permissions" : {
10986 "check" : [
10987 "perm",
10988 "/vms/{vmid}",
10989 [
10990 "VM.Audit"
10991 ]
10992 ]
10993 },
10994 "protected" : 1,
10995 "proxyto" : "node",
10996 "returns" : {
10997 "items" : {
10998 "properties" : {},
10999 "type" : "object"
11000 },
11001 "links" : [
11002 {
11003 "href" : "{name}",
11004 "rel" : "child"
11005 }
11006 ],
11007 "type" : "array"
11008 }
11009 },
11010 "POST" : {
11011 "description" : "Snapshot a VM.",
11012 "method" : "POST",
11013 "name" : "snapshot",
11014 "parameters" : {
11015 "additionalProperties" : 0,
11016 "properties" : {
11017 "description" : {
11018 "description" : "A textual description or comment.",
11019 "optional" : 1,
013dc89f
DM
11020 "type" : "string",
11021 "typetext" : "<string>"
44660702
DM
11022 },
11023 "node" : {
11024 "description" : "The cluster node name.",
11025 "format" : "pve-node",
013dc89f
DM
11026 "type" : "string",
11027 "typetext" : "<string>"
44660702
DM
11028 },
11029 "snapname" : {
11030 "description" : "The name of the snapshot.",
11031 "format" : "pve-configid",
11032 "maxLength" : 40,
013dc89f
DM
11033 "type" : "string",
11034 "typetext" : "<string>"
44660702
DM
11035 },
11036 "vmid" : {
11037 "description" : "The (unique) ID of the VM.",
11038 "format" : "pve-vmid",
11039 "minimum" : 1,
4bd7df8b 11040 "type" : "integer",
013dc89f 11041 "typetext" : "<integer> (1 - N)"
44660702
DM
11042 },
11043 "vmstate" : {
11044 "description" : "Save the vmstate",
11045 "optional" : 1,
013dc89f
DM
11046 "type" : "boolean",
11047 "typetext" : "<boolean>"
44660702
DM
11048 }
11049 }
11050 },
11051 "permissions" : {
11052 "check" : [
11053 "perm",
11054 "/vms/{vmid}",
11055 [
11056 "VM.Snapshot"
11057 ]
11058 ]
11059 },
11060 "protected" : 1,
11061 "proxyto" : "node",
11062 "returns" : {
11063 "description" : "the task ID.",
11064 "type" : "string"
11065 }
11066 }
11067 },
11068 "leaf" : 0,
11069 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 11070 "text" : "snapshot"
56122987
DM
11071 },
11072 {
56122987
DM
11073 "info" : {
11074 "POST" : {
44660702
DM
11075 "description" : "Create a Template.",
11076 "method" : "POST",
56122987 11077 "name" : "template",
56122987 11078 "parameters" : {
7aacca6f 11079 "additionalProperties" : 0,
56122987 11080 "properties" : {
56122987 11081 "disk" : {
56122987
DM
11082 "description" : "If you want to convert only 1 disk to base image.",
11083 "enum" : [
11084 "ide0",
11085 "ide1",
11086 "ide2",
11087 "ide3",
11088 "scsi0",
11089 "scsi1",
11090 "scsi2",
11091 "scsi3",
11092 "scsi4",
11093 "scsi5",
11094 "scsi6",
11095 "scsi7",
11096 "scsi8",
11097 "scsi9",
11098 "scsi10",
11099 "scsi11",
11100 "scsi12",
11101 "scsi13",
11102 "virtio0",
11103 "virtio1",
11104 "virtio2",
11105 "virtio3",
11106 "virtio4",
11107 "virtio5",
11108 "virtio6",
11109 "virtio7",
11110 "virtio8",
11111 "virtio9",
11112 "virtio10",
11113 "virtio11",
11114 "virtio12",
11115 "virtio13",
11116 "virtio14",
11117 "virtio15",
11118 "sata0",
11119 "sata1",
11120 "sata2",
11121 "sata3",
11122 "sata4",
2c0dde61
DM
11123 "sata5",
11124 "efidisk0"
56122987 11125 ],
7aacca6f 11126 "optional" : 1,
56122987
DM
11127 "type" : "string"
11128 },
44660702
DM
11129 "node" : {
11130 "description" : "The cluster node name.",
11131 "format" : "pve-node",
013dc89f
DM
11132 "type" : "string",
11133 "typetext" : "<string>"
44660702
DM
11134 },
11135 "vmid" : {
11136 "description" : "The (unique) ID of the VM.",
7aacca6f 11137 "format" : "pve-vmid",
44660702 11138 "minimum" : 1,
4bd7df8b 11139 "type" : "integer",
013dc89f 11140 "typetext" : "<integer> (1 - N)"
56122987 11141 }
7aacca6f 11142 }
56122987 11143 },
7aacca6f
DM
11144 "permissions" : {
11145 "check" : [
11146 "perm",
11147 "/vms/{vmid}",
11148 [
11149 "VM.Allocate"
11150 ]
11151 ],
11152 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
11153 },
44660702 11154 "protected" : 1,
7aacca6f 11155 "proxyto" : "node",
7aacca6f
DM
11156 "returns" : {
11157 "type" : "null"
11158 }
56122987
DM
11159 }
11160 },
44660702 11161 "leaf" : 1,
7aacca6f 11162 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 11163 "text" : "template"
56122987
DM
11164 }
11165 ],
7aacca6f 11166 "info" : {
44660702
DM
11167 "DELETE" : {
11168 "description" : "Destroy the vm (also delete all used/owned volumes).",
11169 "method" : "DELETE",
11170 "name" : "destroy_vm",
7aacca6f 11171 "parameters" : {
44660702 11172 "additionalProperties" : 0,
7aacca6f
DM
11173 "properties" : {
11174 "node" : {
44660702 11175 "description" : "The cluster node name.",
7aacca6f 11176 "format" : "pve-node",
013dc89f
DM
11177 "type" : "string",
11178 "typetext" : "<string>"
44660702
DM
11179 },
11180 "skiplock" : {
11181 "description" : "Ignore locks - only root is allowed to use this option.",
11182 "optional" : 1,
013dc89f
DM
11183 "type" : "boolean",
11184 "typetext" : "<boolean>"
7aacca6f
DM
11185 },
11186 "vmid" : {
44660702 11187 "description" : "The (unique) ID of the VM.",
7aacca6f 11188 "format" : "pve-vmid",
44660702 11189 "minimum" : 1,
4bd7df8b 11190 "type" : "integer",
013dc89f 11191 "typetext" : "<integer> (1 - N)"
7aacca6f 11192 }
44660702 11193 }
7aacca6f 11194 },
7aacca6f
DM
11195 "permissions" : {
11196 "check" : [
11197 "perm",
11198 "/vms/{vmid}",
11199 [
11200 "VM.Allocate"
11201 ]
11202 ]
11203 },
44660702
DM
11204 "protected" : 1,
11205 "proxyto" : "node",
7aacca6f
DM
11206 "returns" : {
11207 "type" : "string"
44660702
DM
11208 }
11209 },
11210 "GET" : {
11211 "description" : "Directory index",
11212 "method" : "GET",
11213 "name" : "vmdiridx",
7aacca6f 11214 "parameters" : {
44660702 11215 "additionalProperties" : 0,
7aacca6f 11216 "properties" : {
7aacca6f 11217 "node" : {
7aacca6f 11218 "description" : "The cluster node name.",
44660702 11219 "format" : "pve-node",
013dc89f
DM
11220 "type" : "string",
11221 "typetext" : "<string>"
44660702
DM
11222 },
11223 "vmid" : {
11224 "description" : "The (unique) ID of the VM.",
11225 "format" : "pve-vmid",
11226 "minimum" : 1,
4bd7df8b 11227 "type" : "integer",
013dc89f 11228 "typetext" : "<integer> (1 - N)"
7aacca6f 11229 }
44660702 11230 }
7aacca6f 11231 },
44660702
DM
11232 "permissions" : {
11233 "user" : "all"
11234 },
11235 "proxyto" : "node",
11236 "returns" : {
11237 "items" : {
11238 "properties" : {
11239 "subdir" : {
11240 "type" : "string"
11241 }
11242 },
11243 "type" : "object"
11244 },
11245 "links" : [
11246 {
11247 "href" : "{subdir}",
11248 "rel" : "child"
11249 }
11250 ],
11251 "type" : "array"
11252 }
7aacca6f 11253 }
44660702
DM
11254 },
11255 "leaf" : 0,
11256 "path" : "/nodes/{node}/qemu/{vmid}",
11257 "text" : "{vmid}"
56122987
DM
11258 }
11259 ],
11260 "info" : {
44660702
DM
11261 "GET" : {
11262 "description" : "Virtual machine index (per node).",
11263 "method" : "GET",
11264 "name" : "vmlist",
56122987 11265 "parameters" : {
44660702 11266 "additionalProperties" : 0,
56122987 11267 "properties" : {
44660702
DM
11268 "full" : {
11269 "description" : "Determine the full status of active VMs.",
56122987 11270 "optional" : 1,
013dc89f
DM
11271 "type" : "boolean",
11272 "typetext" : "<boolean>"
56122987 11273 },
44660702
DM
11274 "node" : {
11275 "description" : "The cluster node name.",
11276 "format" : "pve-node",
013dc89f
DM
11277 "type" : "string",
11278 "typetext" : "<string>"
44660702
DM
11279 }
11280 }
11281 },
11282 "permissions" : {
11283 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
11284 "user" : "all"
11285 },
11286 "protected" : 1,
11287 "proxyto" : "node",
11288 "returns" : {
11289 "items" : {
11290 "properties" : {},
11291 "type" : "object"
11292 },
11293 "links" : [
11294 {
11295 "href" : "{vmid}",
11296 "rel" : "child"
11297 }
11298 ],
11299 "type" : "array"
11300 }
11301 },
11302 "POST" : {
11303 "description" : "Create or restore a virtual machine.",
11304 "method" : "POST",
11305 "name" : "create_vm",
11306 "parameters" : {
11307 "additionalProperties" : 0,
11308 "properties" : {
7aacca6f 11309 "acpi" : {
7aacca6f 11310 "default" : 1,
44660702 11311 "description" : "Enable/disable ACPI.",
56122987 11312 "optional" : 1,
013dc89f
DM
11313 "type" : "boolean",
11314 "typetext" : "<boolean>"
56122987 11315 },
44660702
DM
11316 "agent" : {
11317 "default" : 0,
11318 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 11319 "optional" : 1,
013dc89f
DM
11320 "type" : "boolean",
11321 "typetext" : "<boolean>"
56122987 11322 },
44660702
DM
11323 "archive" : {
11324 "description" : "The backup file.",
11325 "maxLength" : 255,
56122987 11326 "optional" : 1,
013dc89f
DM
11327 "type" : "string",
11328 "typetext" : "<string>"
56122987 11329 },
44660702 11330 "args" : {
c2993fe5 11331 "description" : "Arbitrary arguments passed to kvm.",
56122987 11332 "optional" : 1,
c2993fe5 11333 "type" : "string",
013dc89f 11334 "typetext" : "<string>",
c2993fe5 11335 "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 11336 },
44660702 11337 "autostart" : {
7aacca6f 11338 "default" : 0,
44660702
DM
11339 "description" : "Automatic restart after crash (currently ignored).",
11340 "optional" : 1,
013dc89f
DM
11341 "type" : "boolean",
11342 "typetext" : "<boolean>"
7aacca6f 11343 },
44660702
DM
11344 "balloon" : {
11345 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11346 "minimum" : 0,
56122987 11347 "optional" : 1,
4bd7df8b 11348 "type" : "integer",
013dc89f 11349 "typetext" : "<integer> (0 - N)"
56122987 11350 },
44660702
DM
11351 "bios" : {
11352 "default" : "seabios",
11353 "description" : "Select BIOS implementation.",
11354 "enum" : [
11355 "seabios",
11356 "ovmf"
11357 ],
56122987 11358 "optional" : 1,
44660702 11359 "type" : "string"
56122987 11360 },
44660702
DM
11361 "boot" : {
11362 "default" : "cdn",
11363 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 11364 "optional" : 1,
44660702
DM
11365 "pattern" : "[acdn]{1,4}",
11366 "type" : "string"
56122987 11367 },
7aacca6f
DM
11368 "bootdisk" : {
11369 "description" : "Enable booting from specified disk.",
44660702
DM
11370 "format" : "pve-qm-bootdisk",
11371 "optional" : 1,
7aacca6f 11372 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
11373 "type" : "string"
11374 },
11375 "cdrom" : {
11376 "description" : "This is an alias for option -ide2",
de0983cb 11377 "format" : "pve-qm-ide",
56122987 11378 "optional" : 1,
44660702 11379 "type" : "string",
013dc89f 11380 "typetext" : "<volume>"
56122987 11381 },
44660702
DM
11382 "cores" : {
11383 "default" : 1,
11384 "description" : "The number of cores per socket.",
7aacca6f 11385 "minimum" : 1,
44660702 11386 "optional" : 1,
4bd7df8b 11387 "type" : "integer",
013dc89f 11388 "typetext" : "<integer> (1 - N)"
7aacca6f 11389 },
44660702
DM
11390 "cpu" : {
11391 "description" : "Emulated CPU type.",
11392 "format" : {
11393 "cputype" : {
11394 "default" : "kvm64",
11395 "default_key" : 1,
11396 "description" : "Emulated CPU type.",
11397 "enum" : [
11398 "486",
11399 "athlon",
f004f5b9
DM
11400 "Broadwell",
11401 "Broadwell-noTSX",
11402 "Conroe",
44660702 11403 "core2duo",
f004f5b9
DM
11404 "coreduo",
11405 "Haswell",
11406 "Haswell-noTSX",
11407 "host",
11408 "IvyBridge",
44660702
DM
11409 "kvm32",
11410 "kvm64",
44660702 11411 "Nehalem",
44660702
DM
11412 "Opteron_G1",
11413 "Opteron_G2",
11414 "Opteron_G3",
11415 "Opteron_G4",
11416 "Opteron_G5",
f004f5b9
DM
11417 "Penryn",
11418 "pentium",
11419 "pentium2",
11420 "pentium3",
11421 "phenom",
11422 "qemu32",
11423 "qemu64",
11424 "SandyBridge",
11425 "Westmere"
44660702 11426 ],
44660702
DM
11427 "type" : "string"
11428 },
11429 "hidden" : {
11430 "default" : 0,
11431 "description" : "Do not identify as a KVM virtual machine.",
11432 "optional" : 1,
11433 "type" : "boolean"
11434 }
11435 },
56122987 11436 "optional" : 1,
4bd7df8b 11437 "type" : "string",
013dc89f 11438 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
56122987 11439 },
44660702 11440 "cpulimit" : {
7aacca6f 11441 "default" : 0,
c2993fe5 11442 "description" : "Limit of CPU usage.",
44660702
DM
11443 "maximum" : 128,
11444 "minimum" : 0,
7aacca6f 11445 "optional" : 1,
c2993fe5 11446 "type" : "number",
013dc89f 11447 "typetext" : "<number> (0 - 128)",
c2993fe5 11448 "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
11449 },
11450 "cpuunits" : {
de0983cb 11451 "default" : 1024,
c2993fe5 11452 "description" : "CPU weight for a VM.",
7aacca6f 11453 "maximum" : 500000,
44660702
DM
11454 "minimum" : 0,
11455 "optional" : 1,
c2993fe5 11456 "type" : "integer",
013dc89f 11457 "typetext" : "<integer> (0 - 500000)",
c2993fe5 11458 "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
11459 },
11460 "description" : {
11461 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 11462 "optional" : 1,
013dc89f
DM
11463 "type" : "string",
11464 "typetext" : "<string>"
44660702
DM
11465 },
11466 "force" : {
11467 "description" : "Allow to overwrite existing VM.",
11468 "optional" : 1,
11469 "requires" : "archive",
013dc89f
DM
11470 "type" : "boolean",
11471 "typetext" : "<boolean>"
44660702
DM
11472 },
11473 "freeze" : {
11474 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11475 "optional" : 1,
013dc89f
DM
11476 "type" : "boolean",
11477 "typetext" : "<boolean>"
44660702
DM
11478 },
11479 "hostpci[n]" : {
c2993fe5 11480 "description" : "Map host PCI devices into guest.",
44660702
DM
11481 "format" : "pve-qm-hostpci",
11482 "optional" : 1,
57b78691 11483 "type" : "string",
4bd7df8b 11484 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]",
57b78691 11485 "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
11486 },
11487 "hotplug" : {
11488 "default" : "network,disk,usb",
11489 "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'.",
11490 "format" : "pve-hotplug-features",
11491 "optional" : 1,
013dc89f
DM
11492 "type" : "string",
11493 "typetext" : "<string>"
7aacca6f 11494 },
4bd7df8b
DM
11495 "hugepages" : {
11496 "description" : "Enable/disable hugepages memory.",
11497 "enum" : [
11498 "any",
11499 "2",
11500 "1024"
11501 ],
11502 "optional" : 1,
11503 "type" : "string"
11504 },
7aacca6f 11505 "ide[n]" : {
44660702 11506 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 11507 "format" : {
44660702
DM
11508 "aio" : {
11509 "description" : "AIO type to use.",
11510 "enum" : [
11511 "native",
11512 "threads"
11513 ],
44660702
DM
11514 "optional" : 1,
11515 "type" : "string"
11516 },
11517 "backup" : {
11518 "description" : "Whether the drive should be included when making backups.",
44660702
DM
11519 "optional" : 1,
11520 "type" : "boolean"
11521 },
11522 "bps" : {
de0983cb 11523 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 11524 "format_description" : "bps",
56122987 11525 "optional" : 1,
44660702 11526 "type" : "integer"
56122987 11527 },
de0983cb
DM
11528 "bps_max_length" : {
11529 "description" : "Maximum length of I/O bursts in seconds.",
11530 "format_description" : "seconds",
11531 "minimum" : 1,
11532 "optional" : 1,
11533 "type" : "integer"
11534 },
44660702 11535 "bps_rd" : {
de0983cb 11536 "description" : "Maximum read speed in bytes per second.",
44660702 11537 "format_description" : "bps",
56122987 11538 "optional" : 1,
44660702 11539 "type" : "integer"
56122987 11540 },
de0983cb
DM
11541 "bps_rd_length" : {
11542 "description" : "Maximum length of read I/O bursts in seconds.",
11543 "format_description" : "seconds",
11544 "minimum" : 1,
11545 "optional" : 1,
11546 "type" : "integer"
11547 },
44660702 11548 "bps_wr" : {
de0983cb 11549 "description" : "Maximum write speed in bytes per second.",
44660702 11550 "format_description" : "bps",
56122987 11551 "optional" : 1,
44660702 11552 "type" : "integer"
56122987 11553 },
de0983cb
DM
11554 "bps_wr_length" : {
11555 "description" : "Maximum length of write I/O bursts in seconds.",
11556 "format_description" : "seconds",
11557 "minimum" : 1,
11558 "optional" : 1,
11559 "type" : "integer"
11560 },
44660702
DM
11561 "cache" : {
11562 "description" : "The drive's cache mode",
56122987 11563 "enum" : [
7aacca6f 11564 "none",
44660702
DM
11565 "writethrough",
11566 "writeback",
11567 "unsafe",
11568 "directsync"
56122987 11569 ],
56122987 11570 "optional" : 1,
44660702 11571 "type" : "string"
56122987 11572 },
44660702
DM
11573 "cyls" : {
11574 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
11575 "optional" : 1,
11576 "type" : "integer"
7aacca6f 11577 },
44660702
DM
11578 "detect_zeroes" : {
11579 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 11580 "optional" : 1,
44660702 11581 "type" : "boolean"
56122987 11582 },
44660702
DM
11583 "discard" : {
11584 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
11585 "enum" : [
11586 "ignore",
11587 "on"
11588 ],
56122987 11589 "optional" : 1,
44660702 11590 "type" : "string"
56122987 11591 },
7aacca6f 11592 "file" : {
44660702 11593 "default_key" : 1,
7aacca6f 11594 "description" : "The drive's backing volume.",
7aacca6f
DM
11595 "format" : "pve-volume-id-or-qm-path",
11596 "format_description" : "volume",
7aacca6f 11597 "type" : "string"
56122987 11598 },
44660702
DM
11599 "format" : {
11600 "description" : "The drive's backing file's data format.",
56122987 11601 "enum" : [
44660702
DM
11602 "raw",
11603 "cow",
11604 "qcow",
11605 "qed",
11606 "qcow2",
11607 "vmdk",
11608 "cloop"
7aacca6f 11609 ],
7aacca6f
DM
11610 "optional" : 1,
11611 "type" : "string"
56122987 11612 },
44660702
DM
11613 "heads" : {
11614 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 11615 "optional" : 1,
44660702 11616 "type" : "integer"
56122987 11617 },
44660702 11618 "iops" : {
de0983cb 11619 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 11620 "format_description" : "iops",
56122987 11621 "optional" : 1,
44660702 11622 "type" : "integer"
56122987 11623 },
44660702 11624 "iops_max" : {
de0983cb 11625 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 11626 "format_description" : "iops",
56122987 11627 "optional" : 1,
44660702 11628 "type" : "integer"
56122987 11629 },
de0983cb
DM
11630 "iops_max_length" : {
11631 "description" : "Maximum length of I/O bursts in seconds.",
11632 "format_description" : "seconds",
11633 "minimum" : 1,
11634 "optional" : 1,
11635 "type" : "integer"
11636 },
7aacca6f 11637 "iops_rd" : {
de0983cb 11638 "description" : "Maximum read I/O in operations per second.",
44660702
DM
11639 "format_description" : "iops",
11640 "optional" : 1,
11641 "type" : "integer"
7aacca6f 11642 },
de0983cb
DM
11643 "iops_rd_length" : {
11644 "description" : "Maximum length of read I/O bursts in seconds.",
11645 "format_description" : "seconds",
11646 "minimum" : 1,
11647 "optional" : 1,
11648 "type" : "integer"
11649 },
44660702 11650 "iops_rd_max" : {
de0983cb 11651 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 11652 "format_description" : "iops",
56122987 11653 "optional" : 1,
44660702 11654 "type" : "integer"
56122987 11655 },
44660702 11656 "iops_wr" : {
de0983cb 11657 "description" : "Maximum write I/O in operations per second.",
44660702 11658 "format_description" : "iops",
56122987 11659 "optional" : 1,
44660702 11660 "type" : "integer"
7aacca6f 11661 },
de0983cb
DM
11662 "iops_wr_length" : {
11663 "description" : "Maximum length of write I/O bursts in seconds.",
11664 "format_description" : "seconds",
11665 "minimum" : 1,
11666 "optional" : 1,
11667 "type" : "integer"
11668 },
44660702 11669 "iops_wr_max" : {
de0983cb 11670 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 11671 "format_description" : "iops",
7aacca6f 11672 "optional" : 1,
44660702 11673 "type" : "integer"
56122987 11674 },
44660702 11675 "mbps" : {
de0983cb 11676 "description" : "Maximum r/w speed in megabytes per second.",
44660702 11677 "format_description" : "mbps",
7aacca6f 11678 "optional" : 1,
44660702 11679 "type" : "number"
56122987 11680 },
44660702 11681 "mbps_max" : {
de0983cb 11682 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 11683 "format_description" : "mbps",
56122987 11684 "optional" : 1,
44660702 11685 "type" : "number"
56122987 11686 },
44660702 11687 "mbps_rd" : {
de0983cb 11688 "description" : "Maximum read speed in megabytes per second.",
44660702 11689 "format_description" : "mbps",
7aacca6f 11690 "optional" : 1,
44660702 11691 "type" : "number"
7aacca6f 11692 },
44660702 11693 "mbps_rd_max" : {
de0983cb 11694 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 11695 "format_description" : "mbps",
56122987 11696 "optional" : 1,
44660702 11697 "type" : "number"
56122987 11698 },
44660702 11699 "mbps_wr" : {
de0983cb 11700 "description" : "Maximum write speed in megabytes per second.",
44660702 11701 "format_description" : "mbps",
7aacca6f 11702 "optional" : 1,
44660702 11703 "type" : "number"
56122987 11704 },
44660702 11705 "mbps_wr_max" : {
de0983cb 11706 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 11707 "format_description" : "mbps",
56122987 11708 "optional" : 1,
44660702 11709 "type" : "number"
7aacca6f
DM
11710 },
11711 "media" : {
44660702
DM
11712 "default" : "disk",
11713 "description" : "The drive's media type.",
56122987 11714 "enum" : [
7aacca6f
DM
11715 "cdrom",
11716 "disk"
56122987 11717 ],
56122987 11718 "optional" : 1,
44660702 11719 "type" : "string"
56122987 11720 },
44660702
DM
11721 "model" : {
11722 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
11723 "format" : "urlencoded",
11724 "format_description" : "model",
11725 "maxLength" : 120,
56122987 11726 "optional" : 1,
44660702 11727 "type" : "string"
56122987 11728 },
7aacca6f 11729 "rerror" : {
7aacca6f
DM
11730 "description" : "Read error action.",
11731 "enum" : [
11732 "ignore",
11733 "report",
11734 "stop"
44660702 11735 ],
44660702
DM
11736 "optional" : 1,
11737 "type" : "string"
56122987 11738 },
44660702
DM
11739 "secs" : {
11740 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 11741 "optional" : 1,
44660702
DM
11742 "type" : "integer"
11743 },
11744 "serial" : {
11745 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
11746 "format" : "urlencoded",
11747 "format_description" : "serial",
11748 "maxLength" : 60,
11749 "optional" : 1,
11750 "type" : "string"
11751 },
11752 "size" : {
11753 "description" : "Disk size. This is purely informational and has no effect.",
11754 "format" : "disk-size",
f004f5b9 11755 "format_description" : "DiskSize",
44660702
DM
11756 "optional" : 1,
11757 "type" : "string"
7aacca6f
DM
11758 },
11759 "snapshot" : {
44660702 11760 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 11761 "optional" : 1,
44660702 11762 "type" : "boolean"
7aacca6f 11763 },
44660702
DM
11764 "trans" : {
11765 "description" : "Force disk geometry bios translation mode.",
11766 "enum" : [
11767 "none",
11768 "lba",
11769 "auto"
11770 ],
7aacca6f 11771 "optional" : 1,
44660702
DM
11772 "type" : "string"
11773 },
11774 "volume" : {
11775 "alias" : "file"
11776 },
11777 "werror" : {
11778 "description" : "Write error action.",
11779 "enum" : [
11780 "enospc",
11781 "ignore",
11782 "report",
11783 "stop"
11784 ],
44660702
DM
11785 "optional" : 1,
11786 "type" : "string"
56122987
DM
11787 }
11788 },
56122987 11789 "optional" : 1,
4bd7df8b 11790 "type" : "string",
013dc89f 11791 "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 11792 },
56122987 11793 "keyboard" : {
44660702 11794 "default" : "en-us",
c2993fe5 11795 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
56122987 11796 "enum" : [
44660702
DM
11797 "de",
11798 "de-ch",
7aacca6f 11799 "da",
56122987 11800 "en-gb",
44660702
DM
11801 "en-us",
11802 "es",
11803 "fi",
11804 "fr",
11805 "fr-be",
11806 "fr-ca",
11807 "fr-ch",
11808 "hu",
7aacca6f 11809 "is",
44660702
DM
11810 "it",
11811 "ja",
11812 "lt",
56122987 11813 "mk",
7aacca6f 11814 "nl",
56122987 11815 "no",
44660702 11816 "pl",
7aacca6f 11817 "pt",
44660702
DM
11818 "pt-br",
11819 "sv",
11820 "sl",
11821 "tr"
56122987 11822 ],
44660702
DM
11823 "optional" : 1,
11824 "type" : "string"
56122987 11825 },
44660702
DM
11826 "kvm" : {
11827 "default" : 1,
11828 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 11829 "optional" : 1,
013dc89f
DM
11830 "type" : "boolean",
11831 "typetext" : "<boolean>"
7aacca6f 11832 },
44660702
DM
11833 "localtime" : {
11834 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 11835 "optional" : 1,
013dc89f
DM
11836 "type" : "boolean",
11837 "typetext" : "<boolean>"
44660702
DM
11838 },
11839 "lock" : {
11840 "description" : "Lock/unlock the VM.",
7aacca6f
DM
11841 "enum" : [
11842 "migrate",
11843 "backup",
11844 "snapshot",
11845 "rollback"
11846 ],
44660702
DM
11847 "optional" : 1,
11848 "type" : "string"
56122987 11849 },
44660702
DM
11850 "machine" : {
11851 "description" : "Specific the Qemu machine type.",
11852 "maxLength" : 40,
11853 "optional" : 1,
11854 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
11855 "type" : "string"
11856 },
11857 "memory" : {
11858 "default" : 512,
11859 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
11860 "minimum" : 16,
11861 "optional" : 1,
4bd7df8b 11862 "type" : "integer",
013dc89f 11863 "typetext" : "<integer> (16 - N)"
44660702
DM
11864 },
11865 "migrate_downtime" : {
11866 "default" : 0.1,
11867 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
11868 "minimum" : 0,
11869 "optional" : 1,
4bd7df8b 11870 "type" : "number",
013dc89f 11871 "typetext" : "<number> (0 - N)"
44660702
DM
11872 },
11873 "migrate_speed" : {
56122987 11874 "default" : 0,
44660702
DM
11875 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
11876 "minimum" : 0,
56122987 11877 "optional" : 1,
4bd7df8b 11878 "type" : "integer",
013dc89f 11879 "typetext" : "<integer> (0 - N)"
56122987 11880 },
44660702
DM
11881 "name" : {
11882 "description" : "Set a name for the VM. Only used on the configuration web interface.",
11883 "format" : "dns-name",
11884 "optional" : 1,
013dc89f
DM
11885 "type" : "string",
11886 "typetext" : "<string>"
44660702
DM
11887 },
11888 "net[n]" : {
c2993fe5 11889 "description" : "Specify network devices.",
f004f5b9
DM
11890 "format" : {
11891 "bridge" : {
c2993fe5 11892 "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
11893 "format_description" : "bridge",
11894 "optional" : 1,
11895 "type" : "string"
11896 },
11897 "e1000" : {
11898 "alias" : "macaddr",
11899 "keyAlias" : "model"
11900 },
11901 "e1000-82540em" : {
11902 "alias" : "macaddr",
11903 "keyAlias" : "model"
11904 },
11905 "e1000-82544gc" : {
11906 "alias" : "macaddr",
11907 "keyAlias" : "model"
11908 },
11909 "e1000-82545em" : {
11910 "alias" : "macaddr",
11911 "keyAlias" : "model"
11912 },
11913 "firewall" : {
11914 "description" : "Whether this interface should be protected by the firewall.",
11915 "optional" : 1,
11916 "type" : "boolean"
11917 },
11918 "i82551" : {
11919 "alias" : "macaddr",
11920 "keyAlias" : "model"
11921 },
11922 "i82557b" : {
11923 "alias" : "macaddr",
11924 "keyAlias" : "model"
11925 },
11926 "i82559er" : {
11927 "alias" : "macaddr",
11928 "keyAlias" : "model"
11929 },
11930 "link_down" : {
c2993fe5 11931 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
11932 "optional" : 1,
11933 "type" : "boolean"
11934 },
11935 "macaddr" : {
c2993fe5 11936 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 11937 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
11938 "optional" : 1,
11939 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
11940 "type" : "string"
11941 },
11942 "model" : {
11943 "default_key" : 1,
c2993fe5 11944 "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
11945 "enum" : [
11946 "rtl8139",
11947 "ne2k_pci",
11948 "e1000",
11949 "pcnet",
11950 "virtio",
11951 "ne2k_isa",
11952 "i82551",
11953 "i82557b",
11954 "i82559er",
11955 "vmxnet3",
11956 "e1000-82540em",
11957 "e1000-82544gc",
11958 "e1000-82545em"
11959 ],
f004f5b9
DM
11960 "type" : "string"
11961 },
11962 "ne2k_isa" : {
11963 "alias" : "macaddr",
11964 "keyAlias" : "model"
11965 },
11966 "ne2k_pci" : {
11967 "alias" : "macaddr",
11968 "keyAlias" : "model"
11969 },
11970 "pcnet" : {
11971 "alias" : "macaddr",
11972 "keyAlias" : "model"
11973 },
11974 "queues" : {
11975 "description" : "Number of packet queues to be used on the device.",
11976 "maximum" : 16,
11977 "minimum" : 0,
11978 "optional" : 1,
11979 "type" : "integer"
11980 },
11981 "rate" : {
c2993fe5 11982 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
11983 "minimum" : 0,
11984 "optional" : 1,
11985 "type" : "number"
11986 },
11987 "rtl8139" : {
11988 "alias" : "macaddr",
11989 "keyAlias" : "model"
11990 },
11991 "tag" : {
11992 "description" : "VLAN tag to apply to packets on this interface.",
11993 "maximum" : 4094,
c2993fe5 11994 "minimum" : 1,
f004f5b9
DM
11995 "optional" : 1,
11996 "type" : "integer"
11997 },
11998 "trunks" : {
11999 "description" : "VLAN trunks to pass through this interface.",
12000 "format_description" : "vlanid[;vlanid...]",
12001 "optional" : 1,
12002 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12003 "type" : "string"
12004 },
12005 "virtio" : {
12006 "alias" : "macaddr",
12007 "keyAlias" : "model"
12008 },
12009 "vmxnet3" : {
12010 "alias" : "macaddr",
12011 "keyAlias" : "model"
12012 }
12013 },
44660702 12014 "optional" : 1,
4bd7df8b 12015 "type" : "string",
013dc89f 12016 "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
12017 },
12018 "node" : {
12019 "description" : "The cluster node name.",
12020 "format" : "pve-node",
013dc89f
DM
12021 "type" : "string",
12022 "typetext" : "<string>"
44660702
DM
12023 },
12024 "numa" : {
7aacca6f 12025 "default" : 0,
44660702
DM
12026 "description" : "Enable/disable NUMA.",
12027 "optional" : 1,
013dc89f
DM
12028 "type" : "boolean",
12029 "typetext" : "<boolean>"
56122987 12030 },
7aacca6f 12031 "numa[n]" : {
c2993fe5 12032 "description" : "NUMA topology.",
7aacca6f 12033 "format" : {
44660702 12034 "cpus" : {
c2993fe5 12035 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12036 "format_description" : "id[-id];...",
12037 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12038 "type" : "string"
12039 },
7aacca6f 12040 "hostnodes" : {
c2993fe5 12041 "description" : "Host NUMA nodes to use.",
44660702 12042 "format_description" : "id[-id];...",
7aacca6f 12043 "optional" : 1,
44660702
DM
12044 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12045 "type" : "string"
7aacca6f 12046 },
44660702 12047 "memory" : {
c2993fe5 12048 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
12049 "optional" : 1,
12050 "type" : "number"
7aacca6f
DM
12051 },
12052 "policy" : {
c2993fe5 12053 "description" : "NUMA allocation policy.",
7aacca6f
DM
12054 "enum" : [
12055 "preferred",
12056 "bind",
12057 "interleave"
12058 ],
7aacca6f 12059 "optional" : 1,
44660702 12060 "type" : "string"
7aacca6f
DM
12061 }
12062 },
56122987 12063 "optional" : 1,
4bd7df8b
DM
12064 "type" : "string",
12065 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 12066 },
44660702
DM
12067 "onboot" : {
12068 "default" : 0,
12069 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 12070 "optional" : 1,
013dc89f
DM
12071 "type" : "boolean",
12072 "typetext" : "<boolean>"
56122987
DM
12073 },
12074 "ostype" : {
c2993fe5 12075 "description" : "Specify guest operating system.",
56122987
DM
12076 "enum" : [
12077 "other",
12078 "wxp",
12079 "w2k",
12080 "w2k3",
12081 "w2k8",
12082 "wvista",
12083 "win7",
12084 "win8",
32d876b5 12085 "win10",
56122987
DM
12086 "l24",
12087 "l26",
12088 "solaris"
44660702 12089 ],
56122987 12090 "optional" : 1,
c2993fe5
DM
12091 "type" : "string",
12092 "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 12093 },
44660702 12094 "parallel[n]" : {
c2993fe5 12095 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 12096 "optional" : 1,
44660702 12097 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
12098 "type" : "string",
12099 "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 12100 },
44660702
DM
12101 "pool" : {
12102 "description" : "Add the VM to the specified pool.",
12103 "format" : "pve-poolid",
56122987 12104 "optional" : 1,
013dc89f
DM
12105 "type" : "string",
12106 "typetext" : "<string>"
56122987 12107 },
44660702
DM
12108 "protection" : {
12109 "default" : 0,
c2993fe5 12110 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 12111 "optional" : 1,
013dc89f
DM
12112 "type" : "boolean",
12113 "typetext" : "<boolean>"
56122987 12114 },
44660702 12115 "reboot" : {
7aacca6f 12116 "default" : 1,
44660702
DM
12117 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
12118 "optional" : 1,
013dc89f
DM
12119 "type" : "boolean",
12120 "typetext" : "<boolean>"
56122987 12121 },
56122987 12122 "sata[n]" : {
44660702 12123 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 12124 "format" : {
7aacca6f 12125 "aio" : {
44660702 12126 "description" : "AIO type to use.",
56122987 12127 "enum" : [
7aacca6f
DM
12128 "native",
12129 "threads"
56122987 12130 ],
7aacca6f 12131 "optional" : 1,
44660702 12132 "type" : "string"
7aacca6f
DM
12133 },
12134 "backup" : {
7aacca6f 12135 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12136 "optional" : 1,
44660702 12137 "type" : "boolean"
56122987 12138 },
44660702 12139 "bps" : {
de0983cb 12140 "description" : "Maximum r/w speed in bytes per second.",
44660702 12141 "format_description" : "bps",
7aacca6f 12142 "optional" : 1,
44660702 12143 "type" : "integer"
56122987 12144 },
de0983cb
DM
12145 "bps_max_length" : {
12146 "description" : "Maximum length of I/O bursts in seconds.",
12147 "format_description" : "seconds",
12148 "minimum" : 1,
12149 "optional" : 1,
12150 "type" : "integer"
12151 },
44660702 12152 "bps_rd" : {
de0983cb 12153 "description" : "Maximum read speed in bytes per second.",
44660702 12154 "format_description" : "bps",
56122987 12155 "optional" : 1,
44660702 12156 "type" : "integer"
7aacca6f 12157 },
de0983cb
DM
12158 "bps_rd_length" : {
12159 "description" : "Maximum length of read I/O bursts in seconds.",
12160 "format_description" : "seconds",
12161 "minimum" : 1,
12162 "optional" : 1,
12163 "type" : "integer"
12164 },
44660702 12165 "bps_wr" : {
de0983cb 12166 "description" : "Maximum write speed in bytes per second.",
44660702 12167 "format_description" : "bps",
56122987 12168 "optional" : 1,
44660702 12169 "type" : "integer"
56122987 12170 },
de0983cb
DM
12171 "bps_wr_length" : {
12172 "description" : "Maximum length of write I/O bursts in seconds.",
12173 "format_description" : "seconds",
12174 "minimum" : 1,
12175 "optional" : 1,
12176 "type" : "integer"
12177 },
7aacca6f 12178 "cache" : {
7aacca6f
DM
12179 "description" : "The drive's cache mode",
12180 "enum" : [
12181 "none",
12182 "writethrough",
12183 "writeback",
12184 "unsafe",
12185 "directsync"
12186 ],
44660702
DM
12187 "optional" : 1,
12188 "type" : "string"
56122987 12189 },
44660702
DM
12190 "cyls" : {
12191 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12192 "optional" : 1,
7aacca6f 12193 "type" : "integer"
56122987 12194 },
7aacca6f
DM
12195 "detect_zeroes" : {
12196 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12197 "optional" : 1,
7aacca6f 12198 "type" : "boolean"
56122987 12199 },
44660702
DM
12200 "discard" : {
12201 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12202 "enum" : [
12203 "ignore",
12204 "on"
12205 ],
56122987 12206 "optional" : 1,
44660702 12207 "type" : "string"
56122987 12208 },
44660702
DM
12209 "file" : {
12210 "default_key" : 1,
12211 "description" : "The drive's backing volume.",
12212 "format" : "pve-volume-id-or-qm-path",
12213 "format_description" : "volume",
12214 "type" : "string"
56122987
DM
12215 },
12216 "format" : {
44660702 12217 "description" : "The drive's backing file's data format.",
56122987
DM
12218 "enum" : [
12219 "raw",
12220 "cow",
12221 "qcow",
12222 "qed",
12223 "qcow2",
12224 "vmdk",
12225 "cloop"
12226 ],
56122987 12227 "optional" : 1,
44660702 12228 "type" : "string"
56122987 12229 },
7aacca6f 12230 "heads" : {
7aacca6f 12231 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12232 "optional" : 1,
12233 "type" : "integer"
56122987 12234 },
44660702 12235 "iops" : {
de0983cb 12236 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12237 "format_description" : "iops",
12238 "optional" : 1,
12239 "type" : "integer"
56122987 12240 },
44660702 12241 "iops_max" : {
de0983cb 12242 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12243 "format_description" : "iops",
56122987 12244 "optional" : 1,
44660702 12245 "type" : "integer"
56122987 12246 },
de0983cb
DM
12247 "iops_max_length" : {
12248 "description" : "Maximum length of I/O bursts in seconds.",
12249 "format_description" : "seconds",
12250 "minimum" : 1,
12251 "optional" : 1,
12252 "type" : "integer"
12253 },
44660702 12254 "iops_rd" : {
de0983cb 12255 "description" : "Maximum read I/O in operations per second.",
44660702 12256 "format_description" : "iops",
56122987 12257 "optional" : 1,
44660702 12258 "type" : "integer"
56122987 12259 },
de0983cb
DM
12260 "iops_rd_length" : {
12261 "description" : "Maximum length of read I/O bursts in seconds.",
12262 "format_description" : "seconds",
12263 "minimum" : 1,
12264 "optional" : 1,
12265 "type" : "integer"
12266 },
44660702 12267 "iops_rd_max" : {
de0983cb 12268 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12269 "format_description" : "iops",
56122987 12270 "optional" : 1,
44660702 12271 "type" : "integer"
56122987 12272 },
44660702 12273 "iops_wr" : {
de0983cb 12274 "description" : "Maximum write I/O in operations per second.",
44660702 12275 "format_description" : "iops",
7aacca6f 12276 "optional" : 1,
44660702 12277 "type" : "integer"
7aacca6f 12278 },
de0983cb
DM
12279 "iops_wr_length" : {
12280 "description" : "Maximum length of write I/O bursts in seconds.",
12281 "format_description" : "seconds",
12282 "minimum" : 1,
12283 "optional" : 1,
12284 "type" : "integer"
12285 },
44660702 12286 "iops_wr_max" : {
de0983cb 12287 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12288 "format_description" : "iops",
56122987 12289 "optional" : 1,
7aacca6f 12290 "type" : "integer"
56122987 12291 },
44660702 12292 "mbps" : {
de0983cb 12293 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12294 "format_description" : "mbps",
56122987 12295 "optional" : 1,
44660702 12296 "type" : "number"
56122987 12297 },
44660702 12298 "mbps_max" : {
de0983cb 12299 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12300 "format_description" : "mbps",
7aacca6f 12301 "optional" : 1,
44660702 12302 "type" : "number"
7aacca6f 12303 },
44660702 12304 "mbps_rd" : {
de0983cb 12305 "description" : "Maximum read speed in megabytes per second.",
44660702 12306 "format_description" : "mbps",
7aacca6f 12307 "optional" : 1,
44660702 12308 "type" : "number"
7aacca6f 12309 },
44660702 12310 "mbps_rd_max" : {
de0983cb 12311 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12312 "format_description" : "mbps",
7aacca6f 12313 "optional" : 1,
44660702 12314 "type" : "number"
7aacca6f 12315 },
44660702 12316 "mbps_wr" : {
de0983cb 12317 "description" : "Maximum write speed in megabytes per second.",
44660702 12318 "format_description" : "mbps",
7aacca6f 12319 "optional" : 1,
44660702 12320 "type" : "number"
7aacca6f
DM
12321 },
12322 "mbps_wr_max" : {
de0983cb 12323 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12324 "format_description" : "mbps",
7aacca6f 12325 "optional" : 1,
44660702 12326 "type" : "number"
7aacca6f 12327 },
44660702
DM
12328 "media" : {
12329 "default" : "disk",
12330 "description" : "The drive's media type.",
56122987 12331 "enum" : [
44660702
DM
12332 "cdrom",
12333 "disk"
56122987 12334 ],
56122987 12335 "optional" : 1,
44660702 12336 "type" : "string"
56122987 12337 },
44660702
DM
12338 "rerror" : {
12339 "description" : "Read error action.",
7aacca6f
DM
12340 "enum" : [
12341 "ignore",
44660702
DM
12342 "report",
12343 "stop"
7aacca6f 12344 ],
56122987 12345 "optional" : 1,
44660702 12346 "type" : "string"
56122987 12347 },
44660702
DM
12348 "secs" : {
12349 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12350 "optional" : 1,
44660702 12351 "type" : "integer"
56122987 12352 },
44660702
DM
12353 "serial" : {
12354 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12355 "format" : "urlencoded",
12356 "format_description" : "serial",
12357 "maxLength" : 60,
12358 "optional" : 1,
12359 "type" : "string"
7aacca6f
DM
12360 },
12361 "size" : {
12362 "description" : "Disk size. This is purely informational and has no effect.",
44660702 12363 "format" : "disk-size",
f004f5b9 12364 "format_description" : "DiskSize",
56122987 12365 "optional" : 1,
44660702 12366 "type" : "string"
56122987 12367 },
44660702
DM
12368 "snapshot" : {
12369 "description" : "Whether the drive should be included when making snapshots.",
56122987 12370 "optional" : 1,
44660702 12371 "type" : "boolean"
56122987 12372 },
44660702
DM
12373 "trans" : {
12374 "description" : "Force disk geometry bios translation mode.",
56122987 12375 "enum" : [
44660702
DM
12376 "none",
12377 "lba",
12378 "auto"
7aacca6f 12379 ],
44660702
DM
12380 "optional" : 1,
12381 "type" : "string"
12382 },
12383 "volume" : {
12384 "alias" : "file"
56122987
DM
12385 },
12386 "werror" : {
56122987
DM
12387 "description" : "Write error action.",
12388 "enum" : [
12389 "enospc",
12390 "ignore",
12391 "report",
12392 "stop"
12393 ],
56122987 12394 "optional" : 1,
44660702
DM
12395 "type" : "string"
12396 }
12397 },
12398 "optional" : 1,
4bd7df8b 12399 "type" : "string",
013dc89f 12400 "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
12401 },
12402 "scsi[n]" : {
12403 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
12404 "format" : {
12405 "aio" : {
12406 "description" : "AIO type to use.",
12407 "enum" : [
12408 "native",
12409 "threads"
12410 ],
44660702
DM
12411 "optional" : 1,
12412 "type" : "string"
56122987 12413 },
7aacca6f 12414 "backup" : {
44660702 12415 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12416 "optional" : 1,
44660702 12417 "type" : "boolean"
7aacca6f 12418 },
44660702 12419 "bps" : {
de0983cb 12420 "description" : "Maximum r/w speed in bytes per second.",
44660702 12421 "format_description" : "bps",
7aacca6f 12422 "optional" : 1,
44660702 12423 "type" : "integer"
7aacca6f 12424 },
de0983cb
DM
12425 "bps_max_length" : {
12426 "description" : "Maximum length of I/O bursts in seconds.",
12427 "format_description" : "seconds",
12428 "minimum" : 1,
12429 "optional" : 1,
12430 "type" : "integer"
12431 },
44660702 12432 "bps_rd" : {
de0983cb 12433 "description" : "Maximum read speed in bytes per second.",
44660702 12434 "format_description" : "bps",
56122987 12435 "optional" : 1,
44660702 12436 "type" : "integer"
56122987 12437 },
de0983cb
DM
12438 "bps_rd_length" : {
12439 "description" : "Maximum length of read I/O bursts in seconds.",
12440 "format_description" : "seconds",
12441 "minimum" : 1,
12442 "optional" : 1,
12443 "type" : "integer"
12444 },
44660702 12445 "bps_wr" : {
de0983cb 12446 "description" : "Maximum write speed in bytes per second.",
44660702 12447 "format_description" : "bps",
7aacca6f 12448 "optional" : 1,
44660702 12449 "type" : "integer"
56122987 12450 },
de0983cb
DM
12451 "bps_wr_length" : {
12452 "description" : "Maximum length of write I/O bursts in seconds.",
12453 "format_description" : "seconds",
12454 "minimum" : 1,
12455 "optional" : 1,
12456 "type" : "integer"
12457 },
44660702
DM
12458 "cache" : {
12459 "description" : "The drive's cache mode",
7aacca6f
DM
12460 "enum" : [
12461 "none",
44660702
DM
12462 "writethrough",
12463 "writeback",
12464 "unsafe",
12465 "directsync"
7aacca6f 12466 ],
56122987 12467 "optional" : 1,
44660702 12468 "type" : "string"
56122987 12469 },
7aacca6f
DM
12470 "cyls" : {
12471 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
12472 "optional" : 1,
44660702 12473 "type" : "integer"
7aacca6f 12474 },
44660702
DM
12475 "detect_zeroes" : {
12476 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12477 "optional" : 1,
44660702 12478 "type" : "boolean"
56122987 12479 },
44660702
DM
12480 "discard" : {
12481 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 12482 "enum" : [
44660702
DM
12483 "ignore",
12484 "on"
7aacca6f 12485 ],
7aacca6f 12486 "optional" : 1,
44660702 12487 "type" : "string"
56122987
DM
12488 },
12489 "file" : {
7aacca6f
DM
12490 "default_key" : 1,
12491 "description" : "The drive's backing volume.",
44660702
DM
12492 "format" : "pve-volume-id-or-qm-path",
12493 "format_description" : "volume",
7aacca6f 12494 "type" : "string"
56122987 12495 },
7aacca6f 12496 "format" : {
44660702 12497 "description" : "The drive's backing file's data format.",
56122987 12498 "enum" : [
7aacca6f
DM
12499 "raw",
12500 "cow",
12501 "qcow",
12502 "qed",
12503 "qcow2",
12504 "vmdk",
12505 "cloop"
56122987 12506 ],
44660702
DM
12507 "optional" : 1,
12508 "type" : "string"
56122987 12509 },
44660702
DM
12510 "heads" : {
12511 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12512 "optional" : 1,
12513 "type" : "integer"
12514 },
12515 "iops" : {
de0983cb 12516 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12517 "format_description" : "iops",
56122987 12518 "optional" : 1,
44660702 12519 "type" : "integer"
56122987 12520 },
44660702 12521 "iops_max" : {
de0983cb 12522 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12523 "format_description" : "iops",
7aacca6f 12524 "optional" : 1,
44660702 12525 "type" : "integer"
56122987 12526 },
de0983cb
DM
12527 "iops_max_length" : {
12528 "description" : "Maximum length of I/O bursts in seconds.",
12529 "format_description" : "seconds",
12530 "minimum" : 1,
12531 "optional" : 1,
12532 "type" : "integer"
12533 },
44660702 12534 "iops_rd" : {
de0983cb 12535 "description" : "Maximum read I/O in operations per second.",
44660702 12536 "format_description" : "iops",
56122987 12537 "optional" : 1,
44660702 12538 "type" : "integer"
56122987 12539 },
de0983cb
DM
12540 "iops_rd_length" : {
12541 "description" : "Maximum length of read I/O bursts in seconds.",
12542 "format_description" : "seconds",
12543 "minimum" : 1,
12544 "optional" : 1,
12545 "type" : "integer"
12546 },
44660702 12547 "iops_rd_max" : {
de0983cb 12548 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12549 "format_description" : "iops",
12550 "optional" : 1,
12551 "type" : "integer"
56122987 12552 },
44660702 12553 "iops_wr" : {
de0983cb 12554 "description" : "Maximum write I/O in operations per second.",
44660702 12555 "format_description" : "iops",
56122987 12556 "optional" : 1,
44660702 12557 "type" : "integer"
56122987 12558 },
de0983cb
DM
12559 "iops_wr_length" : {
12560 "description" : "Maximum length of write I/O bursts in seconds.",
12561 "format_description" : "seconds",
12562 "minimum" : 1,
12563 "optional" : 1,
12564 "type" : "integer"
12565 },
44660702 12566 "iops_wr_max" : {
de0983cb 12567 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12568 "format_description" : "iops",
56122987 12569 "optional" : 1,
56122987
DM
12570 "type" : "integer"
12571 },
44660702
DM
12572 "iothread" : {
12573 "description" : "Whether to use iothreads for this drive",
44660702
DM
12574 "optional" : 1,
12575 "type" : "boolean"
12576 },
12577 "mbps" : {
de0983cb 12578 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
12579 "format_description" : "mbps",
12580 "optional" : 1,
12581 "type" : "number"
12582 },
7aacca6f 12583 "mbps_max" : {
de0983cb 12584 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12585 "format_description" : "mbps",
56122987 12586 "optional" : 1,
44660702 12587 "type" : "number"
56122987 12588 },
44660702 12589 "mbps_rd" : {
de0983cb 12590 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
12591 "format_description" : "mbps",
12592 "optional" : 1,
12593 "type" : "number"
56122987 12594 },
44660702 12595 "mbps_rd_max" : {
de0983cb 12596 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12597 "format_description" : "mbps",
56122987 12598 "optional" : 1,
44660702 12599 "type" : "number"
56122987 12600 },
44660702 12601 "mbps_wr" : {
de0983cb 12602 "description" : "Maximum write speed in megabytes per second.",
44660702 12603 "format_description" : "mbps",
56122987 12604 "optional" : 1,
44660702 12605 "type" : "number"
56122987 12606 },
44660702 12607 "mbps_wr_max" : {
de0983cb 12608 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12609 "format_description" : "mbps",
7aacca6f 12610 "optional" : 1,
44660702 12611 "type" : "number"
56122987 12612 },
7aacca6f 12613 "media" : {
44660702 12614 "default" : "disk",
7aacca6f
DM
12615 "description" : "The drive's media type.",
12616 "enum" : [
12617 "cdrom",
12618 "disk"
12619 ],
56122987 12620 "optional" : 1,
44660702 12621 "type" : "string"
56122987 12622 },
44660702
DM
12623 "queues" : {
12624 "description" : "Number of queues.",
44660702
DM
12625 "minimum" : 2,
12626 "optional" : 1,
12627 "type" : "integer"
56122987 12628 },
7aacca6f 12629 "secs" : {
7aacca6f 12630 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
12631 "optional" : 1,
12632 "type" : "integer"
12633 },
12634 "serial" : {
12635 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12636 "format" : "urlencoded",
12637 "format_description" : "serial",
12638 "maxLength" : 60,
12639 "optional" : 1,
12640 "type" : "string"
12641 },
12642 "size" : {
12643 "description" : "Disk size. This is purely informational and has no effect.",
12644 "format" : "disk-size",
f004f5b9 12645 "format_description" : "DiskSize",
44660702
DM
12646 "optional" : 1,
12647 "type" : "string"
12648 },
12649 "snapshot" : {
12650 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
12651 "optional" : 1,
12652 "type" : "boolean"
12653 },
12654 "trans" : {
12655 "description" : "Force disk geometry bios translation mode.",
12656 "enum" : [
12657 "none",
12658 "lba",
12659 "auto"
12660 ],
44660702
DM
12661 "optional" : 1,
12662 "type" : "string"
12663 },
12664 "volume" : {
12665 "alias" : "file"
12666 },
12667 "werror" : {
12668 "description" : "Write error action.",
12669 "enum" : [
12670 "enospc",
12671 "ignore",
12672 "report",
12673 "stop"
12674 ],
44660702
DM
12675 "optional" : 1,
12676 "type" : "string"
56122987
DM
12677 }
12678 },
7aacca6f 12679 "optional" : 1,
4bd7df8b 12680 "type" : "string",
013dc89f 12681 "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 12682 },
44660702
DM
12683 "scsihw" : {
12684 "default" : "lsi",
c2993fe5 12685 "description" : "SCSI controller model",
44660702
DM
12686 "enum" : [
12687 "lsi",
12688 "lsi53c810",
12689 "virtio-scsi-pci",
12690 "virtio-scsi-single",
12691 "megasas",
12692 "pvscsi"
12693 ],
7aacca6f 12694 "optional" : 1,
44660702 12695 "type" : "string"
7aacca6f 12696 },
44660702 12697 "serial[n]" : {
c2993fe5 12698 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
12699 "optional" : 1,
12700 "pattern" : "(/dev/.+|socket)",
c2993fe5 12701 "type" : "string",
57b78691 12702 "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
12703 },
12704 "shares" : {
12705 "default" : 1000,
12706 "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",
12707 "maximum" : 50000,
12708 "minimum" : 0,
12709 "optional" : 1,
4bd7df8b 12710 "type" : "integer",
013dc89f 12711 "typetext" : "<integer> (0 - 50000)"
44660702
DM
12712 },
12713 "smbios1" : {
12714 "description" : "Specify SMBIOS type 1 fields.",
12715 "format" : "pve-qm-smbios1",
12716 "maxLength" : 256,
7aacca6f 12717 "optional" : 1,
4bd7df8b
DM
12718 "type" : "string",
12719 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
12720 },
12721 "smp" : {
44660702 12722 "default" : 1,
7aacca6f 12723 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 12724 "minimum" : 1,
56122987 12725 "optional" : 1,
4bd7df8b 12726 "type" : "integer",
013dc89f 12727 "typetext" : "<integer> (1 - N)"
44660702
DM
12728 },
12729 "sockets" : {
7aacca6f 12730 "default" : 1,
44660702
DM
12731 "description" : "The number of CPU sockets.",
12732 "minimum" : 1,
12733 "optional" : 1,
4bd7df8b 12734 "type" : "integer",
013dc89f 12735 "typetext" : "<integer> (1 - N)"
7aacca6f 12736 },
44660702
DM
12737 "startdate" : {
12738 "default" : "now",
12739 "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'.",
12740 "optional" : 1,
12741 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
12742 "type" : "string",
12743 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
12744 },
12745 "startup" : {
12746 "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.",
12747 "format" : "pve-startup-order",
12748 "optional" : 1,
12749 "type" : "string",
12750 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
12751 },
12752 "storage" : {
12753 "description" : "Default storage.",
12754 "format" : "pve-storage-id",
7aacca6f 12755 "optional" : 1,
013dc89f
DM
12756 "type" : "string",
12757 "typetext" : "<string>"
56122987 12758 },
44660702
DM
12759 "tablet" : {
12760 "default" : 1,
c2993fe5 12761 "description" : "Enable/disable the USB tablet device.",
56122987 12762 "optional" : 1,
c2993fe5 12763 "type" : "boolean",
013dc89f 12764 "typetext" : "<boolean>",
c2993fe5 12765 "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
12766 },
12767 "tdf" : {
12768 "default" : 0,
12769 "description" : "Enable/disable time drift fix.",
12770 "optional" : 1,
013dc89f
DM
12771 "type" : "boolean",
12772 "typetext" : "<boolean>"
7aacca6f
DM
12773 },
12774 "template" : {
7aacca6f 12775 "default" : 0,
44660702 12776 "description" : "Enable/disable Template.",
7aacca6f 12777 "optional" : 1,
013dc89f
DM
12778 "type" : "boolean",
12779 "typetext" : "<boolean>"
7aacca6f 12780 },
44660702
DM
12781 "unique" : {
12782 "description" : "Assign a unique random ethernet address.",
7aacca6f 12783 "optional" : 1,
44660702 12784 "requires" : "archive",
013dc89f
DM
12785 "type" : "boolean",
12786 "typetext" : "<boolean>"
56122987 12787 },
44660702 12788 "unused[n]" : {
c2993fe5 12789 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 12790 "format" : "pve-volume-id",
7aacca6f 12791 "optional" : 1,
013dc89f
DM
12792 "type" : "string",
12793 "typetext" : "<string>"
44660702
DM
12794 },
12795 "usb[n]" : {
c2993fe5 12796 "description" : "Configure an USB device (n is 0 to 4).",
56122987 12797 "format" : {
7aacca6f
DM
12798 "host" : {
12799 "default_key" : 1,
c2993fe5 12800 "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 12801 "format" : "pve-qm-usb-device",
44660702
DM
12802 "format_description" : "HOSTUSBDEVICE|spice",
12803 "type" : "string"
7aacca6f 12804 },
56122987 12805 "usb3" : {
c2993fe5
DM
12806 "default" : 0,
12807 "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 12808 "optional" : 1,
56122987 12809 "type" : "boolean"
7aacca6f 12810 }
56122987 12811 },
56122987 12812 "optional" : 1,
4bd7df8b
DM
12813 "type" : "string",
12814 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 12815 },
44660702
DM
12816 "vcpus" : {
12817 "default" : 0,
12818 "description" : "Number of hotplugged vcpus.",
12819 "minimum" : 1,
56122987 12820 "optional" : 1,
4bd7df8b 12821 "type" : "integer",
013dc89f 12822 "typetext" : "<integer> (1 - N)"
7aacca6f 12823 },
44660702 12824 "vga" : {
c2993fe5 12825 "description" : "Select the VGA type.",
44660702
DM
12826 "enum" : [
12827 "std",
12828 "cirrus",
12829 "vmware",
12830 "qxl",
12831 "serial0",
12832 "serial1",
12833 "serial2",
12834 "serial3",
12835 "qxl2",
12836 "qxl3",
12837 "qxl4"
12838 ],
12839 "optional" : 1,
c2993fe5
DM
12840 "type" : "string",
12841 "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 12842 },
44660702
DM
12843 "virtio[n]" : {
12844 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
12845 "format" : {
12846 "aio" : {
12847 "description" : "AIO type to use.",
12848 "enum" : [
12849 "native",
12850 "threads"
12851 ],
44660702
DM
12852 "optional" : 1,
12853 "type" : "string"
12854 },
12855 "backup" : {
12856 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12857 "optional" : 1,
12858 "type" : "boolean"
12859 },
12860 "bps" : {
de0983cb 12861 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
12862 "format_description" : "bps",
12863 "optional" : 1,
12864 "type" : "integer"
12865 },
de0983cb
DM
12866 "bps_max_length" : {
12867 "description" : "Maximum length of I/O bursts in seconds.",
12868 "format_description" : "seconds",
12869 "minimum" : 1,
12870 "optional" : 1,
12871 "type" : "integer"
12872 },
44660702 12873 "bps_rd" : {
de0983cb 12874 "description" : "Maximum read speed in bytes per second.",
44660702
DM
12875 "format_description" : "bps",
12876 "optional" : 1,
12877 "type" : "integer"
12878 },
de0983cb
DM
12879 "bps_rd_length" : {
12880 "description" : "Maximum length of read I/O bursts in seconds.",
12881 "format_description" : "seconds",
12882 "minimum" : 1,
12883 "optional" : 1,
12884 "type" : "integer"
12885 },
44660702 12886 "bps_wr" : {
de0983cb 12887 "description" : "Maximum write speed in bytes per second.",
44660702
DM
12888 "format_description" : "bps",
12889 "optional" : 1,
12890 "type" : "integer"
12891 },
de0983cb
DM
12892 "bps_wr_length" : {
12893 "description" : "Maximum length of write I/O bursts in seconds.",
12894 "format_description" : "seconds",
12895 "minimum" : 1,
12896 "optional" : 1,
12897 "type" : "integer"
12898 },
44660702
DM
12899 "cache" : {
12900 "description" : "The drive's cache mode",
12901 "enum" : [
12902 "none",
12903 "writethrough",
12904 "writeback",
12905 "unsafe",
12906 "directsync"
12907 ],
44660702
DM
12908 "optional" : 1,
12909 "type" : "string"
12910 },
12911 "cyls" : {
12912 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12913 "optional" : 1,
12914 "type" : "integer"
12915 },
12916 "detect_zeroes" : {
12917 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
12918 "optional" : 1,
12919 "type" : "boolean"
12920 },
12921 "discard" : {
12922 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12923 "enum" : [
12924 "ignore",
12925 "on"
12926 ],
44660702
DM
12927 "optional" : 1,
12928 "type" : "string"
12929 },
12930 "file" : {
12931 "default_key" : 1,
12932 "description" : "The drive's backing volume.",
12933 "format" : "pve-volume-id-or-qm-path",
12934 "format_description" : "volume",
12935 "type" : "string"
12936 },
12937 "format" : {
12938 "description" : "The drive's backing file's data format.",
12939 "enum" : [
12940 "raw",
12941 "cow",
12942 "qcow",
12943 "qed",
12944 "qcow2",
12945 "vmdk",
12946 "cloop"
12947 ],
44660702
DM
12948 "optional" : 1,
12949 "type" : "string"
12950 },
12951 "heads" : {
12952 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12953 "optional" : 1,
12954 "type" : "integer"
12955 },
12956 "iops" : {
de0983cb 12957 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12958 "format_description" : "iops",
12959 "optional" : 1,
12960 "type" : "integer"
12961 },
12962 "iops_max" : {
de0983cb 12963 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
12964 "format_description" : "iops",
12965 "optional" : 1,
12966 "type" : "integer"
12967 },
de0983cb
DM
12968 "iops_max_length" : {
12969 "description" : "Maximum length of I/O bursts in seconds.",
12970 "format_description" : "seconds",
12971 "minimum" : 1,
12972 "optional" : 1,
12973 "type" : "integer"
12974 },
44660702 12975 "iops_rd" : {
de0983cb 12976 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12977 "format_description" : "iops",
12978 "optional" : 1,
12979 "type" : "integer"
12980 },
de0983cb
DM
12981 "iops_rd_length" : {
12982 "description" : "Maximum length of read I/O bursts in seconds.",
12983 "format_description" : "seconds",
12984 "minimum" : 1,
12985 "optional" : 1,
12986 "type" : "integer"
12987 },
44660702 12988 "iops_rd_max" : {
de0983cb 12989 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
12990 "format_description" : "iops",
12991 "optional" : 1,
12992 "type" : "integer"
12993 },
12994 "iops_wr" : {
de0983cb 12995 "description" : "Maximum write I/O in operations per second.",
44660702
DM
12996 "format_description" : "iops",
12997 "optional" : 1,
12998 "type" : "integer"
12999 },
de0983cb
DM
13000 "iops_wr_length" : {
13001 "description" : "Maximum length of write I/O bursts in seconds.",
13002 "format_description" : "seconds",
13003 "minimum" : 1,
13004 "optional" : 1,
13005 "type" : "integer"
13006 },
44660702 13007 "iops_wr_max" : {
de0983cb 13008 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13009 "format_description" : "iops",
13010 "optional" : 1,
13011 "type" : "integer"
13012 },
13013 "iothread" : {
13014 "description" : "Whether to use iothreads for this drive",
44660702
DM
13015 "optional" : 1,
13016 "type" : "boolean"
13017 },
13018 "mbps" : {
de0983cb 13019 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13020 "format_description" : "mbps",
13021 "optional" : 1,
13022 "type" : "number"
13023 },
13024 "mbps_max" : {
de0983cb 13025 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13026 "format_description" : "mbps",
13027 "optional" : 1,
13028 "type" : "number"
13029 },
13030 "mbps_rd" : {
de0983cb 13031 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13032 "format_description" : "mbps",
13033 "optional" : 1,
13034 "type" : "number"
13035 },
13036 "mbps_rd_max" : {
de0983cb 13037 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13038 "format_description" : "mbps",
13039 "optional" : 1,
13040 "type" : "number"
13041 },
13042 "mbps_wr" : {
de0983cb 13043 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13044 "format_description" : "mbps",
13045 "optional" : 1,
13046 "type" : "number"
13047 },
13048 "mbps_wr_max" : {
de0983cb 13049 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13050 "format_description" : "mbps",
13051 "optional" : 1,
13052 "type" : "number"
13053 },
13054 "media" : {
13055 "default" : "disk",
13056 "description" : "The drive's media type.",
13057 "enum" : [
13058 "cdrom",
13059 "disk"
13060 ],
44660702
DM
13061 "optional" : 1,
13062 "type" : "string"
13063 },
13064 "rerror" : {
13065 "description" : "Read error action.",
13066 "enum" : [
13067 "ignore",
13068 "report",
13069 "stop"
13070 ],
44660702
DM
13071 "optional" : 1,
13072 "type" : "string"
13073 },
13074 "secs" : {
13075 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13076 "optional" : 1,
13077 "type" : "integer"
13078 },
13079 "serial" : {
13080 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13081 "format" : "urlencoded",
13082 "format_description" : "serial",
13083 "maxLength" : 60,
13084 "optional" : 1,
13085 "type" : "string"
13086 },
13087 "size" : {
13088 "description" : "Disk size. This is purely informational and has no effect.",
13089 "format" : "disk-size",
f004f5b9 13090 "format_description" : "DiskSize",
44660702
DM
13091 "optional" : 1,
13092 "type" : "string"
13093 },
13094 "snapshot" : {
13095 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
13096 "optional" : 1,
13097 "type" : "boolean"
13098 },
13099 "trans" : {
13100 "description" : "Force disk geometry bios translation mode.",
13101 "enum" : [
13102 "none",
13103 "lba",
13104 "auto"
13105 ],
44660702
DM
13106 "optional" : 1,
13107 "type" : "string"
13108 },
13109 "volume" : {
13110 "alias" : "file"
13111 },
13112 "werror" : {
13113 "description" : "Write error action.",
13114 "enum" : [
13115 "enospc",
13116 "ignore",
13117 "report",
13118 "stop"
13119 ],
44660702
DM
13120 "optional" : 1,
13121 "type" : "string"
13122 }
13123 },
13124 "optional" : 1,
4bd7df8b 13125 "type" : "string",
013dc89f 13126 "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 13127 },
44660702
DM
13128 "vmid" : {
13129 "description" : "The (unique) ID of the VM.",
13130 "format" : "pve-vmid",
13131 "minimum" : 1,
4bd7df8b 13132 "type" : "integer",
013dc89f 13133 "typetext" : "<integer> (1 - N)"
44660702
DM
13134 },
13135 "watchdog" : {
c2993fe5 13136 "description" : "Create a virtual hardware watchdog device.",
44660702 13137 "format" : "pve-qm-watchdog",
7aacca6f 13138 "optional" : 1,
c2993fe5 13139 "type" : "string",
013dc89f 13140 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 13141 "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 13142 }
44660702 13143 }
56122987 13144 },
56122987 13145 "permissions" : {
44660702
DM
13146 "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.",
13147 "user" : "all"
56122987 13148 },
44660702
DM
13149 "protected" : 1,
13150 "proxyto" : "node",
56122987 13151 "returns" : {
44660702 13152 "type" : "string"
7aacca6f 13153 }
56122987 13154 }
7aacca6f 13155 },
44660702 13156 "leaf" : 0,
7aacca6f 13157 "path" : "/nodes/{node}/qemu",
44660702 13158 "text" : "qemu"
56122987
DM
13159 },
13160 {
13161 "children" : [
13162 {
56122987
DM
13163 "children" : [
13164 {
56122987 13165 "info" : {
44660702
DM
13166 "GET" : {
13167 "description" : "Get container configuration.",
13168 "method" : "GET",
13169 "name" : "vm_config",
13170 "parameters" : {
13171 "additionalProperties" : 0,
13172 "properties" : {
13173 "node" : {
13174 "description" : "The cluster node name.",
13175 "format" : "pve-node",
013dc89f
DM
13176 "type" : "string",
13177 "typetext" : "<string>"
44660702
DM
13178 },
13179 "vmid" : {
13180 "description" : "The (unique) ID of the VM.",
13181 "format" : "pve-vmid",
13182 "minimum" : 1,
4bd7df8b 13183 "type" : "integer",
013dc89f 13184 "typetext" : "<integer> (1 - N)"
44660702
DM
13185 }
13186 }
13187 },
13188 "permissions" : {
13189 "check" : [
13190 "perm",
13191 "/vms/{vmid}",
13192 [
13193 "VM.Audit"
13194 ]
13195 ]
13196 },
13197 "proxyto" : "node",
13198 "returns" : {
13199 "properties" : {
13200 "digest" : {
13201 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
13202 "type" : "string"
13203 }
13204 },
13205 "type" : "object"
13206 }
13207 },
56122987 13208 "PUT" : {
44660702
DM
13209 "description" : "Set container options.",
13210 "method" : "PUT",
13211 "name" : "update_vm",
56122987 13212 "parameters" : {
44660702 13213 "additionalProperties" : 0,
56122987 13214 "properties" : {
44660702
DM
13215 "arch" : {
13216 "default" : "amd64",
13217 "description" : "OS architecture type.",
13218 "enum" : [
13219 "amd64",
13220 "i386"
13221 ],
7aacca6f 13222 "optional" : 1,
44660702
DM
13223 "type" : "string"
13224 },
13225 "cmode" : {
7aacca6f 13226 "default" : "tty",
44660702 13227 "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
13228 "enum" : [
13229 "shell",
13230 "console",
13231 "tty"
13232 ],
44660702
DM
13233 "optional" : 1,
13234 "type" : "string"
7aacca6f 13235 },
44660702
DM
13236 "console" : {
13237 "default" : 1,
13238 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 13239 "optional" : 1,
013dc89f
DM
13240 "type" : "boolean",
13241 "typetext" : "<boolean>"
7aacca6f 13242 },
de0983cb
DM
13243 "cores" : {
13244 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
13245 "maximum" : 128,
13246 "minimum" : 1,
13247 "optional" : 1,
13248 "type" : "integer",
013dc89f 13249 "typetext" : "<integer> (1 - 128)"
de0983cb 13250 },
44660702
DM
13251 "cpulimit" : {
13252 "default" : 0,
13253 "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.",
13254 "maximum" : 128,
7aacca6f 13255 "minimum" : 0,
7aacca6f 13256 "optional" : 1,
4bd7df8b 13257 "type" : "number",
013dc89f 13258 "typetext" : "<number> (0 - 128)"
7aacca6f 13259 },
44660702
DM
13260 "cpuunits" : {
13261 "default" : 1024,
13262 "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.",
13263 "maximum" : 500000,
13264 "minimum" : 0,
13265 "optional" : 1,
4bd7df8b 13266 "type" : "integer",
013dc89f 13267 "typetext" : "<integer> (0 - 500000)"
7aacca6f 13268 },
44660702
DM
13269 "delete" : {
13270 "description" : "A list of settings you want to delete.",
13271 "format" : "pve-configid-list",
7aacca6f 13272 "optional" : 1,
013dc89f
DM
13273 "type" : "string",
13274 "typetext" : "<string>"
7aacca6f 13275 },
44660702
DM
13276 "description" : {
13277 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 13278 "optional" : 1,
013dc89f
DM
13279 "type" : "string",
13280 "typetext" : "<string>"
7aacca6f 13281 },
44660702
DM
13282 "digest" : {
13283 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13284 "maxLength" : 40,
7aacca6f 13285 "optional" : 1,
013dc89f
DM
13286 "type" : "string",
13287 "typetext" : "<string>"
7aacca6f 13288 },
44660702
DM
13289 "hostname" : {
13290 "description" : "Set a host name for the container.",
13291 "format" : "dns-name",
13292 "maxLength" : 255,
56122987 13293 "optional" : 1,
013dc89f
DM
13294 "type" : "string",
13295 "typetext" : "<string>"
44660702
DM
13296 },
13297 "lock" : {
13298 "description" : "Lock/unlock the VM.",
13299 "enum" : [
13300 "migrate",
13301 "backup",
13302 "snapshot",
13303 "rollback"
13304 ],
13305 "optional" : 1,
13306 "type" : "string"
13307 },
13308 "memory" : {
13309 "default" : 512,
13310 "description" : "Amount of RAM for the VM in MB.",
13311 "minimum" : 16,
13312 "optional" : 1,
4bd7df8b 13313 "type" : "integer",
013dc89f 13314 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
13315 },
13316 "mp[n]" : {
c2993fe5 13317 "description" : "Use volume as container mount point.",
7aacca6f 13318 "format" : {
7aacca6f
DM
13319 "acl" : {
13320 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 13321 "optional" : 1,
44660702 13322 "type" : "boolean"
7aacca6f
DM
13323 },
13324 "backup" : {
de0983cb 13325 "description" : "Whether to include the mount point in backups.",
7aacca6f 13326 "optional" : 1,
4bd7df8b 13327 "type" : "boolean",
de0983cb 13328 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
13329 },
13330 "mp" : {
de0983cb 13331 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 13332 "format" : "pve-lxc-mp-string",
44660702 13333 "format_description" : "Path",
4bd7df8b 13334 "type" : "string",
de0983cb 13335 "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
13336 },
13337 "quota" : {
13338 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13339 "optional" : 1,
13340 "type" : "boolean"
13341 },
13342 "ro" : {
de0983cb 13343 "description" : "Read-only mount point",
44660702
DM
13344 "optional" : 1,
13345 "type" : "boolean"
13346 },
de0983cb
DM
13347 "shared" : {
13348 "default" : 0,
13349 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13350 "optional" : 1,
13351 "type" : "boolean",
13352 "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!"
13353 },
44660702
DM
13354 "size" : {
13355 "description" : "Volume size (read only value).",
13356 "format" : "disk-size",
13357 "format_description" : "DiskSize",
13358 "optional" : 1,
13359 "type" : "string"
13360 },
13361 "volume" : {
13362 "default_key" : 1,
13363 "description" : "Volume, device or directory to mount into the container.",
13364 "format" : "pve-lxc-mp-string",
13365 "format_description" : "volume",
13366 "type" : "string"
13367 }
13368 },
7aacca6f 13369 "optional" : 1,
4bd7df8b 13370 "type" : "string",
de0983cb 13371 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 13372 },
44660702
DM
13373 "nameserver" : {
13374 "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.",
13375 "format" : "address-list",
56122987 13376 "optional" : 1,
013dc89f
DM
13377 "type" : "string",
13378 "typetext" : "<string>"
56122987
DM
13379 },
13380 "net[n]" : {
44660702 13381 "description" : "Specifies network interfaces for the container.",
56122987 13382 "format" : {
44660702
DM
13383 "bridge" : {
13384 "description" : "Bridge to attach the network device to.",
f004f5b9 13385 "format_description" : "bridge",
56122987 13386 "optional" : 1,
44660702
DM
13387 "pattern" : "[-_.\\w\\d]+",
13388 "type" : "string"
56122987 13389 },
44660702
DM
13390 "firewall" : {
13391 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 13392 "optional" : 1,
44660702 13393 "type" : "boolean"
56122987 13394 },
44660702
DM
13395 "gw" : {
13396 "description" : "Default gateway for IPv4 traffic.",
13397 "format" : "ipv4",
13398 "format_description" : "GatewayIPv4",
56122987 13399 "optional" : 1,
44660702 13400 "type" : "string"
56122987
DM
13401 },
13402 "gw6" : {
7aacca6f 13403 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
13404 "format" : "ipv6",
13405 "format_description" : "GatewayIPv6",
7aacca6f 13406 "optional" : 1,
56122987
DM
13407 "type" : "string"
13408 },
44660702 13409 "hwaddr" : {
f004f5b9
DM
13410 "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)",
13411 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
13412 "optional" : 1,
13413 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
13414 "type" : "string"
13415 },
13416 "ip" : {
13417 "description" : "IPv4 address in CIDR format.",
13418 "format" : "pve-ipv4-config",
13419 "format_description" : "IPv4Format/CIDR",
56122987 13420 "optional" : 1,
44660702 13421 "type" : "string"
56122987 13422 },
7aacca6f 13423 "ip6" : {
7aacca6f
DM
13424 "description" : "IPv6 address in CIDR format.",
13425 "format" : "pve-ipv6-config",
44660702 13426 "format_description" : "IPv6Format/CIDR",
7aacca6f 13427 "optional" : 1,
44660702 13428 "type" : "string"
56122987 13429 },
44660702
DM
13430 "mtu" : {
13431 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 13432 "minimum" : 64,
56122987 13433 "optional" : 1,
44660702 13434 "type" : "integer"
56122987
DM
13435 },
13436 "name" : {
44660702 13437 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 13438 "format_description" : "string",
56122987 13439 "pattern" : "[-_.\\w\\d]+",
44660702 13440 "type" : "string"
56122987 13441 },
44660702
DM
13442 "rate" : {
13443 "description" : "Apply rate limiting to the interface",
13444 "format_description" : "mbps",
56122987 13445 "optional" : 1,
44660702 13446 "type" : "number"
7aacca6f 13447 },
44660702
DM
13448 "tag" : {
13449 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
13450 "maximum" : 4094,
13451 "minimum" : 1,
56122987 13452 "optional" : 1,
7aacca6f 13453 "type" : "integer"
56122987 13454 },
44660702
DM
13455 "trunks" : {
13456 "description" : "VLAN ids to pass through the interface",
13457 "format_description" : "vlanid[;vlanid...]",
13458 "optional" : 1,
13459 "pattern" : "(?^:\\d+(?:;\\d+)*)",
13460 "type" : "string"
13461 },
13462 "type" : {
13463 "description" : "Network interface type.",
13464 "enum" : [
13465 "veth"
13466 ],
56122987 13467 "optional" : 1,
44660702 13468 "type" : "string"
56122987
DM
13469 }
13470 },
7aacca6f 13471 "optional" : 1,
4bd7df8b
DM
13472 "type" : "string",
13473 "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 13474 },
44660702
DM
13475 "node" : {
13476 "description" : "The cluster node name.",
13477 "format" : "pve-node",
013dc89f
DM
13478 "type" : "string",
13479 "typetext" : "<string>"
56122987 13480 },
44660702
DM
13481 "onboot" : {
13482 "default" : 0,
13483 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 13484 "optional" : 1,
013dc89f
DM
13485 "type" : "boolean",
13486 "typetext" : "<boolean>"
56122987 13487 },
44660702
DM
13488 "ostype" : {
13489 "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.",
13490 "enum" : [
13491 "debian",
13492 "ubuntu",
13493 "centos",
13494 "fedora",
13495 "opensuse",
13496 "archlinux",
13497 "alpine",
57b78691 13498 "gentoo",
44660702
DM
13499 "unmanaged"
13500 ],
56122987 13501 "optional" : 1,
44660702 13502 "type" : "string"
56122987 13503 },
44660702
DM
13504 "protection" : {
13505 "default" : 0,
13506 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 13507 "optional" : 1,
013dc89f
DM
13508 "type" : "boolean",
13509 "typetext" : "<boolean>"
56122987 13510 },
7aacca6f
DM
13511 "rootfs" : {
13512 "description" : "Use volume as container root.",
56122987
DM
13513 "format" : {
13514 "acl" : {
44660702 13515 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
13516 "optional" : 1,
13517 "type" : "boolean"
56122987 13518 },
44660702
DM
13519 "quota" : {
13520 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
13521 "optional" : 1,
13522 "type" : "boolean"
13523 },
13524 "ro" : {
de0983cb 13525 "description" : "Read-only mount point",
56122987 13526 "optional" : 1,
44660702
DM
13527 "type" : "boolean"
13528 },
de0983cb
DM
13529 "shared" : {
13530 "default" : 0,
13531 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13532 "optional" : 1,
13533 "type" : "boolean",
13534 "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!"
13535 },
44660702 13536 "size" : {
7aacca6f 13537 "description" : "Volume size (read only value).",
44660702 13538 "format" : "disk-size",
56122987 13539 "format_description" : "DiskSize",
56122987 13540 "optional" : 1,
44660702 13541 "type" : "string"
7aacca6f
DM
13542 },
13543 "volume" : {
7aacca6f
DM
13544 "default_key" : 1,
13545 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
13546 "format" : "pve-lxc-mp-string",
13547 "format_description" : "volume",
7aacca6f 13548 "type" : "string"
56122987 13549 }
44660702
DM
13550 },
13551 "optional" : 1,
4bd7df8b 13552 "type" : "string",
de0983cb 13553 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
13554 },
13555 "searchdomain" : {
13556 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
13557 "format" : "dns-name-list",
13558 "optional" : 1,
013dc89f
DM
13559 "type" : "string",
13560 "typetext" : "<string>"
44660702
DM
13561 },
13562 "startup" : {
13563 "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.",
13564 "format" : "pve-startup-order",
13565 "optional" : 1,
13566 "type" : "string",
13567 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13568 },
13569 "swap" : {
13570 "default" : 512,
13571 "description" : "Amount of SWAP for the VM in MB.",
13572 "minimum" : 0,
13573 "optional" : 1,
4bd7df8b 13574 "type" : "integer",
013dc89f 13575 "typetext" : "<integer> (0 - N)"
56122987 13576 },
56122987 13577 "template" : {
44660702 13578 "default" : 0,
7aacca6f 13579 "description" : "Enable/disable Template.",
56122987 13580 "optional" : 1,
013dc89f
DM
13581 "type" : "boolean",
13582 "typetext" : "<boolean>"
56122987 13583 },
44660702
DM
13584 "tty" : {
13585 "default" : 2,
13586 "description" : "Specify the number of tty available to the container",
13587 "maximum" : 6,
13588 "minimum" : 0,
13589 "optional" : 1,
4bd7df8b 13590 "type" : "integer",
013dc89f 13591 "typetext" : "<integer> (0 - 6)"
56122987 13592 },
44660702
DM
13593 "unprivileged" : {
13594 "default" : 0,
13595 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 13596 "optional" : 1,
013dc89f
DM
13597 "type" : "boolean",
13598 "typetext" : "<boolean>"
56122987 13599 },
44660702 13600 "unused[n]" : {
c2993fe5 13601 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13602 "format" : "pve-volume-id",
56122987 13603 "optional" : 1,
013dc89f
DM
13604 "type" : "string",
13605 "typetext" : "<string>"
44660702
DM
13606 },
13607 "vmid" : {
13608 "description" : "The (unique) ID of the VM.",
13609 "format" : "pve-vmid",
13610 "minimum" : 1,
4bd7df8b 13611 "type" : "integer",
013dc89f 13612 "typetext" : "<integer> (1 - N)"
56122987 13613 }
44660702 13614 }
56122987 13615 },
56122987
DM
13616 "permissions" : {
13617 "check" : [
13618 "perm",
13619 "/vms/{vmid}",
13620 [
13621 "VM.Config.Disk",
13622 "VM.Config.CPU",
13623 "VM.Config.Memory",
13624 "VM.Config.Network",
13625 "VM.Config.Options"
13626 ],
13627 "any",
13628 1
13629 ]
13630 },
44660702
DM
13631 "protected" : 1,
13632 "proxyto" : "node",
56122987
DM
13633 "returns" : {
13634 "type" : "null"
7aacca6f 13635 }
56122987 13636 }
7aacca6f 13637 },
44660702 13638 "leaf" : 1,
7aacca6f 13639 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 13640 "text" : "config"
56122987
DM
13641 },
13642 {
56122987
DM
13643 "children" : [
13644 {
13645 "info" : {
13646 "GET" : {
44660702 13647 "description" : "Get virtual machine status.",
7aacca6f 13648 "method" : "GET",
44660702 13649 "name" : "vm_status",
56122987 13650 "parameters" : {
44660702 13651 "additionalProperties" : 0,
56122987 13652 "properties" : {
56122987 13653 "node" : {
44660702 13654 "description" : "The cluster node name.",
56122987 13655 "format" : "pve-node",
013dc89f
DM
13656 "type" : "string",
13657 "typetext" : "<string>"
7aacca6f
DM
13658 },
13659 "vmid" : {
13660 "description" : "The (unique) ID of the VM.",
44660702 13661 "format" : "pve-vmid",
7aacca6f 13662 "minimum" : 1,
4bd7df8b 13663 "type" : "integer",
013dc89f 13664 "typetext" : "<integer> (1 - N)"
56122987 13665 }
44660702 13666 }
7aacca6f
DM
13667 },
13668 "permissions" : {
13669 "check" : [
13670 "perm",
13671 "/vms/{vmid}",
13672 [
13673 "VM.Audit"
13674 ]
13675 ]
13676 },
44660702 13677 "protected" : 1,
7aacca6f 13678 "proxyto" : "node",
44660702
DM
13679 "returns" : {
13680 "type" : "object"
13681 }
56122987
DM
13682 }
13683 },
44660702
DM
13684 "leaf" : 1,
13685 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
13686 "text" : "current"
13687 },
13688 {
56122987
DM
13689 "info" : {
13690 "POST" : {
7aacca6f 13691 "description" : "Start the container.",
44660702 13692 "method" : "POST",
7aacca6f 13693 "name" : "vm_start",
56122987
DM
13694 "parameters" : {
13695 "additionalProperties" : 0,
13696 "properties" : {
56122987 13697 "node" : {
7aacca6f 13698 "description" : "The cluster node name.",
44660702 13699 "format" : "pve-node",
013dc89f
DM
13700 "type" : "string",
13701 "typetext" : "<string>"
56122987 13702 },
7aacca6f 13703 "skiplock" : {
44660702 13704 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 13705 "optional" : 1,
013dc89f
DM
13706 "type" : "boolean",
13707 "typetext" : "<boolean>"
7aacca6f 13708 },
56122987 13709 "vmid" : {
7aacca6f 13710 "description" : "The (unique) ID of the VM.",
44660702 13711 "format" : "pve-vmid",
56122987 13712 "minimum" : 1,
4bd7df8b 13713 "type" : "integer",
013dc89f 13714 "typetext" : "<integer> (1 - N)"
56122987
DM
13715 }
13716 }
13717 },
13718 "permissions" : {
13719 "check" : [
13720 "perm",
13721 "/vms/{vmid}",
13722 [
13723 "VM.PowerMgmt"
13724 ]
13725 ]
13726 },
44660702 13727 "protected" : 1,
7aacca6f 13728 "proxyto" : "node",
44660702
DM
13729 "returns" : {
13730 "type" : "string"
13731 }
13732 }
13733 },
13734 "leaf" : 1,
13735 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
13736 "text" : "start"
13737 },
13738 {
13739 "info" : {
13740 "POST" : {
13741 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
13742 "method" : "POST",
13743 "name" : "vm_stop",
13744 "parameters" : {
44660702 13745 "additionalProperties" : 0,
7aacca6f 13746 "properties" : {
44660702
DM
13747 "node" : {
13748 "description" : "The cluster node name.",
13749 "format" : "pve-node",
013dc89f
DM
13750 "type" : "string",
13751 "typetext" : "<string>"
44660702 13752 },
7aacca6f
DM
13753 "skiplock" : {
13754 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 13755 "optional" : 1,
013dc89f
DM
13756 "type" : "boolean",
13757 "typetext" : "<boolean>"
7aacca6f
DM
13758 },
13759 "vmid" : {
44660702 13760 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13761 "format" : "pve-vmid",
13762 "minimum" : 1,
4bd7df8b 13763 "type" : "integer",
013dc89f 13764 "typetext" : "<integer> (1 - N)"
7aacca6f 13765 }
44660702
DM
13766 }
13767 },
13768 "permissions" : {
13769 "check" : [
13770 "perm",
13771 "/vms/{vmid}",
13772 [
13773 "VM.PowerMgmt"
13774 ]
13775 ]
7aacca6f 13776 },
44660702
DM
13777 "protected" : 1,
13778 "proxyto" : "node",
13779 "returns" : {
13780 "type" : "string"
13781 }
56122987 13782 }
7aacca6f 13783 },
7aacca6f 13784 "leaf" : 1,
44660702
DM
13785 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
13786 "text" : "stop"
56122987
DM
13787 },
13788 {
56122987
DM
13789 "info" : {
13790 "POST" : {
44660702
DM
13791 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
13792 "method" : "POST",
7aacca6f 13793 "name" : "vm_shutdown",
56122987 13794 "parameters" : {
44660702 13795 "additionalProperties" : 0,
56122987 13796 "properties" : {
7aacca6f 13797 "forceStop" : {
44660702 13798 "default" : 0,
7aacca6f
DM
13799 "description" : "Make sure the Container stops.",
13800 "optional" : 1,
013dc89f
DM
13801 "type" : "boolean",
13802 "typetext" : "<boolean>"
44660702
DM
13803 },
13804 "node" : {
13805 "description" : "The cluster node name.",
13806 "format" : "pve-node",
013dc89f
DM
13807 "type" : "string",
13808 "typetext" : "<string>"
7aacca6f
DM
13809 },
13810 "timeout" : {
7aacca6f 13811 "default" : 60,
44660702
DM
13812 "description" : "Wait maximal timeout seconds.",
13813 "minimum" : 0,
56122987 13814 "optional" : 1,
4bd7df8b 13815 "type" : "integer",
013dc89f 13816 "typetext" : "<integer> (0 - N)"
56122987
DM
13817 },
13818 "vmid" : {
7aacca6f 13819 "description" : "The (unique) ID of the VM.",
44660702
DM
13820 "format" : "pve-vmid",
13821 "minimum" : 1,
4bd7df8b 13822 "type" : "integer",
013dc89f 13823 "typetext" : "<integer> (1 - N)"
56122987 13824 }
44660702 13825 }
56122987
DM
13826 },
13827 "permissions" : {
13828 "check" : [
13829 "perm",
13830 "/vms/{vmid}",
13831 [
13832 "VM.PowerMgmt"
13833 ]
13834 ]
13835 },
44660702
DM
13836 "protected" : 1,
13837 "proxyto" : "node",
7aacca6f
DM
13838 "returns" : {
13839 "type" : "string"
13840 }
56122987
DM
13841 }
13842 },
44660702
DM
13843 "leaf" : 1,
13844 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 13845 "text" : "shutdown"
56122987
DM
13846 },
13847 {
56122987
DM
13848 "info" : {
13849 "POST" : {
7aacca6f 13850 "description" : "Suspend the container.",
7aacca6f 13851 "method" : "POST",
7aacca6f 13852 "name" : "vm_suspend",
56122987
DM
13853 "parameters" : {
13854 "additionalProperties" : 0,
13855 "properties" : {
44660702
DM
13856 "node" : {
13857 "description" : "The cluster node name.",
13858 "format" : "pve-node",
013dc89f
DM
13859 "type" : "string",
13860 "typetext" : "<string>"
44660702 13861 },
7aacca6f 13862 "vmid" : {
7aacca6f
DM
13863 "description" : "The (unique) ID of the VM.",
13864 "format" : "pve-vmid",
44660702 13865 "minimum" : 1,
4bd7df8b 13866 "type" : "integer",
013dc89f 13867 "typetext" : "<integer> (1 - N)"
56122987
DM
13868 }
13869 }
7aacca6f 13870 },
56122987
DM
13871 "permissions" : {
13872 "check" : [
13873 "perm",
13874 "/vms/{vmid}",
13875 [
13876 "VM.PowerMgmt"
13877 ]
13878 ]
13879 },
7aacca6f 13880 "protected" : 1,
44660702
DM
13881 "proxyto" : "node",
13882 "returns" : {
13883 "type" : "string"
13884 }
13885 }
13886 },
13887 "leaf" : 1,
13888 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
13889 "text" : "suspend"
13890 },
13891 {
13892 "info" : {
13893 "POST" : {
13894 "description" : "Resume the container.",
13895 "method" : "POST",
13896 "name" : "vm_resume",
56122987 13897 "parameters" : {
44660702 13898 "additionalProperties" : 0,
56122987
DM
13899 "properties" : {
13900 "node" : {
7aacca6f 13901 "description" : "The cluster node name.",
44660702 13902 "format" : "pve-node",
013dc89f
DM
13903 "type" : "string",
13904 "typetext" : "<string>"
56122987
DM
13905 },
13906 "vmid" : {
7aacca6f 13907 "description" : "The (unique) ID of the VM.",
56122987 13908 "format" : "pve-vmid",
44660702 13909 "minimum" : 1,
4bd7df8b 13910 "type" : "integer",
013dc89f 13911 "typetext" : "<integer> (1 - N)"
56122987 13912 }
44660702
DM
13913 }
13914 },
13915 "permissions" : {
13916 "check" : [
13917 "perm",
13918 "/vms/{vmid}",
13919 [
13920 "VM.PowerMgmt"
13921 ]
13922 ]
56122987 13923 },
44660702
DM
13924 "protected" : 1,
13925 "proxyto" : "node",
13926 "returns" : {
13927 "type" : "string"
13928 }
7aacca6f
DM
13929 }
13930 },
44660702
DM
13931 "leaf" : 1,
13932 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
13933 "text" : "resume"
13934 }
13935 ],
13936 "info" : {
13937 "GET" : {
7aacca6f 13938 "description" : "Directory index",
44660702 13939 "method" : "GET",
7aacca6f 13940 "name" : "vmcmdidx",
7aacca6f
DM
13941 "parameters" : {
13942 "additionalProperties" : 0,
13943 "properties" : {
13944 "node" : {
13945 "description" : "The cluster node name.",
44660702 13946 "format" : "pve-node",
013dc89f
DM
13947 "type" : "string",
13948 "typetext" : "<string>"
56122987 13949 },
7aacca6f 13950 "vmid" : {
44660702 13951 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
13952 "format" : "pve-vmid",
13953 "minimum" : 1,
4bd7df8b 13954 "type" : "integer",
013dc89f 13955 "typetext" : "<integer> (1 - N)"
7aacca6f 13956 }
56122987
DM
13957 }
13958 },
44660702
DM
13959 "permissions" : {
13960 "user" : "all"
13961 },
13962 "proxyto" : "node",
7aacca6f 13963 "returns" : {
7aacca6f
DM
13964 "items" : {
13965 "properties" : {
13966 "subdir" : {
13967 "type" : "string"
13968 }
13969 },
13970 "type" : "object"
13971 },
13972 "links" : [
13973 {
44660702
DM
13974 "href" : "{subdir}",
13975 "rel" : "child"
7aacca6f 13976 }
44660702
DM
13977 ],
13978 "type" : "array"
7aacca6f
DM
13979 }
13980 }
44660702
DM
13981 },
13982 "leaf" : 0,
13983 "path" : "/nodes/{node}/lxc/{vmid}/status",
13984 "text" : "status"
7aacca6f
DM
13985 },
13986 {
7aacca6f 13987 "children" : [
56122987 13988 {
7aacca6f
DM
13989 "children" : [
13990 {
13991 "info" : {
13992 "POST" : {
7aacca6f 13993 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 13994 "method" : "POST",
44660702 13995 "name" : "rollback",
7aacca6f 13996 "parameters" : {
44660702 13997 "additionalProperties" : 0,
7aacca6f 13998 "properties" : {
44660702
DM
13999 "node" : {
14000 "description" : "The cluster node name.",
14001 "format" : "pve-node",
013dc89f
DM
14002 "type" : "string",
14003 "typetext" : "<string>"
44660702 14004 },
7aacca6f 14005 "snapname" : {
44660702 14006 "description" : "The name of the snapshot.",
7aacca6f
DM
14007 "format" : "pve-configid",
14008 "maxLength" : 40,
013dc89f
DM
14009 "type" : "string",
14010 "typetext" : "<string>"
7aacca6f 14011 },
7aacca6f 14012 "vmid" : {
44660702 14013 "description" : "The (unique) ID of the VM.",
7aacca6f 14014 "format" : "pve-vmid",
44660702 14015 "minimum" : 1,
4bd7df8b 14016 "type" : "integer",
013dc89f 14017 "typetext" : "<integer> (1 - N)"
7aacca6f 14018 }
44660702
DM
14019 }
14020 },
14021 "permissions" : {
14022 "check" : [
14023 "perm",
14024 "/vms/{vmid}",
14025 [
14026 "VM.Snapshot"
14027 ]
14028 ]
7aacca6f 14029 },
44660702
DM
14030 "protected" : 1,
14031 "proxyto" : "node",
14032 "returns" : {
14033 "description" : "the task ID.",
14034 "type" : "string"
14035 }
7aacca6f
DM
14036 }
14037 },
7aacca6f 14038 "leaf" : 1,
44660702
DM
14039 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
14040 "text" : "rollback"
7aacca6f
DM
14041 },
14042 {
7aacca6f
DM
14043 "info" : {
14044 "GET" : {
7aacca6f 14045 "description" : "Get snapshot configuration",
44660702
DM
14046 "method" : "GET",
14047 "name" : "get_snapshot_config",
7aacca6f
DM
14048 "parameters" : {
14049 "additionalProperties" : 0,
14050 "properties" : {
7aacca6f 14051 "node" : {
7aacca6f 14052 "description" : "The cluster node name.",
44660702 14053 "format" : "pve-node",
013dc89f
DM
14054 "type" : "string",
14055 "typetext" : "<string>"
7aacca6f
DM
14056 },
14057 "snapname" : {
44660702 14058 "description" : "The name of the snapshot.",
7aacca6f
DM
14059 "format" : "pve-configid",
14060 "maxLength" : 40,
013dc89f
DM
14061 "type" : "string",
14062 "typetext" : "<string>"
44660702
DM
14063 },
14064 "vmid" : {
14065 "description" : "The (unique) ID of the VM.",
14066 "format" : "pve-vmid",
14067 "minimum" : 1,
4bd7df8b 14068 "type" : "integer",
013dc89f 14069 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14070 }
14071 }
14072 },
14073 "permissions" : {
14074 "check" : [
14075 "perm",
14076 "/vms/{vmid}",
14077 [
14078 "VM.Snapshot"
14079 ]
14080 ]
14081 },
44660702
DM
14082 "proxyto" : "node",
14083 "returns" : {
14084 "type" : "object"
14085 }
7aacca6f
DM
14086 },
14087 "PUT" : {
44660702
DM
14088 "description" : "Update snapshot metadata.",
14089 "method" : "PUT",
7aacca6f
DM
14090 "name" : "update_snapshot_config",
14091 "parameters" : {
14092 "additionalProperties" : 0,
14093 "properties" : {
44660702
DM
14094 "description" : {
14095 "description" : "A textual description or comment.",
14096 "optional" : 1,
013dc89f
DM
14097 "type" : "string",
14098 "typetext" : "<string>"
44660702 14099 },
7aacca6f 14100 "node" : {
7aacca6f 14101 "description" : "The cluster node name.",
44660702 14102 "format" : "pve-node",
013dc89f
DM
14103 "type" : "string",
14104 "typetext" : "<string>"
7aacca6f
DM
14105 },
14106 "snapname" : {
14107 "description" : "The name of the snapshot.",
7aacca6f 14108 "format" : "pve-configid",
44660702 14109 "maxLength" : 40,
013dc89f
DM
14110 "type" : "string",
14111 "typetext" : "<string>"
7aacca6f
DM
14112 },
14113 "vmid" : {
44660702 14114 "description" : "The (unique) ID of the VM.",
7aacca6f 14115 "format" : "pve-vmid",
44660702 14116 "minimum" : 1,
4bd7df8b 14117 "type" : "integer",
013dc89f 14118 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14119 }
14120 }
14121 },
7aacca6f
DM
14122 "permissions" : {
14123 "check" : [
14124 "perm",
14125 "/vms/{vmid}",
14126 [
14127 "VM.Snapshot"
14128 ]
14129 ]
14130 },
44660702
DM
14131 "protected" : 1,
14132 "proxyto" : "node",
7aacca6f
DM
14133 "returns" : {
14134 "type" : "null"
14135 }
14136 }
14137 },
44660702 14138 "leaf" : 1,
7aacca6f 14139 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 14140 "text" : "config"
7aacca6f
DM
14141 }
14142 ],
56122987 14143 "info" : {
44660702
DM
14144 "DELETE" : {
14145 "description" : "Delete a LXC snapshot.",
14146 "method" : "DELETE",
14147 "name" : "delsnapshot",
56122987 14148 "parameters" : {
44660702 14149 "additionalProperties" : 0,
56122987 14150 "properties" : {
44660702
DM
14151 "force" : {
14152 "description" : "For removal from config file, even if removing disk snapshots fails.",
14153 "optional" : 1,
013dc89f
DM
14154 "type" : "boolean",
14155 "typetext" : "<boolean>"
44660702
DM
14156 },
14157 "node" : {
14158 "description" : "The cluster node name.",
14159 "format" : "pve-node",
013dc89f
DM
14160 "type" : "string",
14161 "typetext" : "<string>"
7aacca6f
DM
14162 },
14163 "snapname" : {
7aacca6f
DM
14164 "description" : "The name of the snapshot.",
14165 "format" : "pve-configid",
44660702 14166 "maxLength" : 40,
013dc89f
DM
14167 "type" : "string",
14168 "typetext" : "<string>"
44660702
DM
14169 },
14170 "vmid" : {
14171 "description" : "The (unique) ID of the VM.",
14172 "format" : "pve-vmid",
14173 "minimum" : 1,
4bd7df8b 14174 "type" : "integer",
013dc89f 14175 "typetext" : "<integer> (1 - N)"
56122987 14176 }
44660702 14177 }
7aacca6f 14178 },
56122987
DM
14179 "permissions" : {
14180 "check" : [
14181 "perm",
14182 "/vms/{vmid}",
14183 [
7aacca6f 14184 "VM.Snapshot"
56122987
DM
14185 ]
14186 ]
14187 },
44660702 14188 "protected" : 1,
7aacca6f 14189 "proxyto" : "node",
56122987 14190 "returns" : {
7aacca6f 14191 "description" : "the task ID.",
56122987 14192 "type" : "string"
44660702
DM
14193 }
14194 },
14195 "GET" : {
14196 "description" : "",
14197 "method" : "GET",
14198 "name" : "snapshot_cmd_idx",
7aacca6f
DM
14199 "parameters" : {
14200 "additionalProperties" : 0,
14201 "properties" : {
7aacca6f 14202 "node" : {
44660702 14203 "description" : "The cluster node name.",
7aacca6f 14204 "format" : "pve-node",
013dc89f
DM
14205 "type" : "string",
14206 "typetext" : "<string>"
7aacca6f
DM
14207 },
14208 "snapname" : {
44660702 14209 "description" : "The name of the snapshot.",
7aacca6f 14210 "format" : "pve-configid",
44660702 14211 "maxLength" : 40,
013dc89f
DM
14212 "type" : "string",
14213 "typetext" : "<string>"
44660702
DM
14214 },
14215 "vmid" : {
14216 "description" : "The (unique) ID of the VM.",
14217 "format" : "pve-vmid",
14218 "minimum" : 1,
4bd7df8b 14219 "type" : "integer",
013dc89f 14220 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14221 }
14222 }
14223 },
44660702
DM
14224 "permissions" : {
14225 "user" : "all"
14226 },
14227 "returns" : {
14228 "items" : {
14229 "properties" : {},
14230 "type" : "object"
14231 },
14232 "links" : [
14233 {
14234 "href" : "{cmd}",
14235 "rel" : "child"
14236 }
14237 ],
14238 "type" : "array"
14239 }
14240 }
14241 },
14242 "leaf" : 0,
14243 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
14244 "text" : "{snapname}"
14245 }
14246 ],
14247 "info" : {
14248 "GET" : {
14249 "description" : "List all snapshots.",
14250 "method" : "GET",
14251 "name" : "list",
14252 "parameters" : {
14253 "additionalProperties" : 0,
14254 "properties" : {
14255 "node" : {
14256 "description" : "The cluster node name.",
14257 "format" : "pve-node",
013dc89f
DM
14258 "type" : "string",
14259 "typetext" : "<string>"
44660702
DM
14260 },
14261 "vmid" : {
14262 "description" : "The (unique) ID of the VM.",
14263 "format" : "pve-vmid",
14264 "minimum" : 1,
4bd7df8b 14265 "type" : "integer",
013dc89f 14266 "typetext" : "<integer> (1 - N)"
44660702 14267 }
56122987
DM
14268 }
14269 },
56122987 14270 "permissions" : {
7aacca6f
DM
14271 "check" : [
14272 "perm",
14273 "/vms/{vmid}",
14274 [
14275 "VM.Audit"
14276 ]
14277 ]
14278 },
44660702 14279 "protected" : 1,
56122987 14280 "proxyto" : "node",
7aacca6f 14281 "returns" : {
44660702
DM
14282 "items" : {
14283 "properties" : {},
14284 "type" : "object"
14285 },
7aacca6f
DM
14286 "links" : [
14287 {
14288 "href" : "{name}",
14289 "rel" : "child"
14290 }
14291 ],
7aacca6f 14292 "type" : "array"
44660702 14293 }
7aacca6f
DM
14294 },
14295 "POST" : {
44660702
DM
14296 "description" : "Snapshot a container.",
14297 "method" : "POST",
14298 "name" : "snapshot",
56122987
DM
14299 "parameters" : {
14300 "additionalProperties" : 0,
14301 "properties" : {
7aacca6f 14302 "description" : {
44660702 14303 "description" : "A textual description or comment.",
7aacca6f 14304 "optional" : 1,
013dc89f
DM
14305 "type" : "string",
14306 "typetext" : "<string>"
44660702
DM
14307 },
14308 "node" : {
14309 "description" : "The cluster node name.",
14310 "format" : "pve-node",
013dc89f
DM
14311 "type" : "string",
14312 "typetext" : "<string>"
56122987
DM
14313 },
14314 "snapname" : {
56122987 14315 "description" : "The name of the snapshot.",
44660702 14316 "format" : "pve-configid",
7aacca6f 14317 "maxLength" : 40,
013dc89f
DM
14318 "type" : "string",
14319 "typetext" : "<string>"
56122987 14320 },
44660702
DM
14321 "vmid" : {
14322 "description" : "The (unique) ID of the VM.",
14323 "format" : "pve-vmid",
14324 "minimum" : 1,
4bd7df8b 14325 "type" : "integer",
013dc89f 14326 "typetext" : "<integer> (1 - N)"
56122987 14327 }
7aacca6f 14328 }
56122987 14329 },
56122987
DM
14330 "permissions" : {
14331 "check" : [
14332 "perm",
14333 "/vms/{vmid}",
14334 [
7aacca6f 14335 "VM.Snapshot"
56122987
DM
14336 ]
14337 ]
7aacca6f 14338 },
44660702 14339 "protected" : 1,
7aacca6f
DM
14340 "proxyto" : "node",
14341 "returns" : {
14342 "description" : "the task ID.",
14343 "type" : "string"
56122987
DM
14344 }
14345 }
44660702
DM
14346 },
14347 "leaf" : 0,
14348 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
14349 "text" : "snapshot"
7aacca6f
DM
14350 },
14351 {
56122987
DM
14352 "children" : [
14353 {
56122987
DM
14354 "children" : [
14355 {
56122987 14356 "info" : {
44660702
DM
14357 "DELETE" : {
14358 "description" : "Delete rule.",
14359 "method" : "DELETE",
14360 "name" : "delete_rule",
56122987 14361 "parameters" : {
44660702 14362 "additionalProperties" : 0,
56122987 14363 "properties" : {
44660702
DM
14364 "digest" : {
14365 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14366 "maxLength" : 40,
7aacca6f 14367 "optional" : 1,
013dc89f
DM
14368 "type" : "string",
14369 "typetext" : "<string>"
7aacca6f
DM
14370 },
14371 "node" : {
44660702 14372 "description" : "The cluster node name.",
7aacca6f 14373 "format" : "pve-node",
013dc89f
DM
14374 "type" : "string",
14375 "typetext" : "<string>"
44660702
DM
14376 },
14377 "pos" : {
14378 "description" : "Update rule at position <pos>.",
14379 "minimum" : 0,
14380 "optional" : 1,
4bd7df8b 14381 "type" : "integer",
013dc89f 14382 "typetext" : "<integer> (0 - N)"
44660702
DM
14383 },
14384 "vmid" : {
14385 "description" : "The (unique) ID of the VM.",
14386 "format" : "pve-vmid",
14387 "minimum" : 1,
4bd7df8b 14388 "type" : "integer",
013dc89f 14389 "typetext" : "<integer> (1 - N)"
56122987 14390 }
44660702 14391 }
56122987 14392 },
56122987
DM
14393 "permissions" : {
14394 "check" : [
14395 "perm",
14396 "/vms/{vmid}",
14397 [
44660702 14398 "VM.Config.Network"
56122987
DM
14399 ]
14400 ]
14401 },
44660702 14402 "protected" : 1,
7aacca6f 14403 "proxyto" : null,
44660702
DM
14404 "returns" : {
14405 "type" : "null"
14406 }
7aacca6f 14407 },
44660702
DM
14408 "GET" : {
14409 "description" : "Get single rule data.",
14410 "method" : "GET",
14411 "name" : "get_rule",
56122987 14412 "parameters" : {
44660702 14413 "additionalProperties" : 0,
56122987 14414 "properties" : {
7aacca6f 14415 "node" : {
7aacca6f 14416 "description" : "The cluster node name.",
44660702 14417 "format" : "pve-node",
013dc89f
DM
14418 "type" : "string",
14419 "typetext" : "<string>"
56122987 14420 },
7aacca6f 14421 "pos" : {
7aacca6f 14422 "description" : "Update rule at position <pos>.",
44660702 14423 "minimum" : 0,
7aacca6f 14424 "optional" : 1,
4bd7df8b 14425 "type" : "integer",
013dc89f 14426 "typetext" : "<integer> (0 - N)"
56122987 14427 },
7aacca6f 14428 "vmid" : {
44660702 14429 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14430 "format" : "pve-vmid",
14431 "minimum" : 1,
4bd7df8b 14432 "type" : "integer",
013dc89f 14433 "typetext" : "<integer> (1 - N)"
56122987 14434 }
44660702 14435 }
56122987 14436 },
7aacca6f
DM
14437 "permissions" : {
14438 "check" : [
14439 "perm",
14440 "/vms/{vmid}",
14441 [
44660702 14442 "VM.Audit"
7aacca6f
DM
14443 ]
14444 ]
14445 },
7aacca6f
DM
14446 "proxyto" : null,
14447 "returns" : {
44660702
DM
14448 "properties" : {
14449 "pos" : {
14450 "type" : "integer"
14451 }
14452 },
14453 "type" : "object"
7aacca6f 14454 }
56122987 14455 },
44660702
DM
14456 "PUT" : {
14457 "description" : "Modify rule data.",
14458 "method" : "PUT",
14459 "name" : "update_rule",
56122987
DM
14460 "parameters" : {
14461 "additionalProperties" : 0,
14462 "properties" : {
44660702
DM
14463 "action" : {
14464 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
14465 "maxLength" : 20,
14466 "minLength" : 2,
14467 "optional" : 1,
14468 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14469 "type" : "string"
14470 },
14471 "comment" : {
e94f0d56 14472 "description" : "Descriptive comment.",
44660702 14473 "optional" : 1,
013dc89f
DM
14474 "type" : "string",
14475 "typetext" : "<string>"
44660702
DM
14476 },
14477 "delete" : {
14478 "description" : "A list of settings you want to delete.",
14479 "format" : "pve-configid-list",
14480 "optional" : 1,
013dc89f
DM
14481 "type" : "string",
14482 "typetext" : "<string>"
44660702
DM
14483 },
14484 "dest" : {
14485 "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.",
14486 "format" : "pve-fw-addr-spec",
14487 "optional" : 1,
013dc89f
DM
14488 "type" : "string",
14489 "typetext" : "<string>"
44660702
DM
14490 },
14491 "digest" : {
14492 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14493 "maxLength" : 40,
14494 "optional" : 1,
013dc89f
DM
14495 "type" : "string",
14496 "typetext" : "<string>"
44660702
DM
14497 },
14498 "dport" : {
14499 "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.",
14500 "format" : "pve-fw-dport-spec",
14501 "optional" : 1,
013dc89f
DM
14502 "type" : "string",
14503 "typetext" : "<string>"
44660702
DM
14504 },
14505 "enable" : {
e94f0d56 14506 "description" : "Flag to enable/disable a rule.",
44660702
DM
14507 "minimum" : 0,
14508 "optional" : 1,
4bd7df8b 14509 "type" : "integer",
013dc89f 14510 "typetext" : "<integer> (0 - N)"
44660702
DM
14511 },
14512 "iface" : {
14513 "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.",
14514 "format" : "pve-iface",
14515 "maxLength" : 20,
14516 "minLength" : 2,
14517 "optional" : 1,
013dc89f
DM
14518 "type" : "string",
14519 "typetext" : "<string>"
44660702
DM
14520 },
14521 "macro" : {
e94f0d56 14522 "description" : "Use predefined standard macro.",
44660702
DM
14523 "maxLength" : 128,
14524 "optional" : 1,
013dc89f
DM
14525 "type" : "string",
14526 "typetext" : "<string>"
44660702
DM
14527 },
14528 "moveto" : {
14529 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
14530 "minimum" : 0,
14531 "optional" : 1,
4bd7df8b 14532 "type" : "integer",
013dc89f 14533 "typetext" : "<integer> (0 - N)"
44660702 14534 },
7aacca6f
DM
14535 "node" : {
14536 "description" : "The cluster node name.",
44660702 14537 "format" : "pve-node",
013dc89f
DM
14538 "type" : "string",
14539 "typetext" : "<string>"
56122987
DM
14540 },
14541 "pos" : {
44660702 14542 "description" : "Update rule at position <pos>.",
56122987 14543 "minimum" : 0,
7aacca6f 14544 "optional" : 1,
4bd7df8b 14545 "type" : "integer",
013dc89f 14546 "typetext" : "<integer> (0 - N)"
56122987 14547 },
44660702
DM
14548 "proto" : {
14549 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14550 "format" : "pve-fw-protocol-spec",
14551 "optional" : 1,
013dc89f
DM
14552 "type" : "string",
14553 "typetext" : "<string>"
7aacca6f 14554 },
44660702
DM
14555 "source" : {
14556 "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.",
14557 "format" : "pve-fw-addr-spec",
14558 "optional" : 1,
013dc89f
DM
14559 "type" : "string",
14560 "typetext" : "<string>"
44660702
DM
14561 },
14562 "sport" : {
14563 "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.",
14564 "format" : "pve-fw-sport-spec",
14565 "optional" : 1,
013dc89f
DM
14566 "type" : "string",
14567 "typetext" : "<string>"
44660702
DM
14568 },
14569 "type" : {
e94f0d56 14570 "description" : "Rule type.",
44660702
DM
14571 "enum" : [
14572 "in",
14573 "out",
14574 "group"
14575 ],
7aacca6f 14576 "optional" : 1,
44660702
DM
14577 "type" : "string"
14578 },
14579 "vmid" : {
14580 "description" : "The (unique) ID of the VM.",
14581 "format" : "pve-vmid",
14582 "minimum" : 1,
4bd7df8b 14583 "type" : "integer",
013dc89f 14584 "typetext" : "<integer> (1 - N)"
56122987
DM
14585 }
14586 }
14587 },
56122987
DM
14588 "permissions" : {
14589 "check" : [
14590 "perm",
14591 "/vms/{vmid}",
14592 [
7aacca6f 14593 "VM.Config.Network"
56122987
DM
14594 ]
14595 ]
14596 },
44660702 14597 "protected" : 1,
56122987 14598 "proxyto" : null,
56122987 14599 "returns" : {
7aacca6f
DM
14600 "type" : "null"
14601 }
56122987 14602 }
44660702
DM
14603 },
14604 "leaf" : 1,
14605 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
14606 "text" : "{pos}"
56122987
DM
14607 }
14608 ],
14609 "info" : {
7aacca6f 14610 "GET" : {
44660702
DM
14611 "description" : "List rules.",
14612 "method" : "GET",
14613 "name" : "get_rules",
7aacca6f 14614 "parameters" : {
44660702 14615 "additionalProperties" : 0,
7aacca6f
DM
14616 "properties" : {
14617 "node" : {
7aacca6f 14618 "description" : "The cluster node name.",
44660702 14619 "format" : "pve-node",
013dc89f
DM
14620 "type" : "string",
14621 "typetext" : "<string>"
7aacca6f
DM
14622 },
14623 "vmid" : {
14624 "description" : "The (unique) ID of the VM.",
44660702 14625 "format" : "pve-vmid",
7aacca6f 14626 "minimum" : 1,
4bd7df8b 14627 "type" : "integer",
013dc89f 14628 "typetext" : "<integer> (1 - N)"
7aacca6f 14629 }
44660702 14630 }
56122987 14631 },
56122987
DM
14632 "permissions" : {
14633 "check" : [
14634 "perm",
14635 "/vms/{vmid}",
14636 [
7aacca6f 14637 "VM.Audit"
56122987
DM
14638 ]
14639 ]
14640 },
14641 "proxyto" : null,
7aacca6f 14642 "returns" : {
7aacca6f
DM
14643 "items" : {
14644 "properties" : {
14645 "pos" : {
14646 "type" : "integer"
14647 }
14648 },
14649 "type" : "object"
14650 },
14651 "links" : [
14652 {
44660702
DM
14653 "href" : "{pos}",
14654 "rel" : "child"
7aacca6f 14655 }
44660702
DM
14656 ],
14657 "type" : "array"
14658 }
7aacca6f
DM
14659 },
14660 "POST" : {
44660702
DM
14661 "description" : "Create new rule.",
14662 "method" : "POST",
7aacca6f 14663 "name" : "create_rule",
56122987 14664 "parameters" : {
44660702 14665 "additionalProperties" : 0,
56122987 14666 "properties" : {
7aacca6f 14667 "action" : {
44660702 14668 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 14669 "maxLength" : 20,
44660702 14670 "minLength" : 2,
7aacca6f
DM
14671 "optional" : 0,
14672 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
14673 "type" : "string"
14674 },
44660702 14675 "comment" : {
e94f0d56 14676 "description" : "Descriptive comment.",
7aacca6f 14677 "optional" : 1,
013dc89f
DM
14678 "type" : "string",
14679 "typetext" : "<string>"
56122987 14680 },
44660702
DM
14681 "dest" : {
14682 "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.",
14683 "format" : "pve-fw-addr-spec",
56122987 14684 "optional" : 1,
013dc89f
DM
14685 "type" : "string",
14686 "typetext" : "<string>"
56122987 14687 },
44660702
DM
14688 "digest" : {
14689 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14690 "maxLength" : 40,
56122987 14691 "optional" : 1,
013dc89f
DM
14692 "type" : "string",
14693 "typetext" : "<string>"
56122987 14694 },
44660702
DM
14695 "dport" : {
14696 "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.",
14697 "format" : "pve-fw-dport-spec",
56122987 14698 "optional" : 1,
013dc89f
DM
14699 "type" : "string",
14700 "typetext" : "<string>"
56122987 14701 },
44660702 14702 "enable" : {
e94f0d56 14703 "description" : "Flag to enable/disable a rule.",
44660702 14704 "minimum" : 0,
56122987 14705 "optional" : 1,
4bd7df8b 14706 "type" : "integer",
013dc89f 14707 "typetext" : "<integer> (0 - N)"
56122987 14708 },
44660702
DM
14709 "iface" : {
14710 "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.",
14711 "format" : "pve-iface",
14712 "maxLength" : 20,
14713 "minLength" : 2,
7aacca6f 14714 "optional" : 1,
013dc89f
DM
14715 "type" : "string",
14716 "typetext" : "<string>"
56122987 14717 },
44660702 14718 "macro" : {
e94f0d56 14719 "description" : "Use predefined standard macro.",
44660702 14720 "maxLength" : 128,
56122987 14721 "optional" : 1,
013dc89f
DM
14722 "type" : "string",
14723 "typetext" : "<string>"
56122987
DM
14724 },
14725 "node" : {
7aacca6f 14726 "description" : "The cluster node name.",
44660702 14727 "format" : "pve-node",
013dc89f
DM
14728 "type" : "string",
14729 "typetext" : "<string>"
7aacca6f 14730 },
44660702
DM
14731 "pos" : {
14732 "description" : "Update rule at position <pos>.",
14733 "minimum" : 0,
14734 "optional" : 1,
4bd7df8b 14735 "type" : "integer",
013dc89f 14736 "typetext" : "<integer> (0 - N)"
44660702
DM
14737 },
14738 "proto" : {
14739 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
14740 "format" : "pve-fw-protocol-spec",
7aacca6f 14741 "optional" : 1,
013dc89f
DM
14742 "type" : "string",
14743 "typetext" : "<string>"
7aacca6f 14744 },
44660702
DM
14745 "source" : {
14746 "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.",
14747 "format" : "pve-fw-addr-spec",
14748 "optional" : 1,
013dc89f
DM
14749 "type" : "string",
14750 "typetext" : "<string>"
56122987 14751 },
44660702
DM
14752 "sport" : {
14753 "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.",
14754 "format" : "pve-fw-sport-spec",
14755 "optional" : 1,
013dc89f
DM
14756 "type" : "string",
14757 "typetext" : "<string>"
7aacca6f 14758 },
44660702 14759 "type" : {
e94f0d56 14760 "description" : "Rule type.",
44660702
DM
14761 "enum" : [
14762 "in",
14763 "out",
14764 "group"
14765 ],
14766 "optional" : 0,
14767 "type" : "string"
14768 },
14769 "vmid" : {
14770 "description" : "The (unique) ID of the VM.",
14771 "format" : "pve-vmid",
14772 "minimum" : 1,
4bd7df8b 14773 "type" : "integer",
013dc89f 14774 "typetext" : "<integer> (1 - N)"
44660702
DM
14775 }
14776 }
14777 },
14778 "permissions" : {
14779 "check" : [
14780 "perm",
14781 "/vms/{vmid}",
14782 [
14783 "VM.Config.Network"
14784 ]
14785 ]
14786 },
14787 "protected" : 1,
14788 "proxyto" : null,
14789 "returns" : {
14790 "type" : "null"
14791 }
14792 }
14793 },
14794 "leaf" : 0,
14795 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
14796 "text" : "rules"
14797 },
14798 {
14799 "children" : [
14800 {
14801 "info" : {
14802 "DELETE" : {
14803 "description" : "Remove IP or Network alias.",
14804 "method" : "DELETE",
14805 "name" : "remove_alias",
56122987 14806 "parameters" : {
44660702 14807 "additionalProperties" : 0,
56122987 14808 "properties" : {
44660702
DM
14809 "digest" : {
14810 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14811 "maxLength" : 40,
56122987 14812 "optional" : 1,
013dc89f
DM
14813 "type" : "string",
14814 "typetext" : "<string>"
56122987 14815 },
7aacca6f 14816 "name" : {
44660702 14817 "description" : "Alias name.",
7aacca6f 14818 "maxLength" : 64,
7aacca6f
DM
14819 "minLength" : 2,
14820 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14821 "type" : "string"
7aacca6f
DM
14822 },
14823 "node" : {
44660702 14824 "description" : "The cluster node name.",
56122987 14825 "format" : "pve-node",
013dc89f
DM
14826 "type" : "string",
14827 "typetext" : "<string>"
7aacca6f 14828 },
56122987 14829 "vmid" : {
44660702 14830 "description" : "The (unique) ID of the VM.",
56122987 14831 "format" : "pve-vmid",
44660702 14832 "minimum" : 1,
4bd7df8b 14833 "type" : "integer",
013dc89f 14834 "typetext" : "<integer> (1 - N)"
56122987 14835 }
44660702 14836 }
56122987 14837 },
56122987
DM
14838 "permissions" : {
14839 "check" : [
14840 "perm",
14841 "/vms/{vmid}",
14842 [
7aacca6f 14843 "VM.Config.Network"
56122987
DM
14844 ]
14845 ]
14846 },
44660702 14847 "protected" : 1,
56122987 14848 "returns" : {
7aacca6f 14849 "type" : "null"
44660702 14850 }
56122987 14851 },
44660702
DM
14852 "GET" : {
14853 "description" : "Read alias.",
14854 "method" : "GET",
14855 "name" : "read_alias",
14856 "parameters" : {
14857 "additionalProperties" : 0,
14858 "properties" : {
14859 "name" : {
14860 "description" : "Alias name.",
14861 "maxLength" : 64,
14862 "minLength" : 2,
14863 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14864 "type" : "string"
14865 },
14866 "node" : {
14867 "description" : "The cluster node name.",
14868 "format" : "pve-node",
013dc89f
DM
14869 "type" : "string",
14870 "typetext" : "<string>"
44660702
DM
14871 },
14872 "vmid" : {
14873 "description" : "The (unique) ID of the VM.",
14874 "format" : "pve-vmid",
14875 "minimum" : 1,
4bd7df8b 14876 "type" : "integer",
013dc89f 14877 "typetext" : "<integer> (1 - N)"
44660702
DM
14878 }
14879 }
56122987 14880 },
7aacca6f
DM
14881 "permissions" : {
14882 "check" : [
14883 "perm",
14884 "/vms/{vmid}",
14885 [
44660702 14886 "VM.Audit"
7aacca6f
DM
14887 ]
14888 ]
14889 },
44660702
DM
14890 "returns" : {
14891 "type" : "object"
14892 }
14893 },
14894 "PUT" : {
14895 "description" : "Update IP or Network alias.",
14896 "method" : "PUT",
14897 "name" : "update_alias",
56122987
DM
14898 "parameters" : {
14899 "additionalProperties" : 0,
14900 "properties" : {
44660702
DM
14901 "cidr" : {
14902 "description" : "Network/IP specification in CIDR format.",
14903 "format" : "IPorCIDR",
013dc89f
DM
14904 "type" : "string",
14905 "typetext" : "<string>"
44660702
DM
14906 },
14907 "comment" : {
14908 "optional" : 1,
013dc89f
DM
14909 "type" : "string",
14910 "typetext" : "<string>"
44660702
DM
14911 },
14912 "digest" : {
14913 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14914 "maxLength" : 40,
14915 "optional" : 1,
013dc89f
DM
14916 "type" : "string",
14917 "typetext" : "<string>"
44660702 14918 },
56122987 14919 "name" : {
7aacca6f 14920 "description" : "Alias name.",
44660702
DM
14921 "maxLength" : 64,
14922 "minLength" : 2,
7aacca6f 14923 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 14924 "type" : "string"
56122987
DM
14925 },
14926 "node" : {
14927 "description" : "The cluster node name.",
44660702 14928 "format" : "pve-node",
013dc89f
DM
14929 "type" : "string",
14930 "typetext" : "<string>"
44660702
DM
14931 },
14932 "rename" : {
14933 "description" : "Rename an existing alias.",
14934 "maxLength" : 64,
14935 "minLength" : 2,
14936 "optional" : 1,
14937 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
14938 "type" : "string"
56122987 14939 },
7aacca6f 14940 "vmid" : {
7aacca6f 14941 "description" : "The (unique) ID of the VM.",
44660702 14942 "format" : "pve-vmid",
7aacca6f 14943 "minimum" : 1,
4bd7df8b 14944 "type" : "integer",
013dc89f 14945 "typetext" : "<integer> (1 - N)"
56122987
DM
14946 }
14947 }
14948 },
44660702
DM
14949 "permissions" : {
14950 "check" : [
14951 "perm",
14952 "/vms/{vmid}",
14953 [
14954 "VM.Config.Network"
14955 ]
14956 ]
7aacca6f 14957 },
44660702
DM
14958 "protected" : 1,
14959 "returns" : {
14960 "type" : "null"
7aacca6f
DM
14961 }
14962 }
14963 },
44660702
DM
14964 "leaf" : 1,
14965 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
14966 "text" : "{name}"
14967 }
14968 ],
14969 "info" : {
14970 "GET" : {
14971 "description" : "List aliases",
14972 "method" : "GET",
14973 "name" : "get_aliases",
56122987
DM
14974 "parameters" : {
14975 "additionalProperties" : 0,
14976 "properties" : {
14977 "node" : {
44660702 14978 "description" : "The cluster node name.",
56122987 14979 "format" : "pve-node",
013dc89f
DM
14980 "type" : "string",
14981 "typetext" : "<string>"
56122987
DM
14982 },
14983 "vmid" : {
7aacca6f 14984 "description" : "The (unique) ID of the VM.",
44660702 14985 "format" : "pve-vmid",
7aacca6f 14986 "minimum" : 1,
4bd7df8b 14987 "type" : "integer",
013dc89f 14988 "typetext" : "<integer> (1 - N)"
56122987
DM
14989 }
14990 }
14991 },
44660702
DM
14992 "permissions" : {
14993 "check" : [
14994 "perm",
14995 "/vms/{vmid}",
14996 [
14997 "VM.Audit"
14998 ]
14999 ]
15000 },
56122987
DM
15001 "returns" : {
15002 "items" : {
56122987 15003 "properties" : {
44660702
DM
15004 "cidr" : {
15005 "type" : "string"
7aacca6f 15006 },
44660702
DM
15007 "comment" : {
15008 "optional" : 1,
56122987
DM
15009 "type" : "string"
15010 },
56122987 15011 "digest" : {
56122987 15012 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
15013 "maxLength" : 40,
15014 "optional" : 0,
15015 "type" : "string"
15016 },
15017 "name" : {
15018 "type" : "string"
56122987 15019 }
44660702
DM
15020 },
15021 "type" : "object"
15022 },
15023 "links" : [
15024 {
15025 "href" : "{name}",
15026 "rel" : "child"
56122987 15027 }
44660702
DM
15028 ],
15029 "type" : "array"
7aacca6f
DM
15030 }
15031 },
15032 "POST" : {
44660702 15033 "description" : "Create IP or Network Alias.",
7aacca6f 15034 "method" : "POST",
44660702 15035 "name" : "create_alias",
7aacca6f
DM
15036 "parameters" : {
15037 "additionalProperties" : 0,
15038 "properties" : {
44660702
DM
15039 "cidr" : {
15040 "description" : "Network/IP specification in CIDR format.",
15041 "format" : "IPorCIDR",
013dc89f
DM
15042 "type" : "string",
15043 "typetext" : "<string>"
7aacca6f
DM
15044 },
15045 "comment" : {
15046 "optional" : 1,
013dc89f
DM
15047 "type" : "string",
15048 "typetext" : "<string>"
7aacca6f 15049 },
44660702
DM
15050 "name" : {
15051 "description" : "Alias name.",
15052 "maxLength" : 64,
7aacca6f
DM
15053 "minLength" : 2,
15054 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15055 "type" : "string"
7aacca6f
DM
15056 },
15057 "node" : {
44660702 15058 "description" : "The cluster node name.",
7aacca6f 15059 "format" : "pve-node",
013dc89f
DM
15060 "type" : "string",
15061 "typetext" : "<string>"
7aacca6f 15062 },
44660702
DM
15063 "vmid" : {
15064 "description" : "The (unique) ID of the VM.",
15065 "format" : "pve-vmid",
15066 "minimum" : 1,
4bd7df8b 15067 "type" : "integer",
013dc89f 15068 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
15069 }
15070 }
15071 },
44660702
DM
15072 "permissions" : {
15073 "check" : [
15074 "perm",
15075 "/vms/{vmid}",
15076 [
15077 "VM.Config.Network"
15078 ]
15079 ]
15080 },
15081 "protected" : 1,
15082 "returns" : {
15083 "type" : "null"
15084 }
56122987
DM
15085 }
15086 },
44660702
DM
15087 "leaf" : 0,
15088 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
15089 "text" : "aliases"
15090 },
15091 {
56122987
DM
15092 "children" : [
15093 {
56122987
DM
15094 "children" : [
15095 {
15096 "info" : {
15097 "DELETE" : {
44660702 15098 "description" : "Remove IP or Network from IPSet.",
7aacca6f 15099 "method" : "DELETE",
44660702 15100 "name" : "remove_ip",
56122987
DM
15101 "parameters" : {
15102 "additionalProperties" : 0,
15103 "properties" : {
44660702
DM
15104 "cidr" : {
15105 "description" : "Network/IP specification in CIDR format.",
15106 "format" : "IPorCIDRorAlias",
013dc89f
DM
15107 "type" : "string",
15108 "typetext" : "<string>"
56122987
DM
15109 },
15110 "digest" : {
44660702 15111 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 15112 "maxLength" : 40,
7aacca6f 15113 "optional" : 1,
013dc89f
DM
15114 "type" : "string",
15115 "typetext" : "<string>"
56122987 15116 },
56122987 15117 "name" : {
44660702 15118 "description" : "IP set name.",
56122987 15119 "maxLength" : 64,
7aacca6f 15120 "minLength" : 2,
56122987 15121 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 15122 "type" : "string"
7aacca6f
DM
15123 },
15124 "node" : {
7aacca6f 15125 "description" : "The cluster node name.",
44660702 15126 "format" : "pve-node",
013dc89f
DM
15127 "type" : "string",
15128 "typetext" : "<string>"
44660702
DM
15129 },
15130 "vmid" : {
15131 "description" : "The (unique) ID of the VM.",
15132 "format" : "pve-vmid",
15133 "minimum" : 1,
4bd7df8b 15134 "type" : "integer",
013dc89f 15135 "typetext" : "<integer> (1 - N)"
56122987
DM
15136 }
15137 }
15138 },
44660702
DM
15139 "permissions" : {
15140 "check" : [
15141 "perm",
15142 "/vms/{vmid}",
15143 [
15144 "VM.Config.Network"
15145 ]
15146 ]
15147 },
7aacca6f 15148 "protected" : 1,
56122987
DM
15149 "returns" : {
15150 "type" : "null"
44660702
DM
15151 }
15152 },
15153 "GET" : {
15154 "description" : "Read IP or Network settings from IPSet.",
15155 "method" : "GET",
15156 "name" : "read_ip",
56122987
DM
15157 "parameters" : {
15158 "additionalProperties" : 0,
15159 "properties" : {
7aacca6f 15160 "cidr" : {
7aacca6f 15161 "description" : "Network/IP specification in CIDR format.",
44660702 15162 "format" : "IPorCIDRorAlias",
013dc89f
DM
15163 "type" : "string",
15164 "typetext" : "<string>"
56122987 15165 },
7aacca6f 15166 "name" : {
44660702 15167 "description" : "IP set name.",
7aacca6f
DM
15168 "maxLength" : 64,
15169 "minLength" : 2,
7aacca6f
DM
15170 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15171 "type" : "string"
56122987 15172 },
44660702
DM
15173 "node" : {
15174 "description" : "The cluster node name.",
15175 "format" : "pve-node",
013dc89f
DM
15176 "type" : "string",
15177 "typetext" : "<string>"
44660702
DM
15178 },
15179 "vmid" : {
15180 "description" : "The (unique) ID of the VM.",
15181 "format" : "pve-vmid",
15182 "minimum" : 1,
4bd7df8b 15183 "type" : "integer",
013dc89f 15184 "typetext" : "<integer> (1 - N)"
56122987
DM
15185 }
15186 }
15187 },
56122987
DM
15188 "permissions" : {
15189 "check" : [
15190 "perm",
15191 "/vms/{vmid}",
15192 [
44660702 15193 "VM.Audit"
56122987
DM
15194 ]
15195 ]
7aacca6f 15196 },
44660702 15197 "protected" : 1,
7aacca6f
DM
15198 "returns" : {
15199 "type" : "object"
44660702
DM
15200 }
15201 },
15202 "PUT" : {
15203 "description" : "Update IP or Network settings",
15204 "method" : "PUT",
15205 "name" : "update_ip",
7aacca6f 15206 "parameters" : {
44660702 15207 "additionalProperties" : 0,
7aacca6f
DM
15208 "properties" : {
15209 "cidr" : {
44660702 15210 "description" : "Network/IP specification in CIDR format.",
7aacca6f 15211 "format" : "IPorCIDRorAlias",
013dc89f
DM
15212 "type" : "string",
15213 "typetext" : "<string>"
7aacca6f 15214 },
44660702
DM
15215 "comment" : {
15216 "optional" : 1,
013dc89f
DM
15217 "type" : "string",
15218 "typetext" : "<string>"
44660702
DM
15219 },
15220 "digest" : {
15221 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15222 "maxLength" : 40,
15223 "optional" : 1,
013dc89f
DM
15224 "type" : "string",
15225 "typetext" : "<string>"
44660702
DM
15226 },
15227 "name" : {
15228 "description" : "IP set name.",
15229 "maxLength" : 64,
15230 "minLength" : 2,
15231 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15232 "type" : "string"
7aacca6f
DM
15233 },
15234 "node" : {
7aacca6f 15235 "description" : "The cluster node name.",
44660702 15236 "format" : "pve-node",
013dc89f
DM
15237 "type" : "string",
15238 "typetext" : "<string>"
7aacca6f 15239 },
44660702
DM
15240 "nomatch" : {
15241 "optional" : 1,
013dc89f
DM
15242 "type" : "boolean",
15243 "typetext" : "<boolean>"
44660702
DM
15244 },
15245 "vmid" : {
15246 "description" : "The (unique) ID of the VM.",
15247 "format" : "pve-vmid",
15248 "minimum" : 1,
4bd7df8b 15249 "type" : "integer",
013dc89f 15250 "typetext" : "<integer> (1 - N)"
7aacca6f 15251 }
44660702
DM
15252 }
15253 },
15254 "permissions" : {
15255 "check" : [
15256 "perm",
15257 "/vms/{vmid}",
15258 [
15259 "VM.Config.Network"
15260 ]
15261 ]
7aacca6f
DM
15262 },
15263 "protected" : 1,
44660702
DM
15264 "returns" : {
15265 "type" : "null"
15266 }
56122987
DM
15267 }
15268 },
56122987 15269 "leaf" : 1,
44660702
DM
15270 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
15271 "text" : "{cidr}"
56122987
DM
15272 }
15273 ],
15274 "info" : {
44660702
DM
15275 "DELETE" : {
15276 "description" : "Delete IPSet",
15277 "method" : "DELETE",
15278 "name" : "delete_ipset",
15279 "parameters" : {
15280 "additionalProperties" : 0,
15281 "properties" : {
15282 "name" : {
15283 "description" : "IP set name.",
15284 "maxLength" : 64,
15285 "minLength" : 2,
15286 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15287 "type" : "string"
15288 },
15289 "node" : {
15290 "description" : "The cluster node name.",
15291 "format" : "pve-node",
013dc89f
DM
15292 "type" : "string",
15293 "typetext" : "<string>"
44660702
DM
15294 },
15295 "vmid" : {
15296 "description" : "The (unique) ID of the VM.",
15297 "format" : "pve-vmid",
15298 "minimum" : 1,
4bd7df8b 15299 "type" : "integer",
013dc89f 15300 "typetext" : "<integer> (1 - N)"
44660702
DM
15301 }
15302 }
15303 },
15304 "permissions" : {
15305 "check" : [
15306 "perm",
15307 "/vms/{vmid}",
15308 [
15309 "VM.Config.Network"
15310 ]
15311 ]
15312 },
15313 "protected" : 1,
15314 "returns" : {
15315 "type" : "null"
15316 }
15317 },
56122987 15318 "GET" : {
7aacca6f 15319 "description" : "List IPSet content",
44660702
DM
15320 "method" : "GET",
15321 "name" : "get_ipset",
7aacca6f
DM
15322 "parameters" : {
15323 "additionalProperties" : 0,
15324 "properties" : {
15325 "name" : {
15326 "description" : "IP set name.",
44660702 15327 "maxLength" : 64,
7aacca6f 15328 "minLength" : 2,
44660702
DM
15329 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15330 "type" : "string"
7aacca6f
DM
15331 },
15332 "node" : {
7aacca6f 15333 "description" : "The cluster node name.",
44660702 15334 "format" : "pve-node",
013dc89f
DM
15335 "type" : "string",
15336 "typetext" : "<string>"
7aacca6f
DM
15337 },
15338 "vmid" : {
15339 "description" : "The (unique) ID of the VM.",
44660702 15340 "format" : "pve-vmid",
7aacca6f 15341 "minimum" : 1,
4bd7df8b 15342 "type" : "integer",
013dc89f 15343 "typetext" : "<integer> (1 - N)"
56122987 15344 }
7aacca6f
DM
15345 }
15346 },
7aacca6f
DM
15347 "permissions" : {
15348 "check" : [
15349 "perm",
15350 "/vms/{vmid}",
15351 [
15352 "VM.Audit"
15353 ]
15354 ]
15355 },
15356 "returns" : {
56122987
DM
15357 "items" : {
15358 "properties" : {
15359 "cidr" : {
15360 "type" : "string"
15361 },
44660702
DM
15362 "comment" : {
15363 "optional" : 1,
15364 "type" : "string"
15365 },
56122987 15366 "digest" : {
56122987 15367 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 15368 "maxLength" : 40,
7aacca6f 15369 "optional" : 0,
56122987 15370 "type" : "string"
7aacca6f
DM
15371 },
15372 "nomatch" : {
44660702
DM
15373 "optional" : 1,
15374 "type" : "boolean"
56122987 15375 }
44660702
DM
15376 },
15377 "type" : "object"
56122987 15378 },
7aacca6f
DM
15379 "links" : [
15380 {
44660702
DM
15381 "href" : "{cidr}",
15382 "rel" : "child"
56122987 15383 }
44660702
DM
15384 ],
15385 "type" : "array"
15386 }
56122987 15387 },
7aacca6f
DM
15388 "POST" : {
15389 "description" : "Add IP or Network to IPSet.",
44660702 15390 "method" : "POST",
7aacca6f 15391 "name" : "create_ip",
56122987 15392 "parameters" : {
44660702 15393 "additionalProperties" : 0,
56122987 15394 "properties" : {
44660702
DM
15395 "cidr" : {
15396 "description" : "Network/IP specification in CIDR format.",
15397 "format" : "IPorCIDRorAlias",
013dc89f
DM
15398 "type" : "string",
15399 "typetext" : "<string>"
44660702
DM
15400 },
15401 "comment" : {
15402 "optional" : 1,
013dc89f
DM
15403 "type" : "string",
15404 "typetext" : "<string>"
56122987
DM
15405 },
15406 "name" : {
56122987 15407 "description" : "IP set name.",
44660702 15408 "maxLength" : 64,
7aacca6f 15409 "minLength" : 2,
44660702 15410 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 15411 "type" : "string"
56122987 15412 },
7aacca6f 15413 "node" : {
7aacca6f 15414 "description" : "The cluster node name.",
44660702 15415 "format" : "pve-node",
013dc89f
DM
15416 "type" : "string",
15417 "typetext" : "<string>"
56122987 15418 },
44660702
DM
15419 "nomatch" : {
15420 "optional" : 1,
013dc89f
DM
15421 "type" : "boolean",
15422 "typetext" : "<boolean>"
7aacca6f
DM
15423 },
15424 "vmid" : {
44660702 15425 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15426 "format" : "pve-vmid",
15427 "minimum" : 1,
4bd7df8b 15428 "type" : "integer",
013dc89f 15429 "typetext" : "<integer> (1 - N)"
56122987 15430 }
44660702
DM
15431 }
15432 },
15433 "permissions" : {
15434 "check" : [
15435 "perm",
15436 "/vms/{vmid}",
15437 [
15438 "VM.Config.Network"
15439 ]
15440 ]
15441 },
15442 "protected" : 1,
15443 "returns" : {
15444 "type" : "null"
15445 }
15446 }
15447 },
15448 "leaf" : 0,
15449 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
15450 "text" : "{name}"
15451 }
15452 ],
15453 "info" : {
15454 "GET" : {
15455 "description" : "List IPSets",
15456 "method" : "GET",
15457 "name" : "ipset_index",
15458 "parameters" : {
15459 "additionalProperties" : 0,
15460 "properties" : {
15461 "node" : {
15462 "description" : "The cluster node name.",
15463 "format" : "pve-node",
013dc89f
DM
15464 "type" : "string",
15465 "typetext" : "<string>"
44660702
DM
15466 },
15467 "vmid" : {
15468 "description" : "The (unique) ID of the VM.",
15469 "format" : "pve-vmid",
15470 "minimum" : 1,
4bd7df8b 15471 "type" : "integer",
013dc89f 15472 "typetext" : "<integer> (1 - N)"
44660702
DM
15473 }
15474 }
15475 },
15476 "permissions" : {
15477 "check" : [
15478 "perm",
15479 "/vms/{vmid}",
15480 [
15481 "VM.Audit"
15482 ]
15483 ]
15484 },
15485 "returns" : {
15486 "items" : {
15487 "properties" : {
15488 "comment" : {
15489 "optional" : 1,
15490 "type" : "string"
15491 },
15492 "digest" : {
15493 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15494 "maxLength" : 40,
15495 "optional" : 0,
15496 "type" : "string"
7aacca6f 15497 },
44660702
DM
15498 "name" : {
15499 "description" : "IP set name.",
15500 "maxLength" : 64,
15501 "minLength" : 2,
15502 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15503 "type" : "string"
15504 }
15505 },
15506 "type" : "object"
15507 },
15508 "links" : [
15509 {
15510 "href" : "{name}",
15511 "rel" : "child"
15512 }
15513 ],
15514 "type" : "array"
15515 }
15516 },
15517 "POST" : {
15518 "description" : "Create new IPSet",
15519 "method" : "POST",
15520 "name" : "create_ipset",
15521 "parameters" : {
15522 "additionalProperties" : 0,
15523 "properties" : {
15524 "comment" : {
15525 "optional" : 1,
013dc89f
DM
15526 "type" : "string",
15527 "typetext" : "<string>"
44660702
DM
15528 },
15529 "digest" : {
15530 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15531 "maxLength" : 40,
15532 "optional" : 1,
013dc89f
DM
15533 "type" : "string",
15534 "typetext" : "<string>"
56122987 15535 },
44660702
DM
15536 "name" : {
15537 "description" : "IP set name.",
15538 "maxLength" : 64,
15539 "minLength" : 2,
15540 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15541 "type" : "string"
15542 },
15543 "node" : {
15544 "description" : "The cluster node name.",
15545 "format" : "pve-node",
013dc89f
DM
15546 "type" : "string",
15547 "typetext" : "<string>"
7aacca6f 15548 },
44660702
DM
15549 "rename" : {
15550 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
15551 "maxLength" : 64,
15552 "minLength" : 2,
15553 "optional" : 1,
15554 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15555 "type" : "string"
15556 },
15557 "vmid" : {
15558 "description" : "The (unique) ID of the VM.",
15559 "format" : "pve-vmid",
15560 "minimum" : 1,
4bd7df8b 15561 "type" : "integer",
013dc89f 15562 "typetext" : "<integer> (1 - N)"
44660702 15563 }
56122987 15564 }
44660702
DM
15565 },
15566 "permissions" : {
15567 "check" : [
15568 "perm",
15569 "/vms/{vmid}",
15570 [
15571 "VM.Config.Network"
15572 ]
15573 ]
15574 },
15575 "protected" : 1,
15576 "returns" : {
15577 "type" : "null"
56122987
DM
15578 }
15579 }
44660702
DM
15580 },
15581 "leaf" : 0,
15582 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
15583 "text" : "ipset"
56122987
DM
15584 },
15585 {
56122987 15586 "info" : {
7aacca6f 15587 "GET" : {
44660702 15588 "description" : "Get VM firewall options.",
7aacca6f 15589 "method" : "GET",
44660702
DM
15590 "name" : "get_options",
15591 "parameters" : {
15592 "additionalProperties" : 0,
15593 "properties" : {
15594 "node" : {
15595 "description" : "The cluster node name.",
15596 "format" : "pve-node",
013dc89f
DM
15597 "type" : "string",
15598 "typetext" : "<string>"
44660702
DM
15599 },
15600 "vmid" : {
15601 "description" : "The (unique) ID of the VM.",
15602 "format" : "pve-vmid",
15603 "minimum" : 1,
4bd7df8b 15604 "type" : "integer",
013dc89f 15605 "typetext" : "<integer> (1 - N)"
44660702
DM
15606 }
15607 }
15608 },
15609 "permissions" : {
15610 "check" : [
15611 "perm",
15612 "/vms/{vmid}",
15613 [
15614 "VM.Audit"
15615 ]
15616 ]
15617 },
15618 "proxyto" : "node",
56122987 15619 "returns" : {
56122987 15620 "properties" : {
44660702
DM
15621 "dhcp" : {
15622 "description" : "Enable DHCP.",
15623 "optional" : 1,
15624 "type" : "boolean"
15625 },
15626 "enable" : {
15627 "description" : "Enable/disable firewall rules.",
15628 "optional" : 1,
15629 "type" : "boolean"
15630 },
15631 "ipfilter" : {
15632 "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 15633 "optional" : 1,
44660702
DM
15634 "type" : "boolean"
15635 },
15636 "log_level_in" : {
7aacca6f
DM
15637 "description" : "Log level for incoming traffic.",
15638 "enum" : [
15639 "emerg",
15640 "alert",
15641 "crit",
15642 "err",
15643 "warning",
15644 "notice",
15645 "info",
15646 "debug",
15647 "nolog"
44660702
DM
15648 ],
15649 "optional" : 1,
15650 "type" : "string"
56122987 15651 },
44660702
DM
15652 "log_level_out" : {
15653 "description" : "Log level for outgoing traffic.",
56122987 15654 "enum" : [
44660702
DM
15655 "emerg",
15656 "alert",
15657 "crit",
15658 "err",
15659 "warning",
15660 "notice",
15661 "info",
15662 "debug",
15663 "nolog"
7aacca6f 15664 ],
7aacca6f
DM
15665 "optional" : 1,
15666 "type" : "string"
56122987 15667 },
44660702
DM
15668 "macfilter" : {
15669 "description" : "Enable/disable MAC address filter.",
15670 "optional" : 1,
15671 "type" : "boolean"
7aacca6f 15672 },
44660702
DM
15673 "ndp" : {
15674 "description" : "Enable NDP.",
56122987 15675 "optional" : 1,
44660702 15676 "type" : "boolean"
56122987
DM
15677 },
15678 "policy_in" : {
7aacca6f 15679 "description" : "Input policy.",
56122987
DM
15680 "enum" : [
15681 "ACCEPT",
15682 "REJECT",
15683 "DROP"
15684 ],
7aacca6f 15685 "optional" : 1,
44660702 15686 "type" : "string"
56122987 15687 },
44660702
DM
15688 "policy_out" : {
15689 "description" : "Output policy.",
56122987 15690 "enum" : [
44660702
DM
15691 "ACCEPT",
15692 "REJECT",
15693 "DROP"
56122987 15694 ],
7aacca6f 15695 "optional" : 1,
56122987
DM
15696 "type" : "string"
15697 },
44660702
DM
15698 "radv" : {
15699 "description" : "Allow sending Router Advertisement.",
56122987 15700 "optional" : 1,
7aacca6f
DM
15701 "type" : "boolean"
15702 }
7aacca6f 15703 },
44660702
DM
15704 "type" : "object"
15705 }
7aacca6f
DM
15706 },
15707 "PUT" : {
44660702
DM
15708 "description" : "Set Firewall options.",
15709 "method" : "PUT",
7aacca6f
DM
15710 "name" : "set_options",
15711 "parameters" : {
44660702 15712 "additionalProperties" : 0,
7aacca6f 15713 "properties" : {
44660702
DM
15714 "delete" : {
15715 "description" : "A list of settings you want to delete.",
15716 "format" : "pve-configid-list",
15717 "optional" : 1,
013dc89f
DM
15718 "type" : "string",
15719 "typetext" : "<string>"
44660702
DM
15720 },
15721 "dhcp" : {
15722 "description" : "Enable DHCP.",
15723 "optional" : 1,
013dc89f
DM
15724 "type" : "boolean",
15725 "typetext" : "<boolean>"
44660702
DM
15726 },
15727 "digest" : {
15728 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15729 "maxLength" : 40,
15730 "optional" : 1,
013dc89f
DM
15731 "type" : "string",
15732 "typetext" : "<string>"
44660702 15733 },
7aacca6f
DM
15734 "enable" : {
15735 "description" : "Enable/disable firewall rules.",
56122987 15736 "optional" : 1,
013dc89f
DM
15737 "type" : "boolean",
15738 "typetext" : "<boolean>"
56122987 15739 },
44660702
DM
15740 "ipfilter" : {
15741 "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.",
15742 "optional" : 1,
013dc89f
DM
15743 "type" : "boolean",
15744 "typetext" : "<boolean>"
44660702
DM
15745 },
15746 "log_level_in" : {
15747 "description" : "Log level for incoming traffic.",
56122987
DM
15748 "enum" : [
15749 "emerg",
15750 "alert",
15751 "crit",
15752 "err",
15753 "warning",
15754 "notice",
15755 "info",
15756 "debug",
15757 "nolog"
15758 ],
56122987 15759 "optional" : 1,
44660702 15760 "type" : "string"
56122987 15761 },
44660702
DM
15762 "log_level_out" : {
15763 "description" : "Log level for outgoing traffic.",
56122987
DM
15764 "enum" : [
15765 "emerg",
15766 "alert",
15767 "crit",
15768 "err",
15769 "warning",
15770 "notice",
15771 "info",
15772 "debug",
15773 "nolog"
15774 ],
44660702
DM
15775 "optional" : 1,
15776 "type" : "string"
56122987 15777 },
44660702
DM
15778 "macfilter" : {
15779 "description" : "Enable/disable MAC address filter.",
15780 "optional" : 1,
013dc89f
DM
15781 "type" : "boolean",
15782 "typetext" : "<boolean>"
44660702
DM
15783 },
15784 "ndp" : {
15785 "description" : "Enable NDP.",
56122987 15786 "optional" : 1,
013dc89f
DM
15787 "type" : "boolean",
15788 "typetext" : "<boolean>"
56122987 15789 },
7aacca6f
DM
15790 "node" : {
15791 "description" : "The cluster node name.",
44660702 15792 "format" : "pve-node",
013dc89f
DM
15793 "type" : "string",
15794 "typetext" : "<string>"
7aacca6f 15795 },
44660702
DM
15796 "policy_in" : {
15797 "description" : "Input policy.",
15798 "enum" : [
15799 "ACCEPT",
15800 "REJECT",
15801 "DROP"
15802 ],
7aacca6f 15803 "optional" : 1,
44660702 15804 "type" : "string"
7aacca6f 15805 },
44660702
DM
15806 "policy_out" : {
15807 "description" : "Output policy.",
56122987 15808 "enum" : [
7aacca6f
DM
15809 "ACCEPT",
15810 "REJECT",
15811 "DROP"
56122987
DM
15812 ],
15813 "optional" : 1,
56122987 15814 "type" : "string"
7aacca6f 15815 },
44660702
DM
15816 "radv" : {
15817 "description" : "Allow sending Router Advertisement.",
7aacca6f 15818 "optional" : 1,
013dc89f
DM
15819 "type" : "boolean",
15820 "typetext" : "<boolean>"
44660702
DM
15821 },
15822 "vmid" : {
15823 "description" : "The (unique) ID of the VM.",
15824 "format" : "pve-vmid",
15825 "minimum" : 1,
4bd7df8b 15826 "type" : "integer",
013dc89f 15827 "typetext" : "<integer> (1 - N)"
56122987 15828 }
44660702 15829 }
56122987 15830 },
7aacca6f
DM
15831 "permissions" : {
15832 "check" : [
15833 "perm",
15834 "/vms/{vmid}",
15835 [
15836 "VM.Config.Network"
15837 ]
15838 ]
15839 },
44660702
DM
15840 "protected" : 1,
15841 "proxyto" : "node",
7aacca6f
DM
15842 "returns" : {
15843 "type" : "null"
56122987
DM
15844 }
15845 }
15846 },
44660702 15847 "leaf" : 1,
7aacca6f 15848 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 15849 "text" : "options"
56122987
DM
15850 },
15851 {
56122987
DM
15852 "info" : {
15853 "GET" : {
44660702 15854 "description" : "Read firewall log",
56122987 15855 "method" : "GET",
7aacca6f 15856 "name" : "log",
56122987
DM
15857 "parameters" : {
15858 "additionalProperties" : 0,
15859 "properties" : {
44660702
DM
15860 "limit" : {
15861 "minimum" : 0,
15862 "optional" : 1,
4bd7df8b 15863 "type" : "integer",
013dc89f 15864 "typetext" : "<integer> (0 - N)"
44660702 15865 },
56122987
DM
15866 "node" : {
15867 "description" : "The cluster node name.",
44660702 15868 "format" : "pve-node",
013dc89f
DM
15869 "type" : "string",
15870 "typetext" : "<string>"
56122987 15871 },
44660702
DM
15872 "start" : {
15873 "minimum" : 0,
7aacca6f 15874 "optional" : 1,
4bd7df8b 15875 "type" : "integer",
013dc89f 15876 "typetext" : "<integer> (0 - N)"
56122987
DM
15877 },
15878 "vmid" : {
44660702 15879 "description" : "The (unique) ID of the VM.",
7aacca6f 15880 "format" : "pve-vmid",
56122987 15881 "minimum" : 1,
4bd7df8b 15882 "type" : "integer",
013dc89f 15883 "typetext" : "<integer> (1 - N)"
56122987
DM
15884 }
15885 }
15886 },
44660702
DM
15887 "permissions" : {
15888 "check" : [
15889 "perm",
15890 "/vms/{vmid}",
15891 [
15892 "VM.Console"
15893 ]
15894 ]
15895 },
56122987 15896 "protected" : 1,
44660702 15897 "proxyto" : "node",
7aacca6f
DM
15898 "returns" : {
15899 "items" : {
15900 "properties" : {
7aacca6f
DM
15901 "n" : {
15902 "description" : "Line number",
15903 "type" : "integer"
44660702
DM
15904 },
15905 "t" : {
15906 "description" : "Line text",
15907 "type" : "string"
7aacca6f
DM
15908 }
15909 },
15910 "type" : "object"
15911 },
15912 "type" : "array"
44660702 15913 }
56122987
DM
15914 }
15915 },
7aacca6f 15916 "leaf" : 1,
44660702
DM
15917 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
15918 "text" : "log"
56122987
DM
15919 },
15920 {
56122987
DM
15921 "info" : {
15922 "GET" : {
7aacca6f 15923 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
15924 "method" : "GET",
15925 "name" : "refs",
56122987 15926 "parameters" : {
7aacca6f 15927 "additionalProperties" : 0,
56122987 15928 "properties" : {
44660702
DM
15929 "node" : {
15930 "description" : "The cluster node name.",
15931 "format" : "pve-node",
013dc89f
DM
15932 "type" : "string",
15933 "typetext" : "<string>"
7aacca6f 15934 },
56122987 15935 "type" : {
44660702 15936 "description" : "Only list references of specified type.",
56122987
DM
15937 "enum" : [
15938 "alias",
15939 "ipset"
15940 ],
44660702
DM
15941 "optional" : 1,
15942 "type" : "string"
56122987 15943 },
44660702
DM
15944 "vmid" : {
15945 "description" : "The (unique) ID of the VM.",
15946 "format" : "pve-vmid",
15947 "minimum" : 1,
4bd7df8b 15948 "type" : "integer",
013dc89f 15949 "typetext" : "<integer> (1 - N)"
56122987 15950 }
7aacca6f 15951 }
56122987 15952 },
44660702
DM
15953 "permissions" : {
15954 "check" : [
15955 "perm",
15956 "/vms/{vmid}",
15957 [
15958 "VM.Audit"
15959 ]
15960 ]
15961 },
56122987 15962 "returns" : {
56122987 15963 "items" : {
56122987 15964 "properties" : {
44660702
DM
15965 "comment" : {
15966 "optional" : 1,
15967 "type" : "string"
15968 },
15969 "name" : {
15970 "type" : "string"
15971 },
56122987 15972 "type" : {
56122987
DM
15973 "enum" : [
15974 "alias",
15975 "ipset"
44660702 15976 ],
7aacca6f 15977 "type" : "string"
56122987 15978 }
44660702
DM
15979 },
15980 "type" : "object"
15981 },
15982 "type" : "array"
56122987
DM
15983 }
15984 }
15985 },
44660702 15986 "leaf" : 1,
7aacca6f 15987 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 15988 "text" : "refs"
56122987
DM
15989 }
15990 ],
56122987
DM
15991 "info" : {
15992 "GET" : {
7aacca6f 15993 "description" : "Directory index.",
44660702
DM
15994 "method" : "GET",
15995 "name" : "index",
56122987 15996 "parameters" : {
44660702 15997 "additionalProperties" : 0,
56122987 15998 "properties" : {
56122987 15999 "node" : {
44660702 16000 "description" : "The cluster node name.",
56122987 16001 "format" : "pve-node",
013dc89f
DM
16002 "type" : "string",
16003 "typetext" : "<string>"
44660702
DM
16004 },
16005 "vmid" : {
16006 "description" : "The (unique) ID of the VM.",
16007 "format" : "pve-vmid",
16008 "minimum" : 1,
4bd7df8b 16009 "type" : "integer",
013dc89f 16010 "typetext" : "<integer> (1 - N)"
56122987 16011 }
44660702
DM
16012 }
16013 },
16014 "permissions" : {
16015 "user" : "all"
56122987
DM
16016 },
16017 "returns" : {
7aacca6f 16018 "items" : {
44660702
DM
16019 "properties" : {},
16020 "type" : "object"
7aacca6f 16021 },
56122987
DM
16022 "links" : [
16023 {
44660702
DM
16024 "href" : "{name}",
16025 "rel" : "child"
56122987 16026 }
44660702
DM
16027 ],
16028 "type" : "array"
56122987
DM
16029 }
16030 }
16031 },
44660702 16032 "leaf" : 0,
7aacca6f 16033 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 16034 "text" : "firewall"
56122987
DM
16035 },
16036 {
56122987
DM
16037 "info" : {
16038 "GET" : {
56122987 16039 "description" : "Read VM RRD statistics (returns PNG)",
44660702 16040 "method" : "GET",
7aacca6f 16041 "name" : "rrd",
56122987 16042 "parameters" : {
7aacca6f 16043 "additionalProperties" : 0,
56122987 16044 "properties" : {
44660702
DM
16045 "cf" : {
16046 "description" : "The RRD consolidation function",
16047 "enum" : [
16048 "AVERAGE",
16049 "MAX"
16050 ],
16051 "optional" : 1,
16052 "type" : "string"
16053 },
16054 "ds" : {
16055 "description" : "The list of datasources you want to display.",
16056 "format" : "pve-configid-list",
013dc89f
DM
16057 "type" : "string",
16058 "typetext" : "<string>"
44660702 16059 },
7aacca6f
DM
16060 "node" : {
16061 "description" : "The cluster node name.",
44660702 16062 "format" : "pve-node",
013dc89f
DM
16063 "type" : "string",
16064 "typetext" : "<string>"
56122987
DM
16065 },
16066 "timeframe" : {
16067 "description" : "Specify the time frame you are interested in.",
16068 "enum" : [
16069 "hour",
16070 "day",
16071 "week",
16072 "month",
16073 "year"
7aacca6f 16074 ],
44660702 16075 "type" : "string"
7aacca6f
DM
16076 },
16077 "vmid" : {
44660702 16078 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16079 "format" : "pve-vmid",
16080 "minimum" : 1,
4bd7df8b 16081 "type" : "integer",
013dc89f 16082 "typetext" : "<integer> (1 - N)"
56122987 16083 }
7aacca6f
DM
16084 }
16085 },
16086 "permissions" : {
16087 "check" : [
16088 "perm",
16089 "/vms/{vmid}",
16090 [
16091 "VM.Audit"
16092 ]
16093 ]
56122987 16094 },
44660702 16095 "protected" : 1,
7aacca6f
DM
16096 "returns" : {
16097 "properties" : {
16098 "filename" : {
16099 "type" : "string"
16100 }
16101 },
16102 "type" : "object"
16103 }
56122987 16104 }
7aacca6f 16105 },
44660702 16106 "leaf" : 1,
7aacca6f 16107 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 16108 "text" : "rrd"
56122987
DM
16109 },
16110 {
56122987
DM
16111 "info" : {
16112 "GET" : {
44660702
DM
16113 "description" : "Read VM RRD statistics",
16114 "method" : "GET",
16115 "name" : "rrddata",
56122987 16116 "parameters" : {
7aacca6f 16117 "additionalProperties" : 0,
56122987 16118 "properties" : {
44660702
DM
16119 "cf" : {
16120 "description" : "The RRD consolidation function",
16121 "enum" : [
16122 "AVERAGE",
16123 "MAX"
16124 ],
16125 "optional" : 1,
16126 "type" : "string"
16127 },
7aacca6f 16128 "node" : {
44660702 16129 "description" : "The cluster node name.",
7aacca6f 16130 "format" : "pve-node",
013dc89f
DM
16131 "type" : "string",
16132 "typetext" : "<string>"
7aacca6f 16133 },
56122987
DM
16134 "timeframe" : {
16135 "description" : "Specify the time frame you are interested in.",
16136 "enum" : [
16137 "hour",
16138 "day",
16139 "week",
16140 "month",
16141 "year"
44660702
DM
16142 ],
16143 "type" : "string"
7aacca6f
DM
16144 },
16145 "vmid" : {
16146 "description" : "The (unique) ID of the VM.",
44660702 16147 "format" : "pve-vmid",
7aacca6f 16148 "minimum" : 1,
4bd7df8b 16149 "type" : "integer",
013dc89f 16150 "typetext" : "<integer> (1 - N)"
56122987 16151 }
56122987
DM
16152 }
16153 },
56122987
DM
16154 "permissions" : {
16155 "check" : [
16156 "perm",
16157 "/vms/{vmid}",
16158 [
16159 "VM.Audit"
16160 ]
16161 ]
16162 },
7aacca6f
DM
16163 "protected" : 1,
16164 "returns" : {
7aacca6f
DM
16165 "items" : {
16166 "properties" : {},
16167 "type" : "object"
44660702
DM
16168 },
16169 "type" : "array"
16170 }
56122987
DM
16171 }
16172 },
44660702 16173 "leaf" : 1,
7aacca6f 16174 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 16175 "text" : "rrddata"
56122987
DM
16176 },
16177 {
16178 "info" : {
16179 "POST" : {
16180 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
16181 "method" : "POST",
16182 "name" : "vncproxy",
7aacca6f 16183 "parameters" : {
44660702 16184 "additionalProperties" : 0,
7aacca6f 16185 "properties" : {
44660702
DM
16186 "node" : {
16187 "description" : "The cluster node name.",
16188 "format" : "pve-node",
013dc89f
DM
16189 "type" : "string",
16190 "typetext" : "<string>"
44660702 16191 },
7aacca6f 16192 "vmid" : {
44660702 16193 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16194 "format" : "pve-vmid",
16195 "minimum" : 1,
4bd7df8b 16196 "type" : "integer",
013dc89f 16197 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16198 },
16199 "websocket" : {
44660702 16200 "description" : "use websocket instead of standard VNC.",
7aacca6f 16201 "optional" : 1,
013dc89f
DM
16202 "type" : "boolean",
16203 "typetext" : "<boolean>"
7aacca6f 16204 }
44660702 16205 }
7aacca6f 16206 },
56122987
DM
16207 "permissions" : {
16208 "check" : [
16209 "perm",
16210 "/vms/{vmid}",
16211 [
16212 "VM.Console"
16213 ]
16214 ]
16215 },
44660702 16216 "protected" : 1,
56122987 16217 "returns" : {
7aacca6f 16218 "additionalProperties" : 0,
56122987 16219 "properties" : {
7aacca6f 16220 "cert" : {
56122987
DM
16221 "type" : "string"
16222 },
44660702
DM
16223 "port" : {
16224 "type" : "integer"
56122987 16225 },
44660702 16226 "ticket" : {
56122987
DM
16227 "type" : "string"
16228 },
44660702 16229 "upid" : {
56122987
DM
16230 "type" : "string"
16231 },
44660702
DM
16232 "user" : {
16233 "type" : "string"
56122987 16234 }
7aacca6f 16235 }
56122987
DM
16236 }
16237 }
16238 },
44660702 16239 "leaf" : 1,
56122987 16240 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 16241 "text" : "vncproxy"
56122987
DM
16242 },
16243 {
56122987
DM
16244 "info" : {
16245 "GET" : {
44660702
DM
16246 "description" : "Opens a weksocket for VNC traffic.",
16247 "method" : "GET",
16248 "name" : "vncwebsocket",
56122987 16249 "parameters" : {
44660702 16250 "additionalProperties" : 0,
56122987 16251 "properties" : {
56122987
DM
16252 "node" : {
16253 "description" : "The cluster node name.",
44660702 16254 "format" : "pve-node",
013dc89f
DM
16255 "type" : "string",
16256 "typetext" : "<string>"
7aacca6f 16257 },
44660702
DM
16258 "port" : {
16259 "description" : "Port number returned by previous vncproxy call.",
16260 "maximum" : 5999,
16261 "minimum" : 5900,
4bd7df8b 16262 "type" : "integer",
013dc89f 16263 "typetext" : "<integer> (5900 - 5999)"
44660702 16264 },
7aacca6f
DM
16265 "vmid" : {
16266 "description" : "The (unique) ID of the VM.",
7aacca6f 16267 "format" : "pve-vmid",
44660702 16268 "minimum" : 1,
4bd7df8b 16269 "type" : "integer",
013dc89f 16270 "typetext" : "<integer> (1 - N)"
44660702
DM
16271 },
16272 "vncticket" : {
16273 "description" : "Ticket from previous call to vncproxy.",
16274 "maxLength" : 512,
013dc89f
DM
16275 "type" : "string",
16276 "typetext" : "<string>"
56122987 16277 }
44660702 16278 }
7aacca6f 16279 },
7aacca6f
DM
16280 "permissions" : {
16281 "check" : [
16282 "perm",
16283 "/vms/{vmid}",
16284 [
16285 "VM.Console"
16286 ]
16287 ],
16288 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
16289 },
16290 "returns" : {
56122987
DM
16291 "properties" : {
16292 "port" : {
16293 "type" : "string"
16294 }
44660702
DM
16295 },
16296 "type" : "object"
16297 }
56122987
DM
16298 }
16299 },
44660702 16300 "leaf" : 1,
7aacca6f 16301 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 16302 "text" : "vncwebsocket"
56122987
DM
16303 },
16304 {
56122987
DM
16305 "info" : {
16306 "POST" : {
44660702
DM
16307 "description" : "Returns a SPICE configuration to connect to the CT.",
16308 "method" : "POST",
16309 "name" : "spiceproxy",
56122987
DM
16310 "parameters" : {
16311 "additionalProperties" : 0,
16312 "properties" : {
44660702
DM
16313 "node" : {
16314 "description" : "The cluster node name.",
16315 "format" : "pve-node",
013dc89f
DM
16316 "type" : "string",
16317 "typetext" : "<string>"
56122987
DM
16318 },
16319 "proxy" : {
7aacca6f 16320 "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
16321 "format" : "address",
16322 "optional" : 1,
013dc89f
DM
16323 "type" : "string",
16324 "typetext" : "<string>"
44660702
DM
16325 },
16326 "vmid" : {
16327 "description" : "The (unique) ID of the VM.",
16328 "format" : "pve-vmid",
16329 "minimum" : 1,
4bd7df8b 16330 "type" : "integer",
013dc89f 16331 "typetext" : "<integer> (1 - N)"
56122987
DM
16332 }
16333 }
16334 },
56122987
DM
16335 "permissions" : {
16336 "check" : [
16337 "perm",
16338 "/vms/{vmid}",
16339 [
16340 "VM.Console"
16341 ]
16342 ]
16343 },
44660702
DM
16344 "protected" : 1,
16345 "proxyto" : "node",
56122987 16346 "returns" : {
7aacca6f 16347 "additionalProperties" : 1,
44660702 16348 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 16349 "properties" : {
44660702 16350 "host" : {
56122987
DM
16351 "type" : "string"
16352 },
44660702 16353 "password" : {
56122987
DM
16354 "type" : "string"
16355 },
16356 "proxy" : {
16357 "type" : "string"
16358 },
56122987
DM
16359 "tls-port" : {
16360 "type" : "integer"
7aacca6f 16361 },
44660702 16362 "type" : {
7aacca6f 16363 "type" : "string"
56122987 16364 }
7aacca6f
DM
16365 }
16366 }
56122987 16367 }
44660702
DM
16368 },
16369 "leaf" : 1,
16370 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
16371 "text" : "spiceproxy"
56122987
DM
16372 },
16373 {
56122987
DM
16374 "info" : {
16375 "POST" : {
44660702 16376 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 16377 "method" : "POST",
44660702 16378 "name" : "migrate_vm",
56122987 16379 "parameters" : {
44660702 16380 "additionalProperties" : 0,
56122987 16381 "properties" : {
44660702 16382 "force" : {
de0983cb 16383 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 16384 "optional" : 1,
013dc89f
DM
16385 "type" : "boolean",
16386 "typetext" : "<boolean>"
44660702
DM
16387 },
16388 "node" : {
16389 "description" : "The cluster node name.",
7aacca6f 16390 "format" : "pve-node",
013dc89f
DM
16391 "type" : "string",
16392 "typetext" : "<string>"
7aacca6f 16393 },
56122987 16394 "online" : {
56122987 16395 "description" : "Use online/live migration.",
44660702 16396 "optional" : 1,
013dc89f
DM
16397 "type" : "boolean",
16398 "typetext" : "<boolean>"
56122987 16399 },
44660702
DM
16400 "target" : {
16401 "description" : "Target node.",
56122987 16402 "format" : "pve-node",
013dc89f
DM
16403 "type" : "string",
16404 "typetext" : "<string>"
56122987 16405 },
44660702
DM
16406 "vmid" : {
16407 "description" : "The (unique) ID of the VM.",
16408 "format" : "pve-vmid",
16409 "minimum" : 1,
4bd7df8b 16410 "type" : "integer",
013dc89f 16411 "typetext" : "<integer> (1 - N)"
56122987 16412 }
44660702 16413 }
7aacca6f 16414 },
56122987
DM
16415 "permissions" : {
16416 "check" : [
16417 "perm",
16418 "/vms/{vmid}",
16419 [
16420 "VM.Migrate"
16421 ]
16422 ]
16423 },
44660702 16424 "protected" : 1,
7aacca6f 16425 "proxyto" : "node",
44660702
DM
16426 "returns" : {
16427 "description" : "the task ID.",
16428 "type" : "string"
16429 }
56122987
DM
16430 }
16431 },
44660702
DM
16432 "leaf" : 1,
16433 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 16434 "text" : "migrate"
56122987
DM
16435 },
16436 {
56122987
DM
16437 "info" : {
16438 "GET" : {
44660702
DM
16439 "description" : "Check if feature for virtual machine is available.",
16440 "method" : "GET",
56122987 16441 "name" : "vm_feature",
56122987 16442 "parameters" : {
7aacca6f 16443 "additionalProperties" : 0,
56122987 16444 "properties" : {
44660702
DM
16445 "feature" : {
16446 "description" : "Feature to check.",
16447 "enum" : [
16448 "snapshot"
16449 ],
16450 "type" : "string"
16451 },
7aacca6f 16452 "node" : {
44660702 16453 "description" : "The cluster node name.",
7aacca6f 16454 "format" : "pve-node",
013dc89f
DM
16455 "type" : "string",
16456 "typetext" : "<string>"
7aacca6f 16457 },
56122987 16458 "snapname" : {
7aacca6f
DM
16459 "description" : "The name of the snapshot.",
16460 "format" : "pve-configid",
44660702
DM
16461 "maxLength" : 40,
16462 "optional" : 1,
013dc89f
DM
16463 "type" : "string",
16464 "typetext" : "<string>"
56122987
DM
16465 },
16466 "vmid" : {
7aacca6f 16467 "description" : "The (unique) ID of the VM.",
44660702 16468 "format" : "pve-vmid",
7aacca6f 16469 "minimum" : 1,
4bd7df8b 16470 "type" : "integer",
013dc89f 16471 "typetext" : "<integer> (1 - N)"
56122987 16472 }
7aacca6f 16473 }
56122987
DM
16474 },
16475 "permissions" : {
16476 "check" : [
16477 "perm",
16478 "/vms/{vmid}",
16479 [
16480 "VM.Audit"
16481 ]
16482 ]
16483 },
44660702 16484 "protected" : 1,
7aacca6f 16485 "proxyto" : "node",
7aacca6f
DM
16486 "returns" : {
16487 "properties" : {
16488 "hasFeature" : {
16489 "type" : "boolean"
16490 }
16491 },
16492 "type" : "object"
16493 }
56122987
DM
16494 }
16495 },
7aacca6f 16496 "leaf" : 1,
44660702
DM
16497 "path" : "/nodes/{node}/lxc/{vmid}/feature",
16498 "text" : "feature"
56122987
DM
16499 },
16500 {
56122987
DM
16501 "info" : {
16502 "POST" : {
44660702
DM
16503 "description" : "Create a Template.",
16504 "method" : "POST",
56122987 16505 "name" : "template",
56122987
DM
16506 "parameters" : {
16507 "additionalProperties" : 0,
16508 "properties" : {
44660702
DM
16509 "experimental" : {
16510 "default" : 0,
16511 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16512 "type" : "boolean",
16513 "typetext" : "<boolean>"
7aacca6f
DM
16514 },
16515 "node" : {
7aacca6f 16516 "description" : "The cluster node name.",
44660702 16517 "format" : "pve-node",
013dc89f
DM
16518 "type" : "string",
16519 "typetext" : "<string>"
56122987 16520 },
44660702
DM
16521 "vmid" : {
16522 "description" : "The (unique) ID of the VM.",
16523 "format" : "pve-vmid",
16524 "minimum" : 1,
4bd7df8b 16525 "type" : "integer",
013dc89f 16526 "typetext" : "<integer> (1 - N)"
56122987
DM
16527 }
16528 }
16529 },
56122987 16530 "permissions" : {
56122987
DM
16531 "check" : [
16532 "perm",
16533 "/vms/{vmid}",
16534 [
16535 "VM.Allocate"
16536 ]
44660702
DM
16537 ],
16538 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 16539 },
44660702 16540 "protected" : 1,
7aacca6f
DM
16541 "proxyto" : "node",
16542 "returns" : {
16543 "type" : "null"
56122987
DM
16544 }
16545 }
16546 },
44660702 16547 "leaf" : 1,
7aacca6f 16548 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 16549 "text" : "template"
56122987
DM
16550 },
16551 {
56122987
DM
16552 "info" : {
16553 "POST" : {
44660702
DM
16554 "description" : "Create a container clone/copy",
16555 "method" : "POST",
56122987 16556 "name" : "clone_vm",
7aacca6f
DM
16557 "parameters" : {
16558 "additionalProperties" : 0,
16559 "properties" : {
44660702
DM
16560 "description" : {
16561 "description" : "Description for the new CT.",
7aacca6f 16562 "optional" : 1,
013dc89f
DM
16563 "type" : "string",
16564 "typetext" : "<string>"
7aacca6f
DM
16565 },
16566 "experimental" : {
7aacca6f 16567 "default" : 0,
44660702 16568 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
16569 "type" : "boolean",
16570 "typetext" : "<boolean>"
7aacca6f 16571 },
44660702
DM
16572 "full" : {
16573 "default" : 0,
16574 "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 16575 "optional" : 1,
013dc89f
DM
16576 "type" : "boolean",
16577 "typetext" : "<boolean>"
7aacca6f
DM
16578 },
16579 "hostname" : {
44660702 16580 "description" : "Set a hostname for the new CT.",
7aacca6f 16581 "format" : "dns-name",
7aacca6f 16582 "optional" : 1,
013dc89f
DM
16583 "type" : "string",
16584 "typetext" : "<string>"
7aacca6f 16585 },
44660702
DM
16586 "newid" : {
16587 "description" : "VMID for the clone.",
7aacca6f 16588 "format" : "pve-vmid",
44660702 16589 "minimum" : 1,
4bd7df8b 16590 "type" : "integer",
013dc89f 16591 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16592 },
16593 "node" : {
16594 "description" : "The cluster node name.",
44660702 16595 "format" : "pve-node",
013dc89f
DM
16596 "type" : "string",
16597 "typetext" : "<string>"
44660702
DM
16598 },
16599 "pool" : {
16600 "description" : "Add the new CT to the specified pool.",
16601 "format" : "pve-poolid",
16602 "optional" : 1,
013dc89f
DM
16603 "type" : "string",
16604 "typetext" : "<string>"
7aacca6f
DM
16605 },
16606 "snapname" : {
44660702 16607 "description" : "The name of the snapshot.",
7aacca6f
DM
16608 "format" : "pve-configid",
16609 "maxLength" : 40,
7aacca6f 16610 "optional" : 1,
013dc89f
DM
16611 "type" : "string",
16612 "typetext" : "<string>"
7aacca6f
DM
16613 },
16614 "storage" : {
44660702 16615 "description" : "Target storage for full clone.",
7aacca6f
DM
16616 "format" : "pve-storage-id",
16617 "optional" : 1,
7aacca6f 16618 "requires" : "full",
013dc89f
DM
16619 "type" : "string",
16620 "typetext" : "<string>"
44660702
DM
16621 },
16622 "vmid" : {
16623 "description" : "The (unique) ID of the VM.",
16624 "format" : "pve-vmid",
16625 "minimum" : 1,
4bd7df8b 16626 "type" : "integer",
013dc89f 16627 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16628 }
16629 }
56122987
DM
16630 },
16631 "permissions" : {
56122987
DM
16632 "check" : [
16633 "and",
16634 [
16635 "perm",
16636 "/vms/{vmid}",
16637 [
16638 "VM.Clone"
16639 ]
16640 ],
16641 [
16642 "or",
16643 [
16644 "perm",
16645 "/vms/{newid}",
16646 [
16647 "VM.Allocate"
16648 ]
16649 ],
16650 [
16651 "perm",
16652 "/pool/{pool}",
16653 [
16654 "VM.Allocate"
16655 ],
16656 "require_param",
16657 "pool"
16658 ]
16659 ]
7aacca6f
DM
16660 ],
16661 "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 16662 },
44660702 16663 "protected" : 1,
56122987 16664 "proxyto" : "node",
7aacca6f
DM
16665 "returns" : {
16666 "type" : "string"
56122987
DM
16667 }
16668 }
44660702
DM
16669 },
16670 "leaf" : 1,
16671 "path" : "/nodes/{node}/lxc/{vmid}/clone",
16672 "text" : "clone"
56122987
DM
16673 },
16674 {
56122987
DM
16675 "info" : {
16676 "PUT" : {
de0983cb 16677 "description" : "Resize a container mount point.",
44660702
DM
16678 "method" : "PUT",
16679 "name" : "resize_vm",
56122987 16680 "parameters" : {
44660702 16681 "additionalProperties" : 0,
56122987 16682 "properties" : {
44660702
DM
16683 "digest" : {
16684 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16685 "maxLength" : 40,
16686 "optional" : 1,
013dc89f
DM
16687 "type" : "string",
16688 "typetext" : "<string>"
56122987
DM
16689 },
16690 "disk" : {
7aacca6f 16691 "description" : "The disk you want to resize.",
56122987
DM
16692 "enum" : [
16693 "rootfs",
16694 "mp0",
16695 "mp1",
16696 "mp2",
16697 "mp3",
16698 "mp4",
16699 "mp5",
16700 "mp6",
16701 "mp7",
16702 "mp8",
16703 "mp9"
16704 ],
7aacca6f
DM
16705 "type" : "string"
16706 },
44660702
DM
16707 "node" : {
16708 "description" : "The cluster node name.",
16709 "format" : "pve-node",
013dc89f
DM
16710 "type" : "string",
16711 "typetext" : "<string>"
44660702
DM
16712 },
16713 "size" : {
16714 "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.",
16715 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
16716 "type" : "string"
16717 },
16718 "vmid" : {
16719 "description" : "The (unique) ID of the VM.",
16720 "format" : "pve-vmid",
16721 "minimum" : 1,
4bd7df8b 16722 "type" : "integer",
013dc89f 16723 "typetext" : "<integer> (1 - N)"
56122987 16724 }
44660702 16725 }
56122987 16726 },
7aacca6f
DM
16727 "permissions" : {
16728 "check" : [
16729 "perm",
16730 "/vms/{vmid}",
16731 [
16732 "VM.Config.Disk"
16733 ],
16734 "any",
16735 1
16736 ]
16737 },
44660702 16738 "protected" : 1,
7aacca6f
DM
16739 "proxyto" : "node",
16740 "returns" : {
16741 "description" : "the task ID.",
16742 "type" : "string"
16743 }
56122987
DM
16744 }
16745 },
44660702 16746 "leaf" : 1,
7aacca6f 16747 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 16748 "text" : "resize"
56122987
DM
16749 }
16750 ],
16751 "info" : {
16752 "DELETE" : {
7aacca6f 16753 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
16754 "method" : "DELETE",
16755 "name" : "destroy_vm",
16756 "parameters" : {
16757 "additionalProperties" : 0,
16758 "properties" : {
16759 "node" : {
16760 "description" : "The cluster node name.",
16761 "format" : "pve-node",
013dc89f
DM
16762 "type" : "string",
16763 "typetext" : "<string>"
44660702
DM
16764 },
16765 "vmid" : {
16766 "description" : "The (unique) ID of the VM.",
16767 "format" : "pve-vmid",
16768 "minimum" : 1,
4bd7df8b 16769 "type" : "integer",
013dc89f 16770 "typetext" : "<integer> (1 - N)"
44660702
DM
16771 }
16772 }
16773 },
7aacca6f
DM
16774 "permissions" : {
16775 "check" : [
16776 "perm",
16777 "/vms/{vmid}",
16778 [
16779 "VM.Allocate"
16780 ]
16781 ]
16782 },
44660702
DM
16783 "protected" : 1,
16784 "proxyto" : "node",
56122987
DM
16785 "returns" : {
16786 "type" : "string"
44660702 16787 }
56122987
DM
16788 },
16789 "GET" : {
7aacca6f 16790 "description" : "Directory index",
44660702 16791 "method" : "GET",
7aacca6f 16792 "name" : "vmdiridx",
56122987 16793 "parameters" : {
7aacca6f 16794 "additionalProperties" : 0,
56122987
DM
16795 "properties" : {
16796 "node" : {
7aacca6f 16797 "description" : "The cluster node name.",
44660702 16798 "format" : "pve-node",
013dc89f
DM
16799 "type" : "string",
16800 "typetext" : "<string>"
56122987
DM
16801 },
16802 "vmid" : {
16803 "description" : "The (unique) ID of the VM.",
56122987 16804 "format" : "pve-vmid",
44660702 16805 "minimum" : 1,
4bd7df8b 16806 "type" : "integer",
013dc89f 16807 "typetext" : "<integer> (1 - N)"
56122987 16808 }
7aacca6f 16809 }
56122987 16810 },
56122987
DM
16811 "permissions" : {
16812 "user" : "all"
44660702
DM
16813 },
16814 "proxyto" : "node",
16815 "returns" : {
16816 "items" : {
16817 "properties" : {
16818 "subdir" : {
16819 "type" : "string"
16820 }
16821 },
16822 "type" : "object"
16823 },
16824 "links" : [
16825 {
16826 "href" : "{subdir}",
16827 "rel" : "child"
16828 }
16829 ],
16830 "type" : "array"
56122987
DM
16831 }
16832 }
44660702
DM
16833 },
16834 "leaf" : 0,
16835 "path" : "/nodes/{node}/lxc/{vmid}",
16836 "text" : "{vmid}"
56122987
DM
16837 }
16838 ],
56122987 16839 "info" : {
44660702
DM
16840 "GET" : {
16841 "description" : "LXC container index (per node).",
16842 "method" : "GET",
16843 "name" : "vmlist",
16844 "parameters" : {
16845 "additionalProperties" : 0,
16846 "properties" : {
16847 "node" : {
16848 "description" : "The cluster node name.",
16849 "format" : "pve-node",
013dc89f
DM
16850 "type" : "string",
16851 "typetext" : "<string>"
44660702
DM
16852 }
16853 }
16854 },
16855 "permissions" : {
16856 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
16857 "user" : "all"
16858 },
16859 "protected" : 1,
16860 "proxyto" : "node",
16861 "returns" : {
16862 "items" : {
16863 "properties" : {},
16864 "type" : "object"
16865 },
16866 "links" : [
16867 {
16868 "href" : "{vmid}",
16869 "rel" : "child"
16870 }
16871 ],
16872 "type" : "array"
16873 }
16874 },
56122987 16875 "POST" : {
44660702 16876 "description" : "Create or restore a container.",
7aacca6f
DM
16877 "method" : "POST",
16878 "name" : "create_vm",
56122987 16879 "parameters" : {
7aacca6f 16880 "additionalProperties" : 0,
56122987 16881 "properties" : {
44660702
DM
16882 "arch" : {
16883 "default" : "amd64",
16884 "description" : "OS architecture type.",
16885 "enum" : [
16886 "amd64",
16887 "i386"
16888 ],
7aacca6f 16889 "optional" : 1,
44660702 16890 "type" : "string"
7aacca6f 16891 },
44660702
DM
16892 "cmode" : {
16893 "default" : "tty",
16894 "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).",
16895 "enum" : [
16896 "shell",
16897 "console",
16898 "tty"
16899 ],
7aacca6f 16900 "optional" : 1,
44660702 16901 "type" : "string"
7aacca6f
DM
16902 },
16903 "console" : {
7aacca6f 16904 "default" : 1,
44660702 16905 "description" : "Attach a console device (/dev/console) to the container.",
56122987 16906 "optional" : 1,
013dc89f
DM
16907 "type" : "boolean",
16908 "typetext" : "<boolean>"
56122987 16909 },
de0983cb
DM
16910 "cores" : {
16911 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
16912 "maximum" : 128,
16913 "minimum" : 1,
16914 "optional" : 1,
16915 "type" : "integer",
013dc89f 16916 "typetext" : "<integer> (1 - 128)"
de0983cb 16917 },
44660702
DM
16918 "cpulimit" : {
16919 "default" : 0,
16920 "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.",
16921 "maximum" : 128,
16922 "minimum" : 0,
56122987 16923 "optional" : 1,
4bd7df8b 16924 "type" : "number",
013dc89f 16925 "typetext" : "<number> (0 - 128)"
56122987 16926 },
44660702
DM
16927 "cpuunits" : {
16928 "default" : 1024,
16929 "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.",
16930 "maximum" : 500000,
16931 "minimum" : 0,
56122987 16932 "optional" : 1,
4bd7df8b 16933 "type" : "integer",
013dc89f 16934 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
16935 },
16936 "description" : {
44660702 16937 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 16938 "optional" : 1,
013dc89f
DM
16939 "type" : "string",
16940 "typetext" : "<string>"
7aacca6f 16941 },
44660702
DM
16942 "force" : {
16943 "description" : "Allow to overwrite existing container.",
7aacca6f 16944 "optional" : 1,
013dc89f
DM
16945 "type" : "boolean",
16946 "typetext" : "<boolean>"
44660702
DM
16947 },
16948 "hostname" : {
16949 "description" : "Set a host name for the container.",
16950 "format" : "dns-name",
16951 "maxLength" : 255,
16952 "optional" : 1,
013dc89f
DM
16953 "type" : "string",
16954 "typetext" : "<string>"
44660702
DM
16955 },
16956 "ignore-unpack-errors" : {
16957 "description" : "Ignore errors when extracting the template.",
16958 "optional" : 1,
013dc89f
DM
16959 "type" : "boolean",
16960 "typetext" : "<boolean>"
44660702
DM
16961 },
16962 "lock" : {
16963 "description" : "Lock/unlock the VM.",
7aacca6f
DM
16964 "enum" : [
16965 "migrate",
16966 "backup",
16967 "snapshot",
16968 "rollback"
16969 ],
44660702
DM
16970 "optional" : 1,
16971 "type" : "string"
7aacca6f 16972 },
44660702
DM
16973 "memory" : {
16974 "default" : 512,
16975 "description" : "Amount of RAM for the VM in MB.",
16976 "minimum" : 16,
7aacca6f 16977 "optional" : 1,
4bd7df8b 16978 "type" : "integer",
013dc89f 16979 "typetext" : "<integer> (16 - N)"
44660702
DM
16980 },
16981 "mp[n]" : {
c2993fe5 16982 "description" : "Use volume as container mount point.",
56122987 16983 "format" : {
7aacca6f
DM
16984 "acl" : {
16985 "description" : "Explicitly enable or disable ACL support.",
16986 "optional" : 1,
44660702 16987 "type" : "boolean"
56122987
DM
16988 },
16989 "backup" : {
de0983cb 16990 "description" : "Whether to include the mount point in backups.",
44660702 16991 "optional" : 1,
4bd7df8b 16992 "type" : "boolean",
de0983cb 16993 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
16994 },
16995 "mp" : {
de0983cb 16996 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
16997 "format" : "pve-lxc-mp-string",
16998 "format_description" : "Path",
4bd7df8b 16999 "type" : "string",
de0983cb 17000 "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
17001 },
17002 "quota" : {
17003 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17004 "optional" : 1,
44660702
DM
17005 "type" : "boolean"
17006 },
17007 "ro" : {
de0983cb 17008 "description" : "Read-only mount point",
44660702
DM
17009 "optional" : 1,
17010 "type" : "boolean"
7aacca6f 17011 },
de0983cb
DM
17012 "shared" : {
17013 "default" : 0,
17014 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17015 "optional" : 1,
17016 "type" : "boolean",
17017 "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!"
17018 },
7aacca6f 17019 "size" : {
44660702 17020 "description" : "Volume size (read only value).",
7aacca6f
DM
17021 "format" : "disk-size",
17022 "format_description" : "DiskSize",
7aacca6f
DM
17023 "optional" : 1,
17024 "type" : "string"
56122987
DM
17025 },
17026 "volume" : {
7aacca6f 17027 "default_key" : 1,
44660702 17028 "description" : "Volume, device or directory to mount into the container.",
56122987 17029 "format" : "pve-lxc-mp-string",
56122987 17030 "format_description" : "volume",
44660702 17031 "type" : "string"
56122987 17032 }
44660702 17033 },
56122987 17034 "optional" : 1,
4bd7df8b 17035 "type" : "string",
de0983cb 17036 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 17037 },
44660702
DM
17038 "nameserver" : {
17039 "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.",
17040 "format" : "address-list",
56122987 17041 "optional" : 1,
013dc89f
DM
17042 "type" : "string",
17043 "typetext" : "<string>"
56122987 17044 },
44660702
DM
17045 "net[n]" : {
17046 "description" : "Specifies network interfaces for the container.",
7aacca6f 17047 "format" : {
44660702
DM
17048 "bridge" : {
17049 "description" : "Bridge to attach the network device to.",
f004f5b9 17050 "format_description" : "bridge",
7aacca6f 17051 "optional" : 1,
44660702
DM
17052 "pattern" : "[-_.\\w\\d]+",
17053 "type" : "string"
7aacca6f 17054 },
44660702
DM
17055 "firewall" : {
17056 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 17057 "optional" : 1,
44660702 17058 "type" : "boolean"
7aacca6f 17059 },
44660702
DM
17060 "gw" : {
17061 "description" : "Default gateway for IPv4 traffic.",
17062 "format" : "ipv4",
17063 "format_description" : "GatewayIPv4",
7aacca6f 17064 "optional" : 1,
44660702 17065 "type" : "string"
7aacca6f 17066 },
44660702
DM
17067 "gw6" : {
17068 "description" : "Default gateway for IPv6 traffic.",
17069 "format" : "ipv6",
17070 "format_description" : "GatewayIPv6",
17071 "optional" : 1,
17072 "type" : "string"
7aacca6f 17073 },
44660702 17074 "hwaddr" : {
f004f5b9
DM
17075 "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)",
17076 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
17077 "optional" : 1,
17078 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
17079 "type" : "string"
17080 },
44660702
DM
17081 "ip" : {
17082 "description" : "IPv4 address in CIDR format.",
17083 "format" : "pve-ipv4-config",
17084 "format_description" : "IPv4Format/CIDR",
7aacca6f 17085 "optional" : 1,
44660702 17086 "type" : "string"
7aacca6f 17087 },
44660702
DM
17088 "ip6" : {
17089 "description" : "IPv6 address in CIDR format.",
17090 "format" : "pve-ipv6-config",
17091 "format_description" : "IPv6Format/CIDR",
17092 "optional" : 1,
17093 "type" : "string"
17094 },
17095 "mtu" : {
17096 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
17097 "minimum" : 64,
17098 "optional" : 1,
17099 "type" : "integer"
17100 },
17101 "name" : {
17102 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 17103 "format_description" : "string",
44660702
DM
17104 "pattern" : "[-_.\\w\\d]+",
17105 "type" : "string"
17106 },
17107 "rate" : {
17108 "description" : "Apply rate limiting to the interface",
17109 "format_description" : "mbps",
17110 "optional" : 1,
17111 "type" : "number"
17112 },
17113 "tag" : {
17114 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
17115 "maximum" : 4094,
17116 "minimum" : 1,
44660702
DM
17117 "optional" : 1,
17118 "type" : "integer"
17119 },
17120 "trunks" : {
17121 "description" : "VLAN ids to pass through the interface",
17122 "format_description" : "vlanid[;vlanid...]",
17123 "optional" : 1,
17124 "pattern" : "(?^:\\d+(?:;\\d+)*)",
17125 "type" : "string"
17126 },
17127 "type" : {
17128 "description" : "Network interface type.",
17129 "enum" : [
17130 "veth"
17131 ],
17132 "optional" : 1,
17133 "type" : "string"
7aacca6f
DM
17134 }
17135 },
56122987 17136 "optional" : 1,
4bd7df8b
DM
17137 "type" : "string",
17138 "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 17139 },
44660702
DM
17140 "node" : {
17141 "description" : "The cluster node name.",
17142 "format" : "pve-node",
013dc89f
DM
17143 "type" : "string",
17144 "typetext" : "<string>"
56122987 17145 },
44660702
DM
17146 "onboot" : {
17147 "default" : 0,
17148 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17149 "optional" : 1,
013dc89f
DM
17150 "type" : "boolean",
17151 "typetext" : "<boolean>"
44660702
DM
17152 },
17153 "ostemplate" : {
17154 "description" : "The OS template or backup file.",
17155 "maxLength" : 255,
013dc89f
DM
17156 "type" : "string",
17157 "typetext" : "<string>"
56122987
DM
17158 },
17159 "ostype" : {
7aacca6f 17160 "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
17161 "enum" : [
17162 "debian",
17163 "ubuntu",
17164 "centos",
17165 "fedora",
17166 "opensuse",
17167 "archlinux",
17168 "alpine",
57b78691 17169 "gentoo",
56122987 17170 "unmanaged"
44660702 17171 ],
56122987 17172 "optional" : 1,
7aacca6f 17173 "type" : "string"
56122987 17174 },
44660702
DM
17175 "password" : {
17176 "description" : "Sets root password inside container.",
17177 "minLength" : 5,
7aacca6f 17178 "optional" : 1,
013dc89f
DM
17179 "type" : "string",
17180 "typetext" : "<string>"
7aacca6f 17181 },
44660702
DM
17182 "pool" : {
17183 "description" : "Add the VM to the specified pool.",
17184 "format" : "pve-poolid",
7aacca6f 17185 "optional" : 1,
013dc89f
DM
17186 "type" : "string",
17187 "typetext" : "<string>"
7aacca6f 17188 },
44660702
DM
17189 "protection" : {
17190 "default" : 0,
17191 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 17192 "optional" : 1,
013dc89f
DM
17193 "type" : "boolean",
17194 "typetext" : "<boolean>"
7aacca6f 17195 },
44660702
DM
17196 "restore" : {
17197 "description" : "Mark this as restore task.",
17198 "optional" : 1,
013dc89f
DM
17199 "type" : "boolean",
17200 "typetext" : "<boolean>"
7aacca6f 17201 },
44660702
DM
17202 "rootfs" : {
17203 "description" : "Use volume as container root.",
56122987 17204 "format" : {
44660702
DM
17205 "acl" : {
17206 "description" : "Explicitly enable or disable ACL support.",
56122987 17207 "optional" : 1,
44660702 17208 "type" : "boolean"
56122987 17209 },
44660702
DM
17210 "quota" : {
17211 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17212 "optional" : 1,
44660702 17213 "type" : "boolean"
7aacca6f 17214 },
44660702 17215 "ro" : {
de0983cb 17216 "description" : "Read-only mount point",
7aacca6f 17217 "optional" : 1,
44660702 17218 "type" : "boolean"
7aacca6f 17219 },
de0983cb
DM
17220 "shared" : {
17221 "default" : 0,
17222 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17223 "optional" : 1,
17224 "type" : "boolean",
17225 "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!"
17226 },
44660702
DM
17227 "size" : {
17228 "description" : "Volume size (read only value).",
17229 "format" : "disk-size",
17230 "format_description" : "DiskSize",
7aacca6f
DM
17231 "optional" : 1,
17232 "type" : "string"
17233 },
44660702
DM
17234 "volume" : {
17235 "default_key" : 1,
17236 "description" : "Volume, device or directory to mount into the container.",
17237 "format" : "pve-lxc-mp-string",
17238 "format_description" : "volume",
17239 "type" : "string"
56122987 17240 }
7aacca6f 17241 },
7aacca6f 17242 "optional" : 1,
4bd7df8b 17243 "type" : "string",
de0983cb 17244 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
17245 },
17246 "searchdomain" : {
17247 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
17248 "format" : "dns-name-list",
17249 "optional" : 1,
013dc89f
DM
17250 "type" : "string",
17251 "typetext" : "<string>"
44660702
DM
17252 },
17253 "ssh-public-keys" : {
17254 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
17255 "optional" : 1,
013dc89f
DM
17256 "type" : "string",
17257 "typetext" : "<string>"
44660702
DM
17258 },
17259 "startup" : {
17260 "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.",
17261 "format" : "pve-startup-order",
17262 "optional" : 1,
7aacca6f 17263 "type" : "string",
44660702 17264 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 17265 },
44660702
DM
17266 "storage" : {
17267 "default" : "local",
17268 "description" : "Default Storage.",
17269 "format" : "pve-storage-id",
17270 "optional" : 1,
013dc89f
DM
17271 "type" : "string",
17272 "typetext" : "<string>"
7aacca6f 17273 },
44660702
DM
17274 "swap" : {
17275 "default" : 512,
17276 "description" : "Amount of SWAP for the VM in MB.",
17277 "minimum" : 0,
17278 "optional" : 1,
4bd7df8b 17279 "type" : "integer",
013dc89f 17280 "typetext" : "<integer> (0 - N)"
44660702
DM
17281 },
17282 "template" : {
17283 "default" : 0,
17284 "description" : "Enable/disable Template.",
17285 "optional" : 1,
013dc89f
DM
17286 "type" : "boolean",
17287 "typetext" : "<boolean>"
7aacca6f 17288 },
44660702
DM
17289 "tty" : {
17290 "default" : 2,
17291 "description" : "Specify the number of tty available to the container",
17292 "maximum" : 6,
17293 "minimum" : 0,
17294 "optional" : 1,
4bd7df8b 17295 "type" : "integer",
013dc89f 17296 "typetext" : "<integer> (0 - 6)"
7aacca6f 17297 },
44660702
DM
17298 "unprivileged" : {
17299 "default" : 0,
17300 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
17301 "optional" : 1,
013dc89f
DM
17302 "type" : "boolean",
17303 "typetext" : "<boolean>"
44660702
DM
17304 },
17305 "unused[n]" : {
c2993fe5 17306 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
17307 "format" : "pve-volume-id",
17308 "optional" : 1,
013dc89f
DM
17309 "type" : "string",
17310 "typetext" : "<string>"
44660702
DM
17311 },
17312 "vmid" : {
17313 "description" : "The (unique) ID of the VM.",
17314 "format" : "pve-vmid",
17315 "minimum" : 1,
4bd7df8b 17316 "type" : "integer",
013dc89f 17317 "typetext" : "<integer> (1 - N)"
44660702 17318 }
7aacca6f
DM
17319 }
17320 },
44660702
DM
17321 "permissions" : {
17322 "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.",
17323 "user" : "all"
17324 },
17325 "protected" : 1,
17326 "proxyto" : "node",
17327 "returns" : {
17328 "type" : "string"
17329 }
17330 }
17331 },
17332 "leaf" : 0,
17333 "path" : "/nodes/{node}/lxc",
17334 "text" : "lxc"
17335 },
17336 {
17337 "children" : [
17338 {
56122987
DM
17339 "children" : [
17340 {
7aacca6f
DM
17341 "children" : [
17342 {
7aacca6f
DM
17343 "info" : {
17344 "POST" : {
44660702
DM
17345 "description" : "ceph osd in",
17346 "method" : "POST",
17347 "name" : "in",
17348 "parameters" : {
17349 "additionalProperties" : 0,
17350 "properties" : {
17351 "node" : {
17352 "description" : "The cluster node name.",
17353 "format" : "pve-node",
013dc89f
DM
17354 "type" : "string",
17355 "typetext" : "<string>"
44660702
DM
17356 },
17357 "osdid" : {
17358 "description" : "OSD ID",
013dc89f
DM
17359 "type" : "integer",
17360 "typetext" : "<integer>"
44660702
DM
17361 }
17362 }
17363 },
56122987
DM
17364 "permissions" : {
17365 "check" : [
17366 "perm",
17367 "/",
17368 [
17369 "Sys.Modify"
17370 ]
17371 ]
7aacca6f 17372 },
44660702 17373 "protected" : 1,
7aacca6f
DM
17374 "proxyto" : "node",
17375 "returns" : {
17376 "type" : "null"
44660702 17377 }
56122987
DM
17378 }
17379 },
44660702 17380 "leaf" : 1,
7aacca6f 17381 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 17382 "text" : "in"
56122987
DM
17383 },
17384 {
56122987
DM
17385 "info" : {
17386 "POST" : {
44660702
DM
17387 "description" : "ceph osd out",
17388 "method" : "POST",
17389 "name" : "out",
17390 "parameters" : {
17391 "additionalProperties" : 0,
17392 "properties" : {
17393 "node" : {
17394 "description" : "The cluster node name.",
17395 "format" : "pve-node",
013dc89f
DM
17396 "type" : "string",
17397 "typetext" : "<string>"
44660702
DM
17398 },
17399 "osdid" : {
17400 "description" : "OSD ID",
013dc89f
DM
17401 "type" : "integer",
17402 "typetext" : "<integer>"
44660702
DM
17403 }
17404 }
17405 },
56122987
DM
17406 "permissions" : {
17407 "check" : [
17408 "perm",
17409 "/",
17410 [
17411 "Sys.Modify"
17412 ]
17413 ]
17414 },
44660702 17415 "protected" : 1,
56122987 17416 "proxyto" : "node",
7aacca6f
DM
17417 "returns" : {
17418 "type" : "null"
44660702
DM
17419 }
17420 }
17421 },
17422 "leaf" : 1,
17423 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
17424 "text" : "out"
17425 }
17426 ],
17427 "info" : {
17428 "DELETE" : {
17429 "description" : "Destroy OSD",
17430 "method" : "DELETE",
17431 "name" : "destroyosd",
17432 "parameters" : {
17433 "additionalProperties" : 0,
17434 "properties" : {
17435 "cleanup" : {
17436 "default" : 0,
17437 "description" : "If set, we remove partition table entries.",
17438 "optional" : 1,
013dc89f
DM
17439 "type" : "boolean",
17440 "typetext" : "<boolean>"
7aacca6f 17441 },
44660702
DM
17442 "node" : {
17443 "description" : "The cluster node name.",
17444 "format" : "pve-node",
013dc89f
DM
17445 "type" : "string",
17446 "typetext" : "<string>"
56122987 17447 },
44660702
DM
17448 "osdid" : {
17449 "description" : "OSD ID",
013dc89f
DM
17450 "type" : "integer",
17451 "typetext" : "<integer>"
44660702 17452 }
56122987
DM
17453 }
17454 },
44660702
DM
17455 "protected" : 1,
17456 "proxyto" : "node",
17457 "returns" : {
17458 "type" : "string"
17459 }
17460 }
17461 },
17462 "leaf" : 0,
17463 "path" : "/nodes/{node}/ceph/osd/{osdid}",
17464 "text" : "{osdid}"
17465 }
17466 ],
17467 "info" : {
17468 "GET" : {
17469 "description" : "Get Ceph osd list/tree.",
17470 "method" : "GET",
17471 "name" : "index",
17472 "parameters" : {
17473 "additionalProperties" : 0,
17474 "properties" : {
17475 "node" : {
17476 "description" : "The cluster node name.",
17477 "format" : "pve-node",
013dc89f
DM
17478 "type" : "string",
17479 "typetext" : "<string>"
44660702
DM
17480 }
17481 }
17482 },
17483 "permissions" : {
17484 "check" : [
17485 "perm",
17486 "/",
17487 [
17488 "Sys.Audit",
17489 "Datastore.Audit"
17490 ],
17491 "any",
17492 1
17493 ]
17494 },
17495 "protected" : 1,
17496 "proxyto" : "node",
17497 "returns" : {
17498 "type" : "object"
17499 }
17500 },
17501 "POST" : {
17502 "description" : "Create OSD",
17503 "method" : "POST",
17504 "name" : "createosd",
17505 "parameters" : {
17506 "additionalProperties" : 0,
17507 "properties" : {
17508 "dev" : {
17509 "description" : "Block device name.",
013dc89f
DM
17510 "type" : "string",
17511 "typetext" : "<string>"
44660702
DM
17512 },
17513 "fstype" : {
17514 "default" : "xfs",
17515 "description" : "File system type.",
17516 "enum" : [
17517 "xfs",
17518 "ext4",
17519 "btrfs"
17520 ],
17521 "optional" : 1,
17522 "type" : "string"
17523 },
17524 "journal_dev" : {
17525 "description" : "Block device name for journal.",
17526 "optional" : 1,
013dc89f
DM
17527 "type" : "string",
17528 "typetext" : "<string>"
44660702
DM
17529 },
17530 "node" : {
17531 "description" : "The cluster node name.",
17532 "format" : "pve-node",
013dc89f
DM
17533 "type" : "string",
17534 "typetext" : "<string>"
44660702 17535 }
56122987 17536 }
44660702
DM
17537 },
17538 "protected" : 1,
17539 "proxyto" : "node",
17540 "returns" : {
17541 "type" : "string"
17542 }
56122987 17543 }
44660702 17544 },
7aacca6f 17545 "leaf" : 0,
44660702
DM
17546 "path" : "/nodes/{node}/ceph/osd",
17547 "text" : "osd"
7aacca6f
DM
17548 },
17549 {
56122987
DM
17550 "info" : {
17551 "GET" : {
7aacca6f 17552 "description" : "List local disks.",
44660702
DM
17553 "method" : "GET",
17554 "name" : "disks",
17555 "parameters" : {
17556 "additionalProperties" : 0,
17557 "properties" : {
17558 "node" : {
17559 "description" : "The cluster node name.",
17560 "format" : "pve-node",
013dc89f
DM
17561 "type" : "string",
17562 "typetext" : "<string>"
44660702
DM
17563 },
17564 "type" : {
17565 "description" : "Only list specific types of disks.",
17566 "enum" : [
17567 "unused",
17568 "journal_disks"
17569 ],
17570 "optional" : 1,
17571 "type" : "string"
17572 }
17573 }
17574 },
56122987
DM
17575 "permissions" : {
17576 "check" : [
17577 "perm",
17578 "/",
17579 [
17580 "Sys.Audit",
17581 "Datastore.Audit"
17582 ],
17583 "any",
17584 1
17585 ]
7aacca6f 17586 },
44660702
DM
17587 "protected" : 1,
17588 "proxyto" : "node",
56122987 17589 "returns" : {
7aacca6f
DM
17590 "items" : {
17591 "properties" : {
44660702
DM
17592 "dev" : {
17593 "type" : "string"
17594 },
17595 "gpt" : {
17596 "type" : "boolean"
17597 },
17598 "model" : {
17599 "optional" : 1,
17600 "type" : "string"
7aacca6f
DM
17601 },
17602 "osdid" : {
17603 "type" : "integer"
17604 },
17605 "serial" : {
7aacca6f
DM
17606 "optional" : 1,
17607 "type" : "string"
17608 },
17609 "size" : {
17610 "type" : "integer"
17611 },
44660702
DM
17612 "used" : {
17613 "optional" : 1,
7aacca6f
DM
17614 "type" : "string"
17615 },
44660702
DM
17616 "vendor" : {
17617 "optional" : 1,
17618 "type" : "string"
7aacca6f
DM
17619 }
17620 },
17621 "type" : "object"
44660702
DM
17622 },
17623 "type" : "array"
17624 }
56122987 17625 }
44660702
DM
17626 },
17627 "leaf" : 1,
17628 "path" : "/nodes/{node}/ceph/disks",
17629 "text" : "disks"
56122987
DM
17630 },
17631 {
56122987
DM
17632 "info" : {
17633 "GET" : {
7aacca6f 17634 "description" : "Get Ceph configuration.",
44660702
DM
17635 "method" : "GET",
17636 "name" : "config",
56122987 17637 "parameters" : {
7aacca6f 17638 "additionalProperties" : 0,
56122987 17639 "properties" : {
56122987 17640 "node" : {
7aacca6f 17641 "description" : "The cluster node name.",
44660702 17642 "format" : "pve-node",
013dc89f
DM
17643 "type" : "string",
17644 "typetext" : "<string>"
56122987 17645 }
7aacca6f 17646 }
56122987 17647 },
56122987
DM
17648 "permissions" : {
17649 "check" : [
17650 "perm",
17651 "/",
17652 [
17653 "Sys.Audit",
17654 "Datastore.Audit"
17655 ],
17656 "any",
17657 1
17658 ]
44660702
DM
17659 },
17660 "returns" : {
17661 "type" : "string"
7aacca6f
DM
17662 }
17663 }
44660702
DM
17664 },
17665 "leaf" : 1,
17666 "path" : "/nodes/{node}/ceph/config",
17667 "text" : "config"
7aacca6f
DM
17668 },
17669 {
7aacca6f
DM
17670 "children" : [
17671 {
7aacca6f
DM
17672 "info" : {
17673 "DELETE" : {
7aacca6f 17674 "description" : "Destroy Ceph monitor.",
44660702
DM
17675 "method" : "DELETE",
17676 "name" : "destroymon",
17677 "parameters" : {
17678 "additionalProperties" : 0,
17679 "properties" : {
17680 "monid" : {
17681 "description" : "Monitor ID",
013dc89f
DM
17682 "type" : "integer",
17683 "typetext" : "<integer>"
44660702
DM
17684 },
17685 "node" : {
17686 "description" : "The cluster node name.",
17687 "format" : "pve-node",
013dc89f
DM
17688 "type" : "string",
17689 "typetext" : "<string>"
44660702
DM
17690 }
17691 }
17692 },
7aacca6f
DM
17693 "permissions" : {
17694 "check" : [
17695 "perm",
17696 "/",
17697 [
17698 "Sys.Modify"
17699 ]
17700 ]
17701 },
44660702
DM
17702 "protected" : 1,
17703 "proxyto" : "node",
7aacca6f
DM
17704 "returns" : {
17705 "type" : "string"
44660702 17706 }
7aacca6f 17707 }
44660702
DM
17708 },
17709 "leaf" : 1,
17710 "path" : "/nodes/{node}/ceph/mon/{monid}",
17711 "text" : "{monid}"
7aacca6f
DM
17712 }
17713 ],
17714 "info" : {
17715 "GET" : {
44660702 17716 "description" : "Get Ceph monitor list.",
7aacca6f 17717 "method" : "GET",
44660702 17718 "name" : "listmon",
7aacca6f
DM
17719 "parameters" : {
17720 "additionalProperties" : 0,
17721 "properties" : {
17722 "node" : {
7aacca6f 17723 "description" : "The cluster node name.",
44660702 17724 "format" : "pve-node",
013dc89f
DM
17725 "type" : "string",
17726 "typetext" : "<string>"
7aacca6f
DM
17727 }
17728 }
17729 },
44660702
DM
17730 "permissions" : {
17731 "check" : [
17732 "perm",
17733 "/",
17734 [
17735 "Sys.Audit",
17736 "Datastore.Audit"
17737 ],
17738 "any",
17739 1
17740 ]
17741 },
7aacca6f 17742 "protected" : 1,
44660702 17743 "proxyto" : "node",
7aacca6f
DM
17744 "returns" : {
17745 "items" : {
17746 "properties" : {
44660702 17747 "addr" : {
7aacca6f 17748 "type" : "string"
56122987 17749 },
44660702 17750 "name" : {
56122987
DM
17751 "type" : "string"
17752 }
7aacca6f
DM
17753 },
17754 "type" : "object"
56122987 17755 },
7aacca6f
DM
17756 "links" : [
17757 {
17758 "href" : "{name}",
17759 "rel" : "child"
17760 }
17761 ],
56122987 17762 "type" : "array"
44660702 17763 }
7aacca6f
DM
17764 },
17765 "POST" : {
44660702
DM
17766 "description" : "Create Ceph Monitor",
17767 "method" : "POST",
17768 "name" : "createmon",
17769 "parameters" : {
17770 "additionalProperties" : 0,
17771 "properties" : {
17772 "node" : {
17773 "description" : "The cluster node name.",
17774 "format" : "pve-node",
013dc89f
DM
17775 "type" : "string",
17776 "typetext" : "<string>"
44660702
DM
17777 }
17778 }
17779 },
7aacca6f
DM
17780 "permissions" : {
17781 "check" : [
17782 "perm",
17783 "/",
17784 [
17785 "Sys.Modify"
17786 ]
17787 ]
17788 },
44660702 17789 "protected" : 1,
7aacca6f 17790 "proxyto" : "node",
56122987
DM
17791 "returns" : {
17792 "type" : "string"
44660702 17793 }
56122987 17794 }
44660702
DM
17795 },
17796 "leaf" : 0,
17797 "path" : "/nodes/{node}/ceph/mon",
17798 "text" : "mon"
56122987
DM
17799 },
17800 {
17801 "info" : {
17802 "POST" : {
44660702
DM
17803 "description" : "Create initial ceph default configuration and setup symlinks.",
17804 "method" : "POST",
17805 "name" : "init",
17806 "parameters" : {
17807 "additionalProperties" : 0,
17808 "properties" : {
17809 "network" : {
17810 "description" : "Use specific network for all ceph related traffic",
17811 "format" : "CIDR",
17812 "maxLength" : 128,
17813 "optional" : 1,
013dc89f
DM
17814 "type" : "string",
17815 "typetext" : "<string>"
44660702
DM
17816 },
17817 "node" : {
17818 "description" : "The cluster node name.",
17819 "format" : "pve-node",
013dc89f
DM
17820 "type" : "string",
17821 "typetext" : "<string>"
44660702
DM
17822 },
17823 "pg_bits" : {
17824 "default" : 6,
17825 "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.",
17826 "maximum" : 14,
17827 "minimum" : 6,
17828 "optional" : 1,
4bd7df8b 17829 "type" : "integer",
013dc89f 17830 "typetext" : "<integer> (6 - 14)"
44660702
DM
17831 },
17832 "size" : {
17833 "default" : 2,
17834 "description" : "Number of replicas per object",
17835 "maximum" : 3,
17836 "minimum" : 1,
17837 "optional" : 1,
4bd7df8b 17838 "type" : "integer",
013dc89f 17839 "typetext" : "<integer> (1 - 3)"
44660702
DM
17840 }
17841 }
7aacca6f 17842 },
56122987
DM
17843 "permissions" : {
17844 "check" : [
17845 "perm",
17846 "/",
17847 [
17848 "Sys.Modify"
17849 ]
17850 ]
17851 },
7aacca6f 17852 "protected" : 1,
44660702
DM
17853 "proxyto" : "node",
17854 "returns" : {
17855 "type" : "null"
7aacca6f
DM
17856 }
17857 }
17858 },
7aacca6f 17859 "leaf" : 1,
44660702
DM
17860 "path" : "/nodes/{node}/ceph/init",
17861 "text" : "init"
7aacca6f
DM
17862 },
17863 {
7aacca6f
DM
17864 "info" : {
17865 "POST" : {
44660702 17866 "description" : "Stop ceph services.",
7aacca6f
DM
17867 "method" : "POST",
17868 "name" : "stop",
17869 "parameters" : {
44660702 17870 "additionalProperties" : 0,
7aacca6f
DM
17871 "properties" : {
17872 "node" : {
7aacca6f 17873 "description" : "The cluster node name.",
44660702 17874 "format" : "pve-node",
013dc89f
DM
17875 "type" : "string",
17876 "typetext" : "<string>"
7aacca6f
DM
17877 },
17878 "service" : {
7aacca6f 17879 "description" : "Ceph service name.",
44660702
DM
17880 "optional" : 1,
17881 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
17882 "type" : "string"
56122987 17883 }
44660702 17884 }
7aacca6f
DM
17885 },
17886 "permissions" : {
17887 "check" : [
17888 "perm",
17889 "/",
17890 [
17891 "Sys.Modify"
17892 ]
17893 ]
17894 },
44660702
DM
17895 "protected" : 1,
17896 "proxyto" : "node",
17897 "returns" : {
17898 "type" : "string"
17899 }
7aacca6f 17900 }
44660702
DM
17901 },
17902 "leaf" : 1,
17903 "path" : "/nodes/{node}/ceph/stop",
17904 "text" : "stop"
7aacca6f
DM
17905 },
17906 {
7aacca6f
DM
17907 "info" : {
17908 "POST" : {
7aacca6f 17909 "description" : "Start ceph services.",
44660702 17910 "method" : "POST",
7aacca6f 17911 "name" : "start",
56122987
DM
17912 "parameters" : {
17913 "additionalProperties" : 0,
17914 "properties" : {
17915 "node" : {
7aacca6f 17916 "description" : "The cluster node name.",
44660702 17917 "format" : "pve-node",
013dc89f
DM
17918 "type" : "string",
17919 "typetext" : "<string>"
7aacca6f
DM
17920 },
17921 "service" : {
17922 "description" : "Ceph service name.",
44660702 17923 "optional" : 1,
7aacca6f 17924 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
44660702 17925 "type" : "string"
7aacca6f
DM
17926 }
17927 }
17928 },
44660702
DM
17929 "permissions" : {
17930 "check" : [
17931 "perm",
17932 "/",
17933 [
17934 "Sys.Modify"
17935 ]
17936 ]
17937 },
7aacca6f 17938 "protected" : 1,
44660702
DM
17939 "proxyto" : "node",
17940 "returns" : {
17941 "type" : "string"
17942 }
7aacca6f 17943 }
44660702
DM
17944 },
17945 "leaf" : 1,
17946 "path" : "/nodes/{node}/ceph/start",
17947 "text" : "start"
7aacca6f
DM
17948 },
17949 {
7aacca6f
DM
17950 "info" : {
17951 "GET" : {
44660702
DM
17952 "description" : "Get ceph status.",
17953 "method" : "GET",
17954 "name" : "status",
7aacca6f
DM
17955 "parameters" : {
17956 "additionalProperties" : 0,
17957 "properties" : {
17958 "node" : {
7aacca6f 17959 "description" : "The cluster node name.",
44660702 17960 "format" : "pve-node",
013dc89f
DM
17961 "type" : "string",
17962 "typetext" : "<string>"
56122987
DM
17963 }
17964 }
17965 },
17966 "permissions" : {
17967 "check" : [
17968 "perm",
17969 "/",
17970 [
17971 "Sys.Audit",
17972 "Datastore.Audit"
17973 ],
17974 "any",
17975 1
17976 ]
17977 },
44660702
DM
17978 "protected" : 1,
17979 "proxyto" : "node",
56122987 17980 "returns" : {
7aacca6f
DM
17981 "type" : "object"
17982 }
17983 }
17984 },
44660702 17985 "leaf" : 1,
7aacca6f 17986 "path" : "/nodes/{node}/ceph/status",
44660702 17987 "text" : "status"
7aacca6f
DM
17988 },
17989 {
44660702
DM
17990 "children" : [
17991 {
17992 "info" : {
17993 "DELETE" : {
17994 "description" : "Destroy pool",
17995 "method" : "DELETE",
17996 "name" : "destroypool",
17997 "parameters" : {
17998 "additionalProperties" : 0,
17999 "properties" : {
4bd7df8b
DM
18000 "force" : {
18001 "default" : 0,
18002 "description" : "If true, destroys pool even if in use",
18003 "optional" : 1,
013dc89f
DM
18004 "type" : "boolean",
18005 "typetext" : "<boolean>"
4bd7df8b 18006 },
44660702
DM
18007 "name" : {
18008 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
18009 "type" : "string",
18010 "typetext" : "<string>"
44660702
DM
18011 },
18012 "node" : {
18013 "description" : "The cluster node name.",
18014 "format" : "pve-node",
013dc89f
DM
18015 "type" : "string",
18016 "typetext" : "<string>"
44660702
DM
18017 }
18018 }
18019 },
18020 "permissions" : {
18021 "check" : [
18022 "perm",
18023 "/",
18024 [
18025 "Sys.Modify"
18026 ]
18027 ]
18028 },
18029 "protected" : 1,
18030 "proxyto" : "node",
18031 "returns" : {
18032 "type" : "null"
18033 }
18034 }
18035 },
18036 "leaf" : 1,
18037 "path" : "/nodes/{node}/ceph/pools/{name}",
18038 "text" : "{name}"
18039 }
18040 ],
7aacca6f
DM
18041 "info" : {
18042 "GET" : {
44660702
DM
18043 "description" : "List all pools.",
18044 "method" : "GET",
18045 "name" : "lspools",
7aacca6f
DM
18046 "parameters" : {
18047 "additionalProperties" : 0,
18048 "properties" : {
18049 "node" : {
7aacca6f 18050 "description" : "The cluster node name.",
44660702 18051 "format" : "pve-node",
013dc89f
DM
18052 "type" : "string",
18053 "typetext" : "<string>"
7aacca6f
DM
18054 }
18055 }
18056 },
7aacca6f
DM
18057 "permissions" : {
18058 "check" : [
18059 "perm",
18060 "/",
18061 [
18062 "Sys.Audit",
18063 "Datastore.Audit"
18064 ],
18065 "any",
18066 1
18067 ]
18068 },
44660702
DM
18069 "protected" : 1,
18070 "proxyto" : "node",
7aacca6f 18071 "returns" : {
56122987 18072 "items" : {
56122987 18073 "properties" : {
7aacca6f
DM
18074 "pool" : {
18075 "type" : "integer"
18076 },
44660702
DM
18077 "pool_name" : {
18078 "type" : "string"
18079 },
7aacca6f
DM
18080 "size" : {
18081 "type" : "integer"
56122987 18082 }
44660702
DM
18083 },
18084 "type" : "object"
7aacca6f 18085 },
44660702
DM
18086 "links" : [
18087 {
18088 "href" : "{pool_name}",
18089 "rel" : "child"
18090 }
18091 ],
7aacca6f
DM
18092 "type" : "array"
18093 }
18094 },
18095 "POST" : {
7aacca6f 18096 "description" : "Create POOL",
7aacca6f 18097 "method" : "POST",
7aacca6f
DM
18098 "name" : "createpool",
18099 "parameters" : {
18100 "additionalProperties" : 0,
18101 "properties" : {
7aacca6f 18102 "crush_ruleset" : {
7aacca6f 18103 "default" : 0,
44660702 18104 "description" : "The ruleset to use for mapping object placement in the cluster.",
7aacca6f 18105 "maximum" : 32768,
44660702 18106 "minimum" : 0,
7aacca6f 18107 "optional" : 1,
4bd7df8b 18108 "type" : "integer",
013dc89f 18109 "typetext" : "<integer> (0 - 32768)"
56122987 18110 },
44660702
DM
18111 "min_size" : {
18112 "default" : 1,
18113 "description" : "Minimum number of replicas per object",
18114 "maximum" : 3,
18115 "minimum" : 1,
18116 "optional" : 1,
4bd7df8b 18117 "type" : "integer",
013dc89f 18118 "typetext" : "<integer> (1 - 3)"
7aacca6f 18119 },
44660702
DM
18120 "name" : {
18121 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
18122 "type" : "string",
18123 "typetext" : "<string>"
44660702
DM
18124 },
18125 "node" : {
18126 "description" : "The cluster node name.",
18127 "format" : "pve-node",
013dc89f
DM
18128 "type" : "string",
18129 "typetext" : "<string>"
44660702
DM
18130 },
18131 "pg_num" : {
18132 "default" : 64,
18133 "description" : "Number of placement groups.",
18134 "maximum" : 32768,
18135 "minimum" : 8,
18136 "optional" : 1,
4bd7df8b 18137 "type" : "integer",
013dc89f 18138 "typetext" : "<integer> (8 - 32768)"
44660702
DM
18139 },
18140 "size" : {
18141 "default" : 2,
18142 "description" : "Number of replicas per object",
18143 "maximum" : 3,
18144 "minimum" : 1,
18145 "optional" : 1,
4bd7df8b 18146 "type" : "integer",
013dc89f 18147 "typetext" : "<integer> (1 - 3)"
56122987
DM
18148 }
18149 }
44660702
DM
18150 },
18151 "permissions" : {
18152 "check" : [
18153 "perm",
18154 "/",
18155 [
18156 "Sys.Modify"
18157 ]
18158 ]
18159 },
18160 "protected" : 1,
18161 "proxyto" : "node",
18162 "returns" : {
18163 "type" : "null"
7aacca6f 18164 }
56122987 18165 }
44660702 18166 },
56122987 18167 "leaf" : 0,
44660702
DM
18168 "path" : "/nodes/{node}/ceph/pools",
18169 "text" : "pools"
56122987 18170 },
32d876b5
DM
18171 {
18172 "children" : [
18173 {
18174 "info" : {
18175 "DELETE" : {
18176 "description" : "Unset a ceph flag",
18177 "method" : "DELETE",
18178 "name" : "unset_flag",
18179 "parameters" : {
18180 "additionalProperties" : 0,
18181 "properties" : {
18182 "flag" : {
18183 "description" : "The ceph flag to set/unset",
18184 "enum" : [
18185 "full",
18186 "pause",
18187 "noup",
18188 "nodown",
18189 "noout",
18190 "noin",
18191 "nobackfill",
18192 "norebalance",
18193 "norecover",
18194 "noscrub",
18195 "nodeep-scrub",
18196 "notieragent"
18197 ],
18198 "type" : "string"
18199 },
18200 "node" : {
18201 "description" : "The cluster node name.",
18202 "format" : "pve-node",
18203 "type" : "string",
18204 "typetext" : "<string>"
18205 }
18206 }
18207 },
18208 "permissions" : {
18209 "check" : [
18210 "perm",
18211 "/",
18212 [
18213 "Sys.Modify"
18214 ]
18215 ]
18216 },
18217 "protected" : 1,
18218 "proxyto" : "node",
18219 "returns" : {
18220 "type" : "null"
18221 }
18222 },
18223 "POST" : {
18224 "description" : "Set a ceph flag",
18225 "method" : "POST",
18226 "name" : "set_flag",
18227 "parameters" : {
18228 "additionalProperties" : 0,
18229 "properties" : {
18230 "flag" : {
18231 "description" : "The ceph flag to set/unset",
18232 "enum" : [
18233 "full",
18234 "pause",
18235 "noup",
18236 "nodown",
18237 "noout",
18238 "noin",
18239 "nobackfill",
18240 "norebalance",
18241 "norecover",
18242 "noscrub",
18243 "nodeep-scrub",
18244 "notieragent"
18245 ],
18246 "type" : "string"
18247 },
18248 "node" : {
18249 "description" : "The cluster node name.",
18250 "format" : "pve-node",
18251 "type" : "string",
18252 "typetext" : "<string>"
18253 }
18254 }
18255 },
18256 "permissions" : {
18257 "check" : [
18258 "perm",
18259 "/",
18260 [
18261 "Sys.Modify"
18262 ]
18263 ]
18264 },
18265 "protected" : 1,
18266 "proxyto" : "node",
18267 "returns" : {
18268 "type" : "null"
18269 }
18270 }
18271 },
18272 "leaf" : 1,
18273 "path" : "/nodes/{node}/ceph/flags/{flag}",
18274 "text" : "{flag}"
18275 }
18276 ],
18277 "info" : {
18278 "GET" : {
18279 "description" : "get all set ceph flags",
18280 "method" : "GET",
18281 "name" : "get_flags",
18282 "parameters" : {
18283 "additionalProperties" : 0,
18284 "properties" : {
18285 "node" : {
18286 "description" : "The cluster node name.",
18287 "format" : "pve-node",
18288 "type" : "string",
18289 "typetext" : "<string>"
18290 }
18291 }
18292 },
18293 "permissions" : {
18294 "check" : [
18295 "perm",
18296 "/",
18297 [
18298 "Sys.Audit"
18299 ]
18300 ]
18301 },
18302 "protected" : 1,
18303 "proxyto" : "node",
18304 "returns" : {
18305 "type" : "string"
18306 }
18307 }
18308 },
18309 "leaf" : 0,
18310 "path" : "/nodes/{node}/ceph/flags",
18311 "text" : "flags"
18312 },
56122987 18313 {
56122987 18314 "info" : {
7aacca6f 18315 "GET" : {
44660702
DM
18316 "description" : "Get OSD crush map",
18317 "method" : "GET",
18318 "name" : "crush",
18319 "parameters" : {
18320 "additionalProperties" : 0,
18321 "properties" : {
18322 "node" : {
18323 "description" : "The cluster node name.",
18324 "format" : "pve-node",
013dc89f
DM
18325 "type" : "string",
18326 "typetext" : "<string>"
44660702
DM
18327 }
18328 }
18329 },
7aacca6f
DM
18330 "permissions" : {
18331 "check" : [
18332 "perm",
18333 "/",
18334 [
18335 "Sys.Audit",
18336 "Datastore.Audit"
18337 ],
18338 "any",
18339 1
18340 ]
18341 },
44660702 18342 "protected" : 1,
7aacca6f 18343 "proxyto" : "node",
56122987 18344 "returns" : {
7aacca6f 18345 "type" : "string"
44660702 18346 }
56122987
DM
18347 }
18348 },
44660702
DM
18349 "leaf" : 1,
18350 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 18351 "text" : "crush"
56122987
DM
18352 },
18353 {
56122987 18354 "info" : {
7aacca6f 18355 "GET" : {
44660702
DM
18356 "description" : "Read ceph log",
18357 "method" : "GET",
18358 "name" : "log",
18359 "parameters" : {
18360 "additionalProperties" : 0,
18361 "properties" : {
18362 "limit" : {
18363 "minimum" : 0,
18364 "optional" : 1,
4bd7df8b 18365 "type" : "integer",
013dc89f 18366 "typetext" : "<integer> (0 - N)"
7aacca6f 18367 },
44660702
DM
18368 "node" : {
18369 "description" : "The cluster node name.",
18370 "format" : "pve-node",
013dc89f
DM
18371 "type" : "string",
18372 "typetext" : "<string>"
44660702
DM
18373 },
18374 "start" : {
18375 "minimum" : 0,
18376 "optional" : 1,
4bd7df8b 18377 "type" : "integer",
013dc89f 18378 "typetext" : "<integer> (0 - N)"
44660702 18379 }
7aacca6f 18380 }
56122987 18381 },
56122987
DM
18382 "permissions" : {
18383 "check" : [
18384 "perm",
7aacca6f 18385 "/nodes/{node}",
56122987 18386 [
7aacca6f 18387 "Sys.Syslog"
56122987
DM
18388 ]
18389 ]
18390 },
7aacca6f 18391 "protected" : 1,
44660702
DM
18392 "proxyto" : "node",
18393 "returns" : {
18394 "items" : {
18395 "properties" : {
18396 "n" : {
18397 "description" : "Line number",
18398 "type" : "integer"
18399 },
18400 "t" : {
18401 "description" : "Line text",
18402 "type" : "string"
18403 }
56122987 18404 },
44660702 18405 "type" : "object"
56122987 18406 },
44660702 18407 "type" : "array"
7aacca6f 18408 }
56122987
DM
18409 }
18410 },
18411 "leaf" : 1,
44660702
DM
18412 "path" : "/nodes/{node}/ceph/log",
18413 "text" : "log"
7aacca6f
DM
18414 }
18415 ],
44660702
DM
18416 "info" : {
18417 "GET" : {
18418 "description" : "Directory index.",
18419 "method" : "GET",
18420 "name" : "index",
18421 "parameters" : {
18422 "additionalProperties" : 0,
18423 "properties" : {
18424 "node" : {
18425 "description" : "The cluster node name.",
18426 "format" : "pve-node",
013dc89f
DM
18427 "type" : "string",
18428 "typetext" : "<string>"
44660702
DM
18429 }
18430 }
18431 },
18432 "permissions" : {
18433 "check" : [
18434 "perm",
18435 "/",
18436 [
18437 "Sys.Audit",
18438 "Datastore.Audit"
18439 ],
18440 "any",
18441 1
18442 ]
18443 },
18444 "returns" : {
18445 "items" : {
18446 "properties" : {},
18447 "type" : "object"
18448 },
18449 "links" : [
18450 {
18451 "href" : "{name}",
18452 "rel" : "child"
18453 }
18454 ],
18455 "type" : "array"
18456 }
18457 }
18458 },
7aacca6f 18459 "leaf" : 0,
44660702
DM
18460 "path" : "/nodes/{node}/ceph",
18461 "text" : "ceph"
7aacca6f
DM
18462 },
18463 {
4bd7df8b
DM
18464 "children" : [
18465 {
18466 "info" : {
18467 "GET" : {
18468 "description" : "Extract configuration from vzdump backup archive.",
18469 "method" : "GET",
18470 "name" : "extractconfig",
18471 "parameters" : {
18472 "additionalProperties" : 0,
18473 "properties" : {
18474 "node" : {
18475 "description" : "The cluster node name.",
18476 "format" : "pve-node",
013dc89f
DM
18477 "type" : "string",
18478 "typetext" : "<string>"
4bd7df8b
DM
18479 },
18480 "volume" : {
18481 "description" : "Volume identifier",
013dc89f
DM
18482 "type" : "string",
18483 "typetext" : "<string>"
4bd7df8b
DM
18484 }
18485 }
18486 },
18487 "permissions" : {
18488 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
18489 "user" : "all"
18490 },
18491 "protected" : 1,
18492 "proxyto" : "node",
18493 "returns" : {
18494 "type" : "string"
18495 }
18496 }
18497 },
18498 "leaf" : 1,
18499 "path" : "/nodes/{node}/vzdump/extractconfig",
18500 "text" : "extractconfig"
18501 }
18502 ],
7aacca6f
DM
18503 "info" : {
18504 "POST" : {
7aacca6f 18505 "description" : "Create backup.",
44660702 18506 "method" : "POST",
7aacca6f
DM
18507 "name" : "vzdump",
18508 "parameters" : {
44660702 18509 "additionalProperties" : 0,
7aacca6f 18510 "properties" : {
44660702
DM
18511 "all" : {
18512 "default" : 0,
18513 "description" : "Backup all known guest systems on this host.",
7aacca6f 18514 "optional" : 1,
013dc89f
DM
18515 "type" : "boolean",
18516 "typetext" : "<boolean>"
56122987 18517 },
44660702 18518 "bwlimit" : {
7aacca6f 18519 "default" : 0,
44660702
DM
18520 "description" : "Limit I/O bandwidth (KBytes per second).",
18521 "minimum" : 0,
7aacca6f 18522 "optional" : 1,
4bd7df8b 18523 "type" : "integer",
013dc89f 18524 "typetext" : "<integer> (0 - N)"
56122987 18525 },
44660702
DM
18526 "compress" : {
18527 "default" : "0",
18528 "description" : "Compress dump file.",
18529 "enum" : [
18530 "0",
18531 "1",
18532 "gzip",
18533 "lzo"
18534 ],
7aacca6f 18535 "optional" : 1,
44660702 18536 "type" : "string"
56122987 18537 },
44660702
DM
18538 "dumpdir" : {
18539 "description" : "Store resulting files to specified directory.",
7aacca6f 18540 "optional" : 1,
013dc89f
DM
18541 "type" : "string",
18542 "typetext" : "<string>"
7aacca6f 18543 },
44660702
DM
18544 "exclude" : {
18545 "description" : "Exclude specified guest systems (assumes --all)",
18546 "format" : "pve-vmid-list",
7aacca6f 18547 "optional" : 1,
013dc89f
DM
18548 "type" : "string",
18549 "typetext" : "<string>"
7aacca6f 18550 },
44660702
DM
18551 "exclude-path" : {
18552 "description" : "Exclude certain files/directories (shell globs).",
18553 "format" : "string-alist",
7aacca6f 18554 "optional" : 1,
013dc89f
DM
18555 "type" : "string",
18556 "typetext" : "<string>"
7aacca6f 18557 },
44660702
DM
18558 "ionice" : {
18559 "default" : 7,
18560 "description" : "Set CFQ ionice priority.",
18561 "maximum" : 8,
18562 "minimum" : 0,
18563 "optional" : 1,
4bd7df8b 18564 "type" : "integer",
013dc89f 18565 "typetext" : "<integer> (0 - 8)"
7aacca6f 18566 },
44660702
DM
18567 "lockwait" : {
18568 "default" : 180,
18569 "description" : "Maximal time to wait for the global lock (minutes).",
18570 "minimum" : 0,
7aacca6f 18571 "optional" : 1,
4bd7df8b 18572 "type" : "integer",
013dc89f 18573 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
18574 },
18575 "mailnotification" : {
44660702 18576 "default" : "always",
7aacca6f
DM
18577 "description" : "Specify when to send an email",
18578 "enum" : [
18579 "always",
18580 "failure"
18581 ],
7aacca6f 18582 "optional" : 1,
44660702 18583 "type" : "string"
7aacca6f
DM
18584 },
18585 "mailto" : {
7aacca6f 18586 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 18587 "format" : "string-list",
7aacca6f 18588 "optional" : 1,
013dc89f
DM
18589 "type" : "string",
18590 "typetext" : "<string>"
56122987 18591 },
44660702
DM
18592 "maxfiles" : {
18593 "default" : 1,
18594 "description" : "Maximal number of backup files per guest system.",
18595 "minimum" : 1,
7aacca6f 18596 "optional" : 1,
4bd7df8b 18597 "type" : "integer",
013dc89f 18598 "typetext" : "<integer> (1 - N)"
56122987 18599 },
7aacca6f 18600 "mode" : {
44660702 18601 "default" : "snapshot",
7aacca6f
DM
18602 "description" : "Backup mode.",
18603 "enum" : [
18604 "snapshot",
18605 "suspend",
18606 "stop"
18607 ],
44660702
DM
18608 "optional" : 1,
18609 "type" : "string"
7aacca6f 18610 },
44660702
DM
18611 "node" : {
18612 "description" : "Only run if executed on this node.",
18613 "format" : "pve-node",
18614 "optional" : 1,
013dc89f
DM
18615 "type" : "string",
18616 "typetext" : "<string>"
44660702
DM
18617 },
18618 "pigz" : {
18619 "default" : 0,
18620 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
18621 "optional" : 1,
013dc89f
DM
18622 "type" : "integer",
18623 "typetext" : "<integer>"
44660702
DM
18624 },
18625 "quiet" : {
18626 "default" : 0,
18627 "description" : "Be quiet.",
18628 "optional" : 1,
013dc89f
DM
18629 "type" : "boolean",
18630 "typetext" : "<boolean>"
44660702
DM
18631 },
18632 "remove" : {
7aacca6f 18633 "default" : 1,
44660702 18634 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 18635 "optional" : 1,
013dc89f
DM
18636 "type" : "boolean",
18637 "typetext" : "<boolean>"
7aacca6f 18638 },
44660702
DM
18639 "script" : {
18640 "description" : "Use specified hook script.",
18641 "optional" : 1,
013dc89f
DM
18642 "type" : "string",
18643 "typetext" : "<string>"
44660702
DM
18644 },
18645 "size" : {
18646 "default" : 1024,
18647 "description" : "Unused, will be removed in a future release.",
18648 "minimum" : 500,
18649 "optional" : 1,
4bd7df8b 18650 "type" : "integer",
013dc89f 18651 "typetext" : "<integer> (500 - N)"
44660702
DM
18652 },
18653 "stdexcludes" : {
18654 "default" : 1,
18655 "description" : "Exclude temporary files and logs.",
18656 "optional" : 1,
013dc89f
DM
18657 "type" : "boolean",
18658 "typetext" : "<boolean>"
44660702
DM
18659 },
18660 "stdout" : {
18661 "description" : "Write tar to stdout, not to a file.",
7aacca6f 18662 "optional" : 1,
013dc89f
DM
18663 "type" : "boolean",
18664 "typetext" : "<boolean>"
44660702
DM
18665 },
18666 "stop" : {
7aacca6f 18667 "default" : 0,
44660702
DM
18668 "description" : "Stop runnig backup jobs on this host.",
18669 "optional" : 1,
013dc89f
DM
18670 "type" : "boolean",
18671 "typetext" : "<boolean>"
7aacca6f 18672 },
44660702
DM
18673 "stopwait" : {
18674 "default" : 10,
18675 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
18676 "minimum" : 0,
18677 "optional" : 1,
4bd7df8b 18678 "type" : "integer",
013dc89f 18679 "typetext" : "<integer> (0 - N)"
7aacca6f 18680 },
44660702
DM
18681 "storage" : {
18682 "description" : "Store resulting file to this storage.",
18683 "format" : "pve-storage-id",
7aacca6f 18684 "optional" : 1,
013dc89f
DM
18685 "type" : "string",
18686 "typetext" : "<string>"
44660702
DM
18687 },
18688 "tmpdir" : {
18689 "description" : "Store temporary files to specified directory.",
18690 "optional" : 1,
013dc89f
DM
18691 "type" : "string",
18692 "typetext" : "<string>"
7aacca6f
DM
18693 },
18694 "vmid" : {
7aacca6f 18695 "description" : "The ID of the guest system you want to backup.",
44660702 18696 "format" : "pve-vmid-list",
7aacca6f 18697 "optional" : 1,
013dc89f
DM
18698 "type" : "string",
18699 "typetext" : "<string>"
7aacca6f 18700 }
7aacca6f
DM
18701 }
18702 },
7aacca6f 18703 "permissions" : {
de0983cb 18704 "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 18705 "user" : "all"
7aacca6f 18706 },
44660702 18707 "protected" : 1,
7aacca6f 18708 "proxyto" : "node",
7aacca6f 18709 "returns" : {
44660702 18710 "type" : "string"
7aacca6f
DM
18711 }
18712 }
18713 },
4bd7df8b 18714 "leaf" : 0,
44660702
DM
18715 "path" : "/nodes/{node}/vzdump",
18716 "text" : "vzdump"
18717 },
18718 {
7aacca6f
DM
18719 "children" : [
18720 {
7aacca6f
DM
18721 "children" : [
18722 {
7aacca6f
DM
18723 "info" : {
18724 "GET" : {
7aacca6f
DM
18725 "description" : "Read service properties",
18726 "method" : "GET",
18727 "name" : "service_state",
18728 "parameters" : {
44660702 18729 "additionalProperties" : 0,
7aacca6f
DM
18730 "properties" : {
18731 "node" : {
7aacca6f 18732 "description" : "The cluster node name.",
44660702 18733 "format" : "pve-node",
013dc89f
DM
18734 "type" : "string",
18735 "typetext" : "<string>"
7aacca6f
DM
18736 },
18737 "service" : {
44660702 18738 "description" : "Service ID",
7aacca6f
DM
18739 "enum" : [
18740 "pveproxy",
18741 "pvedaemon",
18742 "spiceproxy",
18743 "pvestatd",
18744 "pve-cluster",
18745 "corosync",
18746 "pve-firewall",
18747 "pvefw-logger",
18748 "pve-ha-crm",
18749 "pve-ha-lrm",
18750 "sshd",
18751 "syslog",
18752 "cron",
18753 "postfix",
18754 "ksmtuned",
18755 "systemd-timesyncd"
18756 ],
7aacca6f
DM
18757 "type" : "string"
18758 }
44660702 18759 }
56122987 18760 },
7aacca6f
DM
18761 "permissions" : {
18762 "check" : [
18763 "perm",
18764 "/nodes/{node}",
18765 [
44660702 18766 "Sys.Audit"
7aacca6f
DM
18767 ]
18768 ]
56122987 18769 },
44660702 18770 "protected" : 1,
7aacca6f 18771 "proxyto" : "node",
44660702
DM
18772 "returns" : {
18773 "properties" : {},
18774 "type" : "object"
18775 }
18776 }
18777 },
18778 "leaf" : 1,
18779 "path" : "/nodes/{node}/services/{service}/state",
18780 "text" : "state"
18781 },
18782 {
18783 "info" : {
18784 "POST" : {
18785 "description" : "Start service.",
7aacca6f
DM
18786 "method" : "POST",
18787 "name" : "service_start",
18788 "parameters" : {
44660702 18789 "additionalProperties" : 0,
7aacca6f 18790 "properties" : {
44660702
DM
18791 "node" : {
18792 "description" : "The cluster node name.",
18793 "format" : "pve-node",
013dc89f
DM
18794 "type" : "string",
18795 "typetext" : "<string>"
44660702 18796 },
7aacca6f 18797 "service" : {
44660702 18798 "description" : "Service ID",
7aacca6f
DM
18799 "enum" : [
18800 "pveproxy",
18801 "pvedaemon",
18802 "spiceproxy",
18803 "pvestatd",
18804 "pve-cluster",
18805 "corosync",
18806 "pve-firewall",
18807 "pvefw-logger",
18808 "pve-ha-crm",
18809 "pve-ha-lrm",
18810 "sshd",
18811 "syslog",
18812 "cron",
18813 "postfix",
18814 "ksmtuned",
18815 "systemd-timesyncd"
18816 ],
7aacca6f
DM
18817 "type" : "string"
18818 }
44660702 18819 }
56122987 18820 },
56122987
DM
18821 "permissions" : {
18822 "check" : [
18823 "perm",
18824 "/nodes/{node}",
18825 [
7aacca6f 18826 "Sys.Modify"
56122987
DM
18827 ]
18828 ]
7aacca6f 18829 },
7aacca6f 18830 "protected" : 1,
44660702
DM
18831 "proxyto" : "node",
18832 "returns" : {
18833 "type" : "string"
18834 }
18835 }
18836 },
18837 "leaf" : 1,
18838 "path" : "/nodes/{node}/services/{service}/start",
18839 "text" : "start"
18840 },
18841 {
18842 "info" : {
18843 "POST" : {
18844 "description" : "Stop service.",
18845 "method" : "POST",
7aacca6f 18846 "name" : "service_stop",
56122987 18847 "parameters" : {
7aacca6f 18848 "additionalProperties" : 0,
56122987
DM
18849 "properties" : {
18850 "node" : {
44660702 18851 "description" : "The cluster node name.",
56122987 18852 "format" : "pve-node",
013dc89f
DM
18853 "type" : "string",
18854 "typetext" : "<string>"
56122987
DM
18855 },
18856 "service" : {
44660702 18857 "description" : "Service ID",
56122987
DM
18858 "enum" : [
18859 "pveproxy",
18860 "pvedaemon",
18861 "spiceproxy",
18862 "pvestatd",
18863 "pve-cluster",
18864 "corosync",
18865 "pve-firewall",
18866 "pvefw-logger",
18867 "pve-ha-crm",
18868 "pve-ha-lrm",
18869 "sshd",
18870 "syslog",
18871 "cron",
18872 "postfix",
18873 "ksmtuned",
18874 "systemd-timesyncd"
18875 ],
56122987
DM
18876 "type" : "string"
18877 }
7aacca6f 18878 }
44660702 18879 },
56122987
DM
18880 "permissions" : {
18881 "check" : [
18882 "perm",
18883 "/nodes/{node}",
18884 [
18885 "Sys.Modify"
18886 ]
18887 ]
18888 },
44660702
DM
18889 "protected" : 1,
18890 "proxyto" : "node",
7aacca6f
DM
18891 "returns" : {
18892 "type" : "string"
44660702
DM
18893 }
18894 }
18895 },
18896 "leaf" : 1,
18897 "path" : "/nodes/{node}/services/{service}/stop",
18898 "text" : "stop"
18899 },
18900 {
18901 "info" : {
18902 "POST" : {
18903 "description" : "Restart service.",
18904 "method" : "POST",
18905 "name" : "service_restart",
56122987
DM
18906 "parameters" : {
18907 "additionalProperties" : 0,
18908 "properties" : {
7aacca6f
DM
18909 "node" : {
18910 "description" : "The cluster node name.",
44660702 18911 "format" : "pve-node",
013dc89f
DM
18912 "type" : "string",
18913 "typetext" : "<string>"
7aacca6f
DM
18914 },
18915 "service" : {
44660702 18916 "description" : "Service ID",
56122987
DM
18917 "enum" : [
18918 "pveproxy",
18919 "pvedaemon",
18920 "spiceproxy",
18921 "pvestatd",
18922 "pve-cluster",
18923 "corosync",
18924 "pve-firewall",
18925 "pvefw-logger",
18926 "pve-ha-crm",
18927 "pve-ha-lrm",
18928 "sshd",
18929 "syslog",
18930 "cron",
18931 "postfix",
18932 "ksmtuned",
18933 "systemd-timesyncd"
7aacca6f 18934 ],
7aacca6f 18935 "type" : "string"
56122987
DM
18936 }
18937 }
18938 },
44660702
DM
18939 "permissions" : {
18940 "check" : [
18941 "perm",
18942 "/nodes/{node}",
18943 [
18944 "Sys.Modify"
18945 ]
18946 ]
18947 },
18948 "protected" : 1,
18949 "proxyto" : "node",
18950 "returns" : {
18951 "type" : "string"
18952 }
56122987 18953 }
44660702
DM
18954 },
18955 "leaf" : 1,
18956 "path" : "/nodes/{node}/services/{service}/restart",
18957 "text" : "restart"
56122987
DM
18958 },
18959 {
56122987
DM
18960 "info" : {
18961 "POST" : {
44660702
DM
18962 "description" : "Reload service.",
18963 "method" : "POST",
7aacca6f 18964 "name" : "service_reload",
56122987
DM
18965 "parameters" : {
18966 "additionalProperties" : 0,
18967 "properties" : {
44660702
DM
18968 "node" : {
18969 "description" : "The cluster node name.",
18970 "format" : "pve-node",
013dc89f
DM
18971 "type" : "string",
18972 "typetext" : "<string>"
44660702 18973 },
56122987 18974 "service" : {
56122987
DM
18975 "description" : "Service ID",
18976 "enum" : [
18977 "pveproxy",
18978 "pvedaemon",
18979 "spiceproxy",
18980 "pvestatd",
18981 "pve-cluster",
18982 "corosync",
18983 "pve-firewall",
18984 "pvefw-logger",
18985 "pve-ha-crm",
18986 "pve-ha-lrm",
18987 "sshd",
18988 "syslog",
18989 "cron",
18990 "postfix",
18991 "ksmtuned",
18992 "systemd-timesyncd"
44660702
DM
18993 ],
18994 "type" : "string"
56122987
DM
18995 }
18996 }
18997 },
56122987
DM
18998 "permissions" : {
18999 "check" : [
19000 "perm",
19001 "/nodes/{node}",
19002 [
19003 "Sys.Modify"
19004 ]
19005 ]
19006 },
44660702 19007 "protected" : 1,
56122987 19008 "proxyto" : "node",
7aacca6f
DM
19009 "returns" : {
19010 "type" : "string"
56122987
DM
19011 }
19012 }
44660702
DM
19013 },
19014 "leaf" : 1,
19015 "path" : "/nodes/{node}/services/{service}/reload",
19016 "text" : "reload"
19017 }
19018 ],
19019 "info" : {
19020 "GET" : {
19021 "description" : "Directory index",
19022 "method" : "GET",
19023 "name" : "srvcmdidx",
19024 "parameters" : {
19025 "additionalProperties" : 0,
19026 "properties" : {
19027 "node" : {
19028 "description" : "The cluster node name.",
19029 "format" : "pve-node",
013dc89f
DM
19030 "type" : "string",
19031 "typetext" : "<string>"
44660702
DM
19032 },
19033 "service" : {
19034 "description" : "Service ID",
19035 "enum" : [
19036 "pveproxy",
19037 "pvedaemon",
19038 "spiceproxy",
19039 "pvestatd",
19040 "pve-cluster",
19041 "corosync",
19042 "pve-firewall",
19043 "pvefw-logger",
19044 "pve-ha-crm",
19045 "pve-ha-lrm",
19046 "sshd",
19047 "syslog",
19048 "cron",
19049 "postfix",
19050 "ksmtuned",
19051 "systemd-timesyncd"
19052 ],
19053 "type" : "string"
19054 }
19055 }
19056 },
19057 "permissions" : {
19058 "check" : [
19059 "perm",
19060 "/nodes/{node}",
19061 [
19062 "Sys.Audit"
19063 ]
19064 ]
19065 },
19066 "returns" : {
19067 "items" : {
19068 "properties" : {
19069 "subdir" : {
19070 "type" : "string"
19071 }
19072 },
19073 "type" : "object"
19074 },
19075 "links" : [
19076 {
19077 "href" : "{subdir}",
19078 "rel" : "child"
19079 }
19080 ],
19081 "type" : "array"
19082 }
19083 }
19084 },
19085 "leaf" : 0,
19086 "path" : "/nodes/{node}/services/{service}",
19087 "text" : "{service}"
19088 }
19089 ],
19090 "info" : {
19091 "GET" : {
19092 "description" : "Service list.",
19093 "method" : "GET",
19094 "name" : "index",
19095 "parameters" : {
19096 "additionalProperties" : 0,
19097 "properties" : {
19098 "node" : {
19099 "description" : "The cluster node name.",
19100 "format" : "pve-node",
013dc89f
DM
19101 "type" : "string",
19102 "typetext" : "<string>"
44660702
DM
19103 }
19104 }
19105 },
19106 "permissions" : {
19107 "check" : [
19108 "perm",
19109 "/nodes/{node}",
19110 [
19111 "Sys.Audit"
19112 ]
19113 ]
19114 },
19115 "protected" : 1,
19116 "proxyto" : "node",
19117 "returns" : {
19118 "items" : {
19119 "properties" : {},
19120 "type" : "object"
19121 },
19122 "links" : [
19123 {
19124 "href" : "{service}",
19125 "rel" : "child"
56122987 19126 }
44660702
DM
19127 ],
19128 "type" : "array"
19129 }
7aacca6f 19130 }
44660702 19131 },
7aacca6f 19132 "leaf" : 0,
44660702
DM
19133 "path" : "/nodes/{node}/services",
19134 "text" : "services"
7aacca6f
DM
19135 },
19136 {
7aacca6f
DM
19137 "info" : {
19138 "GET" : {
44660702
DM
19139 "description" : "Read subscription info.",
19140 "method" : "GET",
19141 "name" : "get",
7aacca6f 19142 "parameters" : {
44660702 19143 "additionalProperties" : 0,
7aacca6f
DM
19144 "properties" : {
19145 "node" : {
19146 "description" : "The cluster node name.",
44660702 19147 "format" : "pve-node",
013dc89f
DM
19148 "type" : "string",
19149 "typetext" : "<string>"
7aacca6f 19150 }
44660702
DM
19151 }
19152 },
19153 "permissions" : {
19154 "user" : "all"
7aacca6f 19155 },
7aacca6f
DM
19156 "proxyto" : "node",
19157 "returns" : {
19158 "type" : "object"
44660702 19159 }
7aacca6f 19160 },
44660702
DM
19161 "POST" : {
19162 "description" : "Update subscription info.",
19163 "method" : "POST",
19164 "name" : "update",
7aacca6f
DM
19165 "parameters" : {
19166 "additionalProperties" : 0,
19167 "properties" : {
44660702
DM
19168 "force" : {
19169 "default" : 0,
19170 "description" : "Always connect to server, even if we have up to date info inside local cache.",
19171 "optional" : 1,
013dc89f
DM
19172 "type" : "boolean",
19173 "typetext" : "<boolean>"
44660702 19174 },
7aacca6f 19175 "node" : {
7aacca6f 19176 "description" : "The cluster node name.",
44660702 19177 "format" : "pve-node",
013dc89f
DM
19178 "type" : "string",
19179 "typetext" : "<string>"
7aacca6f
DM
19180 }
19181 }
19182 },
7aacca6f 19183 "protected" : 1,
7aacca6f 19184 "proxyto" : "node",
44660702
DM
19185 "returns" : {
19186 "type" : "null"
19187 }
19188 },
19189 "PUT" : {
19190 "description" : "Set subscription key.",
19191 "method" : "PUT",
19192 "name" : "set",
7aacca6f
DM
19193 "parameters" : {
19194 "additionalProperties" : 0,
19195 "properties" : {
44660702
DM
19196 "key" : {
19197 "description" : "Proxmox VE subscription key",
013dc89f
DM
19198 "type" : "string",
19199 "typetext" : "<string>"
7aacca6f
DM
19200 },
19201 "node" : {
7aacca6f 19202 "description" : "The cluster node name.",
44660702 19203 "format" : "pve-node",
013dc89f
DM
19204 "type" : "string",
19205 "typetext" : "<string>"
7aacca6f
DM
19206 }
19207 }
19208 },
44660702
DM
19209 "protected" : 1,
19210 "proxyto" : "node",
7aacca6f
DM
19211 "returns" : {
19212 "type" : "null"
44660702 19213 }
7aacca6f
DM
19214 }
19215 },
44660702 19216 "leaf" : 1,
7aacca6f 19217 "path" : "/nodes/{node}/subscription",
44660702 19218 "text" : "subscription"
7aacca6f
DM
19219 },
19220 {
7aacca6f
DM
19221 "children" : [
19222 {
56122987 19223 "info" : {
7aacca6f 19224 "DELETE" : {
44660702
DM
19225 "description" : "Delete network device configuration",
19226 "method" : "DELETE",
19227 "name" : "delete_network",
19228 "parameters" : {
19229 "additionalProperties" : 0,
19230 "properties" : {
19231 "iface" : {
19232 "description" : "Network interface name.",
19233 "format" : "pve-iface",
19234 "maxLength" : 20,
19235 "minLength" : 2,
013dc89f
DM
19236 "type" : "string",
19237 "typetext" : "<string>"
44660702
DM
19238 },
19239 "node" : {
19240 "description" : "The cluster node name.",
19241 "format" : "pve-node",
013dc89f
DM
19242 "type" : "string",
19243 "typetext" : "<string>"
44660702
DM
19244 }
19245 }
7aacca6f
DM
19246 },
19247 "permissions" : {
19248 "check" : [
19249 "perm",
19250 "/nodes/{node}",
19251 [
19252 "Sys.Modify"
19253 ]
19254 ]
19255 },
44660702 19256 "protected" : 1,
7aacca6f 19257 "proxyto" : "node",
44660702
DM
19258 "returns" : {
19259 "type" : "null"
19260 }
19261 },
19262 "GET" : {
19263 "description" : "Read network device configuration",
19264 "method" : "GET",
19265 "name" : "network_config",
56122987 19266 "parameters" : {
44660702 19267 "additionalProperties" : 0,
56122987 19268 "properties" : {
7aacca6f 19269 "iface" : {
7aacca6f 19270 "description" : "Network interface name.",
44660702
DM
19271 "format" : "pve-iface",
19272 "maxLength" : 20,
7aacca6f 19273 "minLength" : 2,
013dc89f
DM
19274 "type" : "string",
19275 "typetext" : "<string>"
44660702
DM
19276 },
19277 "node" : {
19278 "description" : "The cluster node name.",
19279 "format" : "pve-node",
013dc89f
DM
19280 "type" : "string",
19281 "typetext" : "<string>"
56122987 19282 }
44660702 19283 }
7aacca6f
DM
19284 },
19285 "permissions" : {
19286 "check" : [
19287 "perm",
19288 "/nodes/{node}",
19289 [
44660702 19290 "Sys.Audit"
7aacca6f
DM
19291 ]
19292 ]
19293 },
19294 "proxyto" : "node",
44660702
DM
19295 "returns" : {
19296 "properties" : {
19297 "method" : {
19298 "type" : "string"
19299 },
19300 "type" : {
19301 "type" : "string"
19302 }
19303 },
19304 "type" : "object"
19305 }
19306 },
19307 "PUT" : {
7aacca6f
DM
19308 "description" : "Update network device configuration",
19309 "method" : "PUT",
19310 "name" : "update_network",
19311 "parameters" : {
19312 "additionalProperties" : 0,
19313 "properties" : {
7aacca6f 19314 "address" : {
44660702 19315 "description" : "IP address.",
7aacca6f 19316 "format" : "ipv4",
44660702 19317 "optional" : 1,
7aacca6f 19318 "requires" : "netmask",
013dc89f
DM
19319 "type" : "string",
19320 "typetext" : "<string>"
7aacca6f 19321 },
44660702
DM
19322 "address6" : {
19323 "description" : "IP address.",
19324 "format" : "ipv6",
19325 "optional" : 1,
19326 "requires" : "netmask6",
013dc89f
DM
19327 "type" : "string",
19328 "typetext" : "<string>"
7aacca6f
DM
19329 },
19330 "autostart" : {
44660702 19331 "description" : "Automatically start interface on boot.",
7aacca6f 19332 "optional" : 1,
013dc89f
DM
19333 "type" : "boolean",
19334 "typetext" : "<boolean>"
7aacca6f 19335 },
44660702
DM
19336 "bond_mode" : {
19337 "description" : "Bonding mode.",
7aacca6f 19338 "enum" : [
44660702
DM
19339 "balance-rr",
19340 "active-backup",
19341 "balance-xor",
19342 "broadcast",
19343 "802.3ad",
19344 "balance-tlb",
19345 "balance-alb",
19346 "balance-slb",
19347 "lacp-balance-slb",
19348 "lacp-balance-tcp"
19349 ],
7aacca6f 19350 "optional" : 1,
44660702 19351 "type" : "string"
7aacca6f 19352 },
44660702
DM
19353 "bond_xmit_hash_policy" : {
19354 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19355 "enum" : [
19356 "layer2",
19357 "layer2+3",
19358 "layer3+4"
19359 ],
7aacca6f 19360 "optional" : 1,
44660702 19361 "type" : "string"
7aacca6f 19362 },
44660702
DM
19363 "bridge_ports" : {
19364 "description" : "Specify the iterfaces you want to add to your bridge.",
19365 "format" : "pve-iface-list",
7aacca6f 19366 "optional" : 1,
013dc89f
DM
19367 "type" : "string",
19368 "typetext" : "<string>"
7aacca6f 19369 },
44660702
DM
19370 "bridge_vlan_aware" : {
19371 "description" : "Enable bridge vlan support.",
7aacca6f 19372 "optional" : 1,
013dc89f
DM
19373 "type" : "boolean",
19374 "typetext" : "<boolean>"
7aacca6f
DM
19375 },
19376 "comments" : {
44660702 19377 "description" : "Comments",
7aacca6f 19378 "optional" : 1,
013dc89f
DM
19379 "type" : "string",
19380 "typetext" : "<string>"
7aacca6f 19381 },
44660702
DM
19382 "comments6" : {
19383 "description" : "Comments",
7aacca6f 19384 "optional" : 1,
013dc89f
DM
19385 "type" : "string",
19386 "typetext" : "<string>"
7aacca6f 19387 },
44660702
DM
19388 "delete" : {
19389 "description" : "A list of settings you want to delete.",
19390 "format" : "pve-configid-list",
7aacca6f 19391 "optional" : 1,
013dc89f
DM
19392 "type" : "string",
19393 "typetext" : "<string>"
7aacca6f 19394 },
44660702
DM
19395 "gateway" : {
19396 "description" : "Default gateway address.",
19397 "format" : "ipv4",
7aacca6f 19398 "optional" : 1,
013dc89f
DM
19399 "type" : "string",
19400 "typetext" : "<string>"
7aacca6f 19401 },
44660702
DM
19402 "gateway6" : {
19403 "description" : "Default ipv6 gateway address.",
19404 "format" : "ipv6",
7aacca6f 19405 "optional" : 1,
013dc89f
DM
19406 "type" : "string",
19407 "typetext" : "<string>"
7aacca6f
DM
19408 },
19409 "iface" : {
44660702 19410 "description" : "Network interface name.",
7aacca6f
DM
19411 "format" : "pve-iface",
19412 "maxLength" : 20,
19413 "minLength" : 2,
013dc89f
DM
19414 "type" : "string",
19415 "typetext" : "<string>"
7aacca6f 19416 },
44660702
DM
19417 "netmask" : {
19418 "description" : "Network mask.",
19419 "format" : "ipv4mask",
7aacca6f 19420 "optional" : 1,
44660702 19421 "requires" : "address",
013dc89f
DM
19422 "type" : "string",
19423 "typetext" : "<string>"
7aacca6f
DM
19424 },
19425 "netmask6" : {
44660702 19426 "description" : "Network mask.",
7aacca6f 19427 "maximum" : 128,
44660702 19428 "minimum" : 0,
7aacca6f
DM
19429 "optional" : 1,
19430 "requires" : "address6",
4bd7df8b 19431 "type" : "integer",
013dc89f 19432 "typetext" : "<integer> (0 - 128)"
44660702 19433 },
7aacca6f 19434 "node" : {
44660702 19435 "description" : "The cluster node name.",
7aacca6f 19436 "format" : "pve-node",
013dc89f
DM
19437 "type" : "string",
19438 "typetext" : "<string>"
7aacca6f 19439 },
44660702
DM
19440 "ovs_bonds" : {
19441 "description" : "Specify the interfaces used by the bonding device.",
19442 "format" : "pve-iface-list",
19443 "optional" : 1,
013dc89f
DM
19444 "type" : "string",
19445 "typetext" : "<string>"
44660702
DM
19446 },
19447 "ovs_bridge" : {
19448 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19449 "format" : "pve-iface",
19450 "optional" : 1,
013dc89f
DM
19451 "type" : "string",
19452 "typetext" : "<string>"
44660702
DM
19453 },
19454 "ovs_options" : {
19455 "description" : "OVS interface options.",
19456 "maxLength" : 1024,
19457 "optional" : 1,
013dc89f
DM
19458 "type" : "string",
19459 "typetext" : "<string>"
44660702
DM
19460 },
19461 "ovs_ports" : {
19462 "description" : "Specify the iterfaces you want to add to your bridge.",
19463 "format" : "pve-iface-list",
19464 "optional" : 1,
013dc89f
DM
19465 "type" : "string",
19466 "typetext" : "<string>"
44660702
DM
19467 },
19468 "ovs_tag" : {
19469 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19470 "maximum" : 4094,
19471 "minimum" : 1,
19472 "optional" : 1,
4bd7df8b 19473 "type" : "integer",
013dc89f 19474 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19475 },
19476 "slaves" : {
19477 "description" : "Specify the interfaces used by the bonding device.",
19478 "format" : "pve-iface-list",
19479 "optional" : 1,
013dc89f
DM
19480 "type" : "string",
19481 "typetext" : "<string>"
44660702
DM
19482 },
19483 "type" : {
19484 "description" : "Network interface type",
19485 "enum" : [
19486 "bridge",
19487 "bond",
19488 "eth",
19489 "alias",
19490 "vlan",
19491 "OVSBridge",
19492 "OVSBond",
19493 "OVSPort",
19494 "OVSIntPort",
19495 "unknown"
19496 ],
19497 "type" : "string"
7aacca6f
DM
19498 }
19499 }
19500 },
7aacca6f
DM
19501 "permissions" : {
19502 "check" : [
19503 "perm",
19504 "/nodes/{node}",
19505 [
44660702 19506 "Sys.Modify"
7aacca6f
DM
19507 ]
19508 ]
19509 },
44660702
DM
19510 "protected" : 1,
19511 "proxyto" : "node",
7aacca6f 19512 "returns" : {
44660702
DM
19513 "type" : "null"
19514 }
7aacca6f
DM
19515 }
19516 },
7aacca6f 19517 "leaf" : 1,
44660702
DM
19518 "path" : "/nodes/{node}/network/{iface}",
19519 "text" : "{iface}"
7aacca6f
DM
19520 }
19521 ],
7aacca6f 19522 "info" : {
44660702
DM
19523 "DELETE" : {
19524 "description" : "Revert network configuration changes.",
19525 "method" : "DELETE",
19526 "name" : "revert_network_changes",
7aacca6f
DM
19527 "parameters" : {
19528 "additionalProperties" : 0,
19529 "properties" : {
7aacca6f 19530 "node" : {
7aacca6f 19531 "description" : "The cluster node name.",
44660702 19532 "format" : "pve-node",
013dc89f
DM
19533 "type" : "string",
19534 "typetext" : "<string>"
7aacca6f
DM
19535 }
19536 }
44660702 19537 },
7aacca6f
DM
19538 "permissions" : {
19539 "check" : [
19540 "perm",
19541 "/nodes/{node}",
19542 [
19543 "Sys.Modify"
19544 ]
19545 ]
19546 },
44660702
DM
19547 "protected" : 1,
19548 "proxyto" : "node",
7aacca6f
DM
19549 "returns" : {
19550 "type" : "null"
44660702 19551 }
7aacca6f 19552 },
44660702
DM
19553 "GET" : {
19554 "description" : "List available networks",
19555 "method" : "GET",
19556 "name" : "index",
7aacca6f 19557 "parameters" : {
44660702 19558 "additionalProperties" : 0,
7aacca6f 19559 "properties" : {
7aacca6f 19560 "node" : {
44660702
DM
19561 "description" : "The cluster node name.",
19562 "format" : "pve-node",
013dc89f
DM
19563 "type" : "string",
19564 "typetext" : "<string>"
7aacca6f
DM
19565 },
19566 "type" : {
44660702 19567 "description" : "Only list specific interface types.",
7aacca6f
DM
19568 "enum" : [
19569 "bridge",
19570 "bond",
19571 "eth",
19572 "alias",
19573 "vlan",
19574 "OVSBridge",
19575 "OVSBond",
19576 "OVSPort",
19577 "OVSIntPort",
44660702 19578 "any_bridge"
7aacca6f 19579 ],
7aacca6f 19580 "optional" : 1,
44660702
DM
19581 "type" : "string"
19582 }
19583 }
19584 },
19585 "permissions" : {
19586 "user" : "all"
19587 },
19588 "proxyto" : "node",
19589 "returns" : {
19590 "items" : {
19591 "properties" : {},
19592 "type" : "object"
19593 },
19594 "links" : [
19595 {
19596 "href" : "{iface}",
19597 "rel" : "child"
19598 }
19599 ],
19600 "type" : "array"
19601 }
19602 },
19603 "POST" : {
19604 "description" : "Create network device configuration",
19605 "method" : "POST",
19606 "name" : "create_network",
19607 "parameters" : {
19608 "additionalProperties" : 0,
19609 "properties" : {
7aacca6f 19610 "address" : {
44660702
DM
19611 "description" : "IP address.",
19612 "format" : "ipv4",
19613 "optional" : 1,
7aacca6f 19614 "requires" : "netmask",
013dc89f
DM
19615 "type" : "string",
19616 "typetext" : "<string>"
44660702
DM
19617 },
19618 "address6" : {
7aacca6f 19619 "description" : "IP address.",
44660702
DM
19620 "format" : "ipv6",
19621 "optional" : 1,
19622 "requires" : "netmask6",
013dc89f
DM
19623 "type" : "string",
19624 "typetext" : "<string>"
44660702
DM
19625 },
19626 "autostart" : {
19627 "description" : "Automatically start interface on boot.",
7aacca6f 19628 "optional" : 1,
013dc89f
DM
19629 "type" : "boolean",
19630 "typetext" : "<boolean>"
7aacca6f
DM
19631 },
19632 "bond_mode" : {
19633 "description" : "Bonding mode.",
19634 "enum" : [
19635 "balance-rr",
19636 "active-backup",
19637 "balance-xor",
19638 "broadcast",
19639 "802.3ad",
19640 "balance-tlb",
19641 "balance-alb",
19642 "balance-slb",
19643 "lacp-balance-slb",
19644 "lacp-balance-tcp"
19645 ],
19646 "optional" : 1,
19647 "type" : "string"
19648 },
44660702
DM
19649 "bond_xmit_hash_policy" : {
19650 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
19651 "enum" : [
19652 "layer2",
19653 "layer2+3",
19654 "layer3+4"
19655 ],
19656 "optional" : 1,
19657 "type" : "string"
19658 },
19659 "bridge_ports" : {
19660 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 19661 "format" : "pve-iface-list",
7aacca6f 19662 "optional" : 1,
013dc89f
DM
19663 "type" : "string",
19664 "typetext" : "<string>"
7aacca6f 19665 },
44660702
DM
19666 "bridge_vlan_aware" : {
19667 "description" : "Enable bridge vlan support.",
7aacca6f 19668 "optional" : 1,
013dc89f
DM
19669 "type" : "boolean",
19670 "typetext" : "<boolean>"
7aacca6f 19671 },
44660702
DM
19672 "comments" : {
19673 "description" : "Comments",
7aacca6f 19674 "optional" : 1,
013dc89f
DM
19675 "type" : "string",
19676 "typetext" : "<string>"
44660702
DM
19677 },
19678 "comments6" : {
19679 "description" : "Comments",
19680 "optional" : 1,
013dc89f
DM
19681 "type" : "string",
19682 "typetext" : "<string>"
44660702
DM
19683 },
19684 "gateway" : {
19685 "description" : "Default gateway address.",
19686 "format" : "ipv4",
19687 "optional" : 1,
013dc89f
DM
19688 "type" : "string",
19689 "typetext" : "<string>"
44660702
DM
19690 },
19691 "gateway6" : {
19692 "description" : "Default ipv6 gateway address.",
19693 "format" : "ipv6",
19694 "optional" : 1,
013dc89f
DM
19695 "type" : "string",
19696 "typetext" : "<string>"
56122987 19697 },
7aacca6f 19698 "iface" : {
44660702 19699 "description" : "Network interface name.",
7aacca6f
DM
19700 "format" : "pve-iface",
19701 "maxLength" : 20,
44660702 19702 "minLength" : 2,
013dc89f
DM
19703 "type" : "string",
19704 "typetext" : "<string>"
56122987 19705 },
44660702
DM
19706 "netmask" : {
19707 "description" : "Network mask.",
19708 "format" : "ipv4mask",
7aacca6f 19709 "optional" : 1,
44660702 19710 "requires" : "address",
013dc89f
DM
19711 "type" : "string",
19712 "typetext" : "<string>"
7aacca6f 19713 },
44660702
DM
19714 "netmask6" : {
19715 "description" : "Network mask.",
19716 "maximum" : 128,
19717 "minimum" : 0,
7aacca6f 19718 "optional" : 1,
44660702 19719 "requires" : "address6",
4bd7df8b 19720 "type" : "integer",
013dc89f 19721 "typetext" : "<integer> (0 - 128)"
7aacca6f 19722 },
44660702
DM
19723 "node" : {
19724 "description" : "The cluster node name.",
19725 "format" : "pve-node",
013dc89f
DM
19726 "type" : "string",
19727 "typetext" : "<string>"
44660702
DM
19728 },
19729 "ovs_bonds" : {
19730 "description" : "Specify the interfaces used by the bonding device.",
19731 "format" : "pve-iface-list",
7aacca6f 19732 "optional" : 1,
013dc89f
DM
19733 "type" : "string",
19734 "typetext" : "<string>"
7aacca6f 19735 },
44660702
DM
19736 "ovs_bridge" : {
19737 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
19738 "format" : "pve-iface",
19739 "optional" : 1,
013dc89f
DM
19740 "type" : "string",
19741 "typetext" : "<string>"
44660702
DM
19742 },
19743 "ovs_options" : {
19744 "description" : "OVS interface options.",
19745 "maxLength" : 1024,
19746 "optional" : 1,
013dc89f
DM
19747 "type" : "string",
19748 "typetext" : "<string>"
44660702
DM
19749 },
19750 "ovs_ports" : {
19751 "description" : "Specify the iterfaces you want to add to your bridge.",
19752 "format" : "pve-iface-list",
19753 "optional" : 1,
013dc89f
DM
19754 "type" : "string",
19755 "typetext" : "<string>"
44660702
DM
19756 },
19757 "ovs_tag" : {
19758 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
19759 "maximum" : 4094,
19760 "minimum" : 1,
19761 "optional" : 1,
4bd7df8b 19762 "type" : "integer",
013dc89f 19763 "typetext" : "<integer> (1 - 4094)"
44660702
DM
19764 },
19765 "slaves" : {
19766 "description" : "Specify the interfaces used by the bonding device.",
19767 "format" : "pve-iface-list",
7aacca6f 19768 "optional" : 1,
013dc89f
DM
19769 "type" : "string",
19770 "typetext" : "<string>"
44660702
DM
19771 },
19772 "type" : {
19773 "description" : "Network interface type",
7aacca6f 19774 "enum" : [
44660702
DM
19775 "bridge",
19776 "bond",
19777 "eth",
19778 "alias",
19779 "vlan",
19780 "OVSBridge",
19781 "OVSBond",
19782 "OVSPort",
19783 "OVSIntPort",
19784 "unknown"
7aacca6f 19785 ],
44660702 19786 "type" : "string"
56122987 19787 }
44660702 19788 }
56122987 19789 },
56122987
DM
19790 "permissions" : {
19791 "check" : [
19792 "perm",
19793 "/nodes/{node}",
19794 [
7aacca6f 19795 "Sys.Modify"
44660702
DM
19796 ]
19797 ]
7aacca6f 19798 },
44660702
DM
19799 "protected" : 1,
19800 "proxyto" : "node",
19801 "returns" : {
19802 "type" : "null"
19803 }
19804 }
19805 },
19806 "leaf" : 0,
19807 "path" : "/nodes/{node}/network",
19808 "text" : "network"
19809 },
19810 {
19811 "children" : [
19812 {
7aacca6f
DM
19813 "children" : [
19814 {
19815 "info" : {
19816 "GET" : {
44660702 19817 "description" : "Read task log.",
7aacca6f
DM
19818 "method" : "GET",
19819 "name" : "read_task_log",
19820 "parameters" : {
44660702 19821 "additionalProperties" : 0,
7aacca6f 19822 "properties" : {
44660702
DM
19823 "limit" : {
19824 "minimum" : 0,
7aacca6f 19825 "optional" : 1,
4bd7df8b 19826 "type" : "integer",
013dc89f 19827 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
19828 },
19829 "node" : {
19830 "description" : "The cluster node name.",
44660702 19831 "format" : "pve-node",
013dc89f
DM
19832 "type" : "string",
19833 "typetext" : "<string>"
7aacca6f 19834 },
44660702
DM
19835 "start" : {
19836 "minimum" : 0,
7aacca6f 19837 "optional" : 1,
4bd7df8b 19838 "type" : "integer",
013dc89f 19839 "typetext" : "<integer> (0 - N)"
44660702
DM
19840 },
19841 "upid" : {
013dc89f
DM
19842 "type" : "string",
19843 "typetext" : "<string>"
7aacca6f 19844 }
44660702
DM
19845 }
19846 },
19847 "permissions" : {
19848 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19849 "user" : "all"
7aacca6f
DM
19850 },
19851 "protected" : 1,
44660702 19852 "proxyto" : "node",
7aacca6f 19853 "returns" : {
7aacca6f 19854 "items" : {
7aacca6f
DM
19855 "properties" : {
19856 "n" : {
44660702
DM
19857 "description" : "Line number",
19858 "type" : "integer"
7aacca6f
DM
19859 },
19860 "t" : {
44660702
DM
19861 "description" : "Line text",
19862 "type" : "string"
7aacca6f 19863 }
44660702
DM
19864 },
19865 "type" : "object"
19866 },
19867 "type" : "array"
19868 }
7aacca6f 19869 }
56122987 19870 },
7aacca6f 19871 "leaf" : 1,
44660702
DM
19872 "path" : "/nodes/{node}/tasks/{upid}/log",
19873 "text" : "log"
7aacca6f
DM
19874 },
19875 {
7aacca6f
DM
19876 "info" : {
19877 "GET" : {
44660702
DM
19878 "description" : "Read task status.",
19879 "method" : "GET",
7aacca6f
DM
19880 "name" : "read_task_status",
19881 "parameters" : {
19882 "additionalProperties" : 0,
19883 "properties" : {
19884 "node" : {
7aacca6f 19885 "description" : "The cluster node name.",
44660702 19886 "format" : "pve-node",
013dc89f
DM
19887 "type" : "string",
19888 "typetext" : "<string>"
7aacca6f
DM
19889 },
19890 "upid" : {
013dc89f
DM
19891 "type" : "string",
19892 "typetext" : "<string>"
7aacca6f
DM
19893 }
19894 }
19895 },
7aacca6f
DM
19896 "permissions" : {
19897 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
19898 "user" : "all"
56122987 19899 },
44660702 19900 "protected" : 1,
7aacca6f 19901 "proxyto" : "node",
7aacca6f
DM
19902 "returns" : {
19903 "properties" : {
19904 "pid" : {
19905 "type" : "integer"
19906 },
19907 "status" : {
7aacca6f
DM
19908 "enum" : [
19909 "running",
19910 "stopped"
44660702
DM
19911 ],
19912 "type" : "string"
7aacca6f
DM
19913 }
19914 },
19915 "type" : "object"
56122987 19916 }
7aacca6f 19917 }
44660702
DM
19918 },
19919 "leaf" : 1,
19920 "path" : "/nodes/{node}/tasks/{upid}/status",
19921 "text" : "status"
56122987 19922 }
7aacca6f 19923 ],
44660702
DM
19924 "info" : {
19925 "DELETE" : {
19926 "description" : "Stop a task.",
19927 "method" : "DELETE",
19928 "name" : "stop_task",
19929 "parameters" : {
19930 "additionalProperties" : 0,
19931 "properties" : {
19932 "node" : {
19933 "description" : "The cluster node name.",
19934 "format" : "pve-node",
013dc89f
DM
19935 "type" : "string",
19936 "typetext" : "<string>"
44660702
DM
19937 },
19938 "upid" : {
013dc89f
DM
19939 "type" : "string",
19940 "typetext" : "<string>"
44660702 19941 }
7aacca6f 19942 }
44660702
DM
19943 },
19944 "permissions" : {
19945 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
19946 "user" : "all"
19947 },
19948 "protected" : 1,
19949 "proxyto" : "node",
19950 "returns" : {
19951 "type" : "null"
7aacca6f 19952 }
56122987 19953 },
44660702
DM
19954 "GET" : {
19955 "description" : "",
19956 "method" : "GET",
19957 "name" : "upid_index",
19958 "parameters" : {
19959 "additionalProperties" : 0,
19960 "properties" : {
19961 "node" : {
19962 "description" : "The cluster node name.",
19963 "format" : "pve-node",
013dc89f
DM
19964 "type" : "string",
19965 "typetext" : "<string>"
44660702
DM
19966 },
19967 "upid" : {
013dc89f
DM
19968 "type" : "string",
19969 "typetext" : "<string>"
44660702
DM
19970 }
19971 }
19972 },
19973 "permissions" : {
19974 "user" : "all"
19975 },
19976 "returns" : {
19977 "items" : {
19978 "properties" : {},
19979 "type" : "object"
19980 },
19981 "links" : [
19982 {
19983 "href" : "{name}",
19984 "rel" : "child"
19985 }
19986 ],
19987 "type" : "array"
56122987 19988 }
44660702 19989 }
56122987 19990 },
44660702
DM
19991 "leaf" : 0,
19992 "path" : "/nodes/{node}/tasks/{upid}",
19993 "text" : "{upid}"
19994 }
19995 ],
19996 "info" : {
19997 "GET" : {
7aacca6f 19998 "description" : "Read task list for one node (finished tasks).",
44660702
DM
19999 "method" : "GET",
20000 "name" : "node_tasks",
56122987 20001 "parameters" : {
7aacca6f 20002 "additionalProperties" : 0,
56122987 20003 "properties" : {
44660702 20004 "errors" : {
56122987 20005 "optional" : 1,
013dc89f
DM
20006 "type" : "boolean",
20007 "typetext" : "<boolean>"
56122987 20008 },
44660702 20009 "limit" : {
56122987 20010 "minimum" : 0,
56122987 20011 "optional" : 1,
4bd7df8b 20012 "type" : "integer",
013dc89f 20013 "typetext" : "<integer> (0 - N)"
56122987 20014 },
56122987
DM
20015 "node" : {
20016 "description" : "The cluster node name.",
44660702 20017 "format" : "pve-node",
013dc89f
DM
20018 "type" : "string",
20019 "typetext" : "<string>"
56122987 20020 },
44660702 20021 "start" : {
7aacca6f 20022 "minimum" : 0,
44660702 20023 "optional" : 1,
4bd7df8b 20024 "type" : "integer",
013dc89f 20025 "typetext" : "<integer> (0 - N)"
56122987 20026 },
7aacca6f 20027 "userfilter" : {
44660702 20028 "optional" : 1,
013dc89f
DM
20029 "type" : "string",
20030 "typetext" : "<string>"
44660702
DM
20031 },
20032 "vmid" : {
20033 "description" : "Only list tasks for this VM.",
20034 "format" : "pve-vmid",
20035 "minimum" : 1,
20036 "optional" : 1,
4bd7df8b 20037 "type" : "integer",
013dc89f 20038 "typetext" : "<integer> (1 - N)"
56122987
DM
20039 }
20040 }
20041 },
7aacca6f 20042 "permissions" : {
44660702 20043 "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
20044 "user" : "all"
20045 },
44660702 20046 "proxyto" : "node",
56122987
DM
20047 "returns" : {
20048 "items" : {
20049 "properties" : {
44660702 20050 "upid" : {
56122987
DM
20051 "type" : "string"
20052 }
20053 },
20054 "type" : "object"
20055 },
56122987
DM
20056 "links" : [
20057 {
44660702
DM
20058 "href" : "{upid}",
20059 "rel" : "child"
56122987 20060 }
44660702
DM
20061 ],
20062 "type" : "array"
56122987
DM
20063 }
20064 }
20065 },
44660702
DM
20066 "leaf" : 0,
20067 "path" : "/nodes/{node}/tasks",
20068 "text" : "tasks"
20069 },
20070 {
56122987
DM
20071 "children" : [
20072 {
56122987
DM
20073 "info" : {
20074 "GET" : {
7aacca6f 20075 "description" : "Scan zfs pool list on local node.",
44660702
DM
20076 "method" : "GET",
20077 "name" : "zfsscan",
56122987 20078 "parameters" : {
44660702 20079 "additionalProperties" : 0,
56122987 20080 "properties" : {
56122987
DM
20081 "node" : {
20082 "description" : "The cluster node name.",
44660702 20083 "format" : "pve-node",
013dc89f
DM
20084 "type" : "string",
20085 "typetext" : "<string>"
56122987 20086 }
44660702
DM
20087 }
20088 },
7aacca6f
DM
20089 "permissions" : {
20090 "check" : [
20091 "perm",
20092 "/storage",
20093 [
20094 "Datastore.Allocate"
20095 ]
20096 ]
20097 },
44660702
DM
20098 "protected" : 1,
20099 "proxyto" : "node",
56122987 20100 "returns" : {
56122987
DM
20101 "items" : {
20102 "properties" : {
44660702 20103 "pool" : {
56122987
DM
20104 "type" : "string"
20105 }
44660702
DM
20106 },
20107 "type" : "object"
20108 },
20109 "type" : "array"
20110 }
20111 }
20112 },
20113 "leaf" : 1,
20114 "path" : "/nodes/{node}/scan/zfs",
20115 "text" : "zfs"
20116 },
20117 {
20118 "info" : {
20119 "GET" : {
20120 "description" : "Scan remote NFS server.",
20121 "method" : "GET",
7aacca6f 20122 "name" : "nfsscan",
56122987 20123 "parameters" : {
44660702 20124 "additionalProperties" : 0,
56122987
DM
20125 "properties" : {
20126 "node" : {
7aacca6f 20127 "description" : "The cluster node name.",
44660702 20128 "format" : "pve-node",
013dc89f
DM
20129 "type" : "string",
20130 "typetext" : "<string>"
7aacca6f
DM
20131 },
20132 "server" : {
20133 "format" : "pve-storage-server",
013dc89f
DM
20134 "type" : "string",
20135 "typetext" : "<string>"
56122987 20136 }
44660702 20137 }
56122987 20138 },
56122987
DM
20139 "permissions" : {
20140 "check" : [
20141 "perm",
20142 "/storage",
20143 [
20144 "Datastore.Allocate"
20145 ]
20146 ]
20147 },
44660702 20148 "protected" : 1,
56122987 20149 "proxyto" : "node",
44660702
DM
20150 "returns" : {
20151 "items" : {
20152 "properties" : {
20153 "options" : {
20154 "type" : "string"
20155 },
20156 "path" : {
20157 "type" : "string"
20158 }
20159 },
20160 "type" : "object"
20161 },
20162 "type" : "array"
20163 }
20164 }
20165 },
20166 "leaf" : 1,
20167 "path" : "/nodes/{node}/scan/nfs",
20168 "text" : "nfs"
20169 },
20170 {
20171 "info" : {
20172 "GET" : {
20173 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
20174 "method" : "GET",
20175 "name" : "glusterfsscan",
56122987 20176 "parameters" : {
44660702 20177 "additionalProperties" : 0,
56122987 20178 "properties" : {
56122987 20179 "node" : {
44660702 20180 "description" : "The cluster node name.",
56122987 20181 "format" : "pve-node",
013dc89f
DM
20182 "type" : "string",
20183 "typetext" : "<string>"
7aacca6f
DM
20184 },
20185 "server" : {
20186 "format" : "pve-storage-server",
013dc89f
DM
20187 "type" : "string",
20188 "typetext" : "<string>"
56122987 20189 }
44660702
DM
20190 }
20191 },
20192 "permissions" : {
20193 "check" : [
20194 "perm",
20195 "/storage",
20196 [
20197 "Datastore.Allocate"
20198 ]
20199 ]
7aacca6f 20200 },
44660702
DM
20201 "protected" : 1,
20202 "proxyto" : "node",
20203 "returns" : {
20204 "items" : {
20205 "properties" : {
20206 "volname" : {
20207 "type" : "string"
20208 }
20209 },
20210 "type" : "object"
20211 },
20212 "type" : "array"
20213 }
56122987
DM
20214 }
20215 },
44660702
DM
20216 "leaf" : 1,
20217 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 20218 "text" : "glusterfs"
56122987
DM
20219 },
20220 {
56122987
DM
20221 "info" : {
20222 "GET" : {
7aacca6f 20223 "description" : "Scan remote iSCSI server.",
44660702
DM
20224 "method" : "GET",
20225 "name" : "iscsiscan",
20226 "parameters" : {
20227 "additionalProperties" : 0,
20228 "properties" : {
20229 "node" : {
20230 "description" : "The cluster node name.",
20231 "format" : "pve-node",
013dc89f
DM
20232 "type" : "string",
20233 "typetext" : "<string>"
44660702
DM
20234 },
20235 "portal" : {
20236 "format" : "pve-storage-portal-dns",
013dc89f
DM
20237 "type" : "string",
20238 "typetext" : "<string>"
44660702
DM
20239 }
20240 }
20241 },
56122987
DM
20242 "permissions" : {
20243 "check" : [
20244 "perm",
20245 "/storage",
20246 [
20247 "Datastore.Allocate"
20248 ]
20249 ]
20250 },
44660702
DM
20251 "protected" : 1,
20252 "proxyto" : "node",
56122987 20253 "returns" : {
56122987
DM
20254 "items" : {
20255 "properties" : {
44660702 20256 "portal" : {
56122987
DM
20257 "type" : "string"
20258 },
44660702 20259 "target" : {
56122987
DM
20260 "type" : "string"
20261 }
20262 },
20263 "type" : "object"
56122987 20264 },
44660702
DM
20265 "type" : "array"
20266 }
56122987
DM
20267 }
20268 },
44660702 20269 "leaf" : 1,
7aacca6f 20270 "path" : "/nodes/{node}/scan/iscsi",
44660702 20271 "text" : "iscsi"
56122987
DM
20272 },
20273 {
56122987
DM
20274 "info" : {
20275 "GET" : {
44660702
DM
20276 "description" : "List local LVM volume groups.",
20277 "method" : "GET",
20278 "name" : "lvmscan",
20279 "parameters" : {
20280 "additionalProperties" : 0,
20281 "properties" : {
20282 "node" : {
20283 "description" : "The cluster node name.",
20284 "format" : "pve-node",
013dc89f
DM
20285 "type" : "string",
20286 "typetext" : "<string>"
56122987 20287 }
7aacca6f 20288 }
56122987 20289 },
56122987
DM
20290 "permissions" : {
20291 "check" : [
20292 "perm",
20293 "/storage",
20294 [
20295 "Datastore.Allocate"
20296 ]
20297 ]
20298 },
7aacca6f 20299 "protected" : 1,
44660702
DM
20300 "proxyto" : "node",
20301 "returns" : {
20302 "items" : {
20303 "properties" : {
20304 "vg" : {
20305 "type" : "string"
20306 }
20307 },
20308 "type" : "object"
20309 },
20310 "type" : "array"
7aacca6f 20311 }
56122987
DM
20312 }
20313 },
20314 "leaf" : 1,
44660702
DM
20315 "path" : "/nodes/{node}/scan/lvm",
20316 "text" : "lvm"
56122987
DM
20317 },
20318 {
56122987
DM
20319 "info" : {
20320 "GET" : {
44660702
DM
20321 "description" : "List local LVM Thin Pools.",
20322 "method" : "GET",
20323 "name" : "lvmthinscan",
56122987 20324 "parameters" : {
44660702 20325 "additionalProperties" : 0,
56122987
DM
20326 "properties" : {
20327 "node" : {
44660702 20328 "description" : "The cluster node name.",
56122987 20329 "format" : "pve-node",
013dc89f
DM
20330 "type" : "string",
20331 "typetext" : "<string>"
56122987
DM
20332 },
20333 "vg" : {
44660702 20334 "maxLength" : 100,
56122987 20335 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 20336 "type" : "string"
56122987 20337 }
44660702 20338 }
56122987 20339 },
7aacca6f
DM
20340 "permissions" : {
20341 "check" : [
20342 "perm",
20343 "/storage",
20344 [
20345 "Datastore.Allocate"
20346 ]
20347 ]
20348 },
44660702 20349 "protected" : 1,
7aacca6f 20350 "proxyto" : "node",
56122987 20351 "returns" : {
56122987
DM
20352 "items" : {
20353 "properties" : {
20354 "lv" : {
20355 "type" : "string"
20356 }
20357 },
20358 "type" : "object"
44660702
DM
20359 },
20360 "type" : "array"
7aacca6f 20361 }
56122987
DM
20362 }
20363 },
7aacca6f 20364 "leaf" : 1,
44660702
DM
20365 "path" : "/nodes/{node}/scan/lvmthin",
20366 "text" : "lvmthin"
56122987
DM
20367 },
20368 {
56122987
DM
20369 "info" : {
20370 "GET" : {
44660702
DM
20371 "description" : "List local USB devices.",
20372 "method" : "GET",
20373 "name" : "usbscan",
20374 "parameters" : {
20375 "additionalProperties" : 0,
20376 "properties" : {
20377 "node" : {
20378 "description" : "The cluster node name.",
20379 "format" : "pve-node",
013dc89f
DM
20380 "type" : "string",
20381 "typetext" : "<string>"
44660702
DM
20382 }
20383 }
20384 },
7aacca6f
DM
20385 "permissions" : {
20386 "check" : [
20387 "perm",
20388 "/",
20389 [
20390 "Sys.Modify"
20391 ]
20392 ]
20393 },
44660702 20394 "protected" : 1,
7aacca6f 20395 "proxyto" : "node",
56122987
DM
20396 "returns" : {
20397 "items" : {
20398 "properties" : {
44660702
DM
20399 "busnum" : {
20400 "type" : "integer"
56122987 20401 },
44660702
DM
20402 "class" : {
20403 "type" : "integer"
56122987 20404 },
7aacca6f 20405 "devnum" : {
56122987
DM
20406 "type" : "integer"
20407 },
44660702
DM
20408 "level" : {
20409 "type" : "integer"
20410 },
20411 "manufacturer" : {
20412 "optional" : 1,
7aacca6f
DM
20413 "type" : "string"
20414 },
44660702 20415 "port" : {
56122987
DM
20416 "type" : "integer"
20417 },
44660702
DM
20418 "prodid" : {
20419 "type" : "string"
56122987 20420 },
44660702
DM
20421 "product" : {
20422 "optional" : 1,
20423 "type" : "string"
20424 },
20425 "serial" : {
7aacca6f 20426 "optional" : 1,
56122987
DM
20427 "type" : "string"
20428 },
44660702 20429 "speed" : {
7aacca6f 20430 "type" : "string"
56122987 20431 },
44660702 20432 "usbpath" : {
56122987
DM
20433 "optional" : 1,
20434 "type" : "string"
20435 },
44660702
DM
20436 "vendid" : {
20437 "type" : "string"
56122987
DM
20438 }
20439 },
20440 "type" : "object"
7aacca6f
DM
20441 },
20442 "type" : "array"
44660702
DM
20443 }
20444 }
20445 },
20446 "leaf" : 1,
20447 "path" : "/nodes/{node}/scan/usb",
20448 "text" : "usb"
20449 }
20450 ],
20451 "info" : {
20452 "GET" : {
20453 "description" : "Index of available scan methods",
20454 "method" : "GET",
20455 "name" : "index",
20456 "parameters" : {
20457 "additionalProperties" : 0,
20458 "properties" : {
20459 "node" : {
20460 "description" : "The cluster node name.",
20461 "format" : "pve-node",
013dc89f
DM
20462 "type" : "string",
20463 "typetext" : "<string>"
44660702
DM
20464 }
20465 }
20466 },
20467 "permissions" : {
20468 "user" : "all"
20469 },
20470 "returns" : {
20471 "items" : {
20472 "properties" : {
20473 "method" : {
20474 "type" : "string"
56122987
DM
20475 }
20476 },
44660702
DM
20477 "type" : "object"
20478 },
20479 "links" : [
20480 {
20481 "href" : "{method}",
20482 "rel" : "child"
20483 }
20484 ],
20485 "type" : "array"
56122987
DM
20486 }
20487 }
44660702
DM
20488 },
20489 "leaf" : 0,
20490 "path" : "/nodes/{node}/scan",
7aacca6f 20491 "text" : "scan"
56122987
DM
20492 },
20493 {
56122987
DM
20494 "children" : [
20495 {
56122987
DM
20496 "children" : [
20497 {
7aacca6f
DM
20498 "children" : [
20499 {
20500 "info" : {
44660702
DM
20501 "DELETE" : {
20502 "description" : "Delete volume",
20503 "method" : "DELETE",
20504 "name" : "delete",
7aacca6f
DM
20505 "parameters" : {
20506 "additionalProperties" : 0,
20507 "properties" : {
7aacca6f
DM
20508 "node" : {
20509 "description" : "The cluster node name.",
44660702 20510 "format" : "pve-node",
013dc89f
DM
20511 "type" : "string",
20512 "typetext" : "<string>"
44660702
DM
20513 },
20514 "storage" : {
20515 "description" : "The storage identifier.",
20516 "format" : "pve-storage-id",
20517 "optional" : 1,
013dc89f
DM
20518 "type" : "string",
20519 "typetext" : "<string>"
7aacca6f
DM
20520 },
20521 "volume" : {
20522 "description" : "Volume identifier",
013dc89f
DM
20523 "type" : "string",
20524 "typetext" : "<string>"
7aacca6f
DM
20525 }
20526 }
20527 },
44660702
DM
20528 "permissions" : {
20529 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
20530 "user" : "all"
20531 },
20532 "protected" : 1,
20533 "proxyto" : "node",
20534 "returns" : {
20535 "type" : "null"
20536 }
7aacca6f 20537 },
44660702
DM
20538 "GET" : {
20539 "description" : "Get volume attributes",
20540 "method" : "GET",
20541 "name" : "info",
7aacca6f
DM
20542 "parameters" : {
20543 "additionalProperties" : 0,
20544 "properties" : {
7aacca6f
DM
20545 "node" : {
20546 "description" : "The cluster node name.",
44660702 20547 "format" : "pve-node",
013dc89f
DM
20548 "type" : "string",
20549 "typetext" : "<string>"
7aacca6f
DM
20550 },
20551 "storage" : {
7aacca6f 20552 "description" : "The storage identifier.",
44660702 20553 "format" : "pve-storage-id",
7aacca6f 20554 "optional" : 1,
013dc89f
DM
20555 "type" : "string",
20556 "typetext" : "<string>"
44660702
DM
20557 },
20558 "volume" : {
20559 "description" : "Volume identifier",
013dc89f
DM
20560 "type" : "string",
20561 "typetext" : "<string>"
7aacca6f
DM
20562 }
20563 }
20564 },
7aacca6f 20565 "permissions" : {
44660702 20566 "description" : "You need read access for the volume.",
7aacca6f
DM
20567 "user" : "all"
20568 },
44660702 20569 "protected" : 1,
7aacca6f 20570 "proxyto" : "node",
7aacca6f 20571 "returns" : {
44660702 20572 "type" : "object"
7aacca6f
DM
20573 }
20574 },
20575 "POST" : {
44660702
DM
20576 "description" : "Copy a volume. This is experimental code - do not use.",
20577 "method" : "POST",
20578 "name" : "copy",
7aacca6f
DM
20579 "parameters" : {
20580 "additionalProperties" : 0,
20581 "properties" : {
44660702
DM
20582 "node" : {
20583 "description" : "The cluster node name.",
20584 "format" : "pve-node",
013dc89f
DM
20585 "type" : "string",
20586 "typetext" : "<string>"
44660702
DM
20587 },
20588 "storage" : {
20589 "description" : "The storage identifier.",
20590 "format" : "pve-storage-id",
20591 "optional" : 1,
013dc89f
DM
20592 "type" : "string",
20593 "typetext" : "<string>"
44660702 20594 },
7aacca6f 20595 "target" : {
44660702 20596 "description" : "Target volume identifier",
013dc89f
DM
20597 "type" : "string",
20598 "typetext" : "<string>"
7aacca6f
DM
20599 },
20600 "target_node" : {
7aacca6f 20601 "description" : "Target node. Default is local node.",
44660702
DM
20602 "format" : "pve-node",
20603 "optional" : 1,
013dc89f
DM
20604 "type" : "string",
20605 "typetext" : "<string>"
7aacca6f
DM
20606 },
20607 "volume" : {
44660702 20608 "description" : "Source volume identifier",
013dc89f
DM
20609 "type" : "string",
20610 "typetext" : "<string>"
7aacca6f
DM
20611 }
20612 }
20613 },
7aacca6f
DM
20614 "protected" : 1,
20615 "proxyto" : "node",
20616 "returns" : {
20617 "type" : "string"
44660702 20618 }
7aacca6f
DM
20619 }
20620 },
7aacca6f 20621 "leaf" : 1,
44660702
DM
20622 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
20623 "text" : "{volume}"
7aacca6f
DM
20624 }
20625 ],
56122987
DM
20626 "info" : {
20627 "GET" : {
44660702
DM
20628 "description" : "List storage content.",
20629 "method" : "GET",
20630 "name" : "index",
20631 "parameters" : {
20632 "additionalProperties" : 0,
20633 "properties" : {
20634 "content" : {
20635 "description" : "Only list content of this type.",
20636 "format" : "pve-storage-content",
20637 "optional" : 1,
013dc89f
DM
20638 "type" : "string",
20639 "typetext" : "<string>"
44660702
DM
20640 },
20641 "node" : {
20642 "description" : "The cluster node name.",
20643 "format" : "pve-node",
013dc89f
DM
20644 "type" : "string",
20645 "typetext" : "<string>"
44660702
DM
20646 },
20647 "storage" : {
20648 "description" : "The storage identifier.",
20649 "format" : "pve-storage-id",
013dc89f
DM
20650 "type" : "string",
20651 "typetext" : "<string>"
44660702
DM
20652 },
20653 "vmid" : {
20654 "description" : "Only list images for this VM",
20655 "format" : "pve-vmid",
20656 "minimum" : 1,
20657 "optional" : 1,
4bd7df8b 20658 "type" : "integer",
013dc89f 20659 "typetext" : "<integer> (1 - N)"
44660702
DM
20660 }
20661 }
20662 },
7aacca6f
DM
20663 "permissions" : {
20664 "check" : [
20665 "perm",
20666 "/storage/{storage}",
20667 [
20668 "Datastore.Audit",
20669 "Datastore.AllocateSpace"
20670 ],
20671 "any",
20672 1
20673 ]
20674 },
44660702 20675 "protected" : 1,
7aacca6f 20676 "proxyto" : "node",
56122987 20677 "returns" : {
44660702
DM
20678 "items" : {
20679 "properties" : {
20680 "volid" : {
20681 "type" : "string"
20682 }
20683 },
20684 "type" : "object"
20685 },
20686 "links" : [
20687 {
20688 "href" : "{volid}",
20689 "rel" : "child"
20690 }
20691 ],
20692 "type" : "array"
20693 }
20694 },
20695 "POST" : {
20696 "description" : "Allocate disk images.",
20697 "method" : "POST",
20698 "name" : "create",
56122987 20699 "parameters" : {
44660702 20700 "additionalProperties" : 0,
56122987 20701 "properties" : {
44660702
DM
20702 "filename" : {
20703 "description" : "The name of the file to create.",
013dc89f
DM
20704 "type" : "string",
20705 "typetext" : "<string>"
44660702
DM
20706 },
20707 "format" : {
20708 "enum" : [
20709 "raw",
20710 "qcow2",
20711 "subvol"
20712 ],
20713 "optional" : 1,
20714 "requires" : "size",
20715 "type" : "string"
20716 },
20717 "node" : {
20718 "description" : "The cluster node name.",
20719 "format" : "pve-node",
013dc89f
DM
20720 "type" : "string",
20721 "typetext" : "<string>"
44660702
DM
20722 },
20723 "size" : {
20724 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
20725 "pattern" : "\\d+[MG]?",
20726 "type" : "string"
20727 },
56122987
DM
20728 "storage" : {
20729 "description" : "The storage identifier.",
44660702 20730 "format" : "pve-storage-id",
013dc89f
DM
20731 "type" : "string",
20732 "typetext" : "<string>"
56122987 20733 },
44660702
DM
20734 "vmid" : {
20735 "description" : "Specify owner VM",
20736 "format" : "pve-vmid",
20737 "minimum" : 1,
4bd7df8b 20738 "type" : "integer",
013dc89f 20739 "typetext" : "<integer> (1 - N)"
44660702
DM
20740 }
20741 }
20742 },
20743 "permissions" : {
20744 "check" : [
20745 "perm",
20746 "/storage/{storage}",
20747 [
20748 "Datastore.AllocateSpace"
20749 ]
20750 ]
20751 },
20752 "protected" : 1,
20753 "proxyto" : "node",
20754 "returns" : {
20755 "description" : "Volume identifier",
20756 "type" : "string"
20757 }
20758 }
20759 },
20760 "leaf" : 0,
20761 "path" : "/nodes/{node}/storage/{storage}/content",
20762 "text" : "content"
20763 },
20764 {
20765 "info" : {
20766 "GET" : {
20767 "description" : "Read storage status.",
20768 "method" : "GET",
20769 "name" : "read_status",
20770 "parameters" : {
20771 "additionalProperties" : 0,
20772 "properties" : {
56122987
DM
20773 "node" : {
20774 "description" : "The cluster node name.",
44660702 20775 "format" : "pve-node",
013dc89f
DM
20776 "type" : "string",
20777 "typetext" : "<string>"
44660702
DM
20778 },
20779 "storage" : {
20780 "description" : "The storage identifier.",
20781 "format" : "pve-storage-id",
013dc89f
DM
20782 "type" : "string",
20783 "typetext" : "<string>"
56122987 20784 }
44660702
DM
20785 }
20786 },
20787 "permissions" : {
20788 "check" : [
20789 "perm",
20790 "/storage/{storage}",
20791 [
20792 "Datastore.Audit",
20793 "Datastore.AllocateSpace"
20794 ],
20795 "any",
20796 1
20797 ]
56122987
DM
20798 },
20799 "protected" : 1,
44660702
DM
20800 "proxyto" : "node",
20801 "returns" : {
20802 "properties" : {},
20803 "type" : "object"
20804 }
56122987
DM
20805 }
20806 },
44660702
DM
20807 "leaf" : 1,
20808 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 20809 "text" : "status"
56122987
DM
20810 },
20811 {
56122987
DM
20812 "info" : {
20813 "GET" : {
44660702
DM
20814 "description" : "Read storage RRD statistics (returns PNG).",
20815 "method" : "GET",
20816 "name" : "rrd",
56122987 20817 "parameters" : {
44660702 20818 "additionalProperties" : 0,
56122987 20819 "properties" : {
44660702
DM
20820 "cf" : {
20821 "description" : "The RRD consolidation function",
20822 "enum" : [
20823 "AVERAGE",
20824 "MAX"
20825 ],
20826 "optional" : 1,
20827 "type" : "string"
20828 },
7aacca6f 20829 "ds" : {
7aacca6f 20830 "description" : "The list of datasources you want to display.",
44660702 20831 "format" : "pve-configid-list",
013dc89f
DM
20832 "type" : "string",
20833 "typetext" : "<string>"
56122987 20834 },
7aacca6f
DM
20835 "node" : {
20836 "description" : "The cluster node name.",
44660702 20837 "format" : "pve-node",
013dc89f
DM
20838 "type" : "string",
20839 "typetext" : "<string>"
56122987 20840 },
7aacca6f 20841 "storage" : {
7aacca6f 20842 "description" : "The storage identifier.",
44660702 20843 "format" : "pve-storage-id",
013dc89f
DM
20844 "type" : "string",
20845 "typetext" : "<string>"
44660702
DM
20846 },
20847 "timeframe" : {
20848 "description" : "Specify the time frame you are interested in.",
7aacca6f 20849 "enum" : [
44660702
DM
20850 "hour",
20851 "day",
20852 "week",
20853 "month",
20854 "year"
7aacca6f 20855 ],
44660702 20856 "type" : "string"
56122987 20857 }
44660702 20858 }
56122987
DM
20859 },
20860 "permissions" : {
20861 "check" : [
20862 "perm",
20863 "/storage/{storage}",
20864 [
20865 "Datastore.Audit",
20866 "Datastore.AllocateSpace"
20867 ],
20868 "any",
20869 1
20870 ]
20871 },
44660702
DM
20872 "protected" : 1,
20873 "proxyto" : "node",
7aacca6f
DM
20874 "returns" : {
20875 "properties" : {
20876 "filename" : {
20877 "type" : "string"
20878 }
20879 },
20880 "type" : "object"
20881 }
56122987
DM
20882 }
20883 },
20884 "leaf" : 1,
44660702
DM
20885 "path" : "/nodes/{node}/storage/{storage}/rrd",
20886 "text" : "rrd"
56122987
DM
20887 },
20888 {
56122987
DM
20889 "info" : {
20890 "GET" : {
44660702
DM
20891 "description" : "Read storage RRD statistics.",
20892 "method" : "GET",
20893 "name" : "rrddata",
56122987 20894 "parameters" : {
44660702 20895 "additionalProperties" : 0,
56122987 20896 "properties" : {
44660702
DM
20897 "cf" : {
20898 "description" : "The RRD consolidation function",
20899 "enum" : [
20900 "AVERAGE",
20901 "MAX"
20902 ],
20903 "optional" : 1,
20904 "type" : "string"
20905 },
7aacca6f 20906 "node" : {
7aacca6f 20907 "description" : "The cluster node name.",
44660702 20908 "format" : "pve-node",
013dc89f
DM
20909 "type" : "string",
20910 "typetext" : "<string>"
44660702
DM
20911 },
20912 "storage" : {
20913 "description" : "The storage identifier.",
20914 "format" : "pve-storage-id",
013dc89f
DM
20915 "type" : "string",
20916 "typetext" : "<string>"
7aacca6f 20917 },
56122987 20918 "timeframe" : {
7aacca6f 20919 "description" : "Specify the time frame you are interested in.",
56122987
DM
20920 "enum" : [
20921 "hour",
20922 "day",
20923 "week",
20924 "month",
20925 "year"
56122987 20926 ],
44660702 20927 "type" : "string"
56122987 20928 }
44660702 20929 }
7aacca6f 20930 },
7aacca6f
DM
20931 "permissions" : {
20932 "check" : [
20933 "perm",
20934 "/storage/{storage}",
20935 [
20936 "Datastore.Audit",
20937 "Datastore.AllocateSpace"
20938 ],
20939 "any",
20940 1
20941 ]
20942 },
44660702
DM
20943 "protected" : 1,
20944 "proxyto" : "node",
7aacca6f
DM
20945 "returns" : {
20946 "items" : {
44660702
DM
20947 "properties" : {},
20948 "type" : "object"
7aacca6f
DM
20949 },
20950 "type" : "array"
56122987
DM
20951 }
20952 }
7aacca6f 20953 },
7aacca6f 20954 "leaf" : 1,
44660702
DM
20955 "path" : "/nodes/{node}/storage/{storage}/rrddata",
20956 "text" : "rrddata"
56122987
DM
20957 },
20958 {
56122987
DM
20959 "info" : {
20960 "POST" : {
7aacca6f 20961 "description" : "Upload templates and ISO images.",
44660702
DM
20962 "method" : "POST",
20963 "name" : "upload",
56122987 20964 "parameters" : {
7aacca6f 20965 "additionalProperties" : 0,
56122987 20966 "properties" : {
56122987 20967 "content" : {
7aacca6f 20968 "description" : "Content type.",
44660702 20969 "format" : "pve-storage-content",
013dc89f
DM
20970 "type" : "string",
20971 "typetext" : "<string>"
56122987
DM
20972 },
20973 "filename" : {
44660702 20974 "description" : "The name of the file to create.",
013dc89f
DM
20975 "type" : "string",
20976 "typetext" : "<string>"
56122987
DM
20977 },
20978 "node" : {
20979 "description" : "The cluster node name.",
44660702 20980 "format" : "pve-node",
013dc89f
DM
20981 "type" : "string",
20982 "typetext" : "<string>"
44660702
DM
20983 },
20984 "storage" : {
20985 "description" : "The storage identifier.",
20986 "format" : "pve-storage-id",
013dc89f
DM
20987 "type" : "string",
20988 "typetext" : "<string>"
44660702
DM
20989 },
20990 "tmpfilename" : {
20991 "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.",
20992 "optional" : 1,
013dc89f
DM
20993 "type" : "string",
20994 "typetext" : "<string>"
56122987 20995 }
7aacca6f 20996 }
56122987 20997 },
56122987
DM
20998 "permissions" : {
20999 "check" : [
21000 "perm",
21001 "/storage/{storage}",
21002 [
21003 "Datastore.AllocateTemplate"
21004 ]
21005 ]
44660702
DM
21006 },
21007 "protected" : 1,
21008 "returns" : {
21009 "type" : "string"
21010 }
21011 }
21012 },
21013 "leaf" : 1,
21014 "path" : "/nodes/{node}/storage/{storage}/upload",
21015 "text" : "upload"
21016 }
21017 ],
21018 "info" : {
21019 "GET" : {
21020 "description" : "",
21021 "method" : "GET",
21022 "name" : "diridx",
21023 "parameters" : {
21024 "additionalProperties" : 0,
21025 "properties" : {
21026 "node" : {
21027 "description" : "The cluster node name.",
21028 "format" : "pve-node",
013dc89f
DM
21029 "type" : "string",
21030 "typetext" : "<string>"
44660702
DM
21031 },
21032 "storage" : {
21033 "description" : "The storage identifier.",
21034 "format" : "pve-storage-id",
013dc89f
DM
21035 "type" : "string",
21036 "typetext" : "<string>"
56122987
DM
21037 }
21038 }
44660702
DM
21039 },
21040 "permissions" : {
21041 "check" : [
21042 "perm",
21043 "/storage/{storage}",
21044 [
21045 "Datastore.Audit",
21046 "Datastore.AllocateSpace"
21047 ],
21048 "any",
21049 1
21050 ]
21051 },
21052 "returns" : {
21053 "items" : {
21054 "properties" : {
21055 "subdir" : {
21056 "type" : "string"
21057 }
21058 },
21059 "type" : "object"
21060 },
21061 "links" : [
21062 {
21063 "href" : "{subdir}",
21064 "rel" : "child"
21065 }
21066 ],
21067 "type" : "array"
56122987
DM
21068 }
21069 }
44660702
DM
21070 },
21071 "leaf" : 0,
21072 "path" : "/nodes/{node}/storage/{storage}",
21073 "text" : "{storage}"
56122987
DM
21074 }
21075 ],
56122987
DM
21076 "info" : {
21077 "GET" : {
44660702
DM
21078 "description" : "Get status for all datastores.",
21079 "method" : "GET",
21080 "name" : "index",
21081 "parameters" : {
21082 "additionalProperties" : 0,
21083 "properties" : {
21084 "content" : {
21085 "description" : "Only list stores which support this content type.",
21086 "format" : "pve-storage-content-list",
21087 "optional" : 1,
013dc89f
DM
21088 "type" : "string",
21089 "typetext" : "<string>"
44660702
DM
21090 },
21091 "enabled" : {
21092 "default" : 0,
21093 "description" : "Only list stores which are enabled (not disabled in config).",
21094 "optional" : 1,
013dc89f
DM
21095 "type" : "boolean",
21096 "typetext" : "<boolean>"
44660702
DM
21097 },
21098 "node" : {
21099 "description" : "The cluster node name.",
21100 "format" : "pve-node",
013dc89f
DM
21101 "type" : "string",
21102 "typetext" : "<string>"
44660702
DM
21103 },
21104 "storage" : {
21105 "description" : "Only list status for specified storage",
21106 "format" : "pve-storage-id",
21107 "optional" : 1,
013dc89f
DM
21108 "type" : "string",
21109 "typetext" : "<string>"
44660702
DM
21110 },
21111 "target" : {
21112 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
21113 "format" : "pve-node",
21114 "optional" : 1,
013dc89f
DM
21115 "type" : "string",
21116 "typetext" : "<string>"
44660702
DM
21117 }
21118 }
21119 },
7aacca6f
DM
21120 "permissions" : {
21121 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
21122 "user" : "all"
21123 },
44660702 21124 "protected" : 1,
7aacca6f 21125 "proxyto" : "node",
56122987
DM
21126 "returns" : {
21127 "items" : {
56122987
DM
21128 "properties" : {
21129 "storage" : {
21130 "type" : "string"
21131 }
44660702
DM
21132 },
21133 "type" : "object"
56122987 21134 },
56122987
DM
21135 "links" : [
21136 {
7aacca6f
DM
21137 "href" : "{storage}",
21138 "rel" : "child"
56122987 21139 }
44660702
DM
21140 ],
21141 "type" : "array"
21142 }
56122987 21143 }
44660702
DM
21144 },
21145 "leaf" : 0,
21146 "path" : "/nodes/{node}/storage",
21147 "text" : "storage"
56122987 21148 },
2c0dde61
DM
21149 {
21150 "children" : [
21151 {
21152 "info" : {
21153 "GET" : {
21154 "description" : "List local disks.",
21155 "method" : "GET",
21156 "name" : "list",
21157 "parameters" : {
21158 "additionalProperties" : 0,
21159 "properties" : {
21160 "node" : {
21161 "description" : "The cluster node name.",
21162 "format" : "pve-node",
013dc89f
DM
21163 "type" : "string",
21164 "typetext" : "<string>"
2c0dde61
DM
21165 }
21166 }
21167 },
21168 "permissions" : {
21169 "check" : [
21170 "perm",
21171 "/",
21172 [
21173 "Sys.Audit",
21174 "Datastore.Audit"
21175 ],
21176 "any",
21177 1
21178 ]
21179 },
21180 "protected" : 1,
21181 "proxyto" : "node",
21182 "returns" : {
21183 "items" : {
21184 "properties" : {
21185 "devpath" : {
21186 "description" : "The device path",
21187 "type" : "string"
21188 },
21189 "gpt" : {
21190 "type" : "boolean"
21191 },
21192 "health" : {
21193 "optional" : 1,
21194 "type" : "string"
21195 },
21196 "model" : {
21197 "optional" : 1,
21198 "type" : "string"
21199 },
21200 "osdid" : {
21201 "type" : "integer"
21202 },
21203 "serial" : {
21204 "optional" : 1,
21205 "type" : "string"
21206 },
21207 "size" : {
21208 "type" : "integer"
21209 },
21210 "used" : {
21211 "optional" : 1,
21212 "type" : "string"
21213 },
21214 "vendor" : {
21215 "optional" : 1,
21216 "type" : "string"
21217 },
21218 "wwn" : {
21219 "optional" : 1,
21220 "type" : "string"
21221 }
21222 },
21223 "type" : "object"
21224 },
21225 "type" : "array"
21226 }
21227 }
21228 },
21229 "leaf" : 1,
21230 "path" : "/nodes/{node}/disks/list",
21231 "text" : "list"
21232 },
21233 {
21234 "info" : {
21235 "GET" : {
21236 "description" : "Get SMART Health of a disk.",
21237 "method" : "GET",
21238 "name" : "smart",
21239 "parameters" : {
21240 "additionalProperties" : 0,
21241 "properties" : {
21242 "disk" : {
21243 "description" : "Block device name",
21244 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21245 "type" : "string"
21246 },
21247 "healthonly" : {
21248 "description" : "If true returns only the health status",
21249 "optional" : 1,
013dc89f
DM
21250 "type" : "boolean",
21251 "typetext" : "<boolean>"
2c0dde61
DM
21252 },
21253 "node" : {
21254 "description" : "The cluster node name.",
21255 "format" : "pve-node",
013dc89f
DM
21256 "type" : "string",
21257 "typetext" : "<string>"
2c0dde61
DM
21258 }
21259 }
21260 },
21261 "permissions" : {
21262 "check" : [
21263 "perm",
21264 "/",
21265 [
21266 "Sys.Audit",
21267 "Datastore.Audit"
21268 ],
21269 "any",
21270 1
21271 ]
21272 },
21273 "protected" : 1,
21274 "proxyto" : "node",
21275 "returns" : {
de0983cb
DM
21276 "properties" : {
21277 "attributes" : {
21278 "optional" : 1,
21279 "type" : "array"
21280 },
21281 "health" : {
21282 "type" : "string"
21283 },
21284 "text" : {
21285 "optional" : 1,
21286 "type" : "string"
21287 },
21288 "type" : {
21289 "optional" : 1,
21290 "type" : "string"
21291 }
21292 },
2c0dde61
DM
21293 "type" : "object"
21294 }
21295 }
21296 },
21297 "leaf" : 1,
21298 "path" : "/nodes/{node}/disks/smart",
21299 "text" : "smart"
21300 },
21301 {
21302 "info" : {
21303 "POST" : {
21304 "description" : "Initialize Disk with GPT",
21305 "method" : "POST",
21306 "name" : "initgpt",
21307 "parameters" : {
21308 "additionalProperties" : 0,
21309 "properties" : {
21310 "disk" : {
21311 "description" : "Block device name",
21312 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21313 "type" : "string"
21314 },
21315 "node" : {
21316 "description" : "The cluster node name.",
21317 "format" : "pve-node",
013dc89f
DM
21318 "type" : "string",
21319 "typetext" : "<string>"
2c0dde61
DM
21320 },
21321 "uuid" : {
21322 "description" : "UUID for the GPT table",
21323 "maxLength" : 36,
21324 "optional" : 1,
21325 "pattern" : "[a-fA-F0-9\\-]+",
21326 "type" : "string"
21327 }
21328 }
21329 },
21330 "permissions" : {
21331 "check" : [
21332 "perm",
21333 "/",
21334 [
21335 "Sys.Modify"
21336 ]
21337 ]
21338 },
21339 "protected" : 1,
21340 "proxyto" : "node",
21341 "returns" : {
21342 "type" : "string"
21343 }
21344 }
21345 },
21346 "leaf" : 1,
21347 "path" : "/nodes/{node}/disks/initgpt",
21348 "text" : "initgpt"
21349 }
21350 ],
21351 "info" : {
21352 "GET" : {
21353 "description" : "Node index.",
21354 "method" : "GET",
21355 "name" : "index",
21356 "parameters" : {
21357 "additionalProperties" : 0,
21358 "properties" : {
21359 "node" : {
21360 "description" : "The cluster node name.",
21361 "format" : "pve-node",
013dc89f
DM
21362 "type" : "string",
21363 "typetext" : "<string>"
2c0dde61
DM
21364 }
21365 }
21366 },
21367 "permissions" : {
21368 "user" : "all"
21369 },
21370 "proxyto" : "node",
21371 "returns" : {
21372 "items" : {
21373 "properties" : {},
21374 "type" : "object"
21375 },
21376 "links" : [
21377 {
21378 "href" : "{name}",
21379 "rel" : "child"
21380 }
21381 ],
21382 "type" : "array"
21383 }
21384 }
21385 },
21386 "leaf" : 0,
21387 "path" : "/nodes/{node}/disks",
21388 "text" : "disks"
21389 },
56122987 21390 {
56122987
DM
21391 "children" : [
21392 {
21393 "info" : {
44660702
DM
21394 "GET" : {
21395 "description" : "List available updates.",
21396 "method" : "GET",
21397 "name" : "list_updates",
21398 "parameters" : {
21399 "additionalProperties" : 0,
21400 "properties" : {
21401 "node" : {
21402 "description" : "The cluster node name.",
21403 "format" : "pve-node",
013dc89f
DM
21404 "type" : "string",
21405 "typetext" : "<string>"
44660702
DM
21406 }
21407 }
7aacca6f
DM
21408 },
21409 "permissions" : {
21410 "check" : [
21411 "perm",
21412 "/nodes/{node}",
21413 [
21414 "Sys.Modify"
21415 ]
21416 ]
21417 },
44660702 21418 "protected" : 1,
56122987 21419 "proxyto" : "node",
44660702
DM
21420 "returns" : {
21421 "items" : {
21422 "properties" : {},
21423 "type" : "object"
21424 },
21425 "type" : "array"
21426 }
21427 },
21428 "POST" : {
21429 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
21430 "method" : "POST",
21431 "name" : "update_database",
56122987
DM
21432 "parameters" : {
21433 "additionalProperties" : 0,
21434 "properties" : {
44660702
DM
21435 "node" : {
21436 "description" : "The cluster node name.",
21437 "format" : "pve-node",
013dc89f
DM
21438 "type" : "string",
21439 "typetext" : "<string>"
44660702 21440 },
56122987 21441 "notify" : {
56122987 21442 "default" : 0,
44660702
DM
21443 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
21444 "optional" : 1,
013dc89f
DM
21445 "type" : "boolean",
21446 "typetext" : "<boolean>"
56122987
DM
21447 },
21448 "quiet" : {
56122987 21449 "default" : 0,
44660702 21450 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 21451 "optional" : 1,
013dc89f
DM
21452 "type" : "boolean",
21453 "typetext" : "<boolean>"
56122987 21454 }
7aacca6f
DM
21455 }
21456 },
21457 "permissions" : {
21458 "check" : [
21459 "perm",
21460 "/nodes/{node}",
21461 [
21462 "Sys.Modify"
21463 ]
21464 ]
21465 },
44660702
DM
21466 "protected" : 1,
21467 "proxyto" : "node",
21468 "returns" : {
21469 "type" : "string"
21470 }
56122987
DM
21471 }
21472 },
7aacca6f 21473 "leaf" : 1,
44660702
DM
21474 "path" : "/nodes/{node}/apt/update",
21475 "text" : "update"
56122987
DM
21476 },
21477 {
56122987
DM
21478 "info" : {
21479 "GET" : {
44660702 21480 "description" : "Get package changelogs.",
56122987 21481 "method" : "GET",
7aacca6f 21482 "name" : "changelog",
56122987 21483 "parameters" : {
44660702 21484 "additionalProperties" : 0,
56122987
DM
21485 "properties" : {
21486 "name" : {
21487 "description" : "Package name.",
013dc89f
DM
21488 "type" : "string",
21489 "typetext" : "<string>"
56122987 21490 },
44660702
DM
21491 "node" : {
21492 "description" : "The cluster node name.",
21493 "format" : "pve-node",
013dc89f
DM
21494 "type" : "string",
21495 "typetext" : "<string>"
44660702 21496 },
56122987 21497 "version" : {
7aacca6f 21498 "description" : "Package version.",
44660702 21499 "optional" : 1,
013dc89f
DM
21500 "type" : "string",
21501 "typetext" : "<string>"
56122987 21502 }
44660702 21503 }
56122987 21504 },
44660702
DM
21505 "permissions" : {
21506 "check" : [
21507 "perm",
21508 "/nodes/{node}",
21509 [
21510 "Sys.Modify"
21511 ]
21512 ]
21513 },
21514 "proxyto" : "node",
21515 "returns" : {
21516 "type" : "string"
21517 }
56122987
DM
21518 }
21519 },
44660702
DM
21520 "leaf" : 1,
21521 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 21522 "text" : "changelog"
56122987
DM
21523 },
21524 {
56122987
DM
21525 "info" : {
21526 "GET" : {
44660702
DM
21527 "description" : "Get package information for important Proxmox packages.",
21528 "method" : "GET",
7aacca6f
DM
21529 "name" : "versions",
21530 "parameters" : {
44660702 21531 "additionalProperties" : 0,
7aacca6f
DM
21532 "properties" : {
21533 "node" : {
44660702 21534 "description" : "The cluster node name.",
7aacca6f 21535 "format" : "pve-node",
013dc89f
DM
21536 "type" : "string",
21537 "typetext" : "<string>"
7aacca6f 21538 }
44660702 21539 }
7aacca6f 21540 },
56122987
DM
21541 "permissions" : {
21542 "check" : [
21543 "perm",
21544 "/nodes/{node}",
21545 [
21546 "Sys.Audit"
21547 ]
21548 ]
21549 },
7aacca6f 21550 "proxyto" : "node",
56122987
DM
21551 "returns" : {
21552 "items" : {
7aacca6f
DM
21553 "properties" : {},
21554 "type" : "object"
44660702
DM
21555 },
21556 "type" : "array"
56122987
DM
21557 }
21558 }
21559 },
44660702 21560 "leaf" : 1,
7aacca6f 21561 "path" : "/nodes/{node}/apt/versions",
44660702 21562 "text" : "versions"
56122987
DM
21563 }
21564 ],
56122987
DM
21565 "info" : {
21566 "GET" : {
44660702 21567 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 21568 "method" : "GET",
44660702 21569 "name" : "index",
7aacca6f
DM
21570 "parameters" : {
21571 "additionalProperties" : 0,
21572 "properties" : {
21573 "node" : {
44660702 21574 "description" : "The cluster node name.",
7aacca6f 21575 "format" : "pve-node",
013dc89f
DM
21576 "type" : "string",
21577 "typetext" : "<string>"
7aacca6f
DM
21578 }
21579 }
21580 },
7aacca6f
DM
21581 "permissions" : {
21582 "user" : "all"
21583 },
44660702
DM
21584 "returns" : {
21585 "items" : {
21586 "properties" : {
21587 "id" : {
21588 "type" : "string"
21589 }
21590 },
21591 "type" : "object"
21592 },
21593 "links" : [
21594 {
21595 "href" : "{id}",
21596 "rel" : "child"
21597 }
21598 ],
21599 "type" : "array"
21600 }
56122987 21601 }
7aacca6f 21602 },
44660702 21603 "leaf" : 0,
7aacca6f 21604 "path" : "/nodes/{node}/apt",
44660702 21605 "text" : "apt"
56122987
DM
21606 },
21607 {
56122987
DM
21608 "children" : [
21609 {
21610 "children" : [
21611 {
56122987
DM
21612 "info" : {
21613 "DELETE" : {
44660702 21614 "description" : "Delete rule.",
7aacca6f 21615 "method" : "DELETE",
44660702 21616 "name" : "delete_rule",
56122987
DM
21617 "parameters" : {
21618 "additionalProperties" : 0,
21619 "properties" : {
56122987
DM
21620 "digest" : {
21621 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 21622 "maxLength" : 40,
56122987 21623 "optional" : 1,
013dc89f
DM
21624 "type" : "string",
21625 "typetext" : "<string>"
56122987 21626 },
44660702
DM
21627 "node" : {
21628 "description" : "The cluster node name.",
21629 "format" : "pve-node",
013dc89f
DM
21630 "type" : "string",
21631 "typetext" : "<string>"
44660702 21632 },
7aacca6f 21633 "pos" : {
7aacca6f 21634 "description" : "Update rule at position <pos>.",
44660702
DM
21635 "minimum" : 0,
21636 "optional" : 1,
4bd7df8b 21637 "type" : "integer",
013dc89f 21638 "typetext" : "<integer> (0 - N)"
56122987
DM
21639 }
21640 }
21641 },
44660702
DM
21642 "permissions" : {
21643 "check" : [
21644 "perm",
21645 "/nodes/{node}",
21646 [
21647 "Sys.Modify"
21648 ]
21649 ]
21650 },
21651 "protected" : 1,
21652 "proxyto" : "node",
56122987
DM
21653 "returns" : {
21654 "type" : "null"
44660702
DM
21655 }
21656 },
21657 "GET" : {
21658 "description" : "Get single rule data.",
21659 "method" : "GET",
21660 "name" : "get_rule",
21661 "parameters" : {
21662 "additionalProperties" : 0,
21663 "properties" : {
21664 "node" : {
21665 "description" : "The cluster node name.",
21666 "format" : "pve-node",
013dc89f
DM
21667 "type" : "string",
21668 "typetext" : "<string>"
44660702
DM
21669 },
21670 "pos" : {
21671 "description" : "Update rule at position <pos>.",
21672 "minimum" : 0,
21673 "optional" : 1,
4bd7df8b 21674 "type" : "integer",
013dc89f 21675 "typetext" : "<integer> (0 - N)"
44660702
DM
21676 }
21677 }
56122987 21678 },
56122987
DM
21679 "permissions" : {
21680 "check" : [
21681 "perm",
21682 "/nodes/{node}",
21683 [
44660702 21684 "Sys.Audit"
56122987
DM
21685 ]
21686 ]
44660702
DM
21687 },
21688 "proxyto" : "node",
21689 "returns" : {
21690 "properties" : {
21691 "pos" : {
21692 "type" : "integer"
21693 }
21694 },
21695 "type" : "object"
7aacca6f 21696 }
56122987
DM
21697 },
21698 "PUT" : {
44660702
DM
21699 "description" : "Modify rule data.",
21700 "method" : "PUT",
56122987 21701 "name" : "update_rule",
56122987 21702 "parameters" : {
44660702 21703 "additionalProperties" : 0,
56122987 21704 "properties" : {
44660702
DM
21705 "action" : {
21706 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
21707 "maxLength" : 20,
21708 "minLength" : 2,
56122987 21709 "optional" : 1,
44660702
DM
21710 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21711 "type" : "string"
56122987 21712 },
7aacca6f 21713 "comment" : {
e94f0d56 21714 "description" : "Descriptive comment.",
56122987 21715 "optional" : 1,
013dc89f
DM
21716 "type" : "string",
21717 "typetext" : "<string>"
56122987 21718 },
44660702
DM
21719 "delete" : {
21720 "description" : "A list of settings you want to delete.",
21721 "format" : "pve-configid-list",
56122987 21722 "optional" : 1,
013dc89f
DM
21723 "type" : "string",
21724 "typetext" : "<string>"
56122987 21725 },
44660702
DM
21726 "dest" : {
21727 "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.",
21728 "format" : "pve-fw-addr-spec",
56122987 21729 "optional" : 1,
013dc89f
DM
21730 "type" : "string",
21731 "typetext" : "<string>"
56122987 21732 },
44660702
DM
21733 "digest" : {
21734 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21735 "maxLength" : 40,
56122987 21736 "optional" : 1,
013dc89f
DM
21737 "type" : "string",
21738 "typetext" : "<string>"
56122987 21739 },
7aacca6f 21740 "dport" : {
7aacca6f 21741 "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
21742 "format" : "pve-fw-dport-spec",
21743 "optional" : 1,
013dc89f
DM
21744 "type" : "string",
21745 "typetext" : "<string>"
7aacca6f 21746 },
44660702 21747 "enable" : {
e94f0d56 21748 "description" : "Flag to enable/disable a rule.",
44660702 21749 "minimum" : 0,
56122987 21750 "optional" : 1,
4bd7df8b 21751 "type" : "integer",
013dc89f 21752 "typetext" : "<integer> (0 - N)"
56122987 21753 },
7aacca6f 21754 "iface" : {
44660702 21755 "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 21756 "format" : "pve-iface",
44660702 21757 "maxLength" : 20,
56122987 21758 "minLength" : 2,
44660702 21759 "optional" : 1,
013dc89f
DM
21760 "type" : "string",
21761 "typetext" : "<string>"
56122987 21762 },
44660702 21763 "macro" : {
e94f0d56 21764 "description" : "Use predefined standard macro.",
44660702
DM
21765 "maxLength" : 128,
21766 "optional" : 1,
013dc89f
DM
21767 "type" : "string",
21768 "typetext" : "<string>"
44660702
DM
21769 },
21770 "moveto" : {
21771 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
21772 "minimum" : 0,
7aacca6f 21773 "optional" : 1,
4bd7df8b 21774 "type" : "integer",
013dc89f 21775 "typetext" : "<integer> (0 - N)"
44660702
DM
21776 },
21777 "node" : {
21778 "description" : "The cluster node name.",
21779 "format" : "pve-node",
013dc89f
DM
21780 "type" : "string",
21781 "typetext" : "<string>"
56122987
DM
21782 },
21783 "pos" : {
44660702 21784 "description" : "Update rule at position <pos>.",
7aacca6f 21785 "minimum" : 0,
7aacca6f 21786 "optional" : 1,
4bd7df8b 21787 "type" : "integer",
013dc89f 21788 "typetext" : "<integer> (0 - N)"
7aacca6f 21789 },
44660702
DM
21790 "proto" : {
21791 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21792 "format" : "pve-fw-protocol-spec",
7aacca6f 21793 "optional" : 1,
013dc89f
DM
21794 "type" : "string",
21795 "typetext" : "<string>"
7aacca6f 21796 },
44660702
DM
21797 "source" : {
21798 "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.",
21799 "format" : "pve-fw-addr-spec",
56122987 21800 "optional" : 1,
013dc89f
DM
21801 "type" : "string",
21802 "typetext" : "<string>"
7aacca6f 21803 },
44660702
DM
21804 "sport" : {
21805 "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.",
21806 "format" : "pve-fw-sport-spec",
21807 "optional" : 1,
013dc89f
DM
21808 "type" : "string",
21809 "typetext" : "<string>"
44660702
DM
21810 },
21811 "type" : {
e94f0d56 21812 "description" : "Rule type.",
44660702
DM
21813 "enum" : [
21814 "in",
21815 "out",
21816 "group"
21817 ],
21818 "optional" : 1,
21819 "type" : "string"
56122987 21820 }
44660702 21821 }
56122987 21822 },
56122987
DM
21823 "permissions" : {
21824 "check" : [
21825 "perm",
21826 "/nodes/{node}",
21827 [
21828 "Sys.Modify"
21829 ]
21830 ]
7aacca6f 21831 },
44660702 21832 "protected" : 1,
7aacca6f 21833 "proxyto" : "node",
7aacca6f
DM
21834 "returns" : {
21835 "type" : "null"
56122987
DM
21836 }
21837 }
7aacca6f 21838 },
44660702 21839 "leaf" : 1,
7aacca6f 21840 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 21841 "text" : "{pos}"
56122987
DM
21842 }
21843 ],
56122987
DM
21844 "info" : {
21845 "GET" : {
44660702
DM
21846 "description" : "List rules.",
21847 "method" : "GET",
21848 "name" : "get_rules",
21849 "parameters" : {
21850 "additionalProperties" : 0,
21851 "properties" : {
21852 "node" : {
21853 "description" : "The cluster node name.",
21854 "format" : "pve-node",
013dc89f
DM
21855 "type" : "string",
21856 "typetext" : "<string>"
44660702
DM
21857 }
21858 }
21859 },
21860 "permissions" : {
21861 "check" : [
21862 "perm",
21863 "/nodes/{node}",
21864 [
21865 "Sys.Audit"
21866 ]
21867 ]
21868 },
21869 "proxyto" : "node",
56122987 21870 "returns" : {
56122987
DM
21871 "items" : {
21872 "properties" : {
21873 "pos" : {
21874 "type" : "integer"
21875 }
44660702
DM
21876 },
21877 "type" : "object"
56122987 21878 },
7aacca6f
DM
21879 "links" : [
21880 {
21881 "href" : "{pos}",
21882 "rel" : "child"
21883 }
21884 ],
21885 "type" : "array"
44660702 21886 }
56122987
DM
21887 },
21888 "POST" : {
44660702 21889 "description" : "Create new rule.",
7aacca6f
DM
21890 "method" : "POST",
21891 "name" : "create_rule",
56122987 21892 "parameters" : {
44660702 21893 "additionalProperties" : 0,
56122987 21894 "properties" : {
7aacca6f 21895 "action" : {
7aacca6f 21896 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 21897 "maxLength" : 20,
7aacca6f
DM
21898 "minLength" : 2,
21899 "optional" : 0,
44660702
DM
21900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
21901 "type" : "string"
56122987 21902 },
44660702 21903 "comment" : {
e94f0d56 21904 "description" : "Descriptive comment.",
56122987 21905 "optional" : 1,
013dc89f
DM
21906 "type" : "string",
21907 "typetext" : "<string>"
56122987 21908 },
44660702
DM
21909 "dest" : {
21910 "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.",
21911 "format" : "pve-fw-addr-spec",
7aacca6f 21912 "optional" : 1,
013dc89f
DM
21913 "type" : "string",
21914 "typetext" : "<string>"
56122987 21915 },
44660702
DM
21916 "digest" : {
21917 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21918 "maxLength" : 40,
21919 "optional" : 1,
013dc89f
DM
21920 "type" : "string",
21921 "typetext" : "<string>"
56122987 21922 },
44660702
DM
21923 "dport" : {
21924 "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.",
21925 "format" : "pve-fw-dport-spec",
7aacca6f 21926 "optional" : 1,
013dc89f
DM
21927 "type" : "string",
21928 "typetext" : "<string>"
56122987 21929 },
44660702 21930 "enable" : {
e94f0d56 21931 "description" : "Flag to enable/disable a rule.",
44660702
DM
21932 "minimum" : 0,
21933 "optional" : 1,
4bd7df8b 21934 "type" : "integer",
013dc89f 21935 "typetext" : "<integer> (0 - N)"
44660702 21936 },
7aacca6f 21937 "iface" : {
44660702 21938 "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 21939 "format" : "pve-iface",
56122987 21940 "maxLength" : 20,
7aacca6f 21941 "minLength" : 2,
7aacca6f 21942 "optional" : 1,
013dc89f
DM
21943 "type" : "string",
21944 "typetext" : "<string>"
56122987 21945 },
44660702 21946 "macro" : {
e94f0d56 21947 "description" : "Use predefined standard macro.",
44660702 21948 "maxLength" : 128,
7aacca6f 21949 "optional" : 1,
013dc89f
DM
21950 "type" : "string",
21951 "typetext" : "<string>"
56122987 21952 },
44660702
DM
21953 "node" : {
21954 "description" : "The cluster node name.",
21955 "format" : "pve-node",
013dc89f
DM
21956 "type" : "string",
21957 "typetext" : "<string>"
44660702
DM
21958 },
21959 "pos" : {
21960 "description" : "Update rule at position <pos>.",
21961 "minimum" : 0,
21962 "optional" : 1,
4bd7df8b 21963 "type" : "integer",
013dc89f 21964 "typetext" : "<integer> (0 - N)"
44660702
DM
21965 },
21966 "proto" : {
21967 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
21968 "format" : "pve-fw-protocol-spec",
56122987 21969 "optional" : 1,
013dc89f
DM
21970 "type" : "string",
21971 "typetext" : "<string>"
56122987 21972 },
7aacca6f 21973 "source" : {
7aacca6f 21974 "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
21975 "format" : "pve-fw-addr-spec",
21976 "optional" : 1,
013dc89f
DM
21977 "type" : "string",
21978 "typetext" : "<string>"
7aacca6f 21979 },
44660702
DM
21980 "sport" : {
21981 "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.",
21982 "format" : "pve-fw-sport-spec",
7aacca6f 21983 "optional" : 1,
013dc89f
DM
21984 "type" : "string",
21985 "typetext" : "<string>"
44660702
DM
21986 },
21987 "type" : {
e94f0d56 21988 "description" : "Rule type.",
44660702
DM
21989 "enum" : [
21990 "in",
21991 "out",
21992 "group"
21993 ],
21994 "optional" : 0,
21995 "type" : "string"
56122987 21996 }
44660702 21997 }
7aacca6f 21998 },
56122987
DM
21999 "permissions" : {
22000 "check" : [
22001 "perm",
22002 "/nodes/{node}",
22003 [
22004 "Sys.Modify"
22005 ]
22006 ]
22007 },
44660702
DM
22008 "protected" : 1,
22009 "proxyto" : "node",
22010 "returns" : {
22011 "type" : "null"
22012 }
56122987
DM
22013 }
22014 },
44660702 22015 "leaf" : 0,
7aacca6f 22016 "path" : "/nodes/{node}/firewall/rules",
44660702 22017 "text" : "rules"
56122987
DM
22018 },
22019 {
56122987 22020 "info" : {
44660702
DM
22021 "GET" : {
22022 "description" : "Get host firewall options.",
22023 "method" : "GET",
22024 "name" : "get_options",
56122987 22025 "parameters" : {
7aacca6f 22026 "additionalProperties" : 0,
56122987 22027 "properties" : {
44660702
DM
22028 "node" : {
22029 "description" : "The cluster node name.",
22030 "format" : "pve-node",
013dc89f
DM
22031 "type" : "string",
22032 "typetext" : "<string>"
44660702
DM
22033 }
22034 }
22035 },
22036 "permissions" : {
22037 "check" : [
22038 "perm",
22039 "/nodes/{node}",
22040 [
22041 "Sys.Audit"
22042 ]
22043 ]
22044 },
22045 "proxyto" : "node",
22046 "returns" : {
22047 "properties" : {
22048 "enable" : {
22049 "description" : "Enable host firewall rules.",
7aacca6f 22050 "optional" : 1,
44660702 22051 "type" : "boolean"
7aacca6f 22052 },
44660702
DM
22053 "log_level_in" : {
22054 "description" : "Log level for incoming traffic.",
56122987
DM
22055 "enum" : [
22056 "emerg",
22057 "alert",
22058 "crit",
22059 "err",
22060 "warning",
22061 "notice",
22062 "info",
22063 "debug",
22064 "nolog"
22065 ],
56122987 22066 "optional" : 1,
44660702
DM
22067 "type" : "string"
22068 },
22069 "log_level_out" : {
22070 "description" : "Log level for outgoing traffic.",
56122987
DM
22071 "enum" : [
22072 "emerg",
22073 "alert",
22074 "crit",
22075 "err",
22076 "warning",
22077 "notice",
22078 "info",
22079 "debug",
22080 "nolog"
22081 ],
44660702
DM
22082 "optional" : 1,
22083 "type" : "string"
22084 },
22085 "ndp" : {
22086 "description" : "Enable NDP.",
22087 "optional" : 1,
22088 "type" : "boolean"
22089 },
22090 "nf_conntrack_max" : {
22091 "description" : "Maximum number of tracked connections.",
22092 "minimum" : 32768,
22093 "optional" : 1,
22094 "type" : "integer"
22095 },
22096 "nf_conntrack_tcp_timeout_established" : {
22097 "description" : "Conntrack established timeout.",
22098 "minimum" : 7875,
22099 "optional" : 1,
22100 "type" : "integer"
22101 },
22102 "nosmurfs" : {
22103 "description" : "Enable SMURFS filter.",
22104 "optional" : 1,
22105 "type" : "boolean"
56122987 22106 },
7aacca6f 22107 "smurf_log_level" : {
44660702 22108 "description" : "Log level for SMURFS filter.",
56122987
DM
22109 "enum" : [
22110 "emerg",
22111 "alert",
22112 "crit",
22113 "err",
22114 "warning",
22115 "notice",
22116 "info",
22117 "debug",
22118 "nolog"
7aacca6f 22119 ],
7aacca6f
DM
22120 "optional" : 1,
22121 "type" : "string"
56122987 22122 },
44660702
DM
22123 "tcp_flags_log_level" : {
22124 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
22125 "enum" : [
22126 "emerg",
22127 "alert",
22128 "crit",
22129 "err",
22130 "warning",
22131 "notice",
22132 "info",
22133 "debug",
22134 "nolog"
22135 ],
44660702
DM
22136 "optional" : 1,
22137 "type" : "string"
7aacca6f 22138 },
44660702
DM
22139 "tcpflags" : {
22140 "description" : "Filter illegal combinations of TCP flags.",
56122987 22141 "optional" : 1,
44660702 22142 "type" : "boolean"
56122987 22143 }
44660702
DM
22144 },
22145 "type" : "object"
7aacca6f 22146 }
56122987 22147 },
44660702
DM
22148 "PUT" : {
22149 "description" : "Set Firewall options.",
22150 "method" : "PUT",
22151 "name" : "set_options",
7aacca6f 22152 "parameters" : {
44660702 22153 "additionalProperties" : 0,
7aacca6f 22154 "properties" : {
44660702
DM
22155 "delete" : {
22156 "description" : "A list of settings you want to delete.",
22157 "format" : "pve-configid-list",
7aacca6f 22158 "optional" : 1,
013dc89f
DM
22159 "type" : "string",
22160 "typetext" : "<string>"
56122987 22161 },
44660702
DM
22162 "digest" : {
22163 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22164 "maxLength" : 40,
22165 "optional" : 1,
013dc89f
DM
22166 "type" : "string",
22167 "typetext" : "<string>"
56122987 22168 },
44660702
DM
22169 "enable" : {
22170 "description" : "Enable host firewall rules.",
7aacca6f 22171 "optional" : 1,
013dc89f
DM
22172 "type" : "boolean",
22173 "typetext" : "<boolean>"
44660702
DM
22174 },
22175 "log_level_in" : {
22176 "description" : "Log level for incoming traffic.",
56122987
DM
22177 "enum" : [
22178 "emerg",
22179 "alert",
22180 "crit",
22181 "err",
22182 "warning",
22183 "notice",
22184 "info",
22185 "debug",
22186 "nolog"
44660702 22187 ],
7aacca6f 22188 "optional" : 1,
44660702 22189 "type" : "string"
7aacca6f 22190 },
44660702
DM
22191 "log_level_out" : {
22192 "description" : "Log level for outgoing traffic.",
56122987
DM
22193 "enum" : [
22194 "emerg",
22195 "alert",
22196 "crit",
22197 "err",
22198 "warning",
22199 "notice",
22200 "info",
22201 "debug",
22202 "nolog"
22203 ],
22204 "optional" : 1,
7aacca6f 22205 "type" : "string"
56122987 22206 },
44660702
DM
22207 "ndp" : {
22208 "description" : "Enable NDP.",
7aacca6f 22209 "optional" : 1,
013dc89f
DM
22210 "type" : "boolean",
22211 "typetext" : "<boolean>"
44660702
DM
22212 },
22213 "nf_conntrack_max" : {
22214 "description" : "Maximum number of tracked connections.",
22215 "minimum" : 32768,
22216 "optional" : 1,
4bd7df8b 22217 "type" : "integer",
013dc89f 22218 "typetext" : "<integer> (32768 - N)"
44660702
DM
22219 },
22220 "nf_conntrack_tcp_timeout_established" : {
22221 "description" : "Conntrack established timeout.",
22222 "minimum" : 7875,
22223 "optional" : 1,
4bd7df8b 22224 "type" : "integer",
013dc89f 22225 "typetext" : "<integer> (7875 - N)"
44660702
DM
22226 },
22227 "node" : {
22228 "description" : "The cluster node name.",
22229 "format" : "pve-node",
013dc89f
DM
22230 "type" : "string",
22231 "typetext" : "<string>"
44660702
DM
22232 },
22233 "nosmurfs" : {
22234 "description" : "Enable SMURFS filter.",
22235 "optional" : 1,
013dc89f
DM
22236 "type" : "boolean",
22237 "typetext" : "<boolean>"
44660702
DM
22238 },
22239 "smurf_log_level" : {
22240 "description" : "Log level for SMURFS filter.",
56122987
DM
22241 "enum" : [
22242 "emerg",
22243 "alert",
22244 "crit",
22245 "err",
22246 "warning",
22247 "notice",
22248 "info",
22249 "debug",
22250 "nolog"
44660702
DM
22251 ],
22252 "optional" : 1,
22253 "type" : "string"
56122987 22254 },
44660702
DM
22255 "tcp_flags_log_level" : {
22256 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
22257 "enum" : [
22258 "emerg",
22259 "alert",
22260 "crit",
22261 "err",
22262 "warning",
22263 "notice",
22264 "info",
22265 "debug",
22266 "nolog"
22267 ],
44660702
DM
22268 "optional" : 1,
22269 "type" : "string"
7aacca6f 22270 },
44660702
DM
22271 "tcpflags" : {
22272 "description" : "Filter illegal combinations of TCP flags.",
56122987 22273 "optional" : 1,
013dc89f
DM
22274 "type" : "boolean",
22275 "typetext" : "<boolean>"
56122987 22276 }
7aacca6f 22277 }
56122987 22278 },
44660702
DM
22279 "permissions" : {
22280 "check" : [
22281 "perm",
22282 "/nodes/{node}",
22283 [
22284 "Sys.Modify"
22285 ]
22286 ]
22287 },
22288 "protected" : 1,
22289 "proxyto" : "node",
22290 "returns" : {
22291 "type" : "null"
22292 }
7aacca6f
DM
22293 }
22294 },
44660702
DM
22295 "leaf" : 1,
22296 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
22297 "text" : "options"
22298 },
22299 {
7aacca6f
DM
22300 "info" : {
22301 "GET" : {
44660702
DM
22302 "description" : "Read firewall log",
22303 "method" : "GET",
7aacca6f 22304 "name" : "log",
56122987 22305 "parameters" : {
44660702 22306 "additionalProperties" : 0,
56122987 22307 "properties" : {
7aacca6f 22308 "limit" : {
44660702 22309 "minimum" : 0,
7aacca6f 22310 "optional" : 1,
4bd7df8b 22311 "type" : "integer",
013dc89f 22312 "typetext" : "<integer> (0 - N)"
7aacca6f 22313 },
56122987 22314 "node" : {
7aacca6f 22315 "description" : "The cluster node name.",
44660702 22316 "format" : "pve-node",
013dc89f
DM
22317 "type" : "string",
22318 "typetext" : "<string>"
44660702
DM
22319 },
22320 "start" : {
22321 "minimum" : 0,
22322 "optional" : 1,
4bd7df8b 22323 "type" : "integer",
013dc89f 22324 "typetext" : "<integer> (0 - N)"
56122987 22325 }
44660702 22326 }
7aacca6f 22327 },
56122987
DM
22328 "permissions" : {
22329 "check" : [
22330 "perm",
22331 "/nodes/{node}",
22332 [
22333 "Sys.Syslog"
22334 ]
22335 ]
22336 },
44660702
DM
22337 "protected" : 1,
22338 "proxyto" : "node",
56122987
DM
22339 "returns" : {
22340 "items" : {
56122987 22341 "properties" : {
56122987 22342 "n" : {
44660702
DM
22343 "description" : "Line number",
22344 "type" : "integer"
7aacca6f
DM
22345 },
22346 "t" : {
44660702
DM
22347 "description" : "Line text",
22348 "type" : "string"
56122987 22349 }
44660702
DM
22350 },
22351 "type" : "object"
56122987
DM
22352 },
22353 "type" : "array"
7aacca6f 22354 }
56122987
DM
22355 }
22356 },
44660702
DM
22357 "leaf" : 1,
22358 "path" : "/nodes/{node}/firewall/log",
7aacca6f 22359 "text" : "log"
56122987
DM
22360 }
22361 ],
22362 "info" : {
22363 "GET" : {
44660702
DM
22364 "description" : "Directory index.",
22365 "method" : "GET",
22366 "name" : "index",
56122987 22367 "parameters" : {
44660702 22368 "additionalProperties" : 0,
56122987
DM
22369 "properties" : {
22370 "node" : {
22371 "description" : "The cluster node name.",
44660702 22372 "format" : "pve-node",
013dc89f
DM
22373 "type" : "string",
22374 "typetext" : "<string>"
56122987 22375 }
44660702 22376 }
56122987 22377 },
7aacca6f
DM
22378 "permissions" : {
22379 "user" : "all"
22380 },
56122987
DM
22381 "returns" : {
22382 "items" : {
22383 "properties" : {},
22384 "type" : "object"
22385 },
56122987
DM
22386 "links" : [
22387 {
44660702
DM
22388 "href" : "{name}",
22389 "rel" : "child"
56122987 22390 }
44660702
DM
22391 ],
22392 "type" : "array"
22393 }
56122987 22394 }
7aacca6f 22395 },
44660702 22396 "leaf" : 0,
7aacca6f 22397 "path" : "/nodes/{node}/firewall",
44660702 22398 "text" : "firewall"
56122987
DM
22399 },
22400 {
56122987
DM
22401 "info" : {
22402 "GET" : {
44660702
DM
22403 "description" : "API version details",
22404 "method" : "GET",
22405 "name" : "version",
56122987 22406 "parameters" : {
44660702 22407 "additionalProperties" : 0,
56122987
DM
22408 "properties" : {
22409 "node" : {
56122987 22410 "description" : "The cluster node name.",
44660702 22411 "format" : "pve-node",
013dc89f
DM
22412 "type" : "string",
22413 "typetext" : "<string>"
56122987 22414 }
44660702 22415 }
56122987 22416 },
56122987 22417 "permissions" : {
7aacca6f 22418 "user" : "all"
56122987 22419 },
56122987 22420 "proxyto" : "node",
56122987 22421 "returns" : {
56122987 22422 "properties" : {
44660702 22423 "release" : {
56122987
DM
22424 "type" : "string"
22425 },
44660702 22426 "repoid" : {
7aacca6f
DM
22427 "type" : "string"
22428 },
22429 "version" : {
22430 "type" : "string"
22431 }
44660702
DM
22432 },
22433 "type" : "object"
7aacca6f 22434 }
56122987
DM
22435 }
22436 },
56122987 22437 "leaf" : 1,
44660702
DM
22438 "path" : "/nodes/{node}/version",
22439 "text" : "version"
56122987
DM
22440 },
22441 {
56122987
DM
22442 "info" : {
22443 "GET" : {
7aacca6f 22444 "description" : "Read node status",
44660702 22445 "method" : "GET",
7aacca6f 22446 "name" : "status",
56122987 22447 "parameters" : {
44660702 22448 "additionalProperties" : 0,
56122987
DM
22449 "properties" : {
22450 "node" : {
7aacca6f 22451 "description" : "The cluster node name.",
44660702 22452 "format" : "pve-node",
013dc89f
DM
22453 "type" : "string",
22454 "typetext" : "<string>"
56122987 22455 }
44660702 22456 }
56122987 22457 },
56122987
DM
22458 "permissions" : {
22459 "check" : [
22460 "perm",
22461 "/nodes/{node}",
22462 [
22463 "Sys.Audit"
22464 ]
22465 ]
44660702
DM
22466 },
22467 "proxyto" : "node",
22468 "returns" : {
22469 "properties" : {},
22470 "type" : "object"
7aacca6f
DM
22471 }
22472 },
22473 "POST" : {
44660702
DM
22474 "description" : "Reboot or shutdown a node.",
22475 "method" : "POST",
7aacca6f 22476 "name" : "node_cmd",
56122987 22477 "parameters" : {
44660702 22478 "additionalProperties" : 0,
56122987 22479 "properties" : {
7aacca6f
DM
22480 "command" : {
22481 "description" : "Specify the command.",
56122987 22482 "enum" : [
7aacca6f
DM
22483 "reboot",
22484 "shutdown"
56122987
DM
22485 ],
22486 "type" : "string"
44660702
DM
22487 },
22488 "node" : {
22489 "description" : "The cluster node name.",
22490 "format" : "pve-node",
013dc89f
DM
22491 "type" : "string",
22492 "typetext" : "<string>"
56122987 22493 }
44660702 22494 }
7aacca6f 22495 },
7aacca6f
DM
22496 "permissions" : {
22497 "check" : [
22498 "perm",
22499 "/nodes/{node}",
22500 [
22501 "Sys.PowerMgmt"
22502 ]
22503 ]
22504 },
44660702 22505 "protected" : 1,
7aacca6f 22506 "proxyto" : "node",
7aacca6f
DM
22507 "returns" : {
22508 "type" : "null"
56122987
DM
22509 }
22510 }
22511 },
7aacca6f 22512 "leaf" : 1,
44660702
DM
22513 "path" : "/nodes/{node}/status",
22514 "text" : "status"
56122987
DM
22515 },
22516 {
56122987
DM
22517 "info" : {
22518 "GET" : {
44660702
DM
22519 "description" : "Read tap/vm network device interface counters",
22520 "method" : "GET",
22521 "name" : "netstat",
22522 "parameters" : {
22523 "additionalProperties" : 0,
22524 "properties" : {
22525 "node" : {
22526 "description" : "The cluster node name.",
22527 "format" : "pve-node",
013dc89f
DM
22528 "type" : "string",
22529 "typetext" : "<string>"
44660702 22530 }
56122987
DM
22531 }
22532 },
22533 "permissions" : {
22534 "check" : [
22535 "perm",
22536 "/nodes/{node}",
22537 [
7aacca6f 22538 "Sys.Audit"
56122987
DM
22539 ]
22540 ]
22541 },
7aacca6f 22542 "proxyto" : "node",
44660702
DM
22543 "returns" : {
22544 "items" : {
22545 "properties" : {},
22546 "type" : "object"
22547 },
22548 "type" : "array"
22549 }
7aacca6f
DM
22550 }
22551 },
44660702
DM
22552 "leaf" : 1,
22553 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
22554 "text" : "netstat"
22555 },
22556 {
22557 "info" : {
22558 "POST" : {
7aacca6f 22559 "description" : "Execute multiple commands in order.",
7aacca6f 22560 "method" : "POST",
7aacca6f 22561 "name" : "execute",
56122987
DM
22562 "parameters" : {
22563 "additionalProperties" : 0,
22564 "properties" : {
7aacca6f
DM
22565 "commands" : {
22566 "description" : "JSON encoded array of commands.",
013dc89f
DM
22567 "type" : "string",
22568 "typetext" : "<string>"
56122987
DM
22569 },
22570 "node" : {
44660702 22571 "description" : "The cluster node name.",
56122987 22572 "format" : "pve-node",
013dc89f
DM
22573 "type" : "string",
22574 "typetext" : "<string>"
56122987
DM
22575 }
22576 }
44660702
DM
22577 },
22578 "permissions" : {
22579 "check" : [
22580 "perm",
22581 "/nodes/{node}",
22582 [
22583 "Sys.Audit"
22584 ]
22585 ]
22586 },
22587 "protected" : 1,
22588 "proxyto" : "node",
22589 "returns" : {
22590 "properties" : {},
22591 "type" : "array"
56122987
DM
22592 }
22593 }
22594 },
56122987 22595 "leaf" : 1,
44660702
DM
22596 "path" : "/nodes/{node}/execute",
22597 "text" : "execute"
56122987
DM
22598 },
22599 {
22600 "info" : {
7aacca6f 22601 "GET" : {
44660702
DM
22602 "description" : "Read node RRD statistics (returns PNG)",
22603 "method" : "GET",
7aacca6f 22604 "name" : "rrd",
56122987 22605 "parameters" : {
7aacca6f 22606 "additionalProperties" : 0,
56122987 22607 "properties" : {
44660702
DM
22608 "cf" : {
22609 "description" : "The RRD consolidation function",
22610 "enum" : [
22611 "AVERAGE",
22612 "MAX"
22613 ],
22614 "optional" : 1,
22615 "type" : "string"
22616 },
7aacca6f 22617 "ds" : {
7aacca6f 22618 "description" : "The list of datasources you want to display.",
44660702 22619 "format" : "pve-configid-list",
013dc89f
DM
22620 "type" : "string",
22621 "typetext" : "<string>"
44660702
DM
22622 },
22623 "node" : {
22624 "description" : "The cluster node name.",
22625 "format" : "pve-node",
013dc89f
DM
22626 "type" : "string",
22627 "typetext" : "<string>"
7aacca6f
DM
22628 },
22629 "timeframe" : {
22630 "description" : "Specify the time frame you are interested in.",
22631 "enum" : [
22632 "hour",
22633 "day",
22634 "week",
22635 "month",
22636 "year"
22637 ],
22638 "type" : "string"
56122987 22639 }
7aacca6f 22640 }
56122987 22641 },
56122987 22642 "permissions" : {
56122987
DM
22643 "check" : [
22644 "perm",
22645 "/nodes/{node}",
22646 [
7aacca6f 22647 "Sys.Audit"
56122987
DM
22648 ]
22649 ]
22650 },
7aacca6f 22651 "protected" : 1,
56122987 22652 "returns" : {
56122987 22653 "properties" : {
7aacca6f 22654 "filename" : {
56122987
DM
22655 "type" : "string"
22656 }
44660702
DM
22657 },
22658 "type" : "object"
22659 }
56122987
DM
22660 }
22661 },
44660702 22662 "leaf" : 1,
7aacca6f 22663 "path" : "/nodes/{node}/rrd",
44660702 22664 "text" : "rrd"
56122987
DM
22665 },
22666 {
22667 "info" : {
7aacca6f 22668 "GET" : {
44660702
DM
22669 "description" : "Read node RRD statistics",
22670 "method" : "GET",
7aacca6f 22671 "name" : "rrddata",
56122987 22672 "parameters" : {
44660702 22673 "additionalProperties" : 0,
56122987 22674 "properties" : {
7aacca6f 22675 "cf" : {
7aacca6f
DM
22676 "description" : "The RRD consolidation function",
22677 "enum" : [
22678 "AVERAGE",
22679 "MAX"
44660702
DM
22680 ],
22681 "optional" : 1,
22682 "type" : "string"
56122987
DM
22683 },
22684 "node" : {
44660702 22685 "description" : "The cluster node name.",
56122987 22686 "format" : "pve-node",
013dc89f
DM
22687 "type" : "string",
22688 "typetext" : "<string>"
56122987 22689 },
7aacca6f 22690 "timeframe" : {
7aacca6f
DM
22691 "description" : "Specify the time frame you are interested in.",
22692 "enum" : [
22693 "hour",
22694 "day",
22695 "week",
22696 "month",
22697 "year"
44660702
DM
22698 ],
22699 "type" : "string"
56122987 22700 }
56122987
DM
22701 }
22702 },
56122987
DM
22703 "permissions" : {
22704 "check" : [
22705 "perm",
22706 "/nodes/{node}",
22707 [
44660702 22708 "Sys.Audit"
56122987
DM
22709 ]
22710 ]
7aacca6f 22711 },
44660702 22712 "protected" : 1,
56122987 22713 "returns" : {
7aacca6f 22714 "items" : {
44660702 22715 "properties" : {},
7aacca6f
DM
22716 "type" : "object"
22717 },
22718 "type" : "array"
44660702
DM
22719 }
22720 }
22721 },
22722 "leaf" : 1,
22723 "path" : "/nodes/{node}/rrddata",
22724 "text" : "rrddata"
22725 },
22726 {
22727 "info" : {
22728 "GET" : {
22729 "description" : "Read system log",
22730 "method" : "GET",
22731 "name" : "syslog",
56122987 22732 "parameters" : {
44660702 22733 "additionalProperties" : 0,
56122987 22734 "properties" : {
44660702
DM
22735 "limit" : {
22736 "minimum" : 0,
7aacca6f 22737 "optional" : 1,
4bd7df8b 22738 "type" : "integer",
013dc89f 22739 "typetext" : "<integer> (0 - N)"
7aacca6f 22740 },
56122987 22741 "node" : {
7aacca6f 22742 "description" : "The cluster node name.",
44660702 22743 "format" : "pve-node",
013dc89f
DM
22744 "type" : "string",
22745 "typetext" : "<string>"
56122987 22746 },
44660702
DM
22747 "since" : {
22748 "description" : "Display all log since this date-time string.",
22749 "optional" : 1,
22750 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
22751 "type" : "string"
22752 },
22753 "start" : {
7aacca6f
DM
22754 "minimum" : 0,
22755 "optional" : 1,
4bd7df8b 22756 "type" : "integer",
013dc89f 22757 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
22758 },
22759 "until" : {
22760 "description" : "Display all log until this date-time string.",
7aacca6f 22761 "optional" : 1,
44660702 22762 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
22763 "type" : "string"
22764 }
44660702 22765 }
56122987 22766 },
44660702
DM
22767 "permissions" : {
22768 "check" : [
22769 "perm",
22770 "/nodes/{node}",
22771 [
22772 "Sys.Syslog"
22773 ]
22774 ]
22775 },
22776 "protected" : 1,
22777 "proxyto" : "node",
22778 "returns" : {
22779 "items" : {
22780 "properties" : {
22781 "n" : {
22782 "description" : "Line number",
22783 "type" : "integer"
22784 },
22785 "t" : {
22786 "description" : "Line text",
22787 "type" : "string"
22788 }
22789 },
22790 "type" : "object"
22791 },
22792 "type" : "array"
22793 }
56122987
DM
22794 }
22795 },
44660702
DM
22796 "leaf" : 1,
22797 "path" : "/nodes/{node}/syslog",
7aacca6f 22798 "text" : "syslog"
56122987
DM
22799 },
22800 {
56122987
DM
22801 "info" : {
22802 "POST" : {
44660702
DM
22803 "description" : "Creates a VNC Shell proxy.",
22804 "method" : "POST",
22805 "name" : "vncshell",
22806 "parameters" : {
22807 "additionalProperties" : 0,
56122987 22808 "properties" : {
44660702
DM
22809 "node" : {
22810 "description" : "The cluster node name.",
22811 "format" : "pve-node",
013dc89f
DM
22812 "type" : "string",
22813 "typetext" : "<string>"
7aacca6f 22814 },
44660702
DM
22815 "upgrade" : {
22816 "default" : 0,
22817 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22818 "optional" : 1,
013dc89f
DM
22819 "type" : "boolean",
22820 "typetext" : "<boolean>"
7aacca6f 22821 },
44660702
DM
22822 "websocket" : {
22823 "description" : "use websocket instead of standard vnc.",
22824 "optional" : 1,
013dc89f
DM
22825 "type" : "boolean",
22826 "typetext" : "<boolean>"
56122987 22827 }
44660702 22828 }
56122987 22829 },
56122987
DM
22830 "permissions" : {
22831 "check" : [
22832 "perm",
7aacca6f 22833 "/nodes/{node}",
56122987 22834 [
7aacca6f 22835 "Sys.Console"
56122987 22836 ]
44660702
DM
22837 ],
22838 "description" : "Restricted to users on realm 'pam'"
56122987 22839 },
44660702
DM
22840 "protected" : 1,
22841 "returns" : {
22842 "additionalProperties" : 0,
56122987 22843 "properties" : {
44660702
DM
22844 "cert" : {
22845 "type" : "string"
7aacca6f 22846 },
44660702
DM
22847 "port" : {
22848 "type" : "integer"
7aacca6f 22849 },
44660702
DM
22850 "ticket" : {
22851 "type" : "string"
22852 },
22853 "upid" : {
22854 "type" : "string"
22855 },
22856 "user" : {
22857 "type" : "string"
56122987 22858 }
44660702
DM
22859 }
22860 }
56122987
DM
22861 }
22862 },
7aacca6f 22863 "leaf" : 1,
44660702
DM
22864 "path" : "/nodes/{node}/vncshell",
22865 "text" : "vncshell"
56122987
DM
22866 },
22867 {
22868 "info" : {
22869 "GET" : {
7aacca6f 22870 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
22871 "method" : "GET",
22872 "name" : "vncwebsocket",
56122987 22873 "parameters" : {
44660702 22874 "additionalProperties" : 0,
56122987
DM
22875 "properties" : {
22876 "node" : {
22877 "description" : "The cluster node name.",
44660702 22878 "format" : "pve-node",
013dc89f
DM
22879 "type" : "string",
22880 "typetext" : "<string>"
7aacca6f
DM
22881 },
22882 "port" : {
7aacca6f
DM
22883 "description" : "Port number returned by previous vncproxy call.",
22884 "maximum" : 5999,
44660702 22885 "minimum" : 5900,
4bd7df8b 22886 "type" : "integer",
013dc89f 22887 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
22888 },
22889 "vncticket" : {
22890 "description" : "Ticket from previous call to vncproxy.",
22891 "maxLength" : 512,
013dc89f
DM
22892 "type" : "string",
22893 "typetext" : "<string>"
56122987 22894 }
44660702 22895 }
56122987 22896 },
56122987
DM
22897 "permissions" : {
22898 "check" : [
22899 "perm",
22900 "/nodes/{node}",
22901 [
7aacca6f 22902 "Sys.Console"
56122987 22903 ]
44660702
DM
22904 ],
22905 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
22906 },
22907 "returns" : {
22908 "properties" : {
22909 "port" : {
22910 "type" : "string"
22911 }
22912 },
22913 "type" : "object"
7aacca6f 22914 }
56122987
DM
22915 }
22916 },
44660702 22917 "leaf" : 1,
7aacca6f 22918 "path" : "/nodes/{node}/vncwebsocket",
44660702 22919 "text" : "vncwebsocket"
56122987
DM
22920 },
22921 {
22922 "info" : {
22923 "POST" : {
44660702 22924 "description" : "Creates a SPICE shell.",
7aacca6f 22925 "method" : "POST",
44660702 22926 "name" : "spiceshell",
56122987 22927 "parameters" : {
7aacca6f 22928 "additionalProperties" : 0,
56122987 22929 "properties" : {
7aacca6f 22930 "node" : {
44660702 22931 "description" : "The cluster node name.",
56122987 22932 "format" : "pve-node",
013dc89f
DM
22933 "type" : "string",
22934 "typetext" : "<string>"
7aacca6f 22935 },
44660702
DM
22936 "proxy" : {
22937 "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).",
22938 "format" : "address",
22939 "optional" : 1,
013dc89f
DM
22940 "type" : "string",
22941 "typetext" : "<string>"
7aacca6f 22942 },
44660702
DM
22943 "upgrade" : {
22944 "default" : 0,
22945 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
22946 "optional" : 1,
013dc89f
DM
22947 "type" : "boolean",
22948 "typetext" : "<boolean>"
56122987 22949 }
7aacca6f 22950 }
56122987 22951 },
56122987
DM
22952 "permissions" : {
22953 "check" : [
22954 "perm",
7aacca6f 22955 "/nodes/{node}",
56122987 22956 [
7aacca6f 22957 "Sys.Console"
56122987 22958 ]
7aacca6f
DM
22959 ],
22960 "description" : "Restricted to users on realm 'pam'"
44660702
DM
22961 },
22962 "protected" : 1,
22963 "proxyto" : "node",
22964 "returns" : {
22965 "additionalProperties" : 1,
22966 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
22967 "properties" : {
22968 "host" : {
22969 "type" : "string"
22970 },
22971 "password" : {
22972 "type" : "string"
22973 },
22974 "proxy" : {
22975 "type" : "string"
22976 },
22977 "tls-port" : {
22978 "type" : "integer"
22979 },
22980 "type" : {
22981 "type" : "string"
22982 }
22983 }
7aacca6f 22984 }
56122987
DM
22985 }
22986 },
56122987 22987 "leaf" : 1,
44660702
DM
22988 "path" : "/nodes/{node}/spiceshell",
22989 "text" : "spiceshell"
56122987
DM
22990 },
22991 {
56122987 22992 "info" : {
7aacca6f 22993 "GET" : {
44660702 22994 "description" : "Read DNS settings.",
7aacca6f 22995 "method" : "GET",
44660702
DM
22996 "name" : "dns",
22997 "parameters" : {
7aacca6f
DM
22998 "additionalProperties" : 0,
22999 "properties" : {
44660702
DM
23000 "node" : {
23001 "description" : "The cluster node name.",
23002 "format" : "pve-node",
013dc89f
DM
23003 "type" : "string",
23004 "typetext" : "<string>"
7aacca6f
DM
23005 }
23006 }
23007 },
7aacca6f
DM
23008 "permissions" : {
23009 "check" : [
23010 "perm",
23011 "/nodes/{node}",
23012 [
23013 "Sys.Audit"
23014 ]
23015 ]
23016 },
44660702
DM
23017 "proxyto" : "node",
23018 "returns" : {
56122987
DM
23019 "additionalProperties" : 0,
23020 "properties" : {
44660702
DM
23021 "dns1" : {
23022 "description" : "First name server IP address.",
23023 "optional" : 1,
23024 "type" : "string"
23025 },
23026 "dns2" : {
23027 "description" : "Second name server IP address.",
23028 "optional" : 1,
23029 "type" : "string"
23030 },
23031 "dns3" : {
23032 "description" : "Third name server IP address.",
23033 "optional" : 1,
23034 "type" : "string"
23035 },
23036 "search" : {
23037 "description" : "Search domain for host-name lookup.",
23038 "optional" : 1,
23039 "type" : "string"
7aacca6f 23040 }
44660702
DM
23041 },
23042 "type" : "object"
23043 }
7aacca6f
DM
23044 },
23045 "PUT" : {
44660702
DM
23046 "description" : "Write DNS settings.",
23047 "method" : "PUT",
7aacca6f
DM
23048 "name" : "update_dns",
23049 "parameters" : {
23050 "additionalProperties" : 0,
23051 "properties" : {
44660702
DM
23052 "dns1" : {
23053 "description" : "First name server IP address.",
23054 "format" : "ip",
23055 "optional" : 1,
013dc89f
DM
23056 "type" : "string",
23057 "typetext" : "<string>"
7aacca6f 23058 },
44660702
DM
23059 "dns2" : {
23060 "description" : "Second name server IP address.",
23061 "format" : "ip",
7aacca6f 23062 "optional" : 1,
013dc89f
DM
23063 "type" : "string",
23064 "typetext" : "<string>"
7aacca6f 23065 },
44660702
DM
23066 "dns3" : {
23067 "description" : "Third name server IP address.",
23068 "format" : "ip",
7aacca6f 23069 "optional" : 1,
013dc89f
DM
23070 "type" : "string",
23071 "typetext" : "<string>"
7aacca6f
DM
23072 },
23073 "node" : {
44660702 23074 "description" : "The cluster node name.",
56122987 23075 "format" : "pve-node",
013dc89f
DM
23076 "type" : "string",
23077 "typetext" : "<string>"
7aacca6f 23078 },
44660702
DM
23079 "search" : {
23080 "description" : "Search domain for host-name lookup.",
013dc89f
DM
23081 "type" : "string",
23082 "typetext" : "<string>"
56122987
DM
23083 }
23084 }
23085 },
23086 "permissions" : {
23087 "check" : [
23088 "perm",
7aacca6f 23089 "/nodes/{node}",
56122987 23090 [
7aacca6f 23091 "Sys.Modify"
56122987
DM
23092 ]
23093 ]
23094 },
44660702 23095 "protected" : 1,
7aacca6f 23096 "proxyto" : "node",
56122987 23097 "returns" : {
7aacca6f
DM
23098 "type" : "null"
23099 }
56122987 23100 }
44660702
DM
23101 },
23102 "leaf" : 1,
23103 "path" : "/nodes/{node}/dns",
23104 "text" : "dns"
56122987
DM
23105 },
23106 {
23107 "info" : {
7aacca6f 23108 "GET" : {
7aacca6f 23109 "description" : "Read server time and time zone settings.",
44660702
DM
23110 "method" : "GET",
23111 "name" : "time",
56122987 23112 "parameters" : {
44660702 23113 "additionalProperties" : 0,
56122987
DM
23114 "properties" : {
23115 "node" : {
44660702 23116 "description" : "The cluster node name.",
56122987 23117 "format" : "pve-node",
013dc89f
DM
23118 "type" : "string",
23119 "typetext" : "<string>"
56122987 23120 }
44660702 23121 }
56122987
DM
23122 },
23123 "permissions" : {
23124 "check" : [
23125 "perm",
7aacca6f 23126 "/nodes/{node}",
56122987 23127 [
7aacca6f 23128 "Sys.Audit"
56122987
DM
23129 ]
23130 ]
44660702
DM
23131 },
23132 "proxyto" : "node",
23133 "returns" : {
23134 "additionalProperties" : 0,
23135 "properties" : {
23136 "localtime" : {
23137 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
23138 "minimum" : 1297163644,
23139 "type" : "integer"
23140 },
23141 "time" : {
23142 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
23143 "minimum" : 1297163644,
23144 "type" : "integer"
23145 },
23146 "timezone" : {
23147 "description" : "Time zone",
23148 "type" : "string"
23149 }
23150 },
23151 "type" : "object"
7aacca6f
DM
23152 }
23153 },
23154 "PUT" : {
7aacca6f 23155 "description" : "Set time zone.",
44660702
DM
23156 "method" : "PUT",
23157 "name" : "set_timezone",
23158 "parameters" : {
23159 "additionalProperties" : 0,
23160 "properties" : {
23161 "node" : {
23162 "description" : "The cluster node name.",
23163 "format" : "pve-node",
013dc89f
DM
23164 "type" : "string",
23165 "typetext" : "<string>"
44660702
DM
23166 },
23167 "timezone" : {
23168 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
23169 "type" : "string",
23170 "typetext" : "<string>"
44660702
DM
23171 }
23172 }
23173 },
7aacca6f
DM
23174 "permissions" : {
23175 "check" : [
23176 "perm",
23177 "/nodes/{node}",
23178 [
23179 "Sys.Modify"
23180 ]
23181 ]
56122987 23182 },
7aacca6f 23183 "protected" : 1,
44660702
DM
23184 "proxyto" : "node",
23185 "returns" : {
23186 "type" : "null"
23187 }
7aacca6f
DM
23188 }
23189 },
7aacca6f 23190 "leaf" : 1,
44660702
DM
23191 "path" : "/nodes/{node}/time",
23192 "text" : "time"
7aacca6f
DM
23193 },
23194 {
23195 "info" : {
44660702
DM
23196 "GET" : {
23197 "description" : "Get list of appliances.",
23198 "method" : "GET",
23199 "name" : "aplinfo",
7aacca6f
DM
23200 "parameters" : {
23201 "additionalProperties" : 0,
23202 "properties" : {
7aacca6f 23203 "node" : {
44660702 23204 "description" : "The cluster node name.",
7aacca6f 23205 "format" : "pve-node",
013dc89f
DM
23206 "type" : "string",
23207 "typetext" : "<string>"
7aacca6f
DM
23208 }
23209 }
56122987 23210 },
7aacca6f 23211 "permissions" : {
44660702 23212 "user" : "all"
56122987 23213 },
44660702 23214 "proxyto" : "node",
7aacca6f
DM
23215 "returns" : {
23216 "items" : {
44660702
DM
23217 "properties" : {},
23218 "type" : "object"
7aacca6f
DM
23219 },
23220 "type" : "array"
44660702
DM
23221 }
23222 },
23223 "POST" : {
23224 "description" : "Download appliance templates.",
23225 "method" : "POST",
23226 "name" : "apl_download",
7aacca6f
DM
23227 "parameters" : {
23228 "additionalProperties" : 0,
23229 "properties" : {
23230 "node" : {
7aacca6f 23231 "description" : "The cluster node name.",
44660702 23232 "format" : "pve-node",
013dc89f
DM
23233 "type" : "string",
23234 "typetext" : "<string>"
44660702
DM
23235 },
23236 "storage" : {
4bd7df8b 23237 "description" : "The storage where the template will be stored",
44660702 23238 "format" : "pve-storage-id",
013dc89f
DM
23239 "type" : "string",
23240 "typetext" : "<string>"
44660702
DM
23241 },
23242 "template" : {
23243 "description" : "The template wich will downloaded",
23244 "maxLength" : 255,
013dc89f
DM
23245 "type" : "string",
23246 "typetext" : "<string>"
7aacca6f
DM
23247 }
23248 }
56122987 23249 },
7aacca6f 23250 "permissions" : {
44660702
DM
23251 "check" : [
23252 "perm",
23253 "/storage/{storage}",
23254 [
23255 "Datastore.AllocateTemplate"
23256 ]
23257 ]
23258 },
23259 "protected" : 1,
23260 "proxyto" : "node",
23261 "returns" : {
23262 "type" : "string"
7aacca6f
DM
23263 }
23264 }
23265 },
7aacca6f 23266 "leaf" : 1,
44660702
DM
23267 "path" : "/nodes/{node}/aplinfo",
23268 "text" : "aplinfo"
7aacca6f
DM
23269 },
23270 {
23271 "info" : {
23272 "GET" : {
44660702
DM
23273 "description" : "Gather various systems information about a node",
23274 "method" : "GET",
23275 "name" : "report",
7aacca6f 23276 "parameters" : {
44660702 23277 "additionalProperties" : 0,
7aacca6f
DM
23278 "properties" : {
23279 "node" : {
7aacca6f 23280 "description" : "The cluster node name.",
44660702 23281 "format" : "pve-node",
013dc89f
DM
23282 "type" : "string",
23283 "typetext" : "<string>"
7aacca6f 23284 }
44660702 23285 }
56122987 23286 },
7aacca6f
DM
23287 "permissions" : {
23288 "check" : [
23289 "perm",
23290 "/nodes/{node}",
23291 [
23292 "Sys.Audit"
23293 ]
23294 ]
56122987 23295 },
44660702 23296 "protected" : 1,
7aacca6f
DM
23297 "proxyto" : "node",
23298 "returns" : {
56122987 23299 "type" : "string"
7aacca6f
DM
23300 }
23301 }
23302 },
7aacca6f 23303 "leaf" : 1,
44660702
DM
23304 "path" : "/nodes/{node}/report",
23305 "text" : "report"
7aacca6f
DM
23306 },
23307 {
7aacca6f
DM
23308 "info" : {
23309 "POST" : {
44660702 23310 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 23311 "method" : "POST",
44660702 23312 "name" : "startall",
7aacca6f 23313 "parameters" : {
44660702 23314 "additionalProperties" : 0,
7aacca6f
DM
23315 "properties" : {
23316 "force" : {
44660702 23317 "description" : "force if onboot=0.",
7aacca6f 23318 "optional" : 1,
013dc89f
DM
23319 "type" : "boolean",
23320 "typetext" : "<boolean>"
7aacca6f
DM
23321 },
23322 "node" : {
7aacca6f 23323 "description" : "The cluster node name.",
44660702 23324 "format" : "pve-node",
013dc89f
DM
23325 "type" : "string",
23326 "typetext" : "<string>"
7aacca6f 23327 }
44660702 23328 }
56122987 23329 },
7aacca6f
DM
23330 "permissions" : {
23331 "check" : [
23332 "perm",
23333 "/",
23334 [
23335 "VM.PowerMgmt"
23336 ]
23337 ]
44660702
DM
23338 },
23339 "protected" : 1,
23340 "proxyto" : "node",
23341 "returns" : {
23342 "type" : "string"
7aacca6f
DM
23343 }
23344 }
23345 },
44660702 23346 "leaf" : 1,
7aacca6f 23347 "path" : "/nodes/{node}/startall",
44660702 23348 "text" : "startall"
7aacca6f
DM
23349 },
23350 {
7aacca6f
DM
23351 "info" : {
23352 "POST" : {
23353 "description" : "Stop all VMs and Containers.",
44660702
DM
23354 "method" : "POST",
23355 "name" : "stopall",
7aacca6f 23356 "parameters" : {
44660702 23357 "additionalProperties" : 0,
7aacca6f
DM
23358 "properties" : {
23359 "node" : {
44660702 23360 "description" : "The cluster node name.",
7aacca6f 23361 "format" : "pve-node",
013dc89f
DM
23362 "type" : "string",
23363 "typetext" : "<string>"
7aacca6f 23364 }
44660702 23365 }
56122987 23366 },
7aacca6f
DM
23367 "permissions" : {
23368 "check" : [
23369 "perm",
23370 "/",
23371 [
44660702 23372 "VM.PowerMgmt"
7aacca6f
DM
23373 ]
23374 ]
56122987 23375 },
44660702 23376 "protected" : 1,
7aacca6f 23377 "proxyto" : "node",
44660702
DM
23378 "returns" : {
23379 "type" : "string"
23380 }
23381 }
56122987 23382 },
44660702
DM
23383 "leaf" : 1,
23384 "path" : "/nodes/{node}/stopall",
23385 "text" : "stopall"
23386 },
23387 {
23388 "info" : {
23389 "POST" : {
23390 "description" : "Migrate all VMs and Containers.",
23391 "method" : "POST",
23392 "name" : "migrateall",
23393 "parameters" : {
23394 "additionalProperties" : 0,
23395 "properties" : {
23396 "maxworkers" : {
23397 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
23398 "minimum" : 1,
23399 "optional" : 1,
4bd7df8b 23400 "type" : "integer",
013dc89f 23401 "typetext" : "<integer> (1 - N)"
44660702
DM
23402 },
23403 "node" : {
23404 "description" : "The cluster node name.",
23405 "format" : "pve-node",
013dc89f
DM
23406 "type" : "string",
23407 "typetext" : "<string>"
44660702
DM
23408 },
23409 "target" : {
23410 "description" : "Target node.",
23411 "format" : "pve-node",
013dc89f
DM
23412 "type" : "string",
23413 "typetext" : "<string>"
44660702
DM
23414 }
23415 }
23416 },
23417 "permissions" : {
23418 "check" : [
23419 "perm",
23420 "/",
23421 [
23422 "VM.Migrate"
23423 ]
23424 ]
23425 },
23426 "protected" : 1,
23427 "proxyto" : "node",
23428 "returns" : {
23429 "type" : "string"
23430 }
23431 }
56122987 23432 },
44660702
DM
23433 "leaf" : 1,
23434 "path" : "/nodes/{node}/migrateall",
23435 "text" : "migrateall"
23436 }
23437 ],
23438 "info" : {
23439 "GET" : {
23440 "description" : "Node index.",
23441 "method" : "GET",
23442 "name" : "index",
23443 "parameters" : {
23444 "additionalProperties" : 0,
23445 "properties" : {
23446 "node" : {
23447 "description" : "The cluster node name.",
23448 "format" : "pve-node",
013dc89f
DM
23449 "type" : "string",
23450 "typetext" : "<string>"
44660702
DM
23451 }
23452 }
56122987 23453 },
44660702
DM
23454 "permissions" : {
23455 "user" : "all"
56122987 23456 },
44660702
DM
23457 "returns" : {
23458 "items" : {
23459 "properties" : {},
23460 "type" : "object"
23461 },
23462 "links" : [
23463 {
23464 "href" : "{name}",
23465 "rel" : "child"
23466 }
56122987 23467 ],
44660702 23468 "type" : "array"
7aacca6f
DM
23469 }
23470 }
23471 },
44660702
DM
23472 "leaf" : 0,
23473 "path" : "/nodes/{node}",
23474 "text" : "{node}"
23475 }
23476 ],
23477 "info" : {
7aacca6f 23478 "GET" : {
44660702 23479 "description" : "Cluster node index.",
7aacca6f 23480 "method" : "GET",
44660702 23481 "name" : "index",
7aacca6f 23482 "parameters" : {
7aacca6f
DM
23483 "additionalProperties" : 0
23484 },
23485 "permissions" : {
7aacca6f
DM
23486 "user" : "all"
23487 },
44660702
DM
23488 "returns" : {
23489 "items" : {
23490 "properties" : {},
23491 "type" : "object"
23492 },
23493 "links" : [
23494 {
23495 "href" : "{node}",
23496 "rel" : "child"
23497 }
23498 ],
23499 "type" : "array"
23500 }
7aacca6f
DM
23501 }
23502 },
44660702
DM
23503 "leaf" : 0,
23504 "path" : "/nodes",
23505 "text" : "nodes"
23506 },
23507 {
7aacca6f
DM
23508 "children" : [
23509 {
7aacca6f 23510 "info" : {
44660702
DM
23511 "DELETE" : {
23512 "description" : "Delete storage configuration.",
23513 "method" : "DELETE",
23514 "name" : "delete",
7aacca6f
DM
23515 "parameters" : {
23516 "additionalProperties" : 0,
23517 "properties" : {
23518 "storage" : {
7aacca6f 23519 "description" : "The storage identifier.",
44660702 23520 "format" : "pve-storage-id",
013dc89f
DM
23521 "type" : "string",
23522 "typetext" : "<string>"
7aacca6f
DM
23523 }
23524 }
56122987 23525 },
7aacca6f
DM
23526 "permissions" : {
23527 "check" : [
23528 "perm",
23529 "/storage",
23530 [
23531 "Datastore.Allocate"
23532 ]
23533 ]
56122987 23534 },
44660702
DM
23535 "protected" : 1,
23536 "returns" : {
23537 "type" : "null"
23538 }
23539 },
23540 "GET" : {
23541 "description" : "Read storage configuration.",
23542 "method" : "GET",
23543 "name" : "read",
7aacca6f
DM
23544 "parameters" : {
23545 "additionalProperties" : 0,
23546 "properties" : {
23547 "storage" : {
44660702 23548 "description" : "The storage identifier.",
7aacca6f 23549 "format" : "pve-storage-id",
013dc89f
DM
23550 "type" : "string",
23551 "typetext" : "<string>"
7aacca6f
DM
23552 }
23553 }
23554 },
44660702
DM
23555 "permissions" : {
23556 "check" : [
23557 "perm",
23558 "/storage/{storage}",
23559 [
23560 "Datastore.Allocate"
23561 ]
23562 ]
23563 },
23564 "returns" : {}
7aacca6f
DM
23565 },
23566 "PUT" : {
44660702
DM
23567 "description" : "Update storage configuration.",
23568 "method" : "PUT",
23569 "name" : "update",
23570 "parameters" : {
23571 "additionalProperties" : 0,
23572 "properties" : {
23573 "blocksize" : {
23574 "description" : "block size",
7aacca6f 23575 "optional" : 1,
013dc89f
DM
23576 "type" : "string",
23577 "typetext" : "<string>"
7aacca6f 23578 },
44660702
DM
23579 "comstar_hg" : {
23580 "description" : "host group for comstar views",
23581 "optional" : 1,
013dc89f
DM
23582 "type" : "string",
23583 "typetext" : "<string>"
7aacca6f 23584 },
44660702
DM
23585 "comstar_tg" : {
23586 "description" : "target group for comstar views",
7aacca6f 23587 "optional" : 1,
013dc89f
DM
23588 "type" : "string",
23589 "typetext" : "<string>"
7aacca6f 23590 },
44660702
DM
23591 "content" : {
23592 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23593 "format" : "pve-storage-content-list",
7aacca6f 23594 "optional" : 1,
013dc89f
DM
23595 "type" : "string",
23596 "typetext" : "<string>"
7aacca6f 23597 },
44660702
DM
23598 "delete" : {
23599 "description" : "A list of settings you want to delete.",
23600 "format" : "pve-configid-list",
23601 "maxLength" : 4096,
7aacca6f 23602 "optional" : 1,
013dc89f
DM
23603 "type" : "string",
23604 "typetext" : "<string>"
7aacca6f
DM
23605 },
23606 "digest" : {
44660702 23607 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 23608 "maxLength" : 40,
7aacca6f 23609 "optional" : 1,
013dc89f
DM
23610 "type" : "string",
23611 "typetext" : "<string>"
7aacca6f 23612 },
44660702
DM
23613 "disable" : {
23614 "description" : "Flag to disable the storage.",
23615 "optional" : 1,
013dc89f
DM
23616 "type" : "boolean",
23617 "typetext" : "<boolean>"
7aacca6f
DM
23618 },
23619 "format" : {
23620 "description" : "Default image format.",
44660702 23621 "format" : "pve-storage-format",
7aacca6f 23622 "optional" : 1,
013dc89f
DM
23623 "type" : "string",
23624 "typetext" : "<string>"
7aacca6f 23625 },
2c0dde61
DM
23626 "is_mountpoint" : {
23627 "default" : "no",
23628 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23629 "optional" : 1,
013dc89f
DM
23630 "type" : "boolean",
23631 "typetext" : "<boolean>"
2c0dde61 23632 },
44660702
DM
23633 "krbd" : {
23634 "description" : "Access rbd through krbd kernel module.",
7aacca6f 23635 "optional" : 1,
013dc89f
DM
23636 "type" : "boolean",
23637 "typetext" : "<boolean>"
7aacca6f 23638 },
44660702
DM
23639 "maxfiles" : {
23640 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23641 "minimum" : 0,
23642 "optional" : 1,
4bd7df8b 23643 "type" : "integer",
013dc89f 23644 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23645 },
23646 "mkdir" : {
23647 "default" : "yes",
23648 "description" : "Create the directory if it doesn't exist.",
23649 "optional" : 1,
013dc89f
DM
23650 "type" : "boolean",
23651 "typetext" : "<boolean>"
7aacca6f
DM
23652 },
23653 "nodes" : {
44660702 23654 "description" : "List of cluster node names.",
7aacca6f
DM
23655 "format" : "pve-node-list",
23656 "optional" : 1,
013dc89f
DM
23657 "type" : "string",
23658 "typetext" : "<string>"
7aacca6f 23659 },
44660702
DM
23660 "nowritecache" : {
23661 "description" : "disable write caching on the target",
7aacca6f 23662 "optional" : 1,
013dc89f
DM
23663 "type" : "boolean",
23664 "typetext" : "<boolean>"
7aacca6f
DM
23665 },
23666 "options" : {
7aacca6f 23667 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
23668 "format" : "pve-storage-options",
23669 "optional" : 1,
013dc89f
DM
23670 "type" : "string",
23671 "typetext" : "<string>"
44660702
DM
23672 },
23673 "pool" : {
23674 "description" : "Pool.",
23675 "optional" : 1,
013dc89f
DM
23676 "type" : "string",
23677 "typetext" : "<string>"
44660702
DM
23678 },
23679 "redundancy" : {
23680 "default" : 2,
23681 "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.",
23682 "maximum" : 16,
23683 "minimum" : 1,
23684 "optional" : 1,
4bd7df8b 23685 "type" : "integer",
013dc89f 23686 "typetext" : "<integer> (1 - 16)"
44660702
DM
23687 },
23688 "saferemove" : {
23689 "description" : "Zero-out data when removing LVs.",
23690 "optional" : 1,
013dc89f
DM
23691 "type" : "boolean",
23692 "typetext" : "<boolean>"
7aacca6f
DM
23693 },
23694 "saferemove_throughput" : {
44660702 23695 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 23696 "optional" : 1,
013dc89f
DM
23697 "type" : "string",
23698 "typetext" : "<string>"
7aacca6f 23699 },
44660702
DM
23700 "server" : {
23701 "description" : "Server IP or DNS name.",
23702 "format" : "pve-storage-server",
7aacca6f 23703 "optional" : 1,
013dc89f
DM
23704 "type" : "string",
23705 "typetext" : "<string>"
7aacca6f 23706 },
44660702
DM
23707 "server2" : {
23708 "description" : "Backup volfile server IP or DNS name.",
23709 "format" : "pve-storage-server",
7aacca6f 23710 "optional" : 1,
44660702 23711 "requires" : "server",
013dc89f
DM
23712 "type" : "string",
23713 "typetext" : "<string>"
44660702
DM
23714 },
23715 "shared" : {
23716 "description" : "Mark storage as shared.",
23717 "optional" : 1,
013dc89f
DM
23718 "type" : "boolean",
23719 "typetext" : "<boolean>"
44660702
DM
23720 },
23721 "sparse" : {
23722 "description" : "use sparse volumes",
23723 "optional" : 1,
013dc89f
DM
23724 "type" : "boolean",
23725 "typetext" : "<boolean>"
44660702
DM
23726 },
23727 "storage" : {
23728 "description" : "The storage identifier.",
23729 "format" : "pve-storage-id",
013dc89f
DM
23730 "type" : "string",
23731 "typetext" : "<string>"
44660702 23732 },
4bd7df8b
DM
23733 "tagged_only" : {
23734 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
23735 "optional" : 1,
013dc89f
DM
23736 "type" : "boolean",
23737 "typetext" : "<boolean>"
4bd7df8b 23738 },
44660702
DM
23739 "transport" : {
23740 "description" : "Gluster transport: tcp or rdma",
23741 "enum" : [
23742 "tcp",
23743 "rdma",
23744 "unix"
23745 ],
23746 "optional" : 1,
23747 "type" : "string"
7aacca6f
DM
23748 },
23749 "username" : {
23750 "description" : "RBD Id.",
44660702 23751 "optional" : 1,
013dc89f
DM
23752 "type" : "string",
23753 "typetext" : "<string>"
7aacca6f 23754 }
44660702
DM
23755 },
23756 "type" : "object"
23757 },
23758 "permissions" : {
23759 "check" : [
23760 "perm",
23761 "/storage",
23762 [
23763 "Datastore.Allocate"
23764 ]
23765 ]
23766 },
23767 "protected" : 1,
23768 "returns" : {
23769 "type" : "null"
23770 }
23771 }
23772 },
23773 "leaf" : 1,
23774 "path" : "/storage/{storage}",
23775 "text" : "{storage}"
23776 }
23777 ],
23778 "info" : {
23779 "GET" : {
23780 "description" : "Storage index.",
23781 "method" : "GET",
23782 "name" : "index",
23783 "parameters" : {
23784 "additionalProperties" : 0,
23785 "properties" : {
23786 "type" : {
23787 "description" : "Only list storage of specific type",
23788 "enum" : [
23789 "dir",
23790 "drbd",
23791 "glusterfs",
23792 "iscsi",
23793 "iscsidirect",
23794 "lvm",
23795 "lvmthin",
23796 "nfs",
23797 "rbd",
23798 "sheepdog",
23799 "zfs",
23800 "zfspool"
23801 ],
23802 "optional" : 1,
23803 "type" : "string"
23804 }
23805 }
23806 },
23807 "permissions" : {
23808 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
23809 "user" : "all"
23810 },
23811 "returns" : {
23812 "items" : {
23813 "properties" : {
23814 "storage" : {
23815 "type" : "string"
7aacca6f 23816 }
56122987 23817 },
44660702
DM
23818 "type" : "object"
23819 },
23820 "links" : [
23821 {
23822 "href" : "{storage}",
23823 "rel" : "child"
23824 }
23825 ],
23826 "type" : "array"
23827 }
23828 },
23829 "POST" : {
23830 "description" : "Create a new storage.",
23831 "method" : "POST",
23832 "name" : "create",
23833 "parameters" : {
23834 "additionalProperties" : 0,
23835 "properties" : {
23836 "authsupported" : {
23837 "description" : "Authsupported.",
23838 "optional" : 1,
013dc89f
DM
23839 "type" : "string",
23840 "typetext" : "<string>"
44660702
DM
23841 },
23842 "base" : {
23843 "description" : "Base volume. This volume is automatically activated.",
23844 "format" : "pve-volume-id",
23845 "optional" : 1,
013dc89f
DM
23846 "type" : "string",
23847 "typetext" : "<string>"
44660702
DM
23848 },
23849 "blocksize" : {
23850 "description" : "block size",
23851 "optional" : 1,
013dc89f
DM
23852 "type" : "string",
23853 "typetext" : "<string>"
44660702
DM
23854 },
23855 "comstar_hg" : {
23856 "description" : "host group for comstar views",
23857 "optional" : 1,
013dc89f
DM
23858 "type" : "string",
23859 "typetext" : "<string>"
44660702
DM
23860 },
23861 "comstar_tg" : {
23862 "description" : "target group for comstar views",
23863 "optional" : 1,
013dc89f
DM
23864 "type" : "string",
23865 "typetext" : "<string>"
44660702
DM
23866 },
23867 "content" : {
23868 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
23869 "format" : "pve-storage-content-list",
23870 "optional" : 1,
013dc89f
DM
23871 "type" : "string",
23872 "typetext" : "<string>"
44660702
DM
23873 },
23874 "disable" : {
23875 "description" : "Flag to disable the storage.",
23876 "optional" : 1,
013dc89f
DM
23877 "type" : "boolean",
23878 "typetext" : "<boolean>"
44660702
DM
23879 },
23880 "export" : {
23881 "description" : "NFS export path.",
23882 "format" : "pve-storage-path",
23883 "optional" : 1,
013dc89f
DM
23884 "type" : "string",
23885 "typetext" : "<string>"
44660702
DM
23886 },
23887 "format" : {
23888 "description" : "Default image format.",
23889 "format" : "pve-storage-format",
23890 "optional" : 1,
013dc89f
DM
23891 "type" : "string",
23892 "typetext" : "<string>"
44660702 23893 },
2c0dde61
DM
23894 "is_mountpoint" : {
23895 "default" : "no",
23896 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
23897 "optional" : 1,
013dc89f
DM
23898 "type" : "boolean",
23899 "typetext" : "<boolean>"
2c0dde61 23900 },
44660702
DM
23901 "iscsiprovider" : {
23902 "description" : "iscsi provider",
23903 "optional" : 1,
013dc89f
DM
23904 "type" : "string",
23905 "typetext" : "<string>"
44660702
DM
23906 },
23907 "krbd" : {
23908 "description" : "Access rbd through krbd kernel module.",
23909 "optional" : 1,
013dc89f
DM
23910 "type" : "boolean",
23911 "typetext" : "<boolean>"
56122987 23912 },
44660702
DM
23913 "maxfiles" : {
23914 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
23915 "minimum" : 0,
23916 "optional" : 1,
4bd7df8b 23917 "type" : "integer",
013dc89f 23918 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
23919 },
23920 "mkdir" : {
23921 "default" : "yes",
23922 "description" : "Create the directory if it doesn't exist.",
23923 "optional" : 1,
013dc89f
DM
23924 "type" : "boolean",
23925 "typetext" : "<boolean>"
7aacca6f 23926 },
44660702
DM
23927 "monhost" : {
23928 "description" : "Monitors daemon ips.",
4bd7df8b 23929 "format" : "pve-storage-portal-dns-list",
44660702 23930 "optional" : 1,
013dc89f
DM
23931 "type" : "string",
23932 "typetext" : "<string>"
7aacca6f 23933 },
44660702
DM
23934 "nodes" : {
23935 "description" : "List of cluster node names.",
23936 "format" : "pve-node-list",
23937 "optional" : 1,
013dc89f
DM
23938 "type" : "string",
23939 "typetext" : "<string>"
7aacca6f 23940 },
44660702
DM
23941 "nowritecache" : {
23942 "description" : "disable write caching on the target",
23943 "optional" : 1,
013dc89f
DM
23944 "type" : "boolean",
23945 "typetext" : "<boolean>"
44660702
DM
23946 },
23947 "options" : {
23948 "description" : "NFS mount options (see 'man nfs')",
23949 "format" : "pve-storage-options",
23950 "optional" : 1,
013dc89f
DM
23951 "type" : "string",
23952 "typetext" : "<string>"
44660702
DM
23953 },
23954 "path" : {
23955 "description" : "File system path.",
23956 "format" : "pve-storage-path",
23957 "optional" : 1,
013dc89f
DM
23958 "type" : "string",
23959 "typetext" : "<string>"
44660702
DM
23960 },
23961 "pool" : {
23962 "description" : "Pool.",
23963 "optional" : 1,
013dc89f
DM
23964 "type" : "string",
23965 "typetext" : "<string>"
44660702
DM
23966 },
23967 "portal" : {
23968 "description" : "iSCSI portal (IP or DNS name with optional port).",
23969 "format" : "pve-storage-portal-dns",
23970 "optional" : 1,
013dc89f
DM
23971 "type" : "string",
23972 "typetext" : "<string>"
44660702
DM
23973 },
23974 "redundancy" : {
23975 "default" : 2,
23976 "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.",
23977 "maximum" : 16,
23978 "minimum" : 1,
23979 "optional" : 1,
4bd7df8b 23980 "type" : "integer",
013dc89f 23981 "typetext" : "<integer> (1 - 16)"
44660702
DM
23982 },
23983 "saferemove" : {
23984 "description" : "Zero-out data when removing LVs.",
23985 "optional" : 1,
013dc89f
DM
23986 "type" : "boolean",
23987 "typetext" : "<boolean>"
44660702
DM
23988 },
23989 "saferemove_throughput" : {
23990 "description" : "Wipe throughput (cstream -t parameter value).",
23991 "optional" : 1,
013dc89f
DM
23992 "type" : "string",
23993 "typetext" : "<string>"
44660702
DM
23994 },
23995 "server" : {
23996 "description" : "Server IP or DNS name.",
23997 "format" : "pve-storage-server",
23998 "optional" : 1,
013dc89f
DM
23999 "type" : "string",
24000 "typetext" : "<string>"
44660702
DM
24001 },
24002 "server2" : {
24003 "description" : "Backup volfile server IP or DNS name.",
24004 "format" : "pve-storage-server",
24005 "optional" : 1,
24006 "requires" : "server",
013dc89f
DM
24007 "type" : "string",
24008 "typetext" : "<string>"
44660702
DM
24009 },
24010 "shared" : {
24011 "description" : "Mark storage as shared.",
24012 "optional" : 1,
013dc89f
DM
24013 "type" : "boolean",
24014 "typetext" : "<boolean>"
44660702
DM
24015 },
24016 "sparse" : {
24017 "description" : "use sparse volumes",
24018 "optional" : 1,
013dc89f
DM
24019 "type" : "boolean",
24020 "typetext" : "<boolean>"
44660702
DM
24021 },
24022 "storage" : {
24023 "description" : "The storage identifier.",
24024 "format" : "pve-storage-id",
013dc89f
DM
24025 "type" : "string",
24026 "typetext" : "<string>"
44660702 24027 },
4bd7df8b
DM
24028 "tagged_only" : {
24029 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
24030 "optional" : 1,
013dc89f
DM
24031 "type" : "boolean",
24032 "typetext" : "<boolean>"
4bd7df8b 24033 },
44660702
DM
24034 "target" : {
24035 "description" : "iSCSI target.",
24036 "optional" : 1,
013dc89f
DM
24037 "type" : "string",
24038 "typetext" : "<string>"
44660702
DM
24039 },
24040 "thinpool" : {
24041 "description" : "LVM thin pool LV name.",
24042 "format" : "pve-storage-vgname",
24043 "optional" : 1,
013dc89f
DM
24044 "type" : "string",
24045 "typetext" : "<string>"
44660702
DM
24046 },
24047 "transport" : {
24048 "description" : "Gluster transport: tcp or rdma",
24049 "enum" : [
24050 "tcp",
24051 "rdma",
24052 "unix"
7aacca6f 24053 ],
44660702
DM
24054 "optional" : 1,
24055 "type" : "string"
56122987 24056 },
44660702
DM
24057 "type" : {
24058 "description" : "Storage type.",
24059 "enum" : [
24060 "dir",
24061 "drbd",
24062 "glusterfs",
24063 "iscsi",
24064 "iscsidirect",
24065 "lvm",
24066 "lvmthin",
24067 "nfs",
24068 "rbd",
24069 "sheepdog",
24070 "zfs",
24071 "zfspool"
24072 ],
24073 "type" : "string"
56122987 24074 },
44660702
DM
24075 "username" : {
24076 "description" : "RBD Id.",
24077 "optional" : 1,
013dc89f
DM
24078 "type" : "string",
24079 "typetext" : "<string>"
7aacca6f 24080 },
44660702
DM
24081 "vgname" : {
24082 "description" : "Volume group name.",
24083 "format" : "pve-storage-vgname",
24084 "optional" : 1,
013dc89f
DM
24085 "type" : "string",
24086 "typetext" : "<string>"
44660702
DM
24087 },
24088 "volume" : {
24089 "description" : "Glusterfs Volume.",
24090 "optional" : 1,
013dc89f
DM
24091 "type" : "string",
24092 "typetext" : "<string>"
44660702
DM
24093 }
24094 },
24095 "type" : "object"
24096 },
24097 "permissions" : {
24098 "check" : [
24099 "perm",
24100 "/storage",
24101 [
24102 "Datastore.Allocate"
24103 ]
24104 ]
56122987 24105 },
44660702
DM
24106 "protected" : 1,
24107 "returns" : {
24108 "type" : "null"
24109 }
24110 }
24111 },
24112 "leaf" : 0,
24113 "path" : "/storage",
24114 "text" : "storage"
24115 },
24116 {
24117 "children" : [
24118 {
56122987
DM
24119 "children" : [
24120 {
56122987 24121 "info" : {
44660702
DM
24122 "DELETE" : {
24123 "description" : "Delete user.",
24124 "method" : "DELETE",
24125 "name" : "delete_user",
56122987 24126 "parameters" : {
7aacca6f 24127 "additionalProperties" : 0,
56122987 24128 "properties" : {
56122987 24129 "userid" : {
56122987
DM
24130 "description" : "User ID",
24131 "format" : "pve-userid",
44660702 24132 "maxLength" : 64,
013dc89f
DM
24133 "type" : "string",
24134 "typetext" : "<string>"
56122987 24135 }
7aacca6f 24136 }
56122987 24137 },
56122987
DM
24138 "permissions" : {
24139 "check" : [
44660702 24140 "and",
56122987 24141 [
44660702
DM
24142 "userid-param",
24143 "Realm.AllocateUser"
56122987 24144 ],
44660702
DM
24145 [
24146 "userid-group",
24147 [
24148 "User.Modify"
24149 ]
24150 ]
56122987 24151 ]
7aacca6f 24152 },
44660702 24153 "protected" : 1,
56122987
DM
24154 "returns" : {
24155 "type" : "null"
44660702 24156 }
7aacca6f 24157 },
44660702
DM
24158 "GET" : {
24159 "description" : "Get user configuration.",
24160 "method" : "GET",
24161 "name" : "read_user",
56122987
DM
24162 "parameters" : {
24163 "additionalProperties" : 0,
24164 "properties" : {
24165 "userid" : {
44660702 24166 "description" : "User ID",
56122987 24167 "format" : "pve-userid",
44660702 24168 "maxLength" : 64,
013dc89f
DM
24169 "type" : "string",
24170 "typetext" : "<string>"
56122987
DM
24171 }
24172 }
24173 },
56122987
DM
24174 "permissions" : {
24175 "check" : [
44660702 24176 "userid-group",
56122987 24177 [
44660702
DM
24178 "User.Modify",
24179 "Sys.Audit"
56122987
DM
24180 ]
24181 ]
24182 },
56122987 24183 "returns" : {
7aacca6f 24184 "additionalProperties" : 0,
56122987 24185 "properties" : {
44660702
DM
24186 "comment" : {
24187 "optional" : 1,
24188 "type" : "string"
56122987 24189 },
44660702
DM
24190 "email" : {
24191 "optional" : 1,
24192 "type" : "string"
7aacca6f
DM
24193 },
24194 "enable" : {
24195 "type" : "boolean"
24196 },
44660702
DM
24197 "expire" : {
24198 "optional" : 1,
24199 "type" : "integer"
24200 },
24201 "firstname" : {
56122987
DM
24202 "optional" : 1,
24203 "type" : "string"
24204 },
44660702
DM
24205 "groups" : {
24206 "type" : "array"
56122987 24207 },
44660702
DM
24208 "keys" : {
24209 "optional" : 1,
24210 "type" : "string"
7aacca6f 24211 },
44660702
DM
24212 "lastname" : {
24213 "optional" : 1,
24214 "type" : "string"
56122987 24215 }
7aacca6f 24216 }
44660702
DM
24217 }
24218 },
24219 "PUT" : {
24220 "description" : "Update user configuration.",
24221 "method" : "PUT",
24222 "name" : "update_user",
56122987 24223 "parameters" : {
44660702 24224 "additionalProperties" : 0,
56122987 24225 "properties" : {
44660702
DM
24226 "append" : {
24227 "optional" : 1,
24228 "requires" : "groups",
013dc89f
DM
24229 "type" : "boolean",
24230 "typetext" : "<boolean>"
44660702
DM
24231 },
24232 "comment" : {
24233 "optional" : 1,
013dc89f
DM
24234 "type" : "string",
24235 "typetext" : "<string>"
44660702
DM
24236 },
24237 "email" : {
24238 "format" : "email-opt",
24239 "optional" : 1,
013dc89f
DM
24240 "type" : "string",
24241 "typetext" : "<string>"
44660702
DM
24242 },
24243 "enable" : {
24244 "description" : "Enable/disable the account.",
24245 "optional" : 1,
013dc89f
DM
24246 "type" : "boolean",
24247 "typetext" : "<boolean>"
44660702
DM
24248 },
24249 "expire" : {
24250 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
24251 "minimum" : 0,
24252 "optional" : 1,
4bd7df8b 24253 "type" : "integer",
013dc89f 24254 "typetext" : "<integer> (0 - N)"
44660702
DM
24255 },
24256 "firstname" : {
24257 "optional" : 1,
013dc89f
DM
24258 "type" : "string",
24259 "typetext" : "<string>"
44660702
DM
24260 },
24261 "groups" : {
24262 "format" : "pve-groupid-list",
24263 "optional" : 1,
013dc89f
DM
24264 "type" : "string",
24265 "typetext" : "<string>"
44660702
DM
24266 },
24267 "keys" : {
24268 "description" : "Keys for two factor auth (yubico).",
24269 "optional" : 1,
013dc89f
DM
24270 "type" : "string",
24271 "typetext" : "<string>"
44660702
DM
24272 },
24273 "lastname" : {
24274 "optional" : 1,
013dc89f
DM
24275 "type" : "string",
24276 "typetext" : "<string>"
44660702 24277 },
56122987 24278 "userid" : {
56122987
DM
24279 "description" : "User ID",
24280 "format" : "pve-userid",
44660702 24281 "maxLength" : 64,
013dc89f
DM
24282 "type" : "string",
24283 "typetext" : "<string>"
56122987 24284 }
44660702 24285 }
56122987 24286 },
56122987
DM
24287 "permissions" : {
24288 "check" : [
24289 "userid-group",
24290 [
44660702
DM
24291 "User.Modify"
24292 ],
24293 "groups_param",
24294 1
56122987
DM
24295 ]
24296 },
44660702
DM
24297 "protected" : 1,
24298 "returns" : {
24299 "type" : "null"
24300 }
56122987
DM
24301 }
24302 },
44660702
DM
24303 "leaf" : 1,
24304 "path" : "/access/users/{userid}",
7aacca6f 24305 "text" : "{userid}"
56122987 24306 }
7aacca6f 24307 ],
56122987 24308 "info" : {
7aacca6f 24309 "GET" : {
44660702
DM
24310 "description" : "User index.",
24311 "method" : "GET",
7aacca6f 24312 "name" : "index",
56122987 24313 "parameters" : {
44660702
DM
24314 "additionalProperties" : 0,
24315 "properties" : {
24316 "enabled" : {
24317 "description" : "Optional filter for enable property.",
24318 "optional" : 1,
013dc89f
DM
24319 "type" : "boolean",
24320 "typetext" : "<boolean>"
44660702
DM
24321 }
24322 }
24323 },
24324 "permissions" : {
24325 "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.",
24326 "user" : "all"
56122987 24327 },
7aacca6f 24328 "returns" : {
7aacca6f
DM
24329 "items" : {
24330 "properties" : {
44660702 24331 "userid" : {
7aacca6f
DM
24332 "type" : "string"
24333 }
24334 },
24335 "type" : "object"
24336 },
44660702
DM
24337 "links" : [
24338 {
24339 "href" : "{userid}",
24340 "rel" : "child"
24341 }
24342 ],
7aacca6f
DM
24343 "type" : "array"
24344 }
24345 },
24346 "POST" : {
44660702 24347 "description" : "Create new user.",
7aacca6f 24348 "method" : "POST",
44660702 24349 "name" : "create_user",
56122987 24350 "parameters" : {
7aacca6f
DM
24351 "additionalProperties" : 0,
24352 "properties" : {
44660702
DM
24353 "comment" : {
24354 "optional" : 1,
013dc89f
DM
24355 "type" : "string",
24356 "typetext" : "<string>"
7aacca6f 24357 },
44660702
DM
24358 "email" : {
24359 "format" : "email-opt",
24360 "optional" : 1,
013dc89f
DM
24361 "type" : "string",
24362 "typetext" : "<string>"
44660702
DM
24363 },
24364 "enable" : {
24365 "default" : 1,
24366 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
24367 "optional" : 1,
013dc89f
DM
24368 "type" : "boolean",
24369 "typetext" : "<boolean>"
44660702
DM
24370 },
24371 "expire" : {
24372 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
24373 "minimum" : 0,
24374 "optional" : 1,
4bd7df8b 24375 "type" : "integer",
013dc89f 24376 "typetext" : "<integer> (0 - N)"
44660702
DM
24377 },
24378 "firstname" : {
24379 "optional" : 1,
013dc89f
DM
24380 "type" : "string",
24381 "typetext" : "<string>"
44660702
DM
24382 },
24383 "groups" : {
24384 "format" : "pve-groupid-list",
24385 "optional" : 1,
013dc89f
DM
24386 "type" : "string",
24387 "typetext" : "<string>"
44660702
DM
24388 },
24389 "keys" : {
24390 "description" : "Keys for two factor auth (yubico).",
24391 "optional" : 1,
013dc89f
DM
24392 "type" : "string",
24393 "typetext" : "<string>"
44660702
DM
24394 },
24395 "lastname" : {
7aacca6f 24396 "optional" : 1,
013dc89f
DM
24397 "type" : "string",
24398 "typetext" : "<string>"
44660702
DM
24399 },
24400 "password" : {
24401 "description" : "Initial password.",
24402 "maxLength" : 64,
24403 "minLength" : 5,
24404 "optional" : 1,
013dc89f
DM
24405 "type" : "string",
24406 "typetext" : "<string>"
44660702
DM
24407 },
24408 "userid" : {
24409 "description" : "User ID",
24410 "format" : "pve-userid",
24411 "maxLength" : 64,
013dc89f
DM
24412 "type" : "string",
24413 "typetext" : "<string>"
56122987 24414 }
7aacca6f 24415 }
56122987 24416 },
44660702
DM
24417 "permissions" : {
24418 "check" : [
24419 "and",
24420 [
24421 "userid-param",
24422 "Realm.AllocateUser"
24423 ],
24424 [
24425 "userid-group",
24426 [
24427 "User.Modify"
24428 ],
24429 "groups_param",
24430 1
24431 ]
24432 ],
24433 "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."
24434 },
24435 "protected" : 1,
24436 "returns" : {
24437 "type" : "null"
24438 }
56122987
DM
24439 }
24440 },
44660702
DM
24441 "leaf" : 0,
24442 "path" : "/access/users",
24443 "text" : "users"
24444 },
24445 {
56122987
DM
24446 "children" : [
24447 {
56122987
DM
24448 "info" : {
24449 "DELETE" : {
44660702
DM
24450 "description" : "Delete group.",
24451 "method" : "DELETE",
24452 "name" : "delete_group",
24453 "parameters" : {
24454 "additionalProperties" : 0,
24455 "properties" : {
24456 "groupid" : {
24457 "format" : "pve-groupid",
013dc89f
DM
24458 "type" : "string",
24459 "typetext" : "<string>"
44660702
DM
24460 }
24461 }
24462 },
7aacca6f
DM
24463 "permissions" : {
24464 "check" : [
24465 "perm",
24466 "/access/groups",
24467 [
24468 "Group.Allocate"
24469 ]
24470 ]
24471 },
7aacca6f 24472 "protected" : 1,
7aacca6f
DM
24473 "returns" : {
24474 "type" : "null"
44660702 24475 }
7aacca6f 24476 },
44660702
DM
24477 "GET" : {
24478 "description" : "Get group configuration.",
24479 "method" : "GET",
24480 "name" : "read_group",
24481 "parameters" : {
24482 "additionalProperties" : 0,
24483 "properties" : {
24484 "groupid" : {
24485 "format" : "pve-groupid",
013dc89f
DM
24486 "type" : "string",
24487 "typetext" : "<string>"
44660702
DM
24488 }
24489 }
56122987 24490 },
7aacca6f
DM
24491 "permissions" : {
24492 "check" : [
24493 "perm",
24494 "/access/groups",
24495 [
44660702 24496 "Sys.Audit",
7aacca6f 24497 "Group.Allocate"
44660702
DM
24498 ],
24499 "any",
24500 1
7aacca6f
DM
24501 ]
24502 },
7aacca6f 24503 "returns" : {
44660702 24504 "additionalProperties" : 0,
7aacca6f
DM
24505 "properties" : {
24506 "comment" : {
44660702
DM
24507 "optional" : 1,
24508 "type" : "string"
7aacca6f
DM
24509 },
24510 "members" : {
24511 "items" : {
24512 "type" : "string"
24513 },
24514 "type" : "array"
24515 }
24516 },
44660702
DM
24517 "type" : "object"
24518 }
24519 },
24520 "PUT" : {
24521 "description" : "Update group data.",
24522 "method" : "PUT",
24523 "name" : "update_group",
56122987 24524 "parameters" : {
44660702 24525 "additionalProperties" : 0,
56122987 24526 "properties" : {
44660702
DM
24527 "comment" : {
24528 "optional" : 1,
013dc89f
DM
24529 "type" : "string",
24530 "typetext" : "<string>"
44660702 24531 },
56122987
DM
24532 "groupid" : {
24533 "format" : "pve-groupid",
013dc89f
DM
24534 "type" : "string",
24535 "typetext" : "<string>"
56122987 24536 }
44660702 24537 }
56122987 24538 },
56122987
DM
24539 "permissions" : {
24540 "check" : [
24541 "perm",
24542 "/access/groups",
24543 [
24544 "Group.Allocate"
44660702 24545 ]
56122987
DM
24546 ]
24547 },
44660702
DM
24548 "protected" : 1,
24549 "returns" : {
24550 "type" : "null"
24551 }
7aacca6f
DM
24552 }
24553 },
7aacca6f 24554 "leaf" : 1,
44660702
DM
24555 "path" : "/access/groups/{groupid}",
24556 "text" : "{groupid}"
24557 }
24558 ],
24559 "info" : {
24560 "GET" : {
24561 "description" : "Group index.",
24562 "method" : "GET",
24563 "name" : "index",
24564 "parameters" : {
24565 "additionalProperties" : 0
24566 },
24567 "permissions" : {
24568 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
24569 "user" : "all"
24570 },
24571 "returns" : {
24572 "items" : {
24573 "properties" : {
24574 "groupid" : {
24575 "type" : "string"
24576 }
24577 },
24578 "type" : "object"
24579 },
24580 "links" : [
24581 {
24582 "href" : "{groupid}",
24583 "rel" : "child"
24584 }
24585 ],
24586 "type" : "array"
24587 }
24588 },
24589 "POST" : {
24590 "description" : "Create new group.",
24591 "method" : "POST",
24592 "name" : "create_group",
24593 "parameters" : {
24594 "additionalProperties" : 0,
24595 "properties" : {
24596 "comment" : {
24597 "optional" : 1,
013dc89f
DM
24598 "type" : "string",
24599 "typetext" : "<string>"
44660702
DM
24600 },
24601 "groupid" : {
24602 "format" : "pve-groupid",
013dc89f
DM
24603 "type" : "string",
24604 "typetext" : "<string>"
44660702
DM
24605 }
24606 }
24607 },
24608 "permissions" : {
24609 "check" : [
24610 "perm",
24611 "/access/groups",
24612 [
24613 "Group.Allocate"
24614 ]
24615 ]
24616 },
24617 "protected" : 1,
24618 "returns" : {
24619 "type" : "null"
24620 }
7aacca6f 24621 }
44660702 24622 },
7aacca6f 24623 "leaf" : 0,
44660702
DM
24624 "path" : "/access/groups",
24625 "text" : "groups"
7aacca6f
DM
24626 },
24627 {
24628 "children" : [
24629 {
7aacca6f 24630 "info" : {
7aacca6f 24631 "DELETE" : {
7aacca6f 24632 "description" : "Delete role.",
44660702 24633 "method" : "DELETE",
7aacca6f 24634 "name" : "delete_role",
56122987
DM
24635 "parameters" : {
24636 "additionalProperties" : 0,
24637 "properties" : {
7aacca6f
DM
24638 "roleid" : {
24639 "format" : "pve-roleid",
013dc89f
DM
24640 "type" : "string",
24641 "typetext" : "<string>"
56122987
DM
24642 }
24643 }
24644 },
56122987
DM
24645 "permissions" : {
24646 "check" : [
24647 "perm",
7aacca6f 24648 "/access",
56122987 24649 [
7aacca6f
DM
24650 "Sys.Modify"
24651 ]
56122987 24652 ]
44660702
DM
24653 },
24654 "protected" : 1,
24655 "returns" : {
24656 "type" : "null"
56122987
DM
24657 }
24658 },
44660702
DM
24659 "GET" : {
24660 "description" : "Get role configuration.",
24661 "method" : "GET",
24662 "name" : "read_role",
24663 "parameters" : {
24664 "additionalProperties" : 0,
24665 "properties" : {
24666 "roleid" : {
24667 "format" : "pve-roleid",
013dc89f
DM
24668 "type" : "string",
24669 "typetext" : "<string>"
44660702
DM
24670 }
24671 }
24672 },
7aacca6f 24673 "permissions" : {
44660702 24674 "user" : "all"
56122987 24675 },
44660702
DM
24676 "returns" : {}
24677 },
24678 "PUT" : {
24679 "description" : "Create new role.",
24680 "method" : "PUT",
24681 "name" : "update_role",
56122987
DM
24682 "parameters" : {
24683 "additionalProperties" : 0,
24684 "properties" : {
7aacca6f 24685 "append" : {
44660702 24686 "optional" : 1,
7aacca6f 24687 "requires" : "privs",
013dc89f
DM
24688 "type" : "boolean",
24689 "typetext" : "<boolean>"
7aacca6f
DM
24690 },
24691 "privs" : {
24692 "format" : "pve-priv-list",
013dc89f
DM
24693 "type" : "string",
24694 "typetext" : "<string>"
44660702
DM
24695 },
24696 "roleid" : {
24697 "format" : "pve-roleid",
013dc89f
DM
24698 "type" : "string",
24699 "typetext" : "<string>"
56122987
DM
24700 }
24701 }
24702 },
44660702
DM
24703 "permissions" : {
24704 "check" : [
24705 "perm",
24706 "/access",
24707 [
24708 "Sys.Modify"
24709 ]
24710 ]
24711 },
56122987 24712 "protected" : 1,
7aacca6f
DM
24713 "returns" : {
24714 "type" : "null"
56122987
DM
24715 }
24716 }
24717 },
44660702 24718 "leaf" : 1,
7aacca6f 24719 "path" : "/access/roles/{roleid}",
44660702 24720 "text" : "{roleid}"
56122987
DM
24721 }
24722 ],
56122987 24723 "info" : {
7aacca6f
DM
24724 "GET" : {
24725 "description" : "Role index.",
44660702 24726 "method" : "GET",
7aacca6f 24727 "name" : "index",
56122987 24728 "parameters" : {
56122987
DM
24729 "additionalProperties" : 0
24730 },
7aacca6f
DM
24731 "permissions" : {
24732 "user" : "all"
24733 },
56122987 24734 "returns" : {
7aacca6f 24735 "items" : {
7aacca6f
DM
24736 "properties" : {
24737 "roleid" : {
24738 "type" : "string"
24739 }
44660702
DM
24740 },
24741 "type" : "object"
24742 },
24743 "links" : [
24744 {
24745 "href" : "{roleid}",
24746 "rel" : "child"
7aacca6f 24747 }
44660702
DM
24748 ],
24749 "type" : "array"
24750 }
7aacca6f
DM
24751 },
24752 "POST" : {
24753 "description" : "Create new role.",
44660702
DM
24754 "method" : "POST",
24755 "name" : "create_role",
7aacca6f
DM
24756 "parameters" : {
24757 "additionalProperties" : 0,
24758 "properties" : {
7aacca6f
DM
24759 "privs" : {
24760 "format" : "pve-priv-list",
24761 "optional" : 1,
013dc89f
DM
24762 "type" : "string",
24763 "typetext" : "<string>"
44660702
DM
24764 },
24765 "roleid" : {
24766 "format" : "pve-roleid",
013dc89f
DM
24767 "type" : "string",
24768 "typetext" : "<string>"
7aacca6f
DM
24769 }
24770 }
24771 },
44660702
DM
24772 "permissions" : {
24773 "check" : [
24774 "perm",
24775 "/access",
24776 [
24777 "Sys.Modify"
24778 ]
24779 ]
24780 },
24781 "protected" : 1,
7aacca6f
DM
24782 "returns" : {
24783 "type" : "null"
24784 }
24785 }
24786 },
44660702 24787 "leaf" : 0,
7aacca6f 24788 "path" : "/access/roles",
44660702 24789 "text" : "roles"
7aacca6f
DM
24790 },
24791 {
24792 "info" : {
56122987 24793 "GET" : {
44660702
DM
24794 "description" : "Get Access Control List (ACLs).",
24795 "method" : "GET",
24796 "name" : "read_acl",
7aacca6f
DM
24797 "parameters" : {
24798 "additionalProperties" : 0
24799 },
44660702
DM
24800 "permissions" : {
24801 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
24802 "user" : "all"
24803 },
56122987 24804 "returns" : {
56122987 24805 "items" : {
44660702 24806 "additionalProperties" : 0,
56122987 24807 "properties" : {
7aacca6f
DM
24808 "path" : {
24809 "type" : "string"
24810 },
44660702
DM
24811 "propagate" : {
24812 "type" : "boolean"
24813 },
24814 "roleid" : {
24815 "type" : "string"
24816 },
7aacca6f
DM
24817 "type" : {
24818 "enum" : [
24819 "user",
24820 "group"
24821 ],
24822 "type" : "string"
24823 },
7aacca6f
DM
24824 "ugid" : {
24825 "type" : "string"
56122987 24826 }
7aacca6f 24827 },
44660702 24828 "type" : "object"
7aacca6f
DM
24829 },
24830 "type" : "array"
44660702 24831 }
7aacca6f
DM
24832 },
24833 "PUT" : {
44660702
DM
24834 "description" : "Update Access Control List (add or remove permissions).",
24835 "method" : "PUT",
7aacca6f
DM
24836 "name" : "update_acl",
24837 "parameters" : {
24838 "additionalProperties" : 0,
24839 "properties" : {
24840 "delete" : {
44660702 24841 "description" : "Remove permissions (instead of adding it).",
7aacca6f 24842 "optional" : 1,
013dc89f
DM
24843 "type" : "boolean",
24844 "typetext" : "<boolean>"
7aacca6f 24845 },
44660702
DM
24846 "groups" : {
24847 "description" : "List of groups.",
24848 "format" : "pve-groupid-list",
7aacca6f 24849 "optional" : 1,
013dc89f
DM
24850 "type" : "string",
24851 "typetext" : "<string>"
7aacca6f
DM
24852 },
24853 "path" : {
24854 "description" : "Access control path",
013dc89f
DM
24855 "type" : "string",
24856 "typetext" : "<string>"
7aacca6f 24857 },
7aacca6f 24858 "propagate" : {
44660702 24859 "default" : 1,
7aacca6f 24860 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 24861 "optional" : 1,
013dc89f
DM
24862 "type" : "boolean",
24863 "typetext" : "<boolean>"
7aacca6f 24864 },
44660702
DM
24865 "roles" : {
24866 "description" : "List of roles.",
24867 "format" : "pve-roleid-list",
013dc89f
DM
24868 "type" : "string",
24869 "typetext" : "<string>"
44660702
DM
24870 },
24871 "users" : {
24872 "description" : "List of users.",
24873 "format" : "pve-userid-list",
7aacca6f 24874 "optional" : 1,
013dc89f
DM
24875 "type" : "string",
24876 "typetext" : "<string>"
56122987
DM
24877 }
24878 }
24879 },
56122987 24880 "permissions" : {
7aacca6f
DM
24881 "check" : [
24882 "perm-modify",
24883 "{path}"
24884 ]
24885 },
7aacca6f
DM
24886 "protected" : 1,
24887 "returns" : {
24888 "type" : "null"
44660702 24889 }
56122987
DM
24890 }
24891 },
7aacca6f 24892 "leaf" : 1,
44660702
DM
24893 "path" : "/access/acl",
24894 "text" : "acl"
7aacca6f
DM
24895 },
24896 {
56122987
DM
24897 "children" : [
24898 {
56122987 24899 "info" : {
44660702
DM
24900 "DELETE" : {
24901 "description" : "Delete an authentication server.",
24902 "method" : "DELETE",
24903 "name" : "delete",
24904 "parameters" : {
24905 "additionalProperties" : 0,
24906 "properties" : {
24907 "realm" : {
24908 "description" : "Authentication domain ID",
24909 "format" : "pve-realm",
24910 "maxLength" : 32,
013dc89f
DM
24911 "type" : "string",
24912 "typetext" : "<string>"
56122987 24913 }
44660702 24914 }
56122987 24915 },
56122987
DM
24916 "permissions" : {
24917 "check" : [
24918 "perm",
7aacca6f 24919 "/access/realm",
56122987 24920 [
7aacca6f 24921 "Realm.Allocate"
56122987
DM
24922 ]
24923 ]
24924 },
7aacca6f 24925 "protected" : 1,
7aacca6f
DM
24926 "returns" : {
24927 "type" : "null"
44660702 24928 }
7aacca6f 24929 },
44660702
DM
24930 "GET" : {
24931 "description" : "Get auth server configuration.",
24932 "method" : "GET",
24933 "name" : "read",
56122987 24934 "parameters" : {
44660702 24935 "additionalProperties" : 0,
56122987 24936 "properties" : {
7aacca6f 24937 "realm" : {
44660702 24938 "description" : "Authentication domain ID",
7aacca6f
DM
24939 "format" : "pve-realm",
24940 "maxLength" : 32,
013dc89f
DM
24941 "type" : "string",
24942 "typetext" : "<string>"
56122987 24943 }
44660702 24944 }
7aacca6f 24945 },
7aacca6f
DM
24946 "permissions" : {
24947 "check" : [
24948 "perm",
24949 "/access/realm",
24950 [
44660702
DM
24951 "Realm.Allocate",
24952 "Sys.Audit"
24953 ],
24954 "any",
24955 1
7aacca6f 24956 ]
44660702
DM
24957 },
24958 "returns" : {}
7aacca6f 24959 },
44660702
DM
24960 "PUT" : {
24961 "description" : "Update authentication server settings.",
24962 "method" : "PUT",
24963 "name" : "update",
7aacca6f 24964 "parameters" : {
44660702 24965 "additionalProperties" : 0,
7aacca6f 24966 "properties" : {
44660702
DM
24967 "base_dn" : {
24968 "description" : "LDAP base domain name",
24969 "maxLength" : 256,
24970 "optional" : 1,
24971 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24972 "type" : "string"
24973 },
4bd7df8b
DM
24974 "bind_dn" : {
24975 "description" : "LDAP bind domain name",
24976 "maxLength" : 256,
24977 "optional" : 1,
24978 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
24979 "type" : "string"
24980 },
44660702
DM
24981 "comment" : {
24982 "description" : "Description.",
24983 "maxLength" : 4096,
24984 "optional" : 1,
013dc89f
DM
24985 "type" : "string",
24986 "typetext" : "<string>"
44660702
DM
24987 },
24988 "default" : {
24989 "description" : "Use this as default realm",
24990 "optional" : 1,
013dc89f
DM
24991 "type" : "boolean",
24992 "typetext" : "<boolean>"
44660702
DM
24993 },
24994 "delete" : {
24995 "description" : "A list of settings you want to delete.",
24996 "format" : "pve-configid-list",
24997 "maxLength" : 4096,
24998 "optional" : 1,
013dc89f
DM
24999 "type" : "string",
25000 "typetext" : "<string>"
44660702
DM
25001 },
25002 "digest" : {
25003 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25004 "maxLength" : 40,
25005 "optional" : 1,
013dc89f
DM
25006 "type" : "string",
25007 "typetext" : "<string>"
44660702
DM
25008 },
25009 "domain" : {
25010 "description" : "AD domain name",
25011 "maxLength" : 256,
25012 "optional" : 1,
25013 "pattern" : "\\S+",
25014 "type" : "string"
25015 },
25016 "port" : {
25017 "description" : "Server port.",
25018 "maximum" : 65535,
25019 "minimum" : 1,
25020 "optional" : 1,
4bd7df8b 25021 "type" : "integer",
013dc89f 25022 "typetext" : "<integer> (1 - 65535)"
44660702 25023 },
7aacca6f 25024 "realm" : {
7aacca6f
DM
25025 "description" : "Authentication domain ID",
25026 "format" : "pve-realm",
44660702 25027 "maxLength" : 32,
013dc89f
DM
25028 "type" : "string",
25029 "typetext" : "<string>"
44660702
DM
25030 },
25031 "secure" : {
25032 "description" : "Use secure LDAPS protocol.",
25033 "optional" : 1,
013dc89f
DM
25034 "type" : "boolean",
25035 "typetext" : "<boolean>"
44660702
DM
25036 },
25037 "server1" : {
25038 "description" : "Server IP address (or DNS name)",
25039 "format" : "address",
25040 "maxLength" : 256,
25041 "optional" : 1,
013dc89f
DM
25042 "type" : "string",
25043 "typetext" : "<string>"
44660702
DM
25044 },
25045 "server2" : {
25046 "description" : "Fallback Server IP address (or DNS name)",
25047 "format" : "address",
25048 "maxLength" : 256,
25049 "optional" : 1,
013dc89f
DM
25050 "type" : "string",
25051 "typetext" : "<string>"
44660702
DM
25052 },
25053 "tfa" : {
25054 "description" : "Use Two-factor authentication.",
25055 "format" : "pve-tfa-config",
25056 "maxLength" : 128,
25057 "optional" : 1,
013dc89f
DM
25058 "type" : "string",
25059 "typetext" : "<string>"
44660702
DM
25060 },
25061 "user_attr" : {
25062 "description" : "LDAP user attribute name",
25063 "maxLength" : 256,
25064 "optional" : 1,
25065 "pattern" : "\\S{2,}",
25066 "type" : "string"
7aacca6f 25067 }
56122987 25068 },
44660702 25069 "type" : "object"
56122987 25070 },
7aacca6f
DM
25071 "permissions" : {
25072 "check" : [
25073 "perm",
25074 "/access/realm",
25075 [
44660702
DM
25076 "Realm.Allocate"
25077 ]
7aacca6f
DM
25078 ]
25079 },
44660702
DM
25080 "protected" : 1,
25081 "returns" : {
25082 "type" : "null"
25083 }
56122987 25084 }
44660702
DM
25085 },
25086 "leaf" : 1,
25087 "path" : "/access/domains/{realm}",
25088 "text" : "{realm}"
56122987 25089 }
7aacca6f 25090 ],
56122987
DM
25091 "info" : {
25092 "GET" : {
44660702
DM
25093 "description" : "Authentication domain index.",
25094 "method" : "GET",
25095 "name" : "index",
25096 "parameters" : {
25097 "additionalProperties" : 0
25098 },
25099 "permissions" : {
25100 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
25101 "user" : "world"
25102 },
56122987 25103 "returns" : {
56122987
DM
25104 "items" : {
25105 "properties" : {
7aacca6f
DM
25106 "comment" : {
25107 "optional" : 1,
25108 "type" : "string"
25109 },
56122987
DM
25110 "realm" : {
25111 "type" : "string"
25112 },
25113 "tfa" : {
7aacca6f 25114 "description" : "Two-factor authentication provider.",
56122987
DM
25115 "enum" : [
25116 "yubico",
25117 "oath"
25118 ],
44660702
DM
25119 "optional" : 1,
25120 "type" : "string"
56122987
DM
25121 }
25122 },
25123 "type" : "object"
44660702
DM
25124 },
25125 "links" : [
25126 {
25127 "href" : "{realm}",
25128 "rel" : "child"
25129 }
25130 ],
25131 "type" : "array"
25132 }
56122987
DM
25133 },
25134 "POST" : {
7aacca6f 25135 "description" : "Add an authentication server.",
44660702 25136 "method" : "POST",
7aacca6f 25137 "name" : "create",
56122987 25138 "parameters" : {
44660702 25139 "additionalProperties" : 0,
56122987 25140 "properties" : {
44660702
DM
25141 "base_dn" : {
25142 "description" : "LDAP base domain name",
56122987 25143 "maxLength" : 256,
44660702
DM
25144 "optional" : 1,
25145 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 25146 "type" : "string"
56122987 25147 },
4bd7df8b
DM
25148 "bind_dn" : {
25149 "description" : "LDAP bind domain name",
25150 "maxLength" : 256,
25151 "optional" : 1,
25152 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
25153 "type" : "string"
25154 },
44660702
DM
25155 "comment" : {
25156 "description" : "Description.",
25157 "maxLength" : 4096,
56122987 25158 "optional" : 1,
013dc89f
DM
25159 "type" : "string",
25160 "typetext" : "<string>"
56122987 25161 },
44660702
DM
25162 "default" : {
25163 "description" : "Use this as default realm",
7aacca6f 25164 "optional" : 1,
013dc89f
DM
25165 "type" : "boolean",
25166 "typetext" : "<boolean>"
56122987 25167 },
44660702
DM
25168 "domain" : {
25169 "description" : "AD domain name",
25170 "maxLength" : 256,
7aacca6f 25171 "optional" : 1,
44660702
DM
25172 "pattern" : "\\S+",
25173 "type" : "string"
56122987 25174 },
7aacca6f 25175 "port" : {
44660702 25176 "description" : "Server port.",
7aacca6f 25177 "maximum" : 65535,
44660702 25178 "minimum" : 1,
7aacca6f 25179 "optional" : 1,
4bd7df8b 25180 "type" : "integer",
013dc89f 25181 "typetext" : "<integer> (1 - 65535)"
56122987 25182 },
44660702
DM
25183 "realm" : {
25184 "description" : "Authentication domain ID",
25185 "format" : "pve-realm",
25186 "maxLength" : 32,
013dc89f
DM
25187 "type" : "string",
25188 "typetext" : "<string>"
44660702
DM
25189 },
25190 "secure" : {
25191 "description" : "Use secure LDAPS protocol.",
7aacca6f 25192 "optional" : 1,
013dc89f
DM
25193 "type" : "boolean",
25194 "typetext" : "<boolean>"
56122987 25195 },
44660702
DM
25196 "server1" : {
25197 "description" : "Server IP address (or DNS name)",
25198 "format" : "address",
25199 "maxLength" : 256,
25200 "optional" : 1,
013dc89f
DM
25201 "type" : "string",
25202 "typetext" : "<string>"
56122987 25203 },
44660702
DM
25204 "server2" : {
25205 "description" : "Fallback Server IP address (or DNS name)",
25206 "format" : "address",
7aacca6f 25207 "maxLength" : 256,
7aacca6f 25208 "optional" : 1,
013dc89f
DM
25209 "type" : "string",
25210 "typetext" : "<string>"
7aacca6f 25211 },
44660702
DM
25212 "tfa" : {
25213 "description" : "Use Two-factor authentication.",
25214 "format" : "pve-tfa-config",
25215 "maxLength" : 128,
25216 "optional" : 1,
013dc89f
DM
25217 "type" : "string",
25218 "typetext" : "<string>"
44660702
DM
25219 },
25220 "type" : {
25221 "description" : "Realm type.",
25222 "enum" : [
25223 "ad",
25224 "ldap",
25225 "pam",
25226 "pve"
25227 ],
25228 "type" : "string"
25229 },
25230 "user_attr" : {
25231 "description" : "LDAP user attribute name",
7aacca6f 25232 "maxLength" : 256,
7aacca6f 25233 "optional" : 1,
44660702
DM
25234 "pattern" : "\\S{2,}",
25235 "type" : "string"
7aacca6f
DM
25236 }
25237 },
7aacca6f 25238 "type" : "object"
56122987 25239 },
7aacca6f
DM
25240 "permissions" : {
25241 "check" : [
25242 "perm",
25243 "/access/realm",
25244 [
25245 "Realm.Allocate"
25246 ]
25247 ]
44660702
DM
25248 },
25249 "protected" : 1,
25250 "returns" : {
25251 "type" : "null"
7aacca6f 25252 }
56122987 25253 }
7aacca6f 25254 },
44660702 25255 "leaf" : 0,
56122987 25256 "path" : "/access/domains",
44660702 25257 "text" : "domains"
56122987
DM
25258 },
25259 {
56122987 25260 "info" : {
44660702
DM
25261 "GET" : {
25262 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
25263 "method" : "GET",
25264 "name" : "get_ticket",
25265 "parameters" : {
25266 "additionalProperties" : 0
25267 },
25268 "permissions" : {
25269 "user" : "world"
25270 },
25271 "returns" : {
25272 "type" : "null"
25273 }
25274 },
56122987 25275 "POST" : {
44660702 25276 "description" : "Create or verify authentication ticket.",
56122987 25277 "method" : "POST",
44660702
DM
25278 "name" : "create_ticket",
25279 "parameters" : {
25280 "additionalProperties" : 0,
56122987 25281 "properties" : {
44660702
DM
25282 "otp" : {
25283 "description" : "One-time password for Two-factor authentication.",
7aacca6f 25284 "optional" : 1,
013dc89f
DM
25285 "type" : "string",
25286 "typetext" : "<string>"
56122987 25287 },
7aacca6f
DM
25288 "password" : {
25289 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
25290 "type" : "string",
25291 "typetext" : "<string>"
7aacca6f 25292 },
44660702
DM
25293 "path" : {
25294 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 25295 "maxLength" : 64,
56122987 25296 "optional" : 1,
56122987 25297 "requires" : "privs",
013dc89f
DM
25298 "type" : "string",
25299 "typetext" : "<string>"
44660702
DM
25300 },
25301 "privs" : {
7aacca6f 25302 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
25303 "format" : "pve-priv-list",
25304 "maxLength" : 64,
56122987 25305 "optional" : 1,
44660702 25306 "requires" : "path",
013dc89f
DM
25307 "type" : "string",
25308 "typetext" : "<string>"
56122987
DM
25309 },
25310 "realm" : {
56122987 25311 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 25312 "format" : "pve-realm",
7aacca6f 25313 "maxLength" : 32,
44660702 25314 "optional" : 1,
013dc89f
DM
25315 "type" : "string",
25316 "typetext" : "<string>"
56122987
DM
25317 },
25318 "username" : {
25319 "description" : "User name",
44660702 25320 "maxLength" : 64,
013dc89f
DM
25321 "type" : "string",
25322 "typetext" : "<string>"
56122987 25323 }
44660702 25324 }
7aacca6f 25325 },
56122987 25326 "permissions" : {
44660702 25327 "description" : "You need to pass valid credientials.",
56122987
DM
25328 "user" : "world"
25329 },
44660702 25330 "protected" : 1,
7aacca6f 25331 "returns" : {
56122987 25332 "properties" : {
44660702
DM
25333 "CSRFPreventionToken" : {
25334 "optional" : 1,
25335 "type" : "string"
56122987 25336 },
44660702
DM
25337 "ticket" : {
25338 "optional" : 1,
25339 "type" : "string"
25340 },
25341 "username" : {
56122987
DM
25342 "type" : "string"
25343 }
25344 },
44660702 25345 "type" : "object"
7aacca6f 25346 }
7aacca6f
DM
25347 }
25348 },
44660702
DM
25349 "leaf" : 1,
25350 "path" : "/access/ticket",
25351 "text" : "ticket"
7aacca6f 25352 },
56122987 25353 {
56122987 25354 "info" : {
7aacca6f 25355 "PUT" : {
44660702 25356 "description" : "Change user password.",
7aacca6f 25357 "method" : "PUT",
44660702 25358 "name" : "change_passsword",
56122987
DM
25359 "parameters" : {
25360 "additionalProperties" : 0,
25361 "properties" : {
44660702
DM
25362 "password" : {
25363 "description" : "The new password.",
25364 "maxLength" : 64,
25365 "minLength" : 5,
013dc89f
DM
25366 "type" : "string",
25367 "typetext" : "<string>"
7aacca6f 25368 },
44660702
DM
25369 "userid" : {
25370 "description" : "User ID",
25371 "format" : "pve-userid",
25372 "maxLength" : 64,
013dc89f
DM
25373 "type" : "string",
25374 "typetext" : "<string>"
56122987 25375 }
7aacca6f 25376 }
56122987
DM
25377 },
25378 "permissions" : {
25379 "check" : [
44660702 25380 "or",
56122987 25381 [
44660702
DM
25382 "userid-param",
25383 "self"
25384 ],
25385 [
25386 "and",
25387 [
25388 "userid-param",
25389 "Realm.AllocateUser"
25390 ],
25391 [
25392 "userid-group",
25393 [
25394 "User.Modify"
25395 ]
25396 ]
56122987 25397 ]
7aacca6f 25398 ],
44660702 25399 "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 25400 },
44660702 25401 "protected" : 1,
7aacca6f
DM
25402 "returns" : {
25403 "type" : "null"
44660702
DM
25404 }
25405 }
25406 },
25407 "leaf" : 1,
25408 "path" : "/access/password",
25409 "text" : "password"
25410 }
25411 ],
25412 "info" : {
25413 "GET" : {
25414 "description" : "Directory index.",
25415 "method" : "GET",
25416 "name" : "index",
25417 "parameters" : {
25418 "additionalProperties" : 0
25419 },
25420 "permissions" : {
25421 "user" : "all"
25422 },
25423 "returns" : {
25424 "items" : {
25425 "properties" : {
25426 "subdir" : {
25427 "type" : "string"
25428 }
7aacca6f 25429 },
44660702
DM
25430 "type" : "object"
25431 },
25432 "links" : [
25433 {
25434 "href" : "{subdir}",
25435 "rel" : "child"
25436 }
25437 ],
25438 "type" : "array"
25439 }
25440 }
25441 },
25442 "leaf" : 0,
25443 "path" : "/access",
25444 "text" : "access"
25445 },
25446 {
25447 "children" : [
25448 {
25449 "info" : {
25450 "DELETE" : {
7aacca6f 25451 "description" : "Delete pool.",
44660702
DM
25452 "method" : "DELETE",
25453 "name" : "delete_pool",
7aacca6f
DM
25454 "parameters" : {
25455 "additionalProperties" : 0,
25456 "properties" : {
25457 "poolid" : {
25458 "format" : "pve-poolid",
013dc89f
DM
25459 "type" : "string",
25460 "typetext" : "<string>"
7aacca6f
DM
25461 }
25462 }
25463 },
56122987
DM
25464 "permissions" : {
25465 "check" : [
25466 "perm",
25467 "/pool/{poolid}",
25468 [
25469 "Pool.Allocate"
25470 ]
44660702
DM
25471 ],
25472 "description" : "You can only delete empty pools (no members)."
25473 },
25474 "protected" : 1,
25475 "returns" : {
25476 "type" : "null"
7aacca6f
DM
25477 }
25478 },
25479 "GET" : {
25480 "description" : "Get pool configuration.",
44660702 25481 "method" : "GET",
7aacca6f 25482 "name" : "read_pool",
56122987 25483 "parameters" : {
44660702 25484 "additionalProperties" : 0,
56122987
DM
25485 "properties" : {
25486 "poolid" : {
44660702 25487 "format" : "pve-poolid",
013dc89f
DM
25488 "type" : "string",
25489 "typetext" : "<string>"
56122987 25490 }
44660702 25491 }
56122987 25492 },
56122987 25493 "permissions" : {
56122987
DM
25494 "check" : [
25495 "perm",
25496 "/pool/{poolid}",
25497 [
25498 "Pool.Allocate"
25499 ]
25500 ]
25501 },
7aacca6f 25502 "returns" : {
44660702 25503 "additionalProperties" : 0,
56122987 25504 "properties" : {
44660702
DM
25505 "comment" : {
25506 "optional" : 1,
25507 "type" : "string"
25508 },
7aacca6f 25509 "members" : {
7aacca6f
DM
25510 "items" : {
25511 "additionalProperties" : 1,
7aacca6f 25512 "properties" : {
7aacca6f
DM
25513 "id" : {
25514 "type" : "string"
25515 },
25516 "node" : {
25517 "type" : "string"
25518 },
44660702
DM
25519 "storage" : {
25520 "optional" : 1,
25521 "type" : "string"
25522 },
7aacca6f 25523 "type" : {
7aacca6f
DM
25524 "enum" : [
25525 "qemu",
25526 "lxc",
25527 "openvz",
25528 "storage"
44660702
DM
25529 ],
25530 "type" : "string"
25531 },
25532 "vmid" : {
25533 "optional" : 1,
25534 "type" : "integer"
7aacca6f 25535 }
44660702
DM
25536 },
25537 "type" : "object"
25538 },
25539 "type" : "array"
25540 }
25541 },
25542 "type" : "object"
25543 }
25544 },
25545 "PUT" : {
25546 "description" : "Update pool data.",
25547 "method" : "PUT",
25548 "name" : "update_pool",
25549 "parameters" : {
25550 "additionalProperties" : 0,
25551 "properties" : {
56122987
DM
25552 "comment" : {
25553 "optional" : 1,
013dc89f
DM
25554 "type" : "string",
25555 "typetext" : "<string>"
44660702
DM
25556 },
25557 "delete" : {
25558 "description" : "Remove vms/storage (instead of adding it).",
25559 "optional" : 1,
013dc89f
DM
25560 "type" : "boolean",
25561 "typetext" : "<boolean>"
44660702
DM
25562 },
25563 "poolid" : {
25564 "format" : "pve-poolid",
013dc89f
DM
25565 "type" : "string",
25566 "typetext" : "<string>"
44660702
DM
25567 },
25568 "storage" : {
25569 "description" : "List of storage IDs.",
25570 "format" : "pve-storage-id-list",
25571 "optional" : 1,
013dc89f
DM
25572 "type" : "string",
25573 "typetext" : "<string>"
44660702
DM
25574 },
25575 "vms" : {
25576 "description" : "List of virtual machines.",
25577 "format" : "pve-vmid-list",
25578 "optional" : 1,
013dc89f
DM
25579 "type" : "string",
25580 "typetext" : "<string>"
56122987 25581 }
44660702
DM
25582 }
25583 },
25584 "permissions" : {
25585 "check" : [
25586 "perm",
25587 "/pool/{poolid}",
25588 [
25589 "Pool.Allocate"
25590 ]
25591 ],
25592 "description" : "You also need the right to modify permissions on any object you add/delete."
25593 },
25594 "protected" : 1,
25595 "returns" : {
25596 "type" : "null"
56122987
DM
25597 }
25598 }
25599 },
44660702
DM
25600 "leaf" : 1,
25601 "path" : "/pools/{poolid}",
7aacca6f 25602 "text" : "{poolid}"
56122987 25603 }
7aacca6f 25604 ],
56122987
DM
25605 "info" : {
25606 "GET" : {
44660702
DM
25607 "description" : "Pool index.",
25608 "method" : "GET",
25609 "name" : "index",
25610 "parameters" : {
25611 "additionalProperties" : 0
25612 },
25613 "permissions" : {
25614 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
25615 "user" : "all"
25616 },
56122987 25617 "returns" : {
44660702
DM
25618 "items" : {
25619 "properties" : {
25620 "poolid" : {
25621 "type" : "string"
25622 }
56122987 25623 },
44660702
DM
25624 "type" : "object"
25625 },
25626 "links" : [
25627 {
25628 "href" : "{poolid}",
25629 "rel" : "child"
25630 }
25631 ],
25632 "type" : "array"
25633 }
25634 },
25635 "POST" : {
25636 "description" : "Create new pool.",
25637 "method" : "POST",
25638 "name" : "create_pool",
25639 "parameters" : {
25640 "additionalProperties" : 0,
25641 "properties" : {
25642 "comment" : {
25643 "optional" : 1,
013dc89f
DM
25644 "type" : "string",
25645 "typetext" : "<string>"
7aacca6f 25646 },
44660702
DM
25647 "poolid" : {
25648 "format" : "pve-poolid",
013dc89f
DM
25649 "type" : "string",
25650 "typetext" : "<string>"
56122987
DM
25651 }
25652 }
25653 },
56122987 25654 "permissions" : {
44660702
DM
25655 "check" : [
25656 "perm",
25657 "/pool/{poolid}",
25658 [
25659 "Pool.Allocate"
25660 ]
25661 ]
56122987 25662 },
44660702
DM
25663 "protected" : 1,
25664 "returns" : {
25665 "type" : "null"
25666 }
25667 }
25668 },
25669 "leaf" : 0,
25670 "path" : "/pools",
25671 "text" : "pools"
25672 },
25673 {
25674 "info" : {
25675 "GET" : {
25676 "description" : "API version details. The result also includes the global datacenter confguration.",
25677 "method" : "GET",
25678 "name" : "version",
7aacca6f
DM
25679 "parameters" : {
25680 "additionalProperties" : 0
25681 },
44660702
DM
25682 "permissions" : {
25683 "user" : "all"
25684 },
25685 "returns" : {
25686 "properties" : {
25687 "release" : {
25688 "type" : "string"
25689 },
25690 "repoid" : {
25691 "type" : "string"
25692 },
25693 "version" : {
25694 "type" : "string"
25695 }
25696 },
25697 "type" : "object"
25698 }
56122987
DM
25699 }
25700 },
44660702
DM
25701 "leaf" : 1,
25702 "path" : "/version",
56122987
DM
25703 "text" : "version"
25704 }
25705]
25706;
25707