]> git.proxmox.com Git - pve-docs.git/blame - api-viewer/apidata.js
update generated docs
[pve-docs.git] / api-viewer / apidata.js
CommitLineData
56122987
DM
1var pveapi = [
2 {
56122987 3 "children" : [
5d9c884c
DM
4 {
5 "children" : [
6 {
7 "info" : {
8 "DELETE" : {
9 "description" : "Mark replication job for removal.",
10 "method" : "DELETE",
11 "name" : "delete",
12 "parameters" : {
13 "additionalProperties" : 0,
14 "properties" : {
15 "force" : {
16 "default" : 0,
17 "description" : "Will remove the jobconfig entry, but will not cleanup.",
18 "optional" : 1,
19 "type" : "boolean",
20 "typetext" : "<boolean>"
21 },
22 "id" : {
23 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
24 "format" : "pve-replication-job-id",
25 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
26 "type" : "string"
27 },
28 "keep" : {
29 "default" : 0,
30 "description" : "Keep replicated data at target (do not remove).",
31 "optional" : 1,
32 "type" : "boolean",
33 "typetext" : "<boolean>"
34 }
35 }
36 },
37 "permissions" : {
38 "check" : [
39 "perm",
40 "/storage",
41 [
42 "Datastore.Allocate"
43 ]
44 ]
45 },
46 "protected" : 1,
47 "returns" : {
48 "type" : "null"
49 }
50 },
51 "GET" : {
52 "description" : "Read replication job configuration.",
53 "method" : "GET",
54 "name" : "read",
55 "parameters" : {
56 "additionalProperties" : 0,
57 "properties" : {
58 "id" : {
59 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
60 "format" : "pve-replication-job-id",
61 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
62 "type" : "string"
63 }
64 }
65 },
66 "permissions" : {
67 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
68 "user" : "all"
69 },
70 "returns" : {
71 "type" : "object"
72 }
73 },
74 "PUT" : {
75 "description" : "Update replication job configuration.",
76 "method" : "PUT",
77 "name" : "update",
78 "parameters" : {
79 "additionalProperties" : 0,
80 "properties" : {
81 "comment" : {
82 "description" : "Description.",
83 "maxLength" : 4096,
84 "optional" : 1,
85 "type" : "string",
86 "typetext" : "<string>"
87 },
88 "delete" : {
89 "description" : "A list of settings you want to delete.",
90 "format" : "pve-configid-list",
91 "maxLength" : 4096,
92 "optional" : 1,
93 "type" : "string",
94 "typetext" : "<string>"
95 },
96 "digest" : {
97 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
98 "maxLength" : 40,
99 "optional" : 1,
100 "type" : "string",
101 "typetext" : "<string>"
102 },
103 "disable" : {
104 "description" : "Flag to disable/deactivate the entry.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "id" : {
110 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
111 "format" : "pve-replication-job-id",
112 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
113 "type" : "string"
114 },
115 "rate" : {
116 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
117 "minimum" : 1,
118 "optional" : 1,
119 "type" : "number",
120 "typetext" : "<number> (1 - N)"
121 },
122 "remove_job" : {
123 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
124 "enum" : [
125 "local",
126 "full"
127 ],
128 "optional" : 1,
129 "type" : "string"
130 },
131 "schedule" : {
132 "default" : "*/15",
133 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
134 "format" : "pve-calendar-event",
135 "maxLength" : 128,
136 "optional" : 1,
137 "type" : "string",
138 "typetext" : "<string>"
139 }
140 },
141 "type" : "object"
142 },
143 "permissions" : {
144 "check" : [
145 "perm",
146 "/storage",
147 [
148 "Datastore.Allocate"
149 ]
150 ]
151 },
152 "protected" : 1,
153 "returns" : {
154 "type" : "null"
155 }
156 }
157 },
158 "leaf" : 1,
159 "path" : "/cluster/replication/{id}",
160 "text" : "{id}"
161 }
162 ],
163 "info" : {
164 "GET" : {
165 "description" : "List replication jobs.",
166 "method" : "GET",
167 "name" : "index",
168 "parameters" : {
169 "additionalProperties" : 0
170 },
171 "permissions" : {
172 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
173 "user" : "all"
174 },
175 "returns" : {
176 "items" : {
177 "properties" : {},
178 "type" : "object"
179 },
180 "links" : [
181 {
182 "href" : "{id}",
183 "rel" : "child"
184 }
185 ],
186 "type" : "array"
187 }
188 },
189 "POST" : {
190 "description" : "Create a new replication job",
191 "method" : "POST",
192 "name" : "create",
193 "parameters" : {
194 "additionalProperties" : 0,
195 "properties" : {
196 "comment" : {
197 "description" : "Description.",
198 "maxLength" : 4096,
199 "optional" : 1,
200 "type" : "string",
201 "typetext" : "<string>"
202 },
203 "disable" : {
204 "description" : "Flag to disable/deactivate the entry.",
205 "optional" : 1,
206 "type" : "boolean",
207 "typetext" : "<boolean>"
208 },
209 "id" : {
210 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
211 "format" : "pve-replication-job-id",
212 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
213 "type" : "string"
214 },
215 "rate" : {
216 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
217 "minimum" : 1,
218 "optional" : 1,
219 "type" : "number",
220 "typetext" : "<number> (1 - N)"
221 },
222 "remove_job" : {
223 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
224 "enum" : [
225 "local",
226 "full"
227 ],
228 "optional" : 1,
229 "type" : "string"
230 },
231 "schedule" : {
232 "default" : "*/15",
233 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
234 "format" : "pve-calendar-event",
235 "maxLength" : 128,
236 "optional" : 1,
237 "type" : "string",
238 "typetext" : "<string>"
239 },
240 "target" : {
241 "description" : "Target node.",
242 "format" : "pve-node",
243 "optional" : 0,
244 "type" : "string",
245 "typetext" : "<string>"
246 },
247 "type" : {
248 "description" : "Section type.",
249 "enum" : [
250 "local"
251 ],
252 "type" : "string"
253 }
254 },
255 "type" : "object"
256 },
257 "permissions" : {
258 "check" : [
259 "perm",
260 "/storage",
261 [
262 "Datastore.Allocate"
263 ]
264 ]
265 },
266 "protected" : 1,
267 "returns" : {
268 "type" : "null"
269 }
270 }
271 },
272 "leaf" : 0,
273 "path" : "/cluster/replication",
274 "text" : "replication"
275 },
32d876b5
DM
276 {
277 "children" : [
278 {
279 "info" : {
280 "GET" : {
281 "description" : "Corosync node list.",
282 "method" : "GET",
283 "name" : "nodes",
284 "parameters" : {
285 "additionalProperties" : 0
286 },
5d9c884c
DM
287 "permissions" : {
288 "check" : [
289 "perm",
290 "/",
291 [
292 "Sys.Audit"
293 ]
294 ]
295 },
32d876b5
DM
296 "returns" : {
297 "items" : {
298 "properties" : {
299 "node" : {
300 "type" : "string"
301 }
302 },
303 "type" : "object"
304 },
305 "links" : [
306 {
307 "href" : "{node}",
308 "rel" : "child"
309 }
310 ],
311 "type" : "array"
312 }
313 }
314 },
315 "leaf" : 1,
316 "path" : "/cluster/config/nodes",
317 "text" : "nodes"
318 },
319 {
320 "info" : {
321 "GET" : {
322 "description" : "Get corosync totem protocol settings.",
323 "method" : "GET",
324 "name" : "totem",
325 "parameters" : {
326 "additionalProperties" : 0
327 },
5d9c884c
DM
328 "permissions" : {
329 "check" : [
330 "perm",
331 "/",
332 [
333 "Sys.Audit"
334 ]
335 ]
336 },
32d876b5
DM
337 "returns" : {
338 "properties" : {},
339 "type" : "object"
340 }
341 }
342 },
343 "leaf" : 1,
344 "path" : "/cluster/config/totem",
345 "text" : "totem"
346 }
347 ],
348 "info" : {
349 "GET" : {
350 "description" : "Directory index.",
351 "method" : "GET",
352 "name" : "index",
353 "parameters" : {
354 "additionalProperties" : 0
355 },
5d9c884c
DM
356 "permissions" : {
357 "check" : [
358 "perm",
359 "/",
360 [
361 "Sys.Audit"
362 ]
363 ]
364 },
32d876b5
DM
365 "returns" : {
366 "items" : {
367 "properties" : {},
368 "type" : "object"
369 },
370 "links" : [
371 {
372 "href" : "{name}",
373 "rel" : "child"
374 }
375 ],
376 "type" : "array"
377 }
378 }
379 },
380 "leaf" : 0,
381 "path" : "/cluster/config",
382 "text" : "config"
383 },
56122987 384 {
56122987
DM
385 "children" : [
386 {
56122987
DM
387 "children" : [
388 {
44660702
DM
389 "children" : [
390 {
391 "info" : {
392 "DELETE" : {
393 "description" : "Delete rule.",
394 "method" : "DELETE",
395 "name" : "delete_rule",
396 "parameters" : {
397 "additionalProperties" : 0,
398 "properties" : {
399 "digest" : {
400 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
401 "maxLength" : 40,
402 "optional" : 1,
013dc89f
DM
403 "type" : "string",
404 "typetext" : "<string>"
44660702
DM
405 },
406 "group" : {
407 "description" : "Security Group name.",
4bd7df8b 408 "maxLength" : 18,
44660702
DM
409 "minLength" : 2,
410 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
411 "type" : "string"
412 },
413 "pos" : {
414 "description" : "Update rule at position <pos>.",
415 "minimum" : 0,
416 "optional" : 1,
4bd7df8b 417 "type" : "integer",
013dc89f 418 "typetext" : "<integer> (0 - N)"
44660702
DM
419 }
420 }
421 },
422 "permissions" : {
423 "check" : [
424 "perm",
425 "/",
426 [
427 "Sys.Modify"
428 ]
429 ]
430 },
431 "protected" : 1,
432 "proxyto" : null,
433 "returns" : {
434 "type" : "null"
7aacca6f
DM
435 }
436 },
44660702
DM
437 "GET" : {
438 "description" : "Get single rule data.",
439 "method" : "GET",
440 "name" : "get_rule",
441 "parameters" : {
442 "additionalProperties" : 0,
443 "properties" : {
444 "group" : {
445 "description" : "Security Group name.",
4bd7df8b 446 "maxLength" : 18,
44660702
DM
447 "minLength" : 2,
448 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
449 "type" : "string"
450 },
451 "pos" : {
452 "description" : "Update rule at position <pos>.",
453 "minimum" : 0,
454 "optional" : 1,
4bd7df8b 455 "type" : "integer",
013dc89f 456 "typetext" : "<integer> (0 - N)"
44660702 457 }
7aacca6f 458 }
56122987 459 },
44660702
DM
460 "permissions" : {
461 "check" : [
462 "perm",
463 "/",
464 [
465 "Sys.Audit"
466 ]
467 ]
468 },
469 "proxyto" : null,
470 "returns" : {
471 "properties" : {
472 "pos" : {
473 "type" : "integer"
474 }
475 },
476 "type" : "object"
56122987 477 }
44660702 478 },
7aacca6f 479 "PUT" : {
44660702
DM
480 "description" : "Modify rule data.",
481 "method" : "PUT",
482 "name" : "update_rule",
7aacca6f
DM
483 "parameters" : {
484 "additionalProperties" : 0,
485 "properties" : {
44660702
DM
486 "action" : {
487 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 488 "maxLength" : 20,
44660702 489 "minLength" : 2,
7aacca6f 490 "optional" : 1,
44660702 491 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
492 "type" : "string"
493 },
44660702 494 "comment" : {
e94f0d56 495 "description" : "Descriptive comment.",
7aacca6f 496 "optional" : 1,
013dc89f
DM
497 "type" : "string",
498 "typetext" : "<string>"
7aacca6f 499 },
44660702
DM
500 "delete" : {
501 "description" : "A list of settings you want to delete.",
502 "format" : "pve-configid-list",
7aacca6f 503 "optional" : 1,
013dc89f
DM
504 "type" : "string",
505 "typetext" : "<string>"
7aacca6f 506 },
44660702
DM
507 "dest" : {
508 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
509 "format" : "pve-fw-addr-spec",
7aacca6f 510 "optional" : 1,
013dc89f
DM
511 "type" : "string",
512 "typetext" : "<string>"
7aacca6f
DM
513 },
514 "digest" : {
515 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 516 "maxLength" : 40,
7aacca6f 517 "optional" : 1,
013dc89f
DM
518 "type" : "string",
519 "typetext" : "<string>"
7aacca6f 520 },
44660702
DM
521 "dport" : {
522 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
523 "format" : "pve-fw-dport-spec",
7aacca6f 524 "optional" : 1,
013dc89f
DM
525 "type" : "string",
526 "typetext" : "<string>"
7aacca6f 527 },
44660702 528 "enable" : {
e94f0d56 529 "description" : "Flag to enable/disable a rule.",
44660702 530 "minimum" : 0,
7aacca6f 531 "optional" : 1,
4bd7df8b 532 "type" : "integer",
013dc89f 533 "typetext" : "<integer> (0 - N)"
7aacca6f 534 },
44660702
DM
535 "group" : {
536 "description" : "Security Group name.",
4bd7df8b 537 "maxLength" : 18,
44660702
DM
538 "minLength" : 2,
539 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
540 "type" : "string"
541 },
542 "iface" : {
543 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
544 "format" : "pve-iface",
545 "maxLength" : 20,
546 "minLength" : 2,
7aacca6f 547 "optional" : 1,
013dc89f
DM
548 "type" : "string",
549 "typetext" : "<string>"
7aacca6f 550 },
44660702 551 "macro" : {
e94f0d56 552 "description" : "Use predefined standard macro.",
44660702
DM
553 "maxLength" : 128,
554 "optional" : 1,
013dc89f
DM
555 "type" : "string",
556 "typetext" : "<string>"
7aacca6f
DM
557 },
558 "moveto" : {
559 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
44660702 560 "minimum" : 0,
7aacca6f 561 "optional" : 1,
4bd7df8b 562 "type" : "integer",
013dc89f 563 "typetext" : "<integer> (0 - N)"
7aacca6f 564 },
44660702
DM
565 "pos" : {
566 "description" : "Update rule at position <pos>.",
567 "minimum" : 0,
568 "optional" : 1,
4bd7df8b 569 "type" : "integer",
013dc89f 570 "typetext" : "<integer> (0 - N)"
7aacca6f 571 },
44660702
DM
572 "proto" : {
573 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
574 "format" : "pve-fw-protocol-spec",
7aacca6f 575 "optional" : 1,
013dc89f
DM
576 "type" : "string",
577 "typetext" : "<string>"
44660702
DM
578 },
579 "source" : {
580 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
581 "format" : "pve-fw-addr-spec",
582 "optional" : 1,
013dc89f
DM
583 "type" : "string",
584 "typetext" : "<string>"
44660702
DM
585 },
586 "sport" : {
587 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
588 "format" : "pve-fw-sport-spec",
589 "optional" : 1,
013dc89f
DM
590 "type" : "string",
591 "typetext" : "<string>"
7aacca6f
DM
592 },
593 "type" : {
e94f0d56 594 "description" : "Rule type.",
7aacca6f
DM
595 "enum" : [
596 "in",
597 "out",
598 "group"
599 ],
600 "optional" : 1,
601 "type" : "string"
602 }
603 }
604 },
7aacca6f
DM
605 "permissions" : {
606 "check" : [
607 "perm",
608 "/",
609 [
610 "Sys.Modify"
611 ]
612 ]
613 },
44660702 614 "protected" : 1,
7aacca6f
DM
615 "proxyto" : null,
616 "returns" : {
617 "type" : "null"
618 }
7aacca6f
DM
619 }
620 },
44660702 621 "leaf" : 1,
7aacca6f 622 "path" : "/cluster/firewall/groups/{group}/{pos}",
44660702 623 "text" : "{pos}"
7aacca6f
DM
624 }
625 ],
44660702
DM
626 "info" : {
627 "DELETE" : {
628 "description" : "Delete security group.",
629 "method" : "DELETE",
630 "name" : "delete_security_group",
631 "parameters" : {
632 "additionalProperties" : 0,
633 "properties" : {
634 "group" : {
635 "description" : "Security Group name.",
4bd7df8b 636 "maxLength" : 18,
44660702
DM
637 "minLength" : 2,
638 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
639 "type" : "string"
640 }
56122987 641 }
7aacca6f 642 },
44660702
DM
643 "permissions" : {
644 "check" : [
645 "perm",
646 "/",
647 [
648 "Sys.Modify"
649 ]
7aacca6f 650 ]
56122987 651 },
44660702
DM
652 "protected" : 1,
653 "returns" : {
654 "type" : "null"
56122987 655 }
7aacca6f 656 },
7aacca6f 657 "GET" : {
44660702 658 "description" : "List rules.",
7aacca6f 659 "method" : "GET",
44660702
DM
660 "name" : "get_rules",
661 "parameters" : {
662 "additionalProperties" : 0,
7aacca6f 663 "properties" : {
44660702
DM
664 "group" : {
665 "description" : "Security Group name.",
4bd7df8b 666 "maxLength" : 18,
44660702
DM
667 "minLength" : 2,
668 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
669 "type" : "string"
7aacca6f 670 }
44660702 671 }
7aacca6f
DM
672 },
673 "permissions" : {
674 "check" : [
675 "perm",
676 "/",
677 [
678 "Sys.Audit"
679 ]
680 ]
681 },
44660702
DM
682 "proxyto" : null,
683 "returns" : {
684 "items" : {
685 "properties" : {
686 "pos" : {
687 "type" : "integer"
688 }
689 },
690 "type" : "object"
691 },
692 "links" : [
693 {
694 "href" : "{pos}",
695 "rel" : "child"
696 }
697 ],
698 "type" : "array"
699 }
700 },
701 "POST" : {
702 "description" : "Create new rule.",
703 "method" : "POST",
704 "name" : "create_rule",
7aacca6f
DM
705 "parameters" : {
706 "additionalProperties" : 0,
707 "properties" : {
44660702
DM
708 "action" : {
709 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
710 "maxLength" : 20,
56122987 711 "minLength" : 2,
44660702
DM
712 "optional" : 0,
713 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 714 "type" : "string"
56122987 715 },
44660702 716 "comment" : {
e94f0d56 717 "description" : "Descriptive comment.",
56122987 718 "optional" : 1,
013dc89f
DM
719 "type" : "string",
720 "typetext" : "<string>"
56122987 721 },
44660702
DM
722 "dest" : {
723 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
56122987
DM
724 "format" : "pve-fw-addr-spec",
725 "optional" : 1,
013dc89f
DM
726 "type" : "string",
727 "typetext" : "<string>"
56122987 728 },
44660702
DM
729 "digest" : {
730 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
731 "maxLength" : 40,
7aacca6f 732 "optional" : 1,
013dc89f
DM
733 "type" : "string",
734 "typetext" : "<string>"
56122987 735 },
44660702
DM
736 "dport" : {
737 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
738 "format" : "pve-fw-dport-spec",
56122987 739 "optional" : 1,
013dc89f
DM
740 "type" : "string",
741 "typetext" : "<string>"
56122987 742 },
7aacca6f 743 "enable" : {
e94f0d56 744 "description" : "Flag to enable/disable a rule.",
44660702 745 "minimum" : 0,
7aacca6f 746 "optional" : 1,
4bd7df8b 747 "type" : "integer",
013dc89f 748 "typetext" : "<integer> (0 - N)"
56122987 749 },
44660702
DM
750 "group" : {
751 "description" : "Security Group name.",
4bd7df8b 752 "maxLength" : 18,
44660702 753 "minLength" : 2,
7aacca6f 754 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702
DM
755 "type" : "string"
756 },
757 "iface" : {
758 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
759 "format" : "pve-iface",
760 "maxLength" : 20,
7aacca6f 761 "minLength" : 2,
44660702 762 "optional" : 1,
013dc89f
DM
763 "type" : "string",
764 "typetext" : "<string>"
56122987 765 },
7aacca6f 766 "macro" : {
e94f0d56 767 "description" : "Use predefined standard macro.",
44660702 768 "maxLength" : 128,
7aacca6f 769 "optional" : 1,
013dc89f
DM
770 "type" : "string",
771 "typetext" : "<string>"
7aacca6f
DM
772 },
773 "pos" : {
774 "description" : "Update rule at position <pos>.",
44660702 775 "minimum" : 0,
56122987 776 "optional" : 1,
4bd7df8b 777 "type" : "integer",
013dc89f 778 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
779 },
780 "proto" : {
781 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
44660702 782 "format" : "pve-fw-protocol-spec",
7aacca6f 783 "optional" : 1,
013dc89f
DM
784 "type" : "string",
785 "typetext" : "<string>"
44660702
DM
786 },
787 "source" : {
788 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
789 "format" : "pve-fw-addr-spec",
790 "optional" : 1,
013dc89f
DM
791 "type" : "string",
792 "typetext" : "<string>"
44660702
DM
793 },
794 "sport" : {
795 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
796 "format" : "pve-fw-sport-spec",
797 "optional" : 1,
013dc89f
DM
798 "type" : "string",
799 "typetext" : "<string>"
44660702
DM
800 },
801 "type" : {
e94f0d56 802 "description" : "Rule type.",
44660702
DM
803 "enum" : [
804 "in",
805 "out",
806 "group"
807 ],
808 "optional" : 0,
809 "type" : "string"
56122987 810 }
44660702 811 }
56122987 812 },
56122987
DM
813 "permissions" : {
814 "check" : [
815 "perm",
816 "/",
817 [
818 "Sys.Modify"
819 ]
820 ]
821 },
44660702
DM
822 "protected" : 1,
823 "proxyto" : null,
56122987
DM
824 "returns" : {
825 "type" : "null"
7aacca6f 826 }
44660702
DM
827 }
828 },
829 "leaf" : 0,
830 "path" : "/cluster/firewall/groups/{group}",
831 "text" : "{group}"
832 }
833 ],
834 "info" : {
835 "GET" : {
836 "description" : "List security groups.",
837 "method" : "GET",
838 "name" : "list_security_groups",
839 "parameters" : {
840 "additionalProperties" : 0
841 },
842 "permissions" : {
843 "user" : "all"
844 },
845 "returns" : {
846 "items" : {
847 "properties" : {
848 "comment" : {
849 "optional" : 1,
850 "type" : "string"
851 },
852 "digest" : {
853 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
854 "maxLength" : 40,
855 "optional" : 0,
856 "type" : "string"
857 },
858 "group" : {
859 "description" : "Security Group name.",
4bd7df8b 860 "maxLength" : 18,
44660702
DM
861 "minLength" : 2,
862 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
863 "type" : "string"
864 }
865 },
866 "type" : "object"
56122987 867 },
44660702
DM
868 "links" : [
869 {
870 "href" : "{group}",
871 "rel" : "child"
872 }
873 ],
874 "type" : "array"
875 }
876 },
877 "POST" : {
878 "description" : "Create new security group.",
879 "method" : "POST",
880 "name" : "create_security_group",
881 "parameters" : {
882 "additionalProperties" : 0,
883 "properties" : {
884 "comment" : {
885 "optional" : 1,
013dc89f
DM
886 "type" : "string",
887 "typetext" : "<string>"
44660702
DM
888 },
889 "digest" : {
890 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
891 "maxLength" : 40,
892 "optional" : 1,
013dc89f
DM
893 "type" : "string",
894 "typetext" : "<string>"
44660702
DM
895 },
896 "group" : {
897 "description" : "Security Group name.",
4bd7df8b 898 "maxLength" : 18,
44660702
DM
899 "minLength" : 2,
900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
901 "type" : "string"
902 },
903 "rename" : {
904 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
4bd7df8b 905 "maxLength" : 18,
44660702
DM
906 "minLength" : 2,
907 "optional" : 1,
908 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
909 "type" : "string"
910 }
911 }
912 },
913 "permissions" : {
914 "check" : [
915 "perm",
916 "/",
917 [
918 "Sys.Modify"
919 ]
920 ]
921 },
922 "protected" : 1,
923 "returns" : {
924 "type" : "null"
925 }
926 }
927 },
928 "leaf" : 0,
929 "path" : "/cluster/firewall/groups",
930 "text" : "groups"
931 },
932 {
933 "children" : [
934 {
935 "info" : {
7aacca6f 936 "DELETE" : {
44660702
DM
937 "description" : "Delete rule.",
938 "method" : "DELETE",
939 "name" : "delete_rule",
940 "parameters" : {
941 "additionalProperties" : 0,
942 "properties" : {
943 "digest" : {
944 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
945 "maxLength" : 40,
946 "optional" : 1,
013dc89f
DM
947 "type" : "string",
948 "typetext" : "<string>"
44660702
DM
949 },
950 "pos" : {
951 "description" : "Update rule at position <pos>.",
952 "minimum" : 0,
953 "optional" : 1,
4bd7df8b 954 "type" : "integer",
013dc89f 955 "typetext" : "<integer> (0 - N)"
44660702
DM
956 }
957 }
958 },
56122987
DM
959 "permissions" : {
960 "check" : [
961 "perm",
962 "/",
963 [
7aacca6f 964 "Sys.Modify"
56122987
DM
965 ]
966 ]
967 },
44660702 968 "protected" : 1,
56122987
DM
969 "proxyto" : null,
970 "returns" : {
7aacca6f 971 "type" : "null"
44660702
DM
972 }
973 },
974 "GET" : {
975 "description" : "Get single rule data.",
976 "method" : "GET",
977 "name" : "get_rule",
56122987
DM
978 "parameters" : {
979 "additionalProperties" : 0,
980 "properties" : {
981 "pos" : {
7aacca6f 982 "description" : "Update rule at position <pos>.",
44660702 983 "minimum" : 0,
56122987 984 "optional" : 1,
4bd7df8b 985 "type" : "integer",
013dc89f 986 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
987 }
988 }
989 },
7aacca6f
DM
990 "permissions" : {
991 "check" : [
992 "perm",
993 "/",
994 [
995 "Sys.Audit"
996 ]
997 ]
56122987 998 },
44660702
DM
999 "proxyto" : null,
1000 "returns" : {
7aacca6f 1001 "properties" : {
44660702
DM
1002 "pos" : {
1003 "type" : "integer"
7aacca6f 1004 }
44660702
DM
1005 },
1006 "type" : "object"
1007 }
56122987 1008 },
44660702
DM
1009 "PUT" : {
1010 "description" : "Modify rule data.",
1011 "method" : "PUT",
1012 "name" : "update_rule",
7aacca6f
DM
1013 "parameters" : {
1014 "additionalProperties" : 0,
1015 "properties" : {
44660702
DM
1016 "action" : {
1017 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1018 "maxLength" : 20,
1019 "minLength" : 2,
1020 "optional" : 1,
1021 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1022 "type" : "string"
7aacca6f 1023 },
44660702 1024 "comment" : {
e94f0d56 1025 "description" : "Descriptive comment.",
44660702 1026 "optional" : 1,
013dc89f
DM
1027 "type" : "string",
1028 "typetext" : "<string>"
7aacca6f 1029 },
44660702
DM
1030 "delete" : {
1031 "description" : "A list of settings you want to delete.",
1032 "format" : "pve-configid-list",
1033 "optional" : 1,
013dc89f
DM
1034 "type" : "string",
1035 "typetext" : "<string>"
44660702
DM
1036 },
1037 "dest" : {
1038 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1039 "format" : "pve-fw-addr-spec",
1040 "optional" : 1,
013dc89f
DM
1041 "type" : "string",
1042 "typetext" : "<string>"
44660702
DM
1043 },
1044 "digest" : {
1045 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1046 "maxLength" : 40,
1047 "optional" : 1,
013dc89f
DM
1048 "type" : "string",
1049 "typetext" : "<string>"
44660702
DM
1050 },
1051 "dport" : {
1052 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1053 "format" : "pve-fw-dport-spec",
1054 "optional" : 1,
013dc89f
DM
1055 "type" : "string",
1056 "typetext" : "<string>"
44660702
DM
1057 },
1058 "enable" : {
e94f0d56 1059 "description" : "Flag to enable/disable a rule.",
44660702
DM
1060 "minimum" : 0,
1061 "optional" : 1,
4bd7df8b 1062 "type" : "integer",
013dc89f 1063 "typetext" : "<integer> (0 - N)"
44660702
DM
1064 },
1065 "iface" : {
1066 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1067 "format" : "pve-iface",
1068 "maxLength" : 20,
7aacca6f 1069 "minLength" : 2,
44660702 1070 "optional" : 1,
013dc89f
DM
1071 "type" : "string",
1072 "typetext" : "<string>"
7aacca6f 1073 },
44660702 1074 "macro" : {
e94f0d56 1075 "description" : "Use predefined standard macro.",
44660702
DM
1076 "maxLength" : 128,
1077 "optional" : 1,
013dc89f
DM
1078 "type" : "string",
1079 "typetext" : "<string>"
44660702
DM
1080 },
1081 "moveto" : {
1082 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1083 "minimum" : 0,
1084 "optional" : 1,
4bd7df8b 1085 "type" : "integer",
013dc89f 1086 "typetext" : "<integer> (0 - N)"
44660702
DM
1087 },
1088 "pos" : {
1089 "description" : "Update rule at position <pos>.",
1090 "minimum" : 0,
1091 "optional" : 1,
4bd7df8b 1092 "type" : "integer",
013dc89f 1093 "typetext" : "<integer> (0 - N)"
44660702
DM
1094 },
1095 "proto" : {
1096 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1097 "format" : "pve-fw-protocol-spec",
1098 "optional" : 1,
013dc89f
DM
1099 "type" : "string",
1100 "typetext" : "<string>"
44660702
DM
1101 },
1102 "source" : {
1103 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1104 "format" : "pve-fw-addr-spec",
1105 "optional" : 1,
013dc89f
DM
1106 "type" : "string",
1107 "typetext" : "<string>"
44660702
DM
1108 },
1109 "sport" : {
1110 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1111 "format" : "pve-fw-sport-spec",
1112 "optional" : 1,
013dc89f
DM
1113 "type" : "string",
1114 "typetext" : "<string>"
44660702
DM
1115 },
1116 "type" : {
e94f0d56 1117 "description" : "Rule type.",
44660702
DM
1118 "enum" : [
1119 "in",
1120 "out",
1121 "group"
1122 ],
1123 "optional" : 1,
1124 "type" : "string"
7aacca6f 1125 }
56122987
DM
1126 }
1127 },
7aacca6f
DM
1128 "permissions" : {
1129 "check" : [
1130 "perm",
1131 "/",
1132 [
1133 "Sys.Modify"
1134 ]
1135 ]
1136 },
44660702
DM
1137 "protected" : 1,
1138 "proxyto" : null,
1139 "returns" : {
1140 "type" : "null"
1141 }
7aacca6f 1142 }
56122987 1143 },
44660702
DM
1144 "leaf" : 1,
1145 "path" : "/cluster/firewall/rules/{pos}",
1146 "text" : "{pos}"
7aacca6f
DM
1147 }
1148 ],
7aacca6f 1149 "info" : {
44660702
DM
1150 "GET" : {
1151 "description" : "List rules.",
1152 "method" : "GET",
1153 "name" : "get_rules",
7aacca6f 1154 "parameters" : {
44660702 1155 "additionalProperties" : 0
7aacca6f
DM
1156 },
1157 "permissions" : {
1158 "check" : [
1159 "perm",
1160 "/",
1161 [
44660702 1162 "Sys.Audit"
7aacca6f
DM
1163 ]
1164 ]
1165 },
44660702 1166 "proxyto" : null,
7aacca6f 1167 "returns" : {
7aacca6f
DM
1168 "items" : {
1169 "properties" : {
44660702
DM
1170 "pos" : {
1171 "type" : "integer"
7aacca6f
DM
1172 }
1173 },
1174 "type" : "object"
56122987 1175 },
7aacca6f
DM
1176 "links" : [
1177 {
44660702 1178 "href" : "{pos}",
7aacca6f
DM
1179 "rel" : "child"
1180 }
44660702
DM
1181 ],
1182 "type" : "array"
7aacca6f 1183 }
44660702 1184 },
7aacca6f 1185 "POST" : {
44660702 1186 "description" : "Create new rule.",
7aacca6f 1187 "method" : "POST",
44660702 1188 "name" : "create_rule",
7aacca6f
DM
1189 "parameters" : {
1190 "additionalProperties" : 0,
1191 "properties" : {
44660702
DM
1192 "action" : {
1193 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1194 "maxLength" : 20,
7aacca6f 1195 "minLength" : 2,
44660702
DM
1196 "optional" : 0,
1197 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1198 "type" : "string"
7aacca6f
DM
1199 },
1200 "comment" : {
e94f0d56 1201 "description" : "Descriptive comment.",
7aacca6f 1202 "optional" : 1,
013dc89f
DM
1203 "type" : "string",
1204 "typetext" : "<string>"
44660702
DM
1205 },
1206 "dest" : {
1207 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1208 "format" : "pve-fw-addr-spec",
1209 "optional" : 1,
013dc89f
DM
1210 "type" : "string",
1211 "typetext" : "<string>"
44660702
DM
1212 },
1213 "digest" : {
1214 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1215 "maxLength" : 40,
1216 "optional" : 1,
013dc89f
DM
1217 "type" : "string",
1218 "typetext" : "<string>"
44660702
DM
1219 },
1220 "dport" : {
1221 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1222 "format" : "pve-fw-dport-spec",
1223 "optional" : 1,
013dc89f
DM
1224 "type" : "string",
1225 "typetext" : "<string>"
44660702
DM
1226 },
1227 "enable" : {
e94f0d56 1228 "description" : "Flag to enable/disable a rule.",
44660702
DM
1229 "minimum" : 0,
1230 "optional" : 1,
4bd7df8b 1231 "type" : "integer",
013dc89f 1232 "typetext" : "<integer> (0 - N)"
44660702
DM
1233 },
1234 "iface" : {
1235 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
1236 "format" : "pve-iface",
1237 "maxLength" : 20,
1238 "minLength" : 2,
1239 "optional" : 1,
013dc89f
DM
1240 "type" : "string",
1241 "typetext" : "<string>"
44660702
DM
1242 },
1243 "macro" : {
e94f0d56 1244 "description" : "Use predefined standard macro.",
44660702
DM
1245 "maxLength" : 128,
1246 "optional" : 1,
013dc89f
DM
1247 "type" : "string",
1248 "typetext" : "<string>"
44660702
DM
1249 },
1250 "pos" : {
1251 "description" : "Update rule at position <pos>.",
1252 "minimum" : 0,
1253 "optional" : 1,
4bd7df8b 1254 "type" : "integer",
013dc89f 1255 "typetext" : "<integer> (0 - N)"
44660702
DM
1256 },
1257 "proto" : {
1258 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1259 "format" : "pve-fw-protocol-spec",
1260 "optional" : 1,
013dc89f
DM
1261 "type" : "string",
1262 "typetext" : "<string>"
44660702
DM
1263 },
1264 "source" : {
1265 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
1266 "format" : "pve-fw-addr-spec",
1267 "optional" : 1,
013dc89f
DM
1268 "type" : "string",
1269 "typetext" : "<string>"
44660702
DM
1270 },
1271 "sport" : {
1272 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
1273 "format" : "pve-fw-sport-spec",
1274 "optional" : 1,
013dc89f
DM
1275 "type" : "string",
1276 "typetext" : "<string>"
44660702
DM
1277 },
1278 "type" : {
e94f0d56 1279 "description" : "Rule type.",
44660702
DM
1280 "enum" : [
1281 "in",
1282 "out",
1283 "group"
1284 ],
1285 "optional" : 0,
1286 "type" : "string"
7aacca6f
DM
1287 }
1288 }
1289 },
1290 "permissions" : {
1291 "check" : [
1292 "perm",
1293 "/",
1294 [
1295 "Sys.Modify"
1296 ]
1297 ]
1298 },
44660702
DM
1299 "protected" : 1,
1300 "proxyto" : null,
7aacca6f 1301 "returns" : {
44660702
DM
1302 "type" : "null"
1303 }
1304 }
1305 },
1306 "leaf" : 0,
1307 "path" : "/cluster/firewall/rules",
1308 "text" : "rules"
1309 },
1310 {
1311 "children" : [
1312 {
1313 "children" : [
1314 {
1315 "info" : {
1316 "DELETE" : {
1317 "description" : "Remove IP or Network from IPSet.",
1318 "method" : "DELETE",
1319 "name" : "remove_ip",
1320 "parameters" : {
1321 "additionalProperties" : 0,
1322 "properties" : {
1323 "cidr" : {
1324 "description" : "Network/IP specification in CIDR format.",
1325 "format" : "IPorCIDRorAlias",
013dc89f
DM
1326 "type" : "string",
1327 "typetext" : "<string>"
44660702
DM
1328 },
1329 "digest" : {
1330 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1331 "maxLength" : 40,
1332 "optional" : 1,
013dc89f
DM
1333 "type" : "string",
1334 "typetext" : "<string>"
44660702
DM
1335 },
1336 "name" : {
1337 "description" : "IP set name.",
1338 "maxLength" : 64,
1339 "minLength" : 2,
1340 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1341 "type" : "string"
1342 }
1343 }
1344 },
1345 "permissions" : {
1346 "check" : [
1347 "perm",
1348 "/",
1349 [
1350 "Sys.Modify"
1351 ]
1352 ]
1353 },
1354 "protected" : 1,
1355 "returns" : {
1356 "type" : "null"
1357 }
7aacca6f 1358 },
44660702
DM
1359 "GET" : {
1360 "description" : "Read IP or Network settings from IPSet.",
1361 "method" : "GET",
1362 "name" : "read_ip",
1363 "parameters" : {
1364 "additionalProperties" : 0,
1365 "properties" : {
1366 "cidr" : {
1367 "description" : "Network/IP specification in CIDR format.",
1368 "format" : "IPorCIDRorAlias",
013dc89f
DM
1369 "type" : "string",
1370 "typetext" : "<string>"
44660702
DM
1371 },
1372 "name" : {
1373 "description" : "IP set name.",
1374 "maxLength" : 64,
1375 "minLength" : 2,
1376 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1377 "type" : "string"
1378 }
1379 }
1380 },
1381 "permissions" : {
1382 "check" : [
1383 "perm",
1384 "/",
1385 [
1386 "Sys.Audit"
1387 ]
1388 ]
1389 },
1390 "protected" : 1,
1391 "returns" : {
1392 "type" : "object"
1393 }
7aacca6f 1394 },
44660702
DM
1395 "PUT" : {
1396 "description" : "Update IP or Network settings",
1397 "method" : "PUT",
1398 "name" : "update_ip",
1399 "parameters" : {
1400 "additionalProperties" : 0,
1401 "properties" : {
1402 "cidr" : {
1403 "description" : "Network/IP specification in CIDR format.",
1404 "format" : "IPorCIDRorAlias",
013dc89f
DM
1405 "type" : "string",
1406 "typetext" : "<string>"
44660702
DM
1407 },
1408 "comment" : {
1409 "optional" : 1,
013dc89f
DM
1410 "type" : "string",
1411 "typetext" : "<string>"
44660702
DM
1412 },
1413 "digest" : {
1414 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1415 "maxLength" : 40,
1416 "optional" : 1,
013dc89f
DM
1417 "type" : "string",
1418 "typetext" : "<string>"
44660702
DM
1419 },
1420 "name" : {
1421 "description" : "IP set name.",
1422 "maxLength" : 64,
1423 "minLength" : 2,
1424 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1425 "type" : "string"
1426 },
1427 "nomatch" : {
1428 "optional" : 1,
013dc89f
DM
1429 "type" : "boolean",
1430 "typetext" : "<boolean>"
44660702
DM
1431 }
1432 }
1433 },
1434 "permissions" : {
1435 "check" : [
1436 "perm",
1437 "/",
1438 [
1439 "Sys.Modify"
1440 ]
1441 ]
1442 },
1443 "protected" : 1,
1444 "returns" : {
1445 "type" : "null"
1446 }
7aacca6f
DM
1447 }
1448 },
44660702
DM
1449 "leaf" : 1,
1450 "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1451 "text" : "{cidr}"
7aacca6f 1452 }
44660702 1453 ],
7aacca6f
DM
1454 "info" : {
1455 "DELETE" : {
44660702
DM
1456 "description" : "Delete IPSet",
1457 "method" : "DELETE",
1458 "name" : "delete_ipset",
56122987 1459 "parameters" : {
44660702 1460 "additionalProperties" : 0,
56122987
DM
1461 "properties" : {
1462 "name" : {
44660702 1463 "description" : "IP set name.",
56122987 1464 "maxLength" : 64,
44660702 1465 "minLength" : 2,
56122987 1466 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 1467 "type" : "string"
56122987 1468 }
44660702 1469 }
7aacca6f 1470 },
56122987
DM
1471 "permissions" : {
1472 "check" : [
1473 "perm",
1474 "/",
1475 [
1476 "Sys.Modify"
1477 ]
1478 ]
1479 },
7aacca6f
DM
1480 "protected" : 1,
1481 "returns" : {
1482 "type" : "null"
44660702 1483 }
7aacca6f 1484 },
44660702
DM
1485 "GET" : {
1486 "description" : "List IPSet content",
1487 "method" : "GET",
1488 "name" : "get_ipset",
56122987
DM
1489 "parameters" : {
1490 "additionalProperties" : 0,
1491 "properties" : {
7aacca6f 1492 "name" : {
44660702 1493 "description" : "IP set name.",
7aacca6f 1494 "maxLength" : 64,
7aacca6f 1495 "minLength" : 2,
44660702 1496 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 1497 "type" : "string"
56122987 1498 }
7aacca6f 1499 }
56122987 1500 },
56122987
DM
1501 "permissions" : {
1502 "check" : [
1503 "perm",
1504 "/",
1505 [
44660702 1506 "Sys.Audit"
56122987
DM
1507 ]
1508 ]
44660702
DM
1509 },
1510 "returns" : {
1511 "items" : {
1512 "properties" : {
1513 "cidr" : {
1514 "type" : "string"
1515 },
1516 "comment" : {
1517 "optional" : 1,
1518 "type" : "string"
1519 },
1520 "digest" : {
1521 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1522 "maxLength" : 40,
1523 "optional" : 0,
1524 "type" : "string"
1525 },
1526 "nomatch" : {
1527 "optional" : 1,
1528 "type" : "boolean"
1529 }
1530 },
1531 "type" : "object"
1532 },
1533 "links" : [
1534 {
1535 "href" : "{cidr}",
1536 "rel" : "child"
1537 }
1538 ],
1539 "type" : "array"
7aacca6f
DM
1540 }
1541 },
44660702
DM
1542 "POST" : {
1543 "description" : "Add IP or Network to IPSet.",
1544 "method" : "POST",
1545 "name" : "create_ip",
56122987
DM
1546 "parameters" : {
1547 "additionalProperties" : 0,
1548 "properties" : {
44660702
DM
1549 "cidr" : {
1550 "description" : "Network/IP specification in CIDR format.",
1551 "format" : "IPorCIDRorAlias",
013dc89f
DM
1552 "type" : "string",
1553 "typetext" : "<string>"
44660702
DM
1554 },
1555 "comment" : {
1556 "optional" : 1,
013dc89f
DM
1557 "type" : "string",
1558 "typetext" : "<string>"
44660702
DM
1559 },
1560 "name" : {
1561 "description" : "IP set name.",
1562 "maxLength" : 64,
1563 "minLength" : 2,
1564 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1565 "type" : "string"
1566 },
1567 "nomatch" : {
1568 "optional" : 1,
013dc89f
DM
1569 "type" : "boolean",
1570 "typetext" : "<boolean>"
56122987
DM
1571 }
1572 }
1573 },
56122987
DM
1574 "permissions" : {
1575 "check" : [
1576 "perm",
1577 "/",
1578 [
44660702 1579 "Sys.Modify"
56122987
DM
1580 ]
1581 ]
1582 },
44660702 1583 "protected" : 1,
56122987 1584 "returns" : {
44660702
DM
1585 "type" : "null"
1586 }
56122987
DM
1587 }
1588 },
44660702
DM
1589 "leaf" : 0,
1590 "path" : "/cluster/firewall/ipset/{name}",
1591 "text" : "{name}"
56122987
DM
1592 }
1593 ],
56122987 1594 "info" : {
44660702
DM
1595 "GET" : {
1596 "description" : "List IPSets",
1597 "method" : "GET",
1598 "name" : "ipset_index",
56122987 1599 "parameters" : {
7aacca6f 1600 "additionalProperties" : 0
56122987 1601 },
56122987
DM
1602 "permissions" : {
1603 "check" : [
1604 "perm",
1605 "/",
1606 [
7aacca6f 1607 "Sys.Audit"
56122987
DM
1608 ]
1609 ]
1610 },
56122987
DM
1611 "returns" : {
1612 "items" : {
1613 "properties" : {
44660702
DM
1614 "comment" : {
1615 "optional" : 1,
1616 "type" : "string"
56122987 1617 },
44660702
DM
1618 "digest" : {
1619 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1620 "maxLength" : 40,
1621 "optional" : 0,
1622 "type" : "string"
1623 },
1624 "name" : {
1625 "description" : "IP set name.",
1626 "maxLength" : 64,
1627 "minLength" : 2,
1628 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 1629 "type" : "string"
56122987
DM
1630 }
1631 },
1632 "type" : "object"
44660702
DM
1633 },
1634 "links" : [
1635 {
1636 "href" : "{name}",
1637 "rel" : "child"
1638 }
1639 ],
1640 "type" : "array"
56122987 1641 }
44660702
DM
1642 },
1643 "POST" : {
1644 "description" : "Create new IPSet",
1645 "method" : "POST",
1646 "name" : "create_ipset",
7aacca6f
DM
1647 "parameters" : {
1648 "additionalProperties" : 0,
1649 "properties" : {
44660702
DM
1650 "comment" : {
1651 "optional" : 1,
013dc89f
DM
1652 "type" : "string",
1653 "typetext" : "<string>"
44660702
DM
1654 },
1655 "digest" : {
1656 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1657 "maxLength" : 40,
1658 "optional" : 1,
013dc89f
DM
1659 "type" : "string",
1660 "typetext" : "<string>"
44660702
DM
1661 },
1662 "name" : {
1663 "description" : "IP set name.",
1664 "maxLength" : 64,
1665 "minLength" : 2,
1666 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1667 "type" : "string"
1668 },
1669 "rename" : {
1670 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1671 "maxLength" : 64,
1672 "minLength" : 2,
1673 "optional" : 1,
1674 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1675 "type" : "string"
7aacca6f
DM
1676 }
1677 }
1678 },
56122987
DM
1679 "permissions" : {
1680 "check" : [
1681 "perm",
1682 "/",
1683 [
44660702 1684 "Sys.Modify"
56122987
DM
1685 ]
1686 ]
1687 },
44660702 1688 "protected" : 1,
56122987 1689 "returns" : {
44660702
DM
1690 "type" : "null"
1691 }
56122987 1692 }
7aacca6f 1693 },
44660702
DM
1694 "leaf" : 0,
1695 "path" : "/cluster/firewall/ipset",
1696 "text" : "ipset"
1697 },
56122987 1698 {
44660702
DM
1699 "children" : [
1700 {
1701 "info" : {
1702 "DELETE" : {
1703 "description" : "Remove IP or Network alias.",
1704 "method" : "DELETE",
1705 "name" : "remove_alias",
1706 "parameters" : {
1707 "additionalProperties" : 0,
1708 "properties" : {
1709 "digest" : {
1710 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1711 "maxLength" : 40,
1712 "optional" : 1,
013dc89f
DM
1713 "type" : "string",
1714 "typetext" : "<string>"
44660702
DM
1715 },
1716 "name" : {
1717 "description" : "Alias name.",
1718 "maxLength" : 64,
1719 "minLength" : 2,
1720 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1721 "type" : "string"
1722 }
1723 }
1724 },
1725 "permissions" : {
1726 "check" : [
1727 "perm",
1728 "/",
1729 [
1730 "Sys.Modify"
1731 ]
1732 ]
1733 },
1734 "protected" : 1,
1735 "returns" : {
1736 "type" : "null"
1737 }
1738 },
1739 "GET" : {
1740 "description" : "Read alias.",
1741 "method" : "GET",
1742 "name" : "read_alias",
1743 "parameters" : {
1744 "additionalProperties" : 0,
1745 "properties" : {
1746 "name" : {
1747 "description" : "Alias name.",
1748 "maxLength" : 64,
1749 "minLength" : 2,
1750 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1751 "type" : "string"
1752 }
1753 }
1754 },
1755 "permissions" : {
1756 "check" : [
1757 "perm",
1758 "/",
1759 [
1760 "Sys.Audit"
1761 ]
1762 ]
1763 },
1764 "returns" : {
1765 "type" : "object"
1766 }
1767 },
1768 "PUT" : {
1769 "description" : "Update IP or Network alias.",
1770 "method" : "PUT",
1771 "name" : "update_alias",
1772 "parameters" : {
1773 "additionalProperties" : 0,
1774 "properties" : {
1775 "cidr" : {
1776 "description" : "Network/IP specification in CIDR format.",
1777 "format" : "IPorCIDR",
013dc89f
DM
1778 "type" : "string",
1779 "typetext" : "<string>"
44660702
DM
1780 },
1781 "comment" : {
1782 "optional" : 1,
013dc89f
DM
1783 "type" : "string",
1784 "typetext" : "<string>"
44660702
DM
1785 },
1786 "digest" : {
1787 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1788 "maxLength" : 40,
1789 "optional" : 1,
013dc89f
DM
1790 "type" : "string",
1791 "typetext" : "<string>"
44660702
DM
1792 },
1793 "name" : {
1794 "description" : "Alias name.",
1795 "maxLength" : 64,
1796 "minLength" : 2,
1797 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1798 "type" : "string"
1799 },
1800 "rename" : {
1801 "description" : "Rename an existing alias.",
1802 "maxLength" : 64,
1803 "minLength" : 2,
1804 "optional" : 1,
1805 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1806 "type" : "string"
1807 }
1808 }
1809 },
1810 "permissions" : {
1811 "check" : [
1812 "perm",
1813 "/",
1814 [
1815 "Sys.Modify"
1816 ]
1817 ]
1818 },
1819 "protected" : 1,
1820 "returns" : {
1821 "type" : "null"
1822 }
1823 }
1824 },
1825 "leaf" : 1,
1826 "path" : "/cluster/firewall/aliases/{name}",
1827 "text" : "{name}"
1828 }
1829 ],
1830 "info" : {
1831 "GET" : {
1832 "description" : "List aliases",
1833 "method" : "GET",
1834 "name" : "get_aliases",
1835 "parameters" : {
1836 "additionalProperties" : 0
1837 },
1838 "permissions" : {
1839 "check" : [
1840 "perm",
1841 "/",
1842 [
1843 "Sys.Audit"
1844 ]
1845 ]
1846 },
1847 "returns" : {
1848 "items" : {
1849 "properties" : {
1850 "cidr" : {
1851 "type" : "string"
1852 },
1853 "comment" : {
1854 "optional" : 1,
1855 "type" : "string"
1856 },
1857 "digest" : {
1858 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1859 "maxLength" : 40,
1860 "optional" : 0,
1861 "type" : "string"
1862 },
1863 "name" : {
1864 "type" : "string"
1865 }
1866 },
1867 "type" : "object"
1868 },
1869 "links" : [
1870 {
1871 "href" : "{name}",
1872 "rel" : "child"
1873 }
1874 ],
1875 "type" : "array"
1876 }
1877 },
1878 "POST" : {
1879 "description" : "Create IP or Network Alias.",
1880 "method" : "POST",
1881 "name" : "create_alias",
56122987
DM
1882 "parameters" : {
1883 "additionalProperties" : 0,
1884 "properties" : {
44660702
DM
1885 "cidr" : {
1886 "description" : "Network/IP specification in CIDR format.",
1887 "format" : "IPorCIDR",
013dc89f
DM
1888 "type" : "string",
1889 "typetext" : "<string>"
44660702
DM
1890 },
1891 "comment" : {
1892 "optional" : 1,
013dc89f
DM
1893 "type" : "string",
1894 "typetext" : "<string>"
44660702
DM
1895 },
1896 "name" : {
1897 "description" : "Alias name.",
1898 "maxLength" : 64,
1899 "minLength" : 2,
1900 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1901 "type" : "string"
56122987
DM
1902 }
1903 }
1904 },
56122987
DM
1905 "permissions" : {
1906 "check" : [
1907 "perm",
1908 "/",
1909 [
1910 "Sys.Modify"
1911 ]
1912 ]
1913 },
44660702 1914 "protected" : 1,
56122987
DM
1915 "returns" : {
1916 "type" : "null"
1917 }
44660702
DM
1918 }
1919 },
1920 "leaf" : 0,
1921 "path" : "/cluster/firewall/aliases",
1922 "text" : "aliases"
1923 },
1924 {
1925 "info" : {
1926 "GET" : {
1927 "description" : "Get Firewall options.",
1928 "method" : "GET",
1929 "name" : "get_options",
1930 "parameters" : {
1931 "additionalProperties" : 0
7aacca6f 1932 },
56122987
DM
1933 "permissions" : {
1934 "check" : [
1935 "perm",
1936 "/",
1937 [
44660702 1938 "Sys.Audit"
56122987
DM
1939 ]
1940 ]
1941 },
44660702 1942 "returns" : {
56122987 1943 "properties" : {
44660702
DM
1944 "enable" : {
1945 "description" : "Enable or disable the firewall cluster wide.",
1946 "minimum" : 0,
56122987 1947 "optional" : 1,
7aacca6f 1948 "type" : "integer"
56122987 1949 },
44660702
DM
1950 "policy_in" : {
1951 "description" : "Input policy.",
1952 "enum" : [
1953 "ACCEPT",
1954 "REJECT",
1955 "DROP"
1956 ],
56122987 1957 "optional" : 1,
44660702 1958 "type" : "string"
7aacca6f 1959 },
44660702
DM
1960 "policy_out" : {
1961 "description" : "Output policy.",
1962 "enum" : [
1963 "ACCEPT",
1964 "REJECT",
1965 "DROP"
1966 ],
7aacca6f 1967 "optional" : 1,
44660702
DM
1968 "type" : "string"
1969 }
1970 },
1971 "type" : "object"
1972 }
1973 },
1974 "PUT" : {
1975 "description" : "Set Firewall options.",
1976 "method" : "PUT",
1977 "name" : "set_options",
1978 "parameters" : {
1979 "additionalProperties" : 0,
1980 "properties" : {
1981 "delete" : {
1982 "description" : "A list of settings you want to delete.",
1983 "format" : "pve-configid-list",
56122987 1984 "optional" : 1,
013dc89f
DM
1985 "type" : "string",
1986 "typetext" : "<string>"
56122987 1987 },
44660702
DM
1988 "digest" : {
1989 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1990 "maxLength" : 40,
56122987 1991 "optional" : 1,
013dc89f
DM
1992 "type" : "string",
1993 "typetext" : "<string>"
56122987 1994 },
44660702
DM
1995 "enable" : {
1996 "description" : "Enable or disable the firewall cluster wide.",
7aacca6f 1997 "minimum" : 0,
56122987 1998 "optional" : 1,
4bd7df8b 1999 "type" : "integer",
013dc89f 2000 "typetext" : "<integer> (0 - N)"
56122987 2001 },
44660702
DM
2002 "policy_in" : {
2003 "description" : "Input policy.",
56122987 2004 "enum" : [
44660702
DM
2005 "ACCEPT",
2006 "REJECT",
2007 "DROP"
56122987 2008 ],
56122987 2009 "optional" : 1,
44660702 2010 "type" : "string"
56122987 2011 },
44660702
DM
2012 "policy_out" : {
2013 "description" : "Output policy.",
56122987 2014 "enum" : [
44660702
DM
2015 "ACCEPT",
2016 "REJECT",
2017 "DROP"
56122987 2018 ],
7aacca6f 2019 "optional" : 1,
44660702 2020 "type" : "string"
56122987 2021 }
44660702
DM
2022 }
2023 },
2024 "permissions" : {
2025 "check" : [
2026 "perm",
2027 "/",
2028 [
2029 "Sys.Modify"
2030 ]
2031 ]
7aacca6f
DM
2032 },
2033 "protected" : 1,
44660702
DM
2034 "returns" : {
2035 "type" : "null"
2036 }
2037 }
2038 },
2039 "leaf" : 1,
2040 "path" : "/cluster/firewall/options",
2041 "text" : "options"
2042 },
2043 {
2044 "info" : {
7aacca6f 2045 "GET" : {
44660702 2046 "description" : "List available macros",
7aacca6f 2047 "method" : "GET",
44660702
DM
2048 "name" : "get_macros",
2049 "parameters" : {
2050 "additionalProperties" : 0
7aacca6f 2051 },
44660702
DM
2052 "permissions" : {
2053 "user" : "all"
2054 },
2055 "returns" : {
2056 "items" : {
2057 "properties" : {
2058 "descr" : {
2059 "description" : "More verbose description (if available).",
2060 "type" : "string"
2061 },
2062 "macro" : {
2063 "description" : "Macro name.",
2064 "type" : "string"
2065 }
2066 },
2067 "type" : "object"
2068 },
2069 "type" : "array"
2070 }
2071 }
2072 },
2073 "leaf" : 1,
2074 "path" : "/cluster/firewall/macros",
2075 "text" : "macros"
2076 },
2077 {
2078 "info" : {
2079 "GET" : {
2080 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
2081 "method" : "GET",
2082 "name" : "refs",
7aacca6f 2083 "parameters" : {
44660702 2084 "additionalProperties" : 0,
7aacca6f 2085 "properties" : {
44660702
DM
2086 "type" : {
2087 "description" : "Only list references of specified type.",
2088 "enum" : [
2089 "alias",
2090 "ipset"
2091 ],
2092 "optional" : 1,
2093 "type" : "string"
7aacca6f 2094 }
44660702 2095 }
7aacca6f
DM
2096 },
2097 "permissions" : {
2098 "check" : [
2099 "perm",
2100 "/",
2101 [
2102 "Sys.Audit"
2103 ]
2104 ]
2105 },
44660702
DM
2106 "returns" : {
2107 "items" : {
2108 "properties" : {
2109 "comment" : {
2110 "optional" : 1,
2111 "type" : "string"
2112 },
2113 "name" : {
2114 "type" : "string"
2115 },
2116 "ref" : {
2117 "type" : "string"
2118 },
2119 "type" : {
2120 "enum" : [
2121 "alias",
2122 "ipset"
2123 ],
2124 "type" : "string"
2125 }
2126 },
2127 "type" : "object"
2128 },
2129 "type" : "array"
2130 }
56122987
DM
2131 }
2132 },
7aacca6f 2133 "leaf" : 1,
44660702
DM
2134 "path" : "/cluster/firewall/refs",
2135 "text" : "refs"
56122987
DM
2136 }
2137 ],
56122987 2138 "info" : {
44660702
DM
2139 "GET" : {
2140 "description" : "Directory index.",
2141 "method" : "GET",
2142 "name" : "index",
56122987 2143 "parameters" : {
56122987
DM
2144 "additionalProperties" : 0
2145 },
44660702
DM
2146 "permissions" : {
2147 "user" : "all"
2148 },
56122987 2149 "returns" : {
44660702
DM
2150 "items" : {
2151 "properties" : {},
2152 "type" : "object"
2153 },
7aacca6f
DM
2154 "links" : [
2155 {
44660702
DM
2156 "href" : "{name}",
2157 "rel" : "child"
7aacca6f
DM
2158 }
2159 ],
7aacca6f 2160 "type" : "array"
7aacca6f 2161 }
56122987
DM
2162 }
2163 },
44660702
DM
2164 "leaf" : 0,
2165 "path" : "/cluster/firewall",
2166 "text" : "firewall"
7aacca6f
DM
2167 },
2168 {
56122987
DM
2169 "children" : [
2170 {
56122987 2171 "info" : {
44660702
DM
2172 "DELETE" : {
2173 "description" : "Delete vzdump backup job definition.",
2174 "method" : "DELETE",
2175 "name" : "delete_job",
2176 "parameters" : {
2177 "additionalProperties" : 0,
2178 "properties" : {
2179 "id" : {
2180 "description" : "The job ID.",
2181 "maxLength" : 50,
013dc89f
DM
2182 "type" : "string",
2183 "typetext" : "<string>"
44660702
DM
2184 }
2185 }
2186 },
2187 "permissions" : {
2188 "check" : [
2189 "perm",
2190 "/",
2191 [
2192 "Sys.Modify"
2193 ]
2194 ]
2195 },
2196 "protected" : 1,
56122987
DM
2197 "returns" : {
2198 "type" : "null"
44660702
DM
2199 }
2200 },
2201 "GET" : {
2202 "description" : "Read vzdump backup job definition.",
2203 "method" : "GET",
2204 "name" : "read_job",
2205 "parameters" : {
2206 "additionalProperties" : 0,
2207 "properties" : {
2208 "id" : {
2209 "description" : "The job ID.",
2210 "maxLength" : 50,
013dc89f
DM
2211 "type" : "string",
2212 "typetext" : "<string>"
44660702
DM
2213 }
2214 }
56122987 2215 },
7aacca6f
DM
2216 "permissions" : {
2217 "check" : [
2218 "perm",
2219 "/",
2220 [
44660702 2221 "Sys.Audit"
7aacca6f
DM
2222 ]
2223 ]
2224 },
44660702
DM
2225 "returns" : {
2226 "type" : "object"
2227 }
2228 },
2229 "PUT" : {
2230 "description" : "Update vzdump backup job definition.",
2231 "method" : "PUT",
2232 "name" : "update_job",
56122987 2233 "parameters" : {
44660702 2234 "additionalProperties" : 0,
56122987 2235 "properties" : {
44660702
DM
2236 "all" : {
2237 "default" : 0,
2238 "description" : "Backup all known guest systems on this host.",
7aacca6f 2239 "optional" : 1,
013dc89f
DM
2240 "type" : "boolean",
2241 "typetext" : "<boolean>"
7aacca6f 2242 },
44660702
DM
2243 "bwlimit" : {
2244 "default" : 0,
2245 "description" : "Limit I/O bandwidth (KBytes per second).",
2246 "minimum" : 0,
2247 "optional" : 1,
4bd7df8b 2248 "type" : "integer",
013dc89f 2249 "typetext" : "<integer> (0 - N)"
44660702
DM
2250 },
2251 "compress" : {
2252 "default" : "0",
2253 "description" : "Compress dump file.",
7aacca6f 2254 "enum" : [
44660702
DM
2255 "0",
2256 "1",
2257 "gzip",
2258 "lzo"
7aacca6f 2259 ],
44660702
DM
2260 "optional" : 1,
2261 "type" : "string"
7aacca6f 2262 },
44660702
DM
2263 "delete" : {
2264 "description" : "A list of settings you want to delete.",
2265 "format" : "pve-configid-list",
7aacca6f 2266 "optional" : 1,
013dc89f
DM
2267 "type" : "string",
2268 "typetext" : "<string>"
56122987 2269 },
44660702
DM
2270 "dow" : {
2271 "description" : "Day of week selection.",
2272 "format" : "pve-day-of-week-list",
7aacca6f 2273 "optional" : 1,
013dc89f
DM
2274 "type" : "string",
2275 "typetext" : "<string>"
56122987 2276 },
44660702
DM
2277 "dumpdir" : {
2278 "description" : "Store resulting files to specified directory.",
56122987 2279 "optional" : 1,
013dc89f
DM
2280 "type" : "string",
2281 "typetext" : "<string>"
56122987 2282 },
44660702
DM
2283 "enabled" : {
2284 "default" : "1",
2285 "description" : "Enable or disable the job.",
2286 "optional" : 1,
013dc89f
DM
2287 "type" : "boolean",
2288 "typetext" : "<boolean>"
44660702
DM
2289 },
2290 "exclude" : {
2291 "description" : "Exclude specified guest systems (assumes --all)",
2292 "format" : "pve-vmid-list",
2293 "optional" : 1,
013dc89f
DM
2294 "type" : "string",
2295 "typetext" : "<string>"
44660702
DM
2296 },
2297 "exclude-path" : {
2298 "description" : "Exclude certain files/directories (shell globs).",
2299 "format" : "string-alist",
2300 "optional" : 1,
013dc89f
DM
2301 "type" : "string",
2302 "typetext" : "<string>"
44660702
DM
2303 },
2304 "id" : {
2305 "description" : "The job ID.",
2306 "maxLength" : 50,
013dc89f
DM
2307 "type" : "string",
2308 "typetext" : "<string>"
44660702
DM
2309 },
2310 "ionice" : {
2311 "default" : 7,
2312 "description" : "Set CFQ ionice priority.",
2313 "maximum" : 8,
2314 "minimum" : 0,
2315 "optional" : 1,
4bd7df8b 2316 "type" : "integer",
013dc89f 2317 "typetext" : "<integer> (0 - 8)"
44660702
DM
2318 },
2319 "lockwait" : {
2320 "default" : 180,
2321 "description" : "Maximal time to wait for the global lock (minutes).",
2322 "minimum" : 0,
2323 "optional" : 1,
4bd7df8b 2324 "type" : "integer",
013dc89f 2325 "typetext" : "<integer> (0 - N)"
44660702
DM
2326 },
2327 "mailnotification" : {
2328 "default" : "always",
2329 "description" : "Specify when to send an email",
56122987 2330 "enum" : [
44660702
DM
2331 "always",
2332 "failure"
56122987 2333 ],
44660702
DM
2334 "optional" : 1,
2335 "type" : "string"
2336 },
2337 "mailto" : {
2338 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2339 "format" : "string-list",
2340 "optional" : 1,
013dc89f
DM
2341 "type" : "string",
2342 "typetext" : "<string>"
44660702
DM
2343 },
2344 "maxfiles" : {
2345 "default" : 1,
2346 "description" : "Maximal number of backup files per guest system.",
2347 "minimum" : 1,
2348 "optional" : 1,
4bd7df8b 2349 "type" : "integer",
013dc89f 2350 "typetext" : "<integer> (1 - N)"
44660702
DM
2351 },
2352 "mode" : {
2353 "default" : "snapshot",
2354 "description" : "Backup mode.",
2355 "enum" : [
2356 "snapshot",
2357 "suspend",
2358 "stop"
2359 ],
2360 "optional" : 1,
2361 "type" : "string"
2362 },
2363 "node" : {
2364 "description" : "Only run if executed on this node.",
2365 "format" : "pve-node",
2366 "optional" : 1,
013dc89f
DM
2367 "type" : "string",
2368 "typetext" : "<string>"
44660702
DM
2369 },
2370 "pigz" : {
2371 "default" : 0,
2372 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2373 "optional" : 1,
013dc89f
DM
2374 "type" : "integer",
2375 "typetext" : "<integer>"
44660702
DM
2376 },
2377 "quiet" : {
2378 "default" : 0,
2379 "description" : "Be quiet.",
2380 "optional" : 1,
013dc89f
DM
2381 "type" : "boolean",
2382 "typetext" : "<boolean>"
44660702
DM
2383 },
2384 "remove" : {
2385 "default" : 1,
2386 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2387 "optional" : 1,
013dc89f
DM
2388 "type" : "boolean",
2389 "typetext" : "<boolean>"
44660702
DM
2390 },
2391 "script" : {
2392 "description" : "Use specified hook script.",
2393 "optional" : 1,
013dc89f
DM
2394 "type" : "string",
2395 "typetext" : "<string>"
44660702
DM
2396 },
2397 "size" : {
2398 "default" : 1024,
2399 "description" : "Unused, will be removed in a future release.",
2400 "minimum" : 500,
2401 "optional" : 1,
4bd7df8b 2402 "type" : "integer",
013dc89f 2403 "typetext" : "<integer> (500 - N)"
44660702
DM
2404 },
2405 "starttime" : {
2406 "description" : "Job Start time.",
2407 "pattern" : "\\d{1,2}:\\d{1,2}",
56122987 2408 "type" : "string",
44660702 2409 "typetext" : "HH:MM"
7aacca6f 2410 },
44660702
DM
2411 "stdexcludes" : {
2412 "default" : 1,
2413 "description" : "Exclude temporary files and logs.",
2414 "optional" : 1,
013dc89f
DM
2415 "type" : "boolean",
2416 "typetext" : "<boolean>"
44660702
DM
2417 },
2418 "stop" : {
2419 "default" : 0,
2420 "description" : "Stop runnig backup jobs on this host.",
2421 "optional" : 1,
013dc89f
DM
2422 "type" : "boolean",
2423 "typetext" : "<boolean>"
44660702
DM
2424 },
2425 "stopwait" : {
2426 "default" : 10,
2427 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2428 "minimum" : 0,
2429 "optional" : 1,
4bd7df8b 2430 "type" : "integer",
013dc89f 2431 "typetext" : "<integer> (0 - N)"
44660702
DM
2432 },
2433 "storage" : {
2434 "description" : "Store resulting file to this storage.",
2435 "format" : "pve-storage-id",
2436 "optional" : 1,
013dc89f
DM
2437 "type" : "string",
2438 "typetext" : "<string>"
56122987 2439 },
44660702
DM
2440 "tmpdir" : {
2441 "description" : "Store temporary files to specified directory.",
2442 "optional" : 1,
013dc89f
DM
2443 "type" : "string",
2444 "typetext" : "<string>"
44660702
DM
2445 },
2446 "vmid" : {
2447 "description" : "The ID of the guest system you want to backup.",
2448 "format" : "pve-vmid-list",
2449 "optional" : 1,
013dc89f
DM
2450 "type" : "string",
2451 "typetext" : "<string>"
56122987 2452 }
44660702 2453 }
56122987
DM
2454 },
2455 "permissions" : {
2456 "check" : [
2457 "perm",
2458 "/",
2459 [
44660702 2460 "Sys.Modify"
56122987
DM
2461 ]
2462 ]
2463 },
44660702
DM
2464 "protected" : 1,
2465 "returns" : {
2466 "type" : "null"
7aacca6f 2467 }
56122987
DM
2468 }
2469 },
44660702
DM
2470 "leaf" : 1,
2471 "path" : "/cluster/backup/{id}",
2472 "text" : "{id}"
2473 }
2474 ],
2475 "info" : {
2476 "GET" : {
2477 "description" : "List vzdump backup schedule.",
2478 "method" : "GET",
2479 "name" : "index",
2480 "parameters" : {
2481 "additionalProperties" : 0
2482 },
2483 "permissions" : {
2484 "check" : [
2485 "perm",
2486 "/",
2487 [
2488 "Sys.Audit"
2489 ]
2490 ]
2491 },
2492 "returns" : {
2493 "items" : {
2494 "properties" : {
2495 "id" : {
2496 "type" : "string"
2497 }
2498 },
2499 "type" : "object"
2500 },
2501 "links" : [
2502 {
2503 "href" : "{id}",
2504 "rel" : "child"
2505 }
2506 ],
2507 "type" : "array"
2508 }
2509 },
2510 "POST" : {
2511 "description" : "Create new vzdump backup job.",
2512 "method" : "POST",
2513 "name" : "create_job",
2514 "parameters" : {
2515 "additionalProperties" : 0,
2516 "properties" : {
2517 "all" : {
2518 "default" : 0,
2519 "description" : "Backup all known guest systems on this host.",
2520 "optional" : 1,
013dc89f
DM
2521 "type" : "boolean",
2522 "typetext" : "<boolean>"
44660702
DM
2523 },
2524 "bwlimit" : {
2525 "default" : 0,
2526 "description" : "Limit I/O bandwidth (KBytes per second).",
2527 "minimum" : 0,
2528 "optional" : 1,
4bd7df8b 2529 "type" : "integer",
013dc89f 2530 "typetext" : "<integer> (0 - N)"
44660702
DM
2531 },
2532 "compress" : {
2533 "default" : "0",
2534 "description" : "Compress dump file.",
2535 "enum" : [
2536 "0",
2537 "1",
2538 "gzip",
2539 "lzo"
2540 ],
2541 "optional" : 1,
2542 "type" : "string"
2543 },
2544 "dow" : {
2545 "default" : "mon,tue,wed,thu,fri,sat,sun",
2546 "description" : "Day of week selection.",
2547 "format" : "pve-day-of-week-list",
2548 "optional" : 1,
013dc89f
DM
2549 "type" : "string",
2550 "typetext" : "<string>"
44660702
DM
2551 },
2552 "dumpdir" : {
2553 "description" : "Store resulting files to specified directory.",
2554 "optional" : 1,
013dc89f
DM
2555 "type" : "string",
2556 "typetext" : "<string>"
44660702
DM
2557 },
2558 "enabled" : {
2559 "default" : "1",
2560 "description" : "Enable or disable the job.",
2561 "optional" : 1,
013dc89f
DM
2562 "type" : "boolean",
2563 "typetext" : "<boolean>"
44660702
DM
2564 },
2565 "exclude" : {
2566 "description" : "Exclude specified guest systems (assumes --all)",
2567 "format" : "pve-vmid-list",
2568 "optional" : 1,
013dc89f
DM
2569 "type" : "string",
2570 "typetext" : "<string>"
44660702
DM
2571 },
2572 "exclude-path" : {
2573 "description" : "Exclude certain files/directories (shell globs).",
2574 "format" : "string-alist",
2575 "optional" : 1,
013dc89f
DM
2576 "type" : "string",
2577 "typetext" : "<string>"
44660702
DM
2578 },
2579 "ionice" : {
2580 "default" : 7,
2581 "description" : "Set CFQ ionice priority.",
2582 "maximum" : 8,
2583 "minimum" : 0,
2584 "optional" : 1,
4bd7df8b 2585 "type" : "integer",
013dc89f 2586 "typetext" : "<integer> (0 - 8)"
44660702
DM
2587 },
2588 "lockwait" : {
2589 "default" : 180,
2590 "description" : "Maximal time to wait for the global lock (minutes).",
2591 "minimum" : 0,
2592 "optional" : 1,
4bd7df8b 2593 "type" : "integer",
013dc89f 2594 "typetext" : "<integer> (0 - N)"
44660702
DM
2595 },
2596 "mailnotification" : {
2597 "default" : "always",
2598 "description" : "Specify when to send an email",
2599 "enum" : [
2600 "always",
2601 "failure"
2602 ],
2603 "optional" : 1,
2604 "type" : "string"
2605 },
2606 "mailto" : {
2607 "description" : "Comma-separated list of email addresses that should receive email notifications.",
2608 "format" : "string-list",
2609 "optional" : 1,
013dc89f
DM
2610 "type" : "string",
2611 "typetext" : "<string>"
44660702
DM
2612 },
2613 "maxfiles" : {
2614 "default" : 1,
2615 "description" : "Maximal number of backup files per guest system.",
2616 "minimum" : 1,
2617 "optional" : 1,
4bd7df8b 2618 "type" : "integer",
013dc89f 2619 "typetext" : "<integer> (1 - N)"
44660702
DM
2620 },
2621 "mode" : {
2622 "default" : "snapshot",
2623 "description" : "Backup mode.",
2624 "enum" : [
2625 "snapshot",
2626 "suspend",
2627 "stop"
2628 ],
2629 "optional" : 1,
2630 "type" : "string"
2631 },
2632 "node" : {
2633 "description" : "Only run if executed on this node.",
2634 "format" : "pve-node",
2635 "optional" : 1,
013dc89f
DM
2636 "type" : "string",
2637 "typetext" : "<string>"
44660702
DM
2638 },
2639 "pigz" : {
2640 "default" : 0,
2641 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2642 "optional" : 1,
013dc89f
DM
2643 "type" : "integer",
2644 "typetext" : "<integer>"
44660702
DM
2645 },
2646 "quiet" : {
2647 "default" : 0,
2648 "description" : "Be quiet.",
2649 "optional" : 1,
013dc89f
DM
2650 "type" : "boolean",
2651 "typetext" : "<boolean>"
44660702
DM
2652 },
2653 "remove" : {
2654 "default" : 1,
2655 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2656 "optional" : 1,
013dc89f
DM
2657 "type" : "boolean",
2658 "typetext" : "<boolean>"
44660702
DM
2659 },
2660 "script" : {
2661 "description" : "Use specified hook script.",
2662 "optional" : 1,
013dc89f
DM
2663 "type" : "string",
2664 "typetext" : "<string>"
44660702
DM
2665 },
2666 "size" : {
2667 "default" : 1024,
2668 "description" : "Unused, will be removed in a future release.",
2669 "minimum" : 500,
2670 "optional" : 1,
4bd7df8b 2671 "type" : "integer",
013dc89f 2672 "typetext" : "<integer> (500 - N)"
44660702
DM
2673 },
2674 "starttime" : {
2675 "description" : "Job Start time.",
2676 "pattern" : "\\d{1,2}:\\d{1,2}",
2677 "type" : "string",
2678 "typetext" : "HH:MM"
2679 },
2680 "stdexcludes" : {
2681 "default" : 1,
2682 "description" : "Exclude temporary files and logs.",
2683 "optional" : 1,
013dc89f
DM
2684 "type" : "boolean",
2685 "typetext" : "<boolean>"
44660702
DM
2686 },
2687 "stop" : {
2688 "default" : 0,
2689 "description" : "Stop runnig backup jobs on this host.",
2690 "optional" : 1,
013dc89f
DM
2691 "type" : "boolean",
2692 "typetext" : "<boolean>"
44660702
DM
2693 },
2694 "stopwait" : {
2695 "default" : 10,
2696 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2697 "minimum" : 0,
2698 "optional" : 1,
4bd7df8b 2699 "type" : "integer",
013dc89f 2700 "typetext" : "<integer> (0 - N)"
44660702
DM
2701 },
2702 "storage" : {
2703 "description" : "Store resulting file to this storage.",
2704 "format" : "pve-storage-id",
2705 "optional" : 1,
013dc89f
DM
2706 "type" : "string",
2707 "typetext" : "<string>"
44660702
DM
2708 },
2709 "tmpdir" : {
2710 "description" : "Store temporary files to specified directory.",
2711 "optional" : 1,
013dc89f
DM
2712 "type" : "string",
2713 "typetext" : "<string>"
44660702
DM
2714 },
2715 "vmid" : {
2716 "description" : "The ID of the guest system you want to backup.",
2717 "format" : "pve-vmid-list",
2718 "optional" : 1,
013dc89f
DM
2719 "type" : "string",
2720 "typetext" : "<string>"
44660702
DM
2721 }
2722 }
2723 },
2724 "permissions" : {
2725 "check" : [
2726 "perm",
2727 "/",
2728 [
2729 "Sys.Modify"
2730 ]
de0983cb
DM
2731 ],
2732 "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
44660702
DM
2733 },
2734 "protected" : 1,
2735 "returns" : {
2736 "type" : "null"
2737 }
2738 }
2739 },
2740 "leaf" : 0,
2741 "path" : "/cluster/backup",
2742 "text" : "backup"
2743 },
2744 {
2745 "children" : [
2746 {
2747 "children" : [
2748 {
2749 "children" : [
56122987 2750 {
56122987
DM
2751 "info" : {
2752 "POST" : {
44660702
DM
2753 "description" : "Request resource migration (online) to another node.",
2754 "method" : "POST",
2755 "name" : "migrate",
56122987 2756 "parameters" : {
7aacca6f 2757 "additionalProperties" : 0,
56122987
DM
2758 "properties" : {
2759 "node" : {
7aacca6f 2760 "description" : "The cluster node name.",
44660702 2761 "format" : "pve-node",
013dc89f
DM
2762 "type" : "string",
2763 "typetext" : "<string>"
56122987
DM
2764 },
2765 "sid" : {
44660702 2766 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
56122987 2767 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2768 "type" : "string",
44660702 2769 "typetext" : "<type>:<name>"
56122987 2770 }
7aacca6f 2771 }
56122987 2772 },
56122987
DM
2773 "permissions" : {
2774 "check" : [
2775 "perm",
2776 "/",
2777 [
2778 "Sys.Console"
2779 ]
2780 ]
2781 },
7aacca6f 2782 "protected" : 1,
7aacca6f
DM
2783 "returns" : {
2784 "type" : "null"
44660702 2785 }
56122987 2786 }
44660702
DM
2787 },
2788 "leaf" : 1,
2789 "path" : "/cluster/ha/resources/{sid}/migrate",
2790 "text" : "migrate"
2791 },
2792 {
2793 "info" : {
2794 "POST" : {
2795 "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2796 "method" : "POST",
2797 "name" : "relocate",
2798 "parameters" : {
2799 "additionalProperties" : 0,
2800 "properties" : {
2801 "node" : {
2802 "description" : "The cluster node name.",
2803 "format" : "pve-node",
013dc89f
DM
2804 "type" : "string",
2805 "typetext" : "<string>"
44660702
DM
2806 },
2807 "sid" : {
2808 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2809 "format" : "pve-ha-resource-or-vm-id",
2810 "type" : "string",
2811 "typetext" : "<type>:<name>"
2812 }
2813 }
2814 },
2815 "permissions" : {
2816 "check" : [
2817 "perm",
2818 "/",
2819 [
2820 "Sys.Console"
2821 ]
2822 ]
2823 },
2824 "protected" : 1,
2825 "returns" : {
2826 "type" : "null"
2827 }
2828 }
2829 },
2830 "leaf" : 1,
2831 "path" : "/cluster/ha/resources/{sid}/relocate",
2832 "text" : "relocate"
2833 }
2834 ],
2835 "info" : {
2836 "DELETE" : {
2837 "description" : "Delete resource configuration.",
2838 "method" : "DELETE",
2839 "name" : "delete",
7aacca6f 2840 "parameters" : {
44660702 2841 "additionalProperties" : 0,
7aacca6f
DM
2842 "properties" : {
2843 "sid" : {
2844 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
44660702 2845 "format" : "pve-ha-resource-or-vm-id",
7aacca6f 2846 "type" : "string",
44660702
DM
2847 "typetext" : "<type>:<name>"
2848 }
2849 }
2850 },
2851 "permissions" : {
2852 "check" : [
2853 "perm",
2854 "/",
2855 [
2856 "Sys.Console"
2857 ]
2858 ]
2859 },
2860 "protected" : 1,
2861 "returns" : {
2862 "type" : "null"
2863 }
2864 },
2865 "GET" : {
2866 "description" : "Read resource configuration.",
2867 "method" : "GET",
2868 "name" : "read",
2869 "parameters" : {
2870 "additionalProperties" : 0,
2871 "properties" : {
2872 "sid" : {
2873 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
7aacca6f 2874 "format" : "pve-ha-resource-or-vm-id",
44660702 2875 "type" : "string",
7aacca6f
DM
2876 "typetext" : "<type>:<name>"
2877 }
44660702 2878 }
7aacca6f
DM
2879 },
2880 "permissions" : {
2881 "check" : [
2882 "perm",
2883 "/",
2884 [
2885 "Sys.Audit"
2886 ]
2887 ]
2888 },
44660702 2889 "returns" : {}
7aacca6f 2890 },
56122987 2891 "PUT" : {
44660702 2892 "description" : "Update resource configuration.",
7aacca6f 2893 "method" : "PUT",
44660702 2894 "name" : "update",
56122987
DM
2895 "parameters" : {
2896 "additionalProperties" : 0,
2897 "properties" : {
44660702
DM
2898 "comment" : {
2899 "description" : "Description.",
2900 "maxLength" : 4096,
56122987 2901 "optional" : 1,
013dc89f
DM
2902 "type" : "string",
2903 "typetext" : "<string>"
56122987 2904 },
7aacca6f
DM
2905 "delete" : {
2906 "description" : "A list of settings you want to delete.",
7aacca6f 2907 "format" : "pve-configid-list",
44660702
DM
2908 "maxLength" : 4096,
2909 "optional" : 1,
013dc89f
DM
2910 "type" : "string",
2911 "typetext" : "<string>"
56122987 2912 },
44660702
DM
2913 "digest" : {
2914 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2915 "maxLength" : 40,
2916 "optional" : 1,
013dc89f
DM
2917 "type" : "string",
2918 "typetext" : "<string>"
56122987 2919 },
44660702
DM
2920 "group" : {
2921 "description" : "The HA group identifier.",
2922 "format" : "pve-configid",
7aacca6f 2923 "optional" : 1,
013dc89f
DM
2924 "type" : "string",
2925 "typetext" : "<string>"
56122987
DM
2926 },
2927 "max_relocate" : {
7aacca6f 2928 "default" : 1,
56122987 2929 "description" : "Maximal number of service relocate tries when a service failes to start.",
44660702
DM
2930 "minimum" : 0,
2931 "optional" : 1,
4bd7df8b 2932 "type" : "integer",
013dc89f 2933 "typetext" : "<integer> (0 - N)"
7aacca6f 2934 },
44660702
DM
2935 "max_restart" : {
2936 "default" : 1,
2937 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2938 "minimum" : 0,
7aacca6f 2939 "optional" : 1,
4bd7df8b 2940 "type" : "integer",
013dc89f 2941 "typetext" : "<integer> (0 - N)"
44660702
DM
2942 },
2943 "sid" : {
2944 "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2945 "format" : "pve-ha-resource-or-vm-id",
2946 "type" : "string",
2947 "typetext" : "<type>:<name>"
7aacca6f
DM
2948 },
2949 "state" : {
f13c1238
DM
2950 "default" : "started",
2951 "description" : "Requested resource state.",
7aacca6f 2952 "enum" : [
f13c1238
DM
2953 "started",
2954 "stopped",
7aacca6f
DM
2955 "enabled",
2956 "disabled"
2957 ],
7aacca6f 2958 "optional" : 1,
f13c1238
DM
2959 "type" : "string",
2960 "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 2961 }
44660702
DM
2962 },
2963 "type" : "object"
56122987 2964 },
56122987
DM
2965 "permissions" : {
2966 "check" : [
2967 "perm",
2968 "/",
2969 [
2970 "Sys.Console"
2971 ]
2972 ]
2973 },
7aacca6f 2974 "protected" : 1,
56122987
DM
2975 "returns" : {
2976 "type" : "null"
2977 }
2978 }
2979 },
44660702 2980 "leaf" : 0,
7aacca6f 2981 "path" : "/cluster/ha/resources/{sid}",
44660702 2982 "text" : "{sid}"
56122987
DM
2983 }
2984 ],
7aacca6f
DM
2985 "info" : {
2986 "GET" : {
44660702
DM
2987 "description" : "List HA resources.",
2988 "method" : "GET",
2989 "name" : "index",
7aacca6f 2990 "parameters" : {
44660702
DM
2991 "additionalProperties" : 0,
2992 "properties" : {
2993 "type" : {
2994 "description" : "Only list resources of specific type",
2995 "enum" : [
2996 "ct",
2997 "vm"
2998 ],
2999 "optional" : 1,
3000 "type" : "string"
3001 }
3002 }
7aacca6f 3003 },
7aacca6f
DM
3004 "permissions" : {
3005 "check" : [
3006 "perm",
3007 "/",
3008 [
3009 "Sys.Audit"
3010 ]
3011 ]
3012 },
7aacca6f 3013 "returns" : {
7aacca6f 3014 "items" : {
7aacca6f 3015 "properties" : {
44660702 3016 "sid" : {
7aacca6f
DM
3017 "type" : "string"
3018 }
44660702
DM
3019 },
3020 "type" : "object"
7aacca6f
DM
3021 },
3022 "links" : [
3023 {
44660702 3024 "href" : "{sid}",
7aacca6f
DM
3025 "rel" : "child"
3026 }
44660702
DM
3027 ],
3028 "type" : "array"
7aacca6f
DM
3029 }
3030 },
3031 "POST" : {
44660702 3032 "description" : "Create a new HA resource.",
7aacca6f 3033 "method" : "POST",
44660702 3034 "name" : "create",
7aacca6f 3035 "parameters" : {
44660702 3036 "additionalProperties" : 0,
7aacca6f
DM
3037 "properties" : {
3038 "comment" : {
7aacca6f 3039 "description" : "Description.",
44660702 3040 "maxLength" : 4096,
7aacca6f 3041 "optional" : 1,
013dc89f
DM
3042 "type" : "string",
3043 "typetext" : "<string>"
7aacca6f 3044 },
44660702
DM
3045 "group" : {
3046 "description" : "The HA group identifier.",
3047 "format" : "pve-configid",
7aacca6f 3048 "optional" : 1,
013dc89f
DM
3049 "type" : "string",
3050 "typetext" : "<string>"
7aacca6f 3051 },
44660702
DM
3052 "max_relocate" : {
3053 "default" : 1,
3054 "description" : "Maximal number of service relocate tries when a service failes to start.",
3055 "minimum" : 0,
7aacca6f 3056 "optional" : 1,
4bd7df8b 3057 "type" : "integer",
013dc89f 3058 "typetext" : "<integer> (0 - N)"
7aacca6f 3059 },
44660702
DM
3060 "max_restart" : {
3061 "default" : 1,
3062 "description" : "Maximal number of tries to restart the service on a node after its start failed.",
3063 "minimum" : 0,
3064 "optional" : 1,
4bd7df8b 3065 "type" : "integer",
013dc89f 3066 "typetext" : "<integer> (0 - N)"
44660702
DM
3067 },
3068 "sid" : {
3069 "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).",
3070 "format" : "pve-ha-resource-or-vm-id",
3071 "type" : "string",
3072 "typetext" : "<type>:<name>"
3073 },
3074 "state" : {
f13c1238
DM
3075 "default" : "started",
3076 "description" : "Requested resource state.",
7aacca6f 3077 "enum" : [
f13c1238
DM
3078 "started",
3079 "stopped",
44660702
DM
3080 "enabled",
3081 "disabled"
7aacca6f 3082 ],
7aacca6f 3083 "optional" : 1,
f13c1238
DM
3084 "type" : "string",
3085 "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 3086 },
44660702
DM
3087 "type" : {
3088 "description" : "Resource type.",
3089 "enum" : [
3090 "ct",
3091 "vm"
3092 ],
3093 "optional" : 1,
3094 "type" : "string"
3095 }
7aacca6f 3096 },
44660702 3097 "type" : "object"
7aacca6f
DM
3098 },
3099 "permissions" : {
3100 "check" : [
3101 "perm",
3102 "/",
3103 [
3104 "Sys.Console"
3105 ]
3106 ]
3107 },
44660702
DM
3108 "protected" : 1,
3109 "returns" : {
3110 "type" : "null"
3111 }
7aacca6f
DM
3112 }
3113 },
44660702
DM
3114 "leaf" : 0,
3115 "path" : "/cluster/ha/resources",
3116 "text" : "resources"
3117 },
3118 {
56122987
DM
3119 "children" : [
3120 {
56122987 3121 "info" : {
44660702
DM
3122 "DELETE" : {
3123 "description" : "Delete ha group configuration.",
3124 "method" : "DELETE",
3125 "name" : "delete",
56122987 3126 "parameters" : {
7aacca6f 3127 "additionalProperties" : 0,
56122987 3128 "properties" : {
7aacca6f
DM
3129 "group" : {
3130 "description" : "The HA group identifier.",
44660702 3131 "format" : "pve-configid",
013dc89f
DM
3132 "type" : "string",
3133 "typetext" : "<string>"
56122987 3134 }
7aacca6f 3135 }
56122987 3136 },
56122987
DM
3137 "permissions" : {
3138 "check" : [
3139 "perm",
3140 "/",
3141 [
7aacca6f 3142 "Sys.Console"
56122987
DM
3143 ]
3144 ]
3145 },
44660702 3146 "protected" : 1,
7aacca6f
DM
3147 "returns" : {
3148 "type" : "null"
56122987
DM
3149 }
3150 },
44660702
DM
3151 "GET" : {
3152 "description" : "Read ha group configuration.",
3153 "method" : "GET",
3154 "name" : "read",
56122987 3155 "parameters" : {
44660702 3156 "additionalProperties" : 0,
56122987
DM
3157 "properties" : {
3158 "group" : {
3159 "description" : "The HA group identifier.",
44660702 3160 "format" : "pve-configid",
013dc89f
DM
3161 "type" : "string",
3162 "typetext" : "<string>"
56122987 3163 }
44660702 3164 }
56122987 3165 },
56122987
DM
3166 "permissions" : {
3167 "check" : [
3168 "perm",
3169 "/",
3170 [
44660702 3171 "Sys.Audit"
56122987
DM
3172 ]
3173 ]
3174 },
44660702 3175 "returns" : {}
7aacca6f 3176 },
44660702
DM
3177 "PUT" : {
3178 "description" : "Update ha group configuration.",
3179 "method" : "PUT",
3180 "name" : "update",
7aacca6f 3181 "parameters" : {
44660702 3182 "additionalProperties" : 0,
7aacca6f 3183 "properties" : {
44660702
DM
3184 "comment" : {
3185 "description" : "Description.",
3186 "maxLength" : 4096,
3187 "optional" : 1,
013dc89f
DM
3188 "type" : "string",
3189 "typetext" : "<string>"
44660702
DM
3190 },
3191 "delete" : {
3192 "description" : "A list of settings you want to delete.",
3193 "format" : "pve-configid-list",
3194 "maxLength" : 4096,
3195 "optional" : 1,
013dc89f
DM
3196 "type" : "string",
3197 "typetext" : "<string>"
44660702
DM
3198 },
3199 "digest" : {
3200 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3201 "maxLength" : 40,
3202 "optional" : 1,
013dc89f
DM
3203 "type" : "string",
3204 "typetext" : "<string>"
44660702 3205 },
7aacca6f
DM
3206 "group" : {
3207 "description" : "The HA group identifier.",
44660702 3208 "format" : "pve-configid",
013dc89f
DM
3209 "type" : "string",
3210 "typetext" : "<string>"
44660702
DM
3211 },
3212 "nodes" : {
f13c1238 3213 "description" : "List of cluster node names with optional priority.",
44660702
DM
3214 "format" : "pve-ha-group-node-list",
3215 "optional" : 1,
7aacca6f 3216 "type" : "string",
f13c1238
DM
3217 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3218 "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
3219 },
3220 "nofailback" : {
3221 "default" : 0,
3222 "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.",
3223 "optional" : 1,
013dc89f
DM
3224 "type" : "boolean",
3225 "typetext" : "<boolean>"
44660702
DM
3226 },
3227 "restricted" : {
3228 "default" : 0,
c4808e75 3229 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3230 "optional" : 1,
013dc89f 3231 "type" : "boolean",
c4808e75
DM
3232 "typetext" : "<boolean>",
3233 "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
3234 }
3235 },
44660702 3236 "type" : "object"
7aacca6f 3237 },
7aacca6f
DM
3238 "permissions" : {
3239 "check" : [
3240 "perm",
3241 "/",
3242 [
44660702 3243 "Sys.Console"
7aacca6f
DM
3244 ]
3245 ]
3246 },
44660702
DM
3247 "protected" : 1,
3248 "returns" : {
3249 "type" : "null"
3250 }
56122987
DM
3251 }
3252 },
3253 "leaf" : 1,
44660702
DM
3254 "path" : "/cluster/ha/groups/{group}",
3255 "text" : "{group}"
56122987 3256 }
44660702
DM
3257 ],
3258 "info" : {
3259 "GET" : {
3260 "description" : "Get HA groups.",
3261 "method" : "GET",
3262 "name" : "index",
3263 "parameters" : {
3264 "additionalProperties" : 0
3265 },
3266 "permissions" : {
3267 "check" : [
3268 "perm",
3269 "/",
3270 [
3271 "Sys.Audit"
3272 ]
3273 ]
3274 },
3275 "returns" : {
3276 "items" : {
3277 "properties" : {
3278 "group" : {
3279 "type" : "string"
3280 }
3281 },
3282 "type" : "object"
3283 },
3284 "links" : [
3285 {
3286 "href" : "{group}",
3287 "rel" : "child"
3288 }
3289 ],
3290 "type" : "array"
3291 }
3292 },
3293 "POST" : {
3294 "description" : "Create a new HA group.",
3295 "method" : "POST",
3296 "name" : "create",
3297 "parameters" : {
3298 "additionalProperties" : 0,
3299 "properties" : {
3300 "comment" : {
3301 "description" : "Description.",
3302 "maxLength" : 4096,
3303 "optional" : 1,
013dc89f
DM
3304 "type" : "string",
3305 "typetext" : "<string>"
44660702
DM
3306 },
3307 "group" : {
3308 "description" : "The HA group identifier.",
3309 "format" : "pve-configid",
013dc89f
DM
3310 "type" : "string",
3311 "typetext" : "<string>"
44660702
DM
3312 },
3313 "nodes" : {
f13c1238 3314 "description" : "List of cluster node names with optional priority.",
44660702
DM
3315 "format" : "pve-ha-group-node-list",
3316 "optional" : 0,
3317 "type" : "string",
f13c1238
DM
3318 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
3319 "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
3320 },
3321 "nofailback" : {
3322 "default" : 0,
3323 "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.",
3324 "optional" : 1,
013dc89f
DM
3325 "type" : "boolean",
3326 "typetext" : "<boolean>"
44660702
DM
3327 },
3328 "restricted" : {
3329 "default" : 0,
c4808e75 3330 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
44660702 3331 "optional" : 1,
013dc89f 3332 "type" : "boolean",
c4808e75
DM
3333 "typetext" : "<boolean>",
3334 "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
3335 },
3336 "type" : {
3337 "description" : "Group type.",
3338 "enum" : [
3339 "group"
3340 ],
3341 "optional" : 1,
3342 "type" : "string"
3343 }
3344 },
3345 "type" : "object"
3346 },
3347 "permissions" : {
3348 "check" : [
3349 "perm",
3350 "/",
3351 [
3352 "Sys.Console"
3353 ]
3354 ]
3355 },
3356 "protected" : 1,
3357 "returns" : {
3358 "type" : "null"
3359 }
3360 }
3361 },
3362 "leaf" : 0,
3363 "path" : "/cluster/ha/groups",
3364 "text" : "groups"
7aacca6f
DM
3365 },
3366 {
7aacca6f
DM
3367 "children" : [
3368 {
3369 "info" : {
3370 "GET" : {
56122987 3371 "description" : "Get HA manger status.",
44660702 3372 "method" : "GET",
7aacca6f 3373 "name" : "status",
44660702
DM
3374 "parameters" : {
3375 "additionalProperties" : 0
3376 },
56122987
DM
3377 "permissions" : {
3378 "check" : [
3379 "perm",
3380 "/",
3381 [
3382 "Sys.Audit"
3383 ]
3384 ]
7aacca6f 3385 },
44660702
DM
3386 "returns" : {
3387 "type" : "array"
56122987
DM
3388 }
3389 }
7aacca6f 3390 },
7aacca6f 3391 "leaf" : 1,
44660702
DM
3392 "path" : "/cluster/ha/status/current",
3393 "text" : "current"
56122987
DM
3394 },
3395 {
3396 "info" : {
3397 "GET" : {
7aacca6f 3398 "description" : "Get full HA manger status, including LRM status.",
44660702
DM
3399 "method" : "GET",
3400 "name" : "manager_status",
7aacca6f
DM
3401 "parameters" : {
3402 "additionalProperties" : 0
3403 },
56122987
DM
3404 "permissions" : {
3405 "check" : [
3406 "perm",
3407 "/",
3408 [
3409 "Sys.Audit"
3410 ]
3411 ]
44660702
DM
3412 },
3413 "returns" : {
3414 "type" : "object"
7aacca6f 3415 }
56122987
DM
3416 }
3417 },
56122987 3418 "leaf" : 1,
44660702
DM
3419 "path" : "/cluster/ha/status/manager_status",
3420 "text" : "manager_status"
56122987
DM
3421 }
3422 ],
56122987
DM
3423 "info" : {
3424 "GET" : {
44660702 3425 "description" : "Directory index.",
7aacca6f 3426 "method" : "GET",
44660702
DM
3427 "name" : "index",
3428 "parameters" : {
3429 "additionalProperties" : 0
3430 },
3431 "permissions" : {
3432 "user" : "all"
3433 },
56122987 3434 "returns" : {
56122987
DM
3435 "items" : {
3436 "properties" : {},
3437 "type" : "object"
3438 },
3439 "links" : [
3440 {
44660702
DM
3441 "href" : "{name}",
3442 "rel" : "child"
56122987 3443 }
7aacca6f
DM
3444 ],
3445 "type" : "array"
44660702 3446 }
56122987 3447 }
7aacca6f 3448 },
44660702 3449 "leaf" : 0,
7aacca6f 3450 "path" : "/cluster/ha/status",
44660702 3451 "text" : "status"
56122987
DM
3452 }
3453 ],
56122987
DM
3454 "info" : {
3455 "GET" : {
7aacca6f 3456 "description" : "Directory index.",
44660702
DM
3457 "method" : "GET",
3458 "name" : "index",
3459 "parameters" : {
3460 "additionalProperties" : 0
3461 },
7aacca6f
DM
3462 "permissions" : {
3463 "check" : [
3464 "perm",
3465 "/",
3466 [
3467 "Sys.Audit"
3468 ]
3469 ]
3470 },
56122987 3471 "returns" : {
56122987 3472 "items" : {
7aacca6f
DM
3473 "properties" : {
3474 "id" : {
3475 "type" : "string"
3476 }
44660702
DM
3477 },
3478 "type" : "object"
7aacca6f
DM
3479 },
3480 "links" : [
3481 {
3482 "href" : "{id}",
3483 "rel" : "child"
3484 }
44660702
DM
3485 ],
3486 "type" : "array"
7aacca6f
DM
3487 }
3488 }
44660702
DM
3489 },
3490 "leaf" : 0,
3491 "path" : "/cluster/ha",
3492 "text" : "ha"
7aacca6f
DM
3493 },
3494 {
7aacca6f
DM
3495 "info" : {
3496 "GET" : {
3497 "description" : "Read cluster log",
44660702
DM
3498 "method" : "GET",
3499 "name" : "log",
56122987 3500 "parameters" : {
7aacca6f 3501 "additionalProperties" : 0,
56122987
DM
3502 "properties" : {
3503 "max" : {
7aacca6f 3504 "description" : "Maximum number of entries.",
44660702
DM
3505 "minimum" : 1,
3506 "optional" : 1,
4bd7df8b 3507 "type" : "integer",
013dc89f 3508 "typetext" : "<integer> (1 - N)"
56122987 3509 }
7aacca6f 3510 }
56122987 3511 },
44660702
DM
3512 "permissions" : {
3513 "user" : "all"
3514 },
7aacca6f 3515 "returns" : {
7aacca6f 3516 "items" : {
44660702
DM
3517 "properties" : {},
3518 "type" : "object"
3519 },
3520 "type" : "array"
7aacca6f 3521 }
56122987 3522 }
44660702
DM
3523 },
3524 "leaf" : 1,
3525 "path" : "/cluster/log",
3526 "text" : "log"
56122987
DM
3527 },
3528 {
56122987
DM
3529 "info" : {
3530 "GET" : {
44660702 3531 "description" : "Resources index (cluster wide).",
7aacca6f 3532 "method" : "GET",
7aacca6f 3533 "name" : "resources",
56122987
DM
3534 "parameters" : {
3535 "additionalProperties" : 0,
3536 "properties" : {
3537 "type" : {
3538 "enum" : [
3539 "vm",
3540 "storage",
3541 "node"
44660702
DM
3542 ],
3543 "optional" : 1,
3544 "type" : "string"
56122987
DM
3545 }
3546 }
3547 },
44660702
DM
3548 "permissions" : {
3549 "user" : "all"
3550 },
3551 "returns" : {
3552 "items" : {
3553 "properties" : {},
3554 "type" : "object"
3555 },
3556 "type" : "array"
3557 }
56122987
DM
3558 }
3559 },
7aacca6f 3560 "leaf" : 1,
44660702
DM
3561 "path" : "/cluster/resources",
3562 "text" : "resources"
56122987
DM
3563 },
3564 {
56122987
DM
3565 "info" : {
3566 "GET" : {
7aacca6f 3567 "description" : "List recent tasks (cluster wide).",
44660702 3568 "method" : "GET",
7aacca6f 3569 "name" : "tasks",
56122987
DM
3570 "parameters" : {
3571 "additionalProperties" : 0
3572 },
44660702
DM
3573 "permissions" : {
3574 "user" : "all"
3575 },
56122987
DM
3576 "returns" : {
3577 "items" : {
3578 "properties" : {
3579 "upid" : {
3580 "type" : "string"
3581 }
44660702
DM
3582 },
3583 "type" : "object"
3584 },
3585 "type" : "array"
7aacca6f 3586 }
56122987
DM
3587 }
3588 },
7aacca6f 3589 "leaf" : 1,
44660702
DM
3590 "path" : "/cluster/tasks",
3591 "text" : "tasks"
56122987
DM
3592 },
3593 {
56122987 3594 "info" : {
7aacca6f 3595 "GET" : {
44660702
DM
3596 "description" : "Get datacenter options.",
3597 "method" : "GET",
3598 "name" : "get_options",
56122987 3599 "parameters" : {
7aacca6f
DM
3600 "additionalProperties" : 0
3601 },
3602 "permissions" : {
3603 "check" : [
3604 "perm",
3605 "/",
3606 [
3607 "Sys.Audit"
3608 ]
3609 ]
3610 },
7aacca6f 3611 "returns" : {
44660702
DM
3612 "properties" : {},
3613 "type" : "object"
7aacca6f
DM
3614 }
3615 },
3616 "PUT" : {
44660702
DM
3617 "description" : "Set datacenter options.",
3618 "method" : "PUT",
7aacca6f
DM
3619 "name" : "set_options",
3620 "parameters" : {
3621 "additionalProperties" : 0,
3622 "properties" : {
56122987 3623 "console" : {
56122987 3624 "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
3625 "enum" : [
3626 "applet",
3627 "vv",
3628 "html5"
44660702
DM
3629 ],
3630 "optional" : 1,
3631 "type" : "string"
56122987 3632 },
7aacca6f 3633 "delete" : {
7aacca6f 3634 "description" : "A list of settings you want to delete.",
44660702 3635 "format" : "pve-configid-list",
7aacca6f 3636 "optional" : 1,
013dc89f
DM
3637 "type" : "string",
3638 "typetext" : "<string>"
7aacca6f 3639 },
44660702
DM
3640 "email_from" : {
3641 "description" : "Specify email address to send notification from (default is root@$hostname)",
3642 "format" : "email-opt",
7aacca6f 3643 "optional" : 1,
013dc89f
DM
3644 "type" : "string",
3645 "typetext" : "<string>"
44660702
DM
3646 },
3647 "fencing" : {
3648 "default" : "watchdog",
3649 "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 3650 "enum" : [
44660702
DM
3651 "watchdog",
3652 "hardware",
3653 "both"
7aacca6f 3654 ],
44660702
DM
3655 "optional" : 1,
3656 "type" : "string"
3657 },
3658 "http_proxy" : {
3659 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
3660 "optional" : 1,
3661 "pattern" : "http://.*",
3662 "type" : "string"
7aacca6f 3663 },
56122987 3664 "keyboard" : {
44660702 3665 "description" : "Default keybord layout for vnc server.",
56122987 3666 "enum" : [
44660702
DM
3667 "de",
3668 "de-ch",
7aacca6f 3669 "da",
56122987 3670 "en-gb",
44660702
DM
3671 "en-us",
3672 "es",
3673 "fi",
3674 "fr",
3675 "fr-be",
3676 "fr-ca",
3677 "fr-ch",
3678 "hu",
7aacca6f 3679 "is",
44660702
DM
3680 "it",
3681 "ja",
3682 "lt",
56122987 3683 "mk",
7aacca6f 3684 "nl",
56122987 3685 "no",
44660702 3686 "pl",
7aacca6f 3687 "pt",
44660702
DM
3688 "pt-br",
3689 "sv",
3690 "sl",
3691 "tr"
56122987 3692 ],
56122987
DM
3693 "optional" : 1,
3694 "type" : "string"
3695 },
44660702
DM
3696 "language" : {
3697 "description" : "Default GUI language.",
3698 "enum" : [
3699 "en",
3700 "de"
3701 ],
56122987 3702 "optional" : 1,
44660702 3703 "type" : "string"
56122987 3704 },
4bd7df8b
DM
3705 "mac_prefix" : {
3706 "description" : "Prefix for autogenerated MAC addresses.",
3707 "optional" : 1,
3708 "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
3709 "type" : "string"
3710 },
44660702
DM
3711 "max_workers" : {
3712 "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
3713 "minimum" : 1,
56122987 3714 "optional" : 1,
4bd7df8b 3715 "type" : "integer",
013dc89f 3716 "typetext" : "<integer> (1 - N)"
56122987 3717 },
de0983cb
DM
3718 "migration" : {
3719 "description" : "For cluster wide migration settings.",
3720 "format" : {
3721 "network" : {
3722 "description" : "CIDR of the (sub) network that is used for migration.",
3723 "format" : "CIDR",
3724 "format_description" : "CIDR",
3725 "optional" : 1,
3726 "type" : "string"
3727 },
3728 "type" : {
3729 "default" : "secure",
3730 "default_key" : 1,
3731 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
3732 "enum" : [
3733 "secure",
3734 "insecure"
3735 ],
3736 "type" : "string"
3737 }
3738 },
3739 "optional" : 1,
3740 "type" : "string",
3741 "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
3742 },
7aacca6f 3743 "migration_unsecure" : {
de0983cb 3744 "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 3745 "optional" : 1,
013dc89f
DM
3746 "type" : "boolean",
3747 "typetext" : "<boolean>"
56122987
DM
3748 }
3749 }
3750 },
44660702
DM
3751 "permissions" : {
3752 "check" : [
3753 "perm",
3754 "/",
3755 [
3756 "Sys.Modify"
3757 ]
3758 ]
3759 },
56122987 3760 "protected" : 1,
7aacca6f
DM
3761 "returns" : {
3762 "type" : "null"
44660702 3763 }
7aacca6f
DM
3764 }
3765 },
44660702
DM
3766 "leaf" : 1,
3767 "path" : "/cluster/options",
7aacca6f
DM
3768 "text" : "options"
3769 },
3770 {
7aacca6f 3771 "info" : {
56122987 3772 "GET" : {
44660702
DM
3773 "description" : "Get cluster status informations.",
3774 "method" : "GET",
3775 "name" : "get_status",
56122987
DM
3776 "parameters" : {
3777 "additionalProperties" : 0
3778 },
56122987
DM
3779 "permissions" : {
3780 "check" : [
3781 "perm",
3782 "/",
3783 [
3784 "Sys.Audit"
3785 ]
3786 ]
3787 },
7aacca6f 3788 "protected" : 1,
56122987 3789 "returns" : {
56122987 3790 "items" : {
56122987
DM
3791 "properties" : {
3792 "type" : {
3793 "type" : "string"
3794 }
44660702
DM
3795 },
3796 "type" : "object"
7aacca6f
DM
3797 },
3798 "type" : "array"
56122987
DM
3799 }
3800 }
3801 },
44660702 3802 "leaf" : 1,
7aacca6f 3803 "path" : "/cluster/status",
44660702 3804 "text" : "status"
56122987
DM
3805 },
3806 {
56122987
DM
3807 "info" : {
3808 "GET" : {
56122987 3809 "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
44660702
DM
3810 "method" : "GET",
3811 "name" : "nextid",
56122987 3812 "parameters" : {
44660702 3813 "additionalProperties" : 0,
56122987
DM
3814 "properties" : {
3815 "vmid" : {
44660702 3816 "description" : "The (unique) ID of the VM.",
56122987 3817 "format" : "pve-vmid",
7aacca6f 3818 "minimum" : 1,
7aacca6f 3819 "optional" : 1,
4bd7df8b 3820 "type" : "integer",
013dc89f 3821 "typetext" : "<integer> (1 - N)"
56122987 3822 }
44660702 3823 }
56122987 3824 },
7aacca6f
DM
3825 "permissions" : {
3826 "user" : "all"
44660702
DM
3827 },
3828 "returns" : {
3829 "description" : "The next free VMID.",
3830 "type" : "integer"
7aacca6f 3831 }
56122987
DM
3832 }
3833 },
7aacca6f 3834 "leaf" : 1,
44660702
DM
3835 "path" : "/cluster/nextid",
3836 "text" : "nextid"
56122987
DM
3837 }
3838 ],
44660702
DM
3839 "info" : {
3840 "GET" : {
3841 "description" : "Cluster index.",
3842 "method" : "GET",
3843 "name" : "index",
3844 "parameters" : {
3845 "additionalProperties" : 0
3846 },
3847 "permissions" : {
3848 "user" : "all"
3849 },
3850 "returns" : {
3851 "items" : {
3852 "properties" : {},
3853 "type" : "object"
3854 },
3855 "links" : [
3856 {
3857 "href" : "{name}",
3858 "rel" : "child"
3859 }
3860 ],
3861 "type" : "array"
3862 }
3863 }
3864 },
3865 "leaf" : 0,
3866 "path" : "/cluster",
7aacca6f 3867 "text" : "cluster"
56122987
DM
3868 },
3869 {
56122987
DM
3870 "children" : [
3871 {
7aacca6f
DM
3872 "children" : [
3873 {
3874 "children" : [
3875 {
56122987
DM
3876 "children" : [
3877 {
56122987
DM
3878 "children" : [
3879 {
3880 "children" : [
3881 {
56122987
DM
3882 "info" : {
3883 "DELETE" : {
44660702 3884 "description" : "Delete rule.",
7aacca6f 3885 "method" : "DELETE",
44660702 3886 "name" : "delete_rule",
56122987 3887 "parameters" : {
44660702 3888 "additionalProperties" : 0,
56122987 3889 "properties" : {
44660702
DM
3890 "digest" : {
3891 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
3892 "maxLength" : 40,
3893 "optional" : 1,
013dc89f
DM
3894 "type" : "string",
3895 "typetext" : "<string>"
44660702 3896 },
56122987 3897 "node" : {
7aacca6f 3898 "description" : "The cluster node name.",
44660702 3899 "format" : "pve-node",
013dc89f
DM
3900 "type" : "string",
3901 "typetext" : "<string>"
7aacca6f 3902 },
56122987 3903 "pos" : {
7aacca6f 3904 "description" : "Update rule at position <pos>.",
44660702 3905 "minimum" : 0,
56122987 3906 "optional" : 1,
4bd7df8b 3907 "type" : "integer",
013dc89f 3908 "typetext" : "<integer> (0 - N)"
44660702
DM
3909 },
3910 "vmid" : {
3911 "description" : "The (unique) ID of the VM.",
3912 "format" : "pve-vmid",
3913 "minimum" : 1,
4bd7df8b 3914 "type" : "integer",
013dc89f 3915 "typetext" : "<integer> (1 - N)"
56122987 3916 }
44660702 3917 }
7aacca6f 3918 },
56122987
DM
3919 "permissions" : {
3920 "check" : [
3921 "perm",
3922 "/vms/{vmid}",
3923 [
3924 "VM.Config.Network"
3925 ]
3926 ]
3927 },
44660702
DM
3928 "protected" : 1,
3929 "proxyto" : null,
56122987
DM
3930 "returns" : {
3931 "type" : "null"
44660702
DM
3932 }
3933 },
3934 "GET" : {
3935 "description" : "Get single rule data.",
3936 "method" : "GET",
3937 "name" : "get_rule",
3938 "parameters" : {
3939 "additionalProperties" : 0,
3940 "properties" : {
3941 "node" : {
3942 "description" : "The cluster node name.",
3943 "format" : "pve-node",
013dc89f
DM
3944 "type" : "string",
3945 "typetext" : "<string>"
44660702
DM
3946 },
3947 "pos" : {
3948 "description" : "Update rule at position <pos>.",
3949 "minimum" : 0,
3950 "optional" : 1,
4bd7df8b 3951 "type" : "integer",
013dc89f 3952 "typetext" : "<integer> (0 - N)"
44660702
DM
3953 },
3954 "vmid" : {
3955 "description" : "The (unique) ID of the VM.",
3956 "format" : "pve-vmid",
3957 "minimum" : 1,
4bd7df8b 3958 "type" : "integer",
013dc89f 3959 "typetext" : "<integer> (1 - N)"
44660702
DM
3960 }
3961 }
56122987 3962 },
56122987
DM
3963 "permissions" : {
3964 "check" : [
3965 "perm",
3966 "/vms/{vmid}",
3967 [
44660702 3968 "VM.Audit"
56122987
DM
3969 ]
3970 ]
3971 },
56122987 3972 "proxyto" : null,
44660702
DM
3973 "returns" : {
3974 "properties" : {
3975 "pos" : {
3976 "type" : "integer"
3977 }
3978 },
3979 "type" : "object"
3980 }
3981 },
3982 "PUT" : {
7aacca6f
DM
3983 "description" : "Modify rule data.",
3984 "method" : "PUT",
44660702 3985 "name" : "update_rule",
56122987 3986 "parameters" : {
44660702 3987 "additionalProperties" : 0,
56122987 3988 "properties" : {
44660702
DM
3989 "action" : {
3990 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
3991 "maxLength" : 20,
3992 "minLength" : 2,
56122987 3993 "optional" : 1,
44660702 3994 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f
DM
3995 "type" : "string"
3996 },
7aacca6f 3997 "comment" : {
e94f0d56 3998 "description" : "Descriptive comment.",
7aacca6f 3999 "optional" : 1,
013dc89f
DM
4000 "type" : "string",
4001 "typetext" : "<string>"
7aacca6f
DM
4002 },
4003 "delete" : {
7aacca6f 4004 "description" : "A list of settings you want to delete.",
44660702
DM
4005 "format" : "pve-configid-list",
4006 "optional" : 1,
013dc89f
DM
4007 "type" : "string",
4008 "typetext" : "<string>"
7aacca6f
DM
4009 },
4010 "dest" : {
44660702 4011 "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 4012 "format" : "pve-fw-addr-spec",
56122987 4013 "optional" : 1,
013dc89f
DM
4014 "type" : "string",
4015 "typetext" : "<string>"
56122987 4016 },
7aacca6f 4017 "digest" : {
44660702 4018 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 4019 "maxLength" : 40,
56122987 4020 "optional" : 1,
013dc89f
DM
4021 "type" : "string",
4022 "typetext" : "<string>"
44660702
DM
4023 },
4024 "dport" : {
4025 "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.",
4026 "format" : "pve-fw-dport-spec",
4027 "optional" : 1,
013dc89f
DM
4028 "type" : "string",
4029 "typetext" : "<string>"
56122987 4030 },
7aacca6f 4031 "enable" : {
e94f0d56 4032 "description" : "Flag to enable/disable a rule.",
44660702 4033 "minimum" : 0,
56122987 4034 "optional" : 1,
4bd7df8b 4035 "type" : "integer",
013dc89f 4036 "typetext" : "<integer> (0 - N)"
7aacca6f 4037 },
44660702
DM
4038 "iface" : {
4039 "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.",
4040 "format" : "pve-iface",
4041 "maxLength" : 20,
7aacca6f 4042 "minLength" : 2,
56122987 4043 "optional" : 1,
013dc89f
DM
4044 "type" : "string",
4045 "typetext" : "<string>"
56122987 4046 },
44660702 4047 "macro" : {
e94f0d56 4048 "description" : "Use predefined standard macro.",
44660702 4049 "maxLength" : 128,
56122987 4050 "optional" : 1,
013dc89f
DM
4051 "type" : "string",
4052 "typetext" : "<string>"
56122987 4053 },
44660702
DM
4054 "moveto" : {
4055 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
4056 "minimum" : 0,
56122987 4057 "optional" : 1,
4bd7df8b 4058 "type" : "integer",
013dc89f 4059 "typetext" : "<integer> (0 - N)"
56122987 4060 },
44660702
DM
4061 "node" : {
4062 "description" : "The cluster node name.",
4063 "format" : "pve-node",
013dc89f
DM
4064 "type" : "string",
4065 "typetext" : "<string>"
44660702
DM
4066 },
4067 "pos" : {
4068 "description" : "Update rule at position <pos>.",
4069 "minimum" : 0,
4070 "optional" : 1,
4bd7df8b 4071 "type" : "integer",
013dc89f 4072 "typetext" : "<integer> (0 - N)"
56122987 4073 },
44660702
DM
4074 "proto" : {
4075 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4076 "format" : "pve-fw-protocol-spec",
4077 "optional" : 1,
013dc89f
DM
4078 "type" : "string",
4079 "typetext" : "<string>"
7aacca6f 4080 },
44660702
DM
4081 "source" : {
4082 "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.",
4083 "format" : "pve-fw-addr-spec",
56122987 4084 "optional" : 1,
013dc89f
DM
4085 "type" : "string",
4086 "typetext" : "<string>"
56122987
DM
4087 },
4088 "sport" : {
4089 "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
4090 "format" : "pve-fw-sport-spec",
4091 "optional" : 1,
013dc89f
DM
4092 "type" : "string",
4093 "typetext" : "<string>"
44660702
DM
4094 },
4095 "type" : {
e94f0d56 4096 "description" : "Rule type.",
44660702
DM
4097 "enum" : [
4098 "in",
4099 "out",
4100 "group"
4101 ],
56122987 4102 "optional" : 1,
56122987 4103 "type" : "string"
44660702
DM
4104 },
4105 "vmid" : {
4106 "description" : "The (unique) ID of the VM.",
4107 "format" : "pve-vmid",
4108 "minimum" : 1,
4bd7df8b 4109 "type" : "integer",
013dc89f 4110 "typetext" : "<integer> (1 - N)"
56122987 4111 }
44660702 4112 }
56122987 4113 },
56122987
DM
4114 "permissions" : {
4115 "check" : [
4116 "perm",
4117 "/vms/{vmid}",
4118 [
44660702 4119 "VM.Config.Network"
56122987
DM
4120 ]
4121 ]
7aacca6f 4122 },
44660702 4123 "protected" : 1,
7aacca6f 4124 "proxyto" : null,
7aacca6f 4125 "returns" : {
44660702
DM
4126 "type" : "null"
4127 }
56122987 4128 }
7aacca6f 4129 },
44660702 4130 "leaf" : 1,
7aacca6f 4131 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
44660702 4132 "text" : "{pos}"
56122987
DM
4133 }
4134 ],
56122987 4135 "info" : {
44660702
DM
4136 "GET" : {
4137 "description" : "List rules.",
4138 "method" : "GET",
4139 "name" : "get_rules",
4140 "parameters" : {
4141 "additionalProperties" : 0,
4142 "properties" : {
4143 "node" : {
4144 "description" : "The cluster node name.",
4145 "format" : "pve-node",
013dc89f
DM
4146 "type" : "string",
4147 "typetext" : "<string>"
44660702
DM
4148 },
4149 "vmid" : {
4150 "description" : "The (unique) ID of the VM.",
4151 "format" : "pve-vmid",
4152 "minimum" : 1,
4bd7df8b 4153 "type" : "integer",
013dc89f 4154 "typetext" : "<integer> (1 - N)"
44660702
DM
4155 }
4156 }
56122987 4157 },
56122987
DM
4158 "permissions" : {
4159 "check" : [
4160 "perm",
4161 "/vms/{vmid}",
4162 [
44660702 4163 "VM.Audit"
56122987
DM
4164 ]
4165 ]
7aacca6f 4166 },
44660702
DM
4167 "proxyto" : null,
4168 "returns" : {
4169 "items" : {
4170 "properties" : {
4171 "pos" : {
4172 "type" : "integer"
4173 }
4174 },
4175 "type" : "object"
4176 },
4177 "links" : [
4178 {
4179 "href" : "{pos}",
4180 "rel" : "child"
4181 }
4182 ],
4183 "type" : "array"
4184 }
4185 },
4186 "POST" : {
4187 "description" : "Create new rule.",
7aacca6f 4188 "method" : "POST",
44660702 4189 "name" : "create_rule",
56122987 4190 "parameters" : {
44660702 4191 "additionalProperties" : 0,
56122987 4192 "properties" : {
44660702
DM
4193 "action" : {
4194 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
4195 "maxLength" : 20,
4196 "minLength" : 2,
4197 "optional" : 0,
4198 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4199 "type" : "string"
56122987 4200 },
44660702 4201 "comment" : {
e94f0d56 4202 "description" : "Descriptive comment.",
56122987 4203 "optional" : 1,
013dc89f
DM
4204 "type" : "string",
4205 "typetext" : "<string>"
56122987 4206 },
44660702
DM
4207 "dest" : {
4208 "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.",
4209 "format" : "pve-fw-addr-spec",
4210 "optional" : 1,
013dc89f
DM
4211 "type" : "string",
4212 "typetext" : "<string>"
56122987 4213 },
44660702
DM
4214 "digest" : {
4215 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4216 "maxLength" : 40,
56122987 4217 "optional" : 1,
013dc89f
DM
4218 "type" : "string",
4219 "typetext" : "<string>"
56122987 4220 },
7aacca6f
DM
4221 "dport" : {
4222 "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 4223 "format" : "pve-fw-dport-spec",
7aacca6f 4224 "optional" : 1,
013dc89f
DM
4225 "type" : "string",
4226 "typetext" : "<string>"
56122987
DM
4227 },
4228 "enable" : {
e94f0d56 4229 "description" : "Flag to enable/disable a rule.",
56122987 4230 "minimum" : 0,
44660702 4231 "optional" : 1,
4bd7df8b 4232 "type" : "integer",
013dc89f 4233 "typetext" : "<integer> (0 - N)"
56122987 4234 },
44660702
DM
4235 "iface" : {
4236 "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.",
4237 "format" : "pve-iface",
4238 "maxLength" : 20,
7aacca6f 4239 "minLength" : 2,
44660702 4240 "optional" : 1,
013dc89f
DM
4241 "type" : "string",
4242 "typetext" : "<string>"
56122987 4243 },
44660702 4244 "macro" : {
e94f0d56 4245 "description" : "Use predefined standard macro.",
44660702 4246 "maxLength" : 128,
56122987 4247 "optional" : 1,
013dc89f
DM
4248 "type" : "string",
4249 "typetext" : "<string>"
7aacca6f 4250 },
44660702
DM
4251 "node" : {
4252 "description" : "The cluster node name.",
4253 "format" : "pve-node",
013dc89f
DM
4254 "type" : "string",
4255 "typetext" : "<string>"
44660702
DM
4256 },
4257 "pos" : {
4258 "description" : "Update rule at position <pos>.",
4259 "minimum" : 0,
4260 "optional" : 1,
4bd7df8b 4261 "type" : "integer",
013dc89f 4262 "typetext" : "<integer> (0 - N)"
44660702
DM
4263 },
4264 "proto" : {
4265 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
4266 "format" : "pve-fw-protocol-spec",
7aacca6f 4267 "optional" : 1,
013dc89f
DM
4268 "type" : "string",
4269 "typetext" : "<string>"
7aacca6f
DM
4270 },
4271 "source" : {
4272 "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 4273 "format" : "pve-fw-addr-spec",
7aacca6f 4274 "optional" : 1,
013dc89f
DM
4275 "type" : "string",
4276 "typetext" : "<string>"
7aacca6f 4277 },
44660702
DM
4278 "sport" : {
4279 "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.",
4280 "format" : "pve-fw-sport-spec",
7aacca6f 4281 "optional" : 1,
013dc89f
DM
4282 "type" : "string",
4283 "typetext" : "<string>"
7aacca6f 4284 },
44660702 4285 "type" : {
e94f0d56 4286 "description" : "Rule type.",
44660702
DM
4287 "enum" : [
4288 "in",
4289 "out",
4290 "group"
4291 ],
4292 "optional" : 0,
4293 "type" : "string"
7aacca6f 4294 },
7aacca6f 4295 "vmid" : {
44660702 4296 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
4297 "format" : "pve-vmid",
4298 "minimum" : 1,
4bd7df8b 4299 "type" : "integer",
013dc89f 4300 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4301 }
4302 }
4303 },
56122987
DM
4304 "permissions" : {
4305 "check" : [
4306 "perm",
4307 "/vms/{vmid}",
4308 [
44660702 4309 "VM.Config.Network"
56122987
DM
4310 ]
4311 ]
4312 },
44660702
DM
4313 "protected" : 1,
4314 "proxyto" : null,
56122987 4315 "returns" : {
44660702
DM
4316 "type" : "null"
4317 }
56122987
DM
4318 }
4319 },
44660702 4320 "leaf" : 0,
7aacca6f 4321 "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
44660702 4322 "text" : "rules"
56122987
DM
4323 },
4324 {
4325 "children" : [
4326 {
56122987 4327 "info" : {
44660702
DM
4328 "DELETE" : {
4329 "description" : "Remove IP or Network alias.",
4330 "method" : "DELETE",
4331 "name" : "remove_alias",
56122987 4332 "parameters" : {
44660702 4333 "additionalProperties" : 0,
56122987 4334 "properties" : {
44660702
DM
4335 "digest" : {
4336 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4337 "maxLength" : 40,
4338 "optional" : 1,
013dc89f
DM
4339 "type" : "string",
4340 "typetext" : "<string>"
56122987
DM
4341 },
4342 "name" : {
56122987 4343 "description" : "Alias name.",
44660702 4344 "maxLength" : 64,
7aacca6f 4345 "minLength" : 2,
44660702 4346 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
4347 "type" : "string"
4348 },
7aacca6f 4349 "node" : {
44660702 4350 "description" : "The cluster node name.",
7aacca6f 4351 "format" : "pve-node",
013dc89f
DM
4352 "type" : "string",
4353 "typetext" : "<string>"
44660702
DM
4354 },
4355 "vmid" : {
4356 "description" : "The (unique) ID of the VM.",
4357 "format" : "pve-vmid",
4358 "minimum" : 1,
4bd7df8b 4359 "type" : "integer",
013dc89f 4360 "typetext" : "<integer> (1 - N)"
56122987 4361 }
44660702 4362 }
56122987 4363 },
7aacca6f
DM
4364 "permissions" : {
4365 "check" : [
4366 "perm",
4367 "/vms/{vmid}",
4368 [
4369 "VM.Config.Network"
4370 ]
4371 ]
56122987 4372 },
44660702
DM
4373 "protected" : 1,
4374 "returns" : {
4375 "type" : "null"
4376 }
4377 },
4378 "GET" : {
4379 "description" : "Read alias.",
4380 "method" : "GET",
4381 "name" : "read_alias",
56122987 4382 "parameters" : {
44660702 4383 "additionalProperties" : 0,
56122987 4384 "properties" : {
56122987 4385 "name" : {
7aacca6f 4386 "description" : "Alias name.",
44660702 4387 "maxLength" : 64,
56122987 4388 "minLength" : 2,
44660702 4389 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 4390 "type" : "string"
7aacca6f
DM
4391 },
4392 "node" : {
4393 "description" : "The cluster node name.",
44660702 4394 "format" : "pve-node",
013dc89f
DM
4395 "type" : "string",
4396 "typetext" : "<string>"
44660702
DM
4397 },
4398 "vmid" : {
4399 "description" : "The (unique) ID of the VM.",
4400 "format" : "pve-vmid",
4401 "minimum" : 1,
4bd7df8b 4402 "type" : "integer",
013dc89f 4403 "typetext" : "<integer> (1 - N)"
56122987 4404 }
44660702 4405 }
56122987 4406 },
44660702
DM
4407 "permissions" : {
4408 "check" : [
4409 "perm",
4410 "/vms/{vmid}",
4411 [
4412 "VM.Audit"
4413 ]
4414 ]
56122987 4415 },
44660702
DM
4416 "returns" : {
4417 "type" : "object"
4418 }
7aacca6f 4419 },
44660702
DM
4420 "PUT" : {
4421 "description" : "Update IP or Network alias.",
4422 "method" : "PUT",
4423 "name" : "update_alias",
56122987
DM
4424 "parameters" : {
4425 "additionalProperties" : 0,
4426 "properties" : {
44660702
DM
4427 "cidr" : {
4428 "description" : "Network/IP specification in CIDR format.",
4429 "format" : "IPorCIDR",
013dc89f
DM
4430 "type" : "string",
4431 "typetext" : "<string>"
44660702
DM
4432 },
4433 "comment" : {
4434 "optional" : 1,
013dc89f
DM
4435 "type" : "string",
4436 "typetext" : "<string>"
56122987
DM
4437 },
4438 "digest" : {
44660702 4439 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987
DM
4440 "maxLength" : 40,
4441 "optional" : 1,
013dc89f
DM
4442 "type" : "string",
4443 "typetext" : "<string>"
56122987 4444 },
7aacca6f 4445 "name" : {
44660702 4446 "description" : "Alias name.",
56122987
DM
4447 "maxLength" : 64,
4448 "minLength" : 2,
4449 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4450 "type" : "string"
7aacca6f
DM
4451 },
4452 "node" : {
7aacca6f 4453 "description" : "The cluster node name.",
44660702 4454 "format" : "pve-node",
013dc89f
DM
4455 "type" : "string",
4456 "typetext" : "<string>"
44660702
DM
4457 },
4458 "rename" : {
4459 "description" : "Rename an existing alias.",
4460 "maxLength" : 64,
4461 "minLength" : 2,
4462 "optional" : 1,
4463 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4464 "type" : "string"
4465 },
4466 "vmid" : {
4467 "description" : "The (unique) ID of the VM.",
4468 "format" : "pve-vmid",
4469 "minimum" : 1,
4bd7df8b 4470 "type" : "integer",
013dc89f 4471 "typetext" : "<integer> (1 - N)"
56122987
DM
4472 }
4473 }
4474 },
7aacca6f
DM
4475 "permissions" : {
4476 "check" : [
4477 "perm",
4478 "/vms/{vmid}",
4479 [
4480 "VM.Config.Network"
4481 ]
4482 ]
4483 },
4484 "protected" : 1,
7aacca6f
DM
4485 "returns" : {
4486 "type" : "null"
44660702 4487 }
56122987
DM
4488 }
4489 },
44660702 4490 "leaf" : 1,
7aacca6f 4491 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
44660702 4492 "text" : "{name}"
56122987
DM
4493 }
4494 ],
4495 "info" : {
44660702
DM
4496 "GET" : {
4497 "description" : "List aliases",
4498 "method" : "GET",
4499 "name" : "get_aliases",
56122987 4500 "parameters" : {
44660702 4501 "additionalProperties" : 0,
56122987 4502 "properties" : {
7aacca6f 4503 "node" : {
7aacca6f 4504 "description" : "The cluster node name.",
44660702 4505 "format" : "pve-node",
013dc89f
DM
4506 "type" : "string",
4507 "typetext" : "<string>"
56122987 4508 },
44660702
DM
4509 "vmid" : {
4510 "description" : "The (unique) ID of the VM.",
4511 "format" : "pve-vmid",
4512 "minimum" : 1,
4bd7df8b 4513 "type" : "integer",
013dc89f 4514 "typetext" : "<integer> (1 - N)"
56122987 4515 }
44660702 4516 }
56122987 4517 },
56122987
DM
4518 "permissions" : {
4519 "check" : [
4520 "perm",
4521 "/vms/{vmid}",
4522 [
44660702 4523 "VM.Audit"
56122987
DM
4524 ]
4525 ]
4526 },
56122987
DM
4527 "returns" : {
4528 "items" : {
4529 "properties" : {
44660702 4530 "cidr" : {
56122987
DM
4531 "type" : "string"
4532 },
44660702
DM
4533 "comment" : {
4534 "optional" : 1,
7aacca6f 4535 "type" : "string"
56122987
DM
4536 },
4537 "digest" : {
56122987 4538 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 4539 "maxLength" : 40,
56122987
DM
4540 "optional" : 0,
4541 "type" : "string"
4542 },
44660702 4543 "name" : {
56122987
DM
4544 "type" : "string"
4545 }
44660702
DM
4546 },
4547 "type" : "object"
56122987 4548 },
56122987
DM
4549 "links" : [
4550 {
4551 "href" : "{name}",
4552 "rel" : "child"
4553 }
44660702
DM
4554 ],
4555 "type" : "array"
4556 }
4557 },
4558 "POST" : {
4559 "description" : "Create IP or Network Alias.",
4560 "method" : "POST",
4561 "name" : "create_alias",
56122987 4562 "parameters" : {
7aacca6f 4563 "additionalProperties" : 0,
56122987 4564 "properties" : {
44660702
DM
4565 "cidr" : {
4566 "description" : "Network/IP specification in CIDR format.",
4567 "format" : "IPorCIDR",
013dc89f
DM
4568 "type" : "string",
4569 "typetext" : "<string>"
44660702
DM
4570 },
4571 "comment" : {
4572 "optional" : 1,
013dc89f
DM
4573 "type" : "string",
4574 "typetext" : "<string>"
44660702
DM
4575 },
4576 "name" : {
4577 "description" : "Alias name.",
4578 "maxLength" : 64,
4579 "minLength" : 2,
4580 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4581 "type" : "string"
56122987
DM
4582 },
4583 "node" : {
7aacca6f 4584 "description" : "The cluster node name.",
44660702 4585 "format" : "pve-node",
013dc89f
DM
4586 "type" : "string",
4587 "typetext" : "<string>"
44660702
DM
4588 },
4589 "vmid" : {
4590 "description" : "The (unique) ID of the VM.",
4591 "format" : "pve-vmid",
4592 "minimum" : 1,
4bd7df8b 4593 "type" : "integer",
013dc89f 4594 "typetext" : "<integer> (1 - N)"
56122987 4595 }
7aacca6f 4596 }
56122987 4597 },
44660702
DM
4598 "permissions" : {
4599 "check" : [
4600 "perm",
4601 "/vms/{vmid}",
4602 [
4603 "VM.Config.Network"
4604 ]
4605 ]
4606 },
4607 "protected" : 1,
4608 "returns" : {
4609 "type" : "null"
4610 }
56122987 4611 }
44660702
DM
4612 },
4613 "leaf" : 0,
4614 "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
4615 "text" : "aliases"
56122987
DM
4616 },
4617 {
56122987
DM
4618 "children" : [
4619 {
7aacca6f
DM
4620 "children" : [
4621 {
4622 "info" : {
4623 "DELETE" : {
44660702 4624 "description" : "Remove IP or Network from IPSet.",
7aacca6f 4625 "method" : "DELETE",
44660702 4626 "name" : "remove_ip",
7aacca6f 4627 "parameters" : {
44660702 4628 "additionalProperties" : 0,
7aacca6f 4629 "properties" : {
44660702
DM
4630 "cidr" : {
4631 "description" : "Network/IP specification in CIDR format.",
4632 "format" : "IPorCIDRorAlias",
013dc89f
DM
4633 "type" : "string",
4634 "typetext" : "<string>"
44660702
DM
4635 },
4636 "digest" : {
4637 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4638 "maxLength" : 40,
4639 "optional" : 1,
013dc89f
DM
4640 "type" : "string",
4641 "typetext" : "<string>"
44660702 4642 },
7aacca6f 4643 "name" : {
7aacca6f 4644 "description" : "IP set name.",
44660702
DM
4645 "maxLength" : 64,
4646 "minLength" : 2,
7aacca6f 4647 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 4648 "type" : "string"
7aacca6f
DM
4649 },
4650 "node" : {
4651 "description" : "The cluster node name.",
44660702 4652 "format" : "pve-node",
013dc89f
DM
4653 "type" : "string",
4654 "typetext" : "<string>"
7aacca6f
DM
4655 },
4656 "vmid" : {
44660702 4657 "description" : "The (unique) ID of the VM.",
7aacca6f 4658 "format" : "pve-vmid",
44660702 4659 "minimum" : 1,
4bd7df8b 4660 "type" : "integer",
013dc89f 4661 "typetext" : "<integer> (1 - N)"
7aacca6f 4662 }
44660702 4663 }
7aacca6f 4664 },
7aacca6f
DM
4665 "permissions" : {
4666 "check" : [
4667 "perm",
4668 "/vms/{vmid}",
4669 [
4670 "VM.Config.Network"
4671 ]
4672 ]
4673 },
4674 "protected" : 1,
44660702
DM
4675 "returns" : {
4676 "type" : "null"
4677 }
56122987 4678 },
44660702
DM
4679 "GET" : {
4680 "description" : "Read IP or Network settings from IPSet.",
4681 "method" : "GET",
4682 "name" : "read_ip",
7aacca6f 4683 "parameters" : {
44660702 4684 "additionalProperties" : 0,
7aacca6f 4685 "properties" : {
7aacca6f 4686 "cidr" : {
44660702 4687 "description" : "Network/IP specification in CIDR format.",
7aacca6f 4688 "format" : "IPorCIDRorAlias",
013dc89f
DM
4689 "type" : "string",
4690 "typetext" : "<string>"
7aacca6f
DM
4691 },
4692 "name" : {
7aacca6f 4693 "description" : "IP set name.",
44660702 4694 "maxLength" : 64,
7aacca6f 4695 "minLength" : 2,
44660702
DM
4696 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4697 "type" : "string"
7aacca6f 4698 },
44660702
DM
4699 "node" : {
4700 "description" : "The cluster node name.",
4701 "format" : "pve-node",
013dc89f
DM
4702 "type" : "string",
4703 "typetext" : "<string>"
7aacca6f 4704 },
44660702
DM
4705 "vmid" : {
4706 "description" : "The (unique) ID of the VM.",
4707 "format" : "pve-vmid",
4708 "minimum" : 1,
4bd7df8b 4709 "type" : "integer",
013dc89f 4710 "typetext" : "<integer> (1 - N)"
7aacca6f 4711 }
44660702 4712 }
7aacca6f 4713 },
44660702
DM
4714 "permissions" : {
4715 "check" : [
4716 "perm",
4717 "/vms/{vmid}",
4718 [
4719 "VM.Audit"
4720 ]
4721 ]
4722 },
4723 "protected" : 1,
7aacca6f 4724 "returns" : {
44660702 4725 "type" : "object"
7aacca6f 4726 }
56122987 4727 },
44660702
DM
4728 "PUT" : {
4729 "description" : "Update IP or Network settings",
4730 "method" : "PUT",
4731 "name" : "update_ip",
7aacca6f
DM
4732 "parameters" : {
4733 "additionalProperties" : 0,
4734 "properties" : {
44660702
DM
4735 "cidr" : {
4736 "description" : "Network/IP specification in CIDR format.",
4737 "format" : "IPorCIDRorAlias",
013dc89f
DM
4738 "type" : "string",
4739 "typetext" : "<string>"
44660702
DM
4740 },
4741 "comment" : {
4742 "optional" : 1,
013dc89f
DM
4743 "type" : "string",
4744 "typetext" : "<string>"
44660702
DM
4745 },
4746 "digest" : {
4747 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4748 "maxLength" : 40,
4749 "optional" : 1,
013dc89f
DM
4750 "type" : "string",
4751 "typetext" : "<string>"
44660702 4752 },
7aacca6f 4753 "name" : {
7aacca6f 4754 "description" : "IP set name.",
44660702 4755 "maxLength" : 64,
7aacca6f 4756 "minLength" : 2,
44660702
DM
4757 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4758 "type" : "string"
7aacca6f
DM
4759 },
4760 "node" : {
7aacca6f 4761 "description" : "The cluster node name.",
44660702 4762 "format" : "pve-node",
013dc89f
DM
4763 "type" : "string",
4764 "typetext" : "<string>"
7aacca6f 4765 },
44660702
DM
4766 "nomatch" : {
4767 "optional" : 1,
013dc89f
DM
4768 "type" : "boolean",
4769 "typetext" : "<boolean>"
7aacca6f
DM
4770 },
4771 "vmid" : {
4772 "description" : "The (unique) ID of the VM.",
44660702 4773 "format" : "pve-vmid",
7aacca6f 4774 "minimum" : 1,
4bd7df8b 4775 "type" : "integer",
013dc89f 4776 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
4777 }
4778 }
4779 },
4780 "permissions" : {
4781 "check" : [
4782 "perm",
4783 "/vms/{vmid}",
4784 [
44660702 4785 "VM.Config.Network"
7aacca6f
DM
4786 ]
4787 ]
4788 },
7aacca6f 4789 "protected" : 1,
7aacca6f 4790 "returns" : {
44660702 4791 "type" : "null"
7aacca6f 4792 }
56122987 4793 }
7aacca6f 4794 },
7aacca6f 4795 "leaf" : 1,
44660702
DM
4796 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
4797 "text" : "{cidr}"
7aacca6f 4798 }
44660702
DM
4799 ],
4800 "info" : {
4801 "DELETE" : {
4802 "description" : "Delete IPSet",
4803 "method" : "DELETE",
4804 "name" : "delete_ipset",
4805 "parameters" : {
4806 "additionalProperties" : 0,
4807 "properties" : {
4808 "name" : {
4809 "description" : "IP set name.",
4810 "maxLength" : 64,
4811 "minLength" : 2,
4812 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4813 "type" : "string"
4814 },
4815 "node" : {
4816 "description" : "The cluster node name.",
4817 "format" : "pve-node",
013dc89f
DM
4818 "type" : "string",
4819 "typetext" : "<string>"
44660702
DM
4820 },
4821 "vmid" : {
4822 "description" : "The (unique) ID of the VM.",
4823 "format" : "pve-vmid",
4824 "minimum" : 1,
4bd7df8b 4825 "type" : "integer",
013dc89f 4826 "typetext" : "<integer> (1 - N)"
44660702
DM
4827 }
4828 }
7aacca6f 4829 },
44660702
DM
4830 "permissions" : {
4831 "check" : [
4832 "perm",
4833 "/vms/{vmid}",
4834 [
4835 "VM.Config.Network"
4836 ]
4837 ]
7aacca6f 4838 },
44660702
DM
4839 "protected" : 1,
4840 "returns" : {
4841 "type" : "null"
4842 }
4843 },
4844 "GET" : {
4845 "description" : "List IPSet content",
4846 "method" : "GET",
4847 "name" : "get_ipset",
4848 "parameters" : {
4849 "additionalProperties" : 0,
4850 "properties" : {
4851 "name" : {
4852 "description" : "IP set name.",
4853 "maxLength" : 64,
4854 "minLength" : 2,
4855 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4856 "type" : "string"
4857 },
4858 "node" : {
4859 "description" : "The cluster node name.",
4860 "format" : "pve-node",
013dc89f
DM
4861 "type" : "string",
4862 "typetext" : "<string>"
44660702
DM
4863 },
4864 "vmid" : {
4865 "description" : "The (unique) ID of the VM.",
4866 "format" : "pve-vmid",
4867 "minimum" : 1,
4bd7df8b 4868 "type" : "integer",
013dc89f 4869 "typetext" : "<integer> (1 - N)"
44660702
DM
4870 }
4871 }
7aacca6f 4872 },
44660702
DM
4873 "permissions" : {
4874 "check" : [
4875 "perm",
4876 "/vms/{vmid}",
4877 [
4878 "VM.Audit"
4879 ]
4880 ]
7aacca6f 4881 },
44660702
DM
4882 "returns" : {
4883 "items" : {
4884 "properties" : {
4885 "cidr" : {
4886 "type" : "string"
4887 },
4888 "comment" : {
4889 "optional" : 1,
4890 "type" : "string"
4891 },
4892 "digest" : {
4893 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
4894 "maxLength" : 40,
4895 "optional" : 0,
4896 "type" : "string"
4897 },
4898 "nomatch" : {
4899 "optional" : 1,
4900 "type" : "boolean"
4901 }
4902 },
4903 "type" : "object"
4904 },
4905 "links" : [
4906 {
4907 "href" : "{cidr}",
4908 "rel" : "child"
4909 }
4910 ],
4911 "type" : "array"
56122987
DM
4912 }
4913 },
44660702
DM
4914 "POST" : {
4915 "description" : "Add IP or Network to IPSet.",
4916 "method" : "POST",
4917 "name" : "create_ip",
4918 "parameters" : {
4919 "additionalProperties" : 0,
4920 "properties" : {
4921 "cidr" : {
4922 "description" : "Network/IP specification in CIDR format.",
4923 "format" : "IPorCIDRorAlias",
013dc89f
DM
4924 "type" : "string",
4925 "typetext" : "<string>"
44660702
DM
4926 },
4927 "comment" : {
4928 "optional" : 1,
013dc89f
DM
4929 "type" : "string",
4930 "typetext" : "<string>"
44660702
DM
4931 },
4932 "name" : {
4933 "description" : "IP set name.",
4934 "maxLength" : 64,
4935 "minLength" : 2,
4936 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
4937 "type" : "string"
4938 },
4939 "node" : {
4940 "description" : "The cluster node name.",
4941 "format" : "pve-node",
013dc89f
DM
4942 "type" : "string",
4943 "typetext" : "<string>"
44660702
DM
4944 },
4945 "nomatch" : {
4946 "optional" : 1,
013dc89f
DM
4947 "type" : "boolean",
4948 "typetext" : "<boolean>"
44660702
DM
4949 },
4950 "vmid" : {
4951 "description" : "The (unique) ID of the VM.",
4952 "format" : "pve-vmid",
4953 "minimum" : 1,
4bd7df8b 4954 "type" : "integer",
013dc89f 4955 "typetext" : "<integer> (1 - N)"
44660702
DM
4956 }
4957 }
4958 },
4959 "permissions" : {
4960 "check" : [
4961 "perm",
4962 "/vms/{vmid}",
4963 [
4964 "VM.Config.Network"
4965 ]
4966 ]
4967 },
4968 "protected" : 1,
4969 "returns" : {
4970 "type" : "null"
4971 }
4972 }
4973 },
4974 "leaf" : 0,
4975 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
4976 "text" : "{name}"
4977 }
4978 ],
4979 "info" : {
4980 "GET" : {
4981 "description" : "List IPSets",
4982 "method" : "GET",
4983 "name" : "ipset_index",
4984 "parameters" : {
4985 "additionalProperties" : 0,
4986 "properties" : {
4987 "node" : {
4988 "description" : "The cluster node name.",
4989 "format" : "pve-node",
013dc89f
DM
4990 "type" : "string",
4991 "typetext" : "<string>"
44660702
DM
4992 },
4993 "vmid" : {
4994 "description" : "The (unique) ID of the VM.",
4995 "format" : "pve-vmid",
4996 "minimum" : 1,
4bd7df8b 4997 "type" : "integer",
013dc89f 4998 "typetext" : "<integer> (1 - N)"
44660702
DM
4999 }
5000 }
56122987
DM
5001 },
5002 "permissions" : {
5003 "check" : [
5004 "perm",
5005 "/vms/{vmid}",
5006 [
44660702 5007 "VM.Audit"
56122987
DM
5008 ]
5009 ]
5010 },
7aacca6f 5011 "returns" : {
7aacca6f
DM
5012 "items" : {
5013 "properties" : {
7aacca6f
DM
5014 "comment" : {
5015 "optional" : 1,
5016 "type" : "string"
5017 },
5018 "digest" : {
7aacca6f 5019 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
5020 "maxLength" : 40,
5021 "optional" : 0,
5022 "type" : "string"
5023 },
5024 "name" : {
5025 "description" : "IP set name.",
5026 "maxLength" : 64,
5027 "minLength" : 2,
5028 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5029 "type" : "string"
7aacca6f
DM
5030 }
5031 },
5032 "type" : "object"
5033 },
5034 "links" : [
5035 {
44660702
DM
5036 "href" : "{name}",
5037 "rel" : "child"
7aacca6f 5038 }
44660702
DM
5039 ],
5040 "type" : "array"
5041 }
5042 },
5043 "POST" : {
5044 "description" : "Create new IPSet",
5045 "method" : "POST",
5046 "name" : "create_ipset",
56122987
DM
5047 "parameters" : {
5048 "additionalProperties" : 0,
5049 "properties" : {
44660702
DM
5050 "comment" : {
5051 "optional" : 1,
013dc89f
DM
5052 "type" : "string",
5053 "typetext" : "<string>"
56122987 5054 },
44660702
DM
5055 "digest" : {
5056 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5057 "maxLength" : 40,
5058 "optional" : 1,
013dc89f
DM
5059 "type" : "string",
5060 "typetext" : "<string>"
44660702
DM
5061 },
5062 "name" : {
5063 "description" : "IP set name.",
5064 "maxLength" : 64,
5065 "minLength" : 2,
5066 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5067 "type" : "string"
5068 },
5069 "node" : {
5070 "description" : "The cluster node name.",
5071 "format" : "pve-node",
013dc89f
DM
5072 "type" : "string",
5073 "typetext" : "<string>"
44660702
DM
5074 },
5075 "rename" : {
5076 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
5077 "maxLength" : 64,
5078 "minLength" : 2,
5079 "optional" : 1,
5080 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
5081 "type" : "string"
5082 },
5083 "vmid" : {
5084 "description" : "The (unique) ID of the VM.",
5085 "format" : "pve-vmid",
5086 "minimum" : 1,
4bd7df8b 5087 "type" : "integer",
013dc89f 5088 "typetext" : "<integer> (1 - N)"
44660702
DM
5089 }
5090 }
5091 },
7aacca6f
DM
5092 "permissions" : {
5093 "check" : [
5094 "perm",
5095 "/vms/{vmid}",
5096 [
5097 "VM.Config.Network"
5098 ]
5099 ]
5100 },
44660702 5101 "protected" : 1,
56122987 5102 "returns" : {
7aacca6f 5103 "type" : "null"
44660702
DM
5104 }
5105 }
5106 },
5107 "leaf" : 0,
5108 "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
5109 "text" : "ipset"
5110 },
5111 {
5112 "info" : {
5113 "GET" : {
5114 "description" : "Get VM firewall options.",
5115 "method" : "GET",
5116 "name" : "get_options",
7aacca6f
DM
5117 "parameters" : {
5118 "additionalProperties" : 0,
56122987 5119 "properties" : {
7aacca6f
DM
5120 "node" : {
5121 "description" : "The cluster node name.",
44660702 5122 "format" : "pve-node",
013dc89f
DM
5123 "type" : "string",
5124 "typetext" : "<string>"
7aacca6f 5125 },
44660702
DM
5126 "vmid" : {
5127 "description" : "The (unique) ID of the VM.",
5128 "format" : "pve-vmid",
5129 "minimum" : 1,
4bd7df8b 5130 "type" : "integer",
013dc89f 5131 "typetext" : "<integer> (1 - N)"
44660702
DM
5132 }
5133 }
5134 },
5135 "permissions" : {
5136 "check" : [
5137 "perm",
5138 "/vms/{vmid}",
5139 [
5140 "VM.Audit"
5141 ]
5142 ]
5143 },
5144 "proxyto" : "node",
5145 "returns" : {
5146 "properties" : {
5147 "dhcp" : {
5148 "description" : "Enable DHCP.",
56122987 5149 "optional" : 1,
44660702 5150 "type" : "boolean"
56122987 5151 },
44660702
DM
5152 "enable" : {
5153 "description" : "Enable/disable firewall rules.",
7aacca6f 5154 "optional" : 1,
44660702 5155 "type" : "boolean"
56122987 5156 },
44660702
DM
5157 "ipfilter" : {
5158 "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 5159 "optional" : 1,
44660702 5160 "type" : "boolean"
7aacca6f 5161 },
56122987 5162 "log_level_in" : {
7aacca6f 5163 "description" : "Log level for incoming traffic.",
56122987
DM
5164 "enum" : [
5165 "emerg",
5166 "alert",
5167 "crit",
5168 "err",
5169 "warning",
5170 "notice",
5171 "info",
5172 "debug",
5173 "nolog"
5174 ],
56122987
DM
5175 "optional" : 1,
5176 "type" : "string"
5177 },
44660702
DM
5178 "log_level_out" : {
5179 "description" : "Log level for outgoing traffic.",
5180 "enum" : [
5181 "emerg",
5182 "alert",
5183 "crit",
5184 "err",
5185 "warning",
5186 "notice",
5187 "info",
5188 "debug",
5189 "nolog"
5190 ],
5191 "optional" : 1,
5192 "type" : "string"
5193 },
5194 "macfilter" : {
5195 "description" : "Enable/disable MAC address filter.",
56122987 5196 "optional" : 1,
7aacca6f 5197 "type" : "boolean"
56122987
DM
5198 },
5199 "ndp" : {
44660702 5200 "description" : "Enable NDP.",
56122987 5201 "optional" : 1,
44660702 5202 "type" : "boolean"
56122987
DM
5203 },
5204 "policy_in" : {
56122987
DM
5205 "description" : "Input policy.",
5206 "enum" : [
5207 "ACCEPT",
5208 "REJECT",
5209 "DROP"
44660702
DM
5210 ],
5211 "optional" : 1,
5212 "type" : "string"
56122987 5213 },
44660702
DM
5214 "policy_out" : {
5215 "description" : "Output policy.",
5216 "enum" : [
5217 "ACCEPT",
5218 "REJECT",
5219 "DROP"
5220 ],
5221 "optional" : 1,
5222 "type" : "string"
5223 },
5224 "radv" : {
5225 "description" : "Allow sending Router Advertisement.",
5226 "optional" : 1,
5227 "type" : "boolean"
5228 }
5229 },
5230 "type" : "object"
5231 }
5232 },
5233 "PUT" : {
5234 "description" : "Set Firewall options.",
5235 "method" : "PUT",
5236 "name" : "set_options",
5237 "parameters" : {
5238 "additionalProperties" : 0,
5239 "properties" : {
5240 "delete" : {
5241 "description" : "A list of settings you want to delete.",
5242 "format" : "pve-configid-list",
5243 "optional" : 1,
013dc89f
DM
5244 "type" : "string",
5245 "typetext" : "<string>"
44660702
DM
5246 },
5247 "dhcp" : {
5248 "description" : "Enable DHCP.",
7aacca6f 5249 "optional" : 1,
013dc89f
DM
5250 "type" : "boolean",
5251 "typetext" : "<boolean>"
7aacca6f
DM
5252 },
5253 "digest" : {
5254 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 5255 "maxLength" : 40,
7aacca6f 5256 "optional" : 1,
013dc89f
DM
5257 "type" : "string",
5258 "typetext" : "<string>"
7aacca6f
DM
5259 },
5260 "enable" : {
5261 "description" : "Enable/disable firewall rules.",
56122987 5262 "optional" : 1,
013dc89f
DM
5263 "type" : "boolean",
5264 "typetext" : "<boolean>"
7aacca6f 5265 },
44660702
DM
5266 "ipfilter" : {
5267 "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.",
5268 "optional" : 1,
013dc89f
DM
5269 "type" : "boolean",
5270 "typetext" : "<boolean>"
44660702
DM
5271 },
5272 "log_level_in" : {
5273 "description" : "Log level for incoming traffic.",
56122987
DM
5274 "enum" : [
5275 "emerg",
5276 "alert",
5277 "crit",
5278 "err",
5279 "warning",
5280 "notice",
5281 "info",
5282 "debug",
5283 "nolog"
7aacca6f 5284 ],
7aacca6f 5285 "optional" : 1,
44660702 5286 "type" : "string"
7aacca6f 5287 },
44660702
DM
5288 "log_level_out" : {
5289 "description" : "Log level for outgoing traffic.",
56122987
DM
5290 "enum" : [
5291 "emerg",
5292 "alert",
5293 "crit",
5294 "err",
5295 "warning",
5296 "notice",
5297 "info",
5298 "debug",
5299 "nolog"
5300 ],
56122987 5301 "optional" : 1,
44660702 5302 "type" : "string"
56122987
DM
5303 },
5304 "macfilter" : {
56122987 5305 "description" : "Enable/disable MAC address filter.",
7aacca6f 5306 "optional" : 1,
013dc89f
DM
5307 "type" : "boolean",
5308 "typetext" : "<boolean>"
56122987 5309 },
44660702
DM
5310 "ndp" : {
5311 "description" : "Enable NDP.",
5312 "optional" : 1,
013dc89f
DM
5313 "type" : "boolean",
5314 "typetext" : "<boolean>"
44660702
DM
5315 },
5316 "node" : {
5317 "description" : "The cluster node name.",
5318 "format" : "pve-node",
013dc89f
DM
5319 "type" : "string",
5320 "typetext" : "<string>"
44660702 5321 },
56122987 5322 "policy_in" : {
44660702 5323 "description" : "Input policy.",
56122987
DM
5324 "enum" : [
5325 "ACCEPT",
5326 "REJECT",
5327 "DROP"
7aacca6f 5328 ],
56122987 5329 "optional" : 1,
7aacca6f 5330 "type" : "string"
56122987 5331 },
44660702
DM
5332 "policy_out" : {
5333 "description" : "Output policy.",
5334 "enum" : [
5335 "ACCEPT",
5336 "REJECT",
5337 "DROP"
5338 ],
56122987 5339 "optional" : 1,
44660702 5340 "type" : "string"
56122987 5341 },
44660702
DM
5342 "radv" : {
5343 "description" : "Allow sending Router Advertisement.",
56122987 5344 "optional" : 1,
013dc89f
DM
5345 "type" : "boolean",
5346 "typetext" : "<boolean>"
7aacca6f
DM
5347 },
5348 "vmid" : {
5349 "description" : "The (unique) ID of the VM.",
44660702 5350 "format" : "pve-vmid",
7aacca6f 5351 "minimum" : 1,
4bd7df8b 5352 "type" : "integer",
013dc89f 5353 "typetext" : "<integer> (1 - N)"
56122987
DM
5354 }
5355 }
5356 },
56122987
DM
5357 "permissions" : {
5358 "check" : [
5359 "perm",
5360 "/vms/{vmid}",
5361 [
44660702 5362 "VM.Config.Network"
56122987
DM
5363 ]
5364 ]
7aacca6f 5365 },
44660702 5366 "protected" : 1,
7aacca6f 5367 "proxyto" : "node",
44660702
DM
5368 "returns" : {
5369 "type" : "null"
5370 }
56122987
DM
5371 }
5372 },
44660702 5373 "leaf" : 1,
7aacca6f 5374 "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
44660702 5375 "text" : "options"
56122987
DM
5376 },
5377 {
56122987
DM
5378 "info" : {
5379 "GET" : {
44660702
DM
5380 "description" : "Read firewall log",
5381 "method" : "GET",
5382 "name" : "log",
5383 "parameters" : {
5384 "additionalProperties" : 0,
5385 "properties" : {
5386 "limit" : {
5387 "minimum" : 0,
5388 "optional" : 1,
4bd7df8b 5389 "type" : "integer",
013dc89f 5390 "typetext" : "<integer> (0 - N)"
56122987 5391 },
44660702
DM
5392 "node" : {
5393 "description" : "The cluster node name.",
5394 "format" : "pve-node",
013dc89f
DM
5395 "type" : "string",
5396 "typetext" : "<string>"
44660702
DM
5397 },
5398 "start" : {
5399 "minimum" : 0,
5400 "optional" : 1,
4bd7df8b 5401 "type" : "integer",
013dc89f 5402 "typetext" : "<integer> (0 - N)"
44660702
DM
5403 },
5404 "vmid" : {
5405 "description" : "The (unique) ID of the VM.",
5406 "format" : "pve-vmid",
5407 "minimum" : 1,
4bd7df8b 5408 "type" : "integer",
013dc89f 5409 "typetext" : "<integer> (1 - N)"
44660702
DM
5410 }
5411 }
7aacca6f 5412 },
7aacca6f
DM
5413 "permissions" : {
5414 "check" : [
5415 "perm",
5416 "/vms/{vmid}",
5417 [
5418 "VM.Console"
5419 ]
5420 ]
56122987 5421 },
7aacca6f 5422 "protected" : 1,
44660702
DM
5423 "proxyto" : "node",
5424 "returns" : {
5425 "items" : {
5426 "properties" : {
5427 "n" : {
5428 "description" : "Line number",
5429 "type" : "integer"
5430 },
5431 "t" : {
5432 "description" : "Line text",
5433 "type" : "string"
5434 }
56122987 5435 },
44660702 5436 "type" : "object"
7aacca6f 5437 },
44660702 5438 "type" : "array"
7aacca6f
DM
5439 }
5440 }
5441 },
44660702 5442 "leaf" : 1,
7aacca6f 5443 "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
44660702 5444 "text" : "log"
7aacca6f
DM
5445 },
5446 {
7aacca6f
DM
5447 "info" : {
5448 "GET" : {
5449 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
5450 "method" : "GET",
5451 "name" : "refs",
56122987 5452 "parameters" : {
44660702 5453 "additionalProperties" : 0,
56122987
DM
5454 "properties" : {
5455 "node" : {
7aacca6f 5456 "description" : "The cluster node name.",
44660702 5457 "format" : "pve-node",
013dc89f
DM
5458 "type" : "string",
5459 "typetext" : "<string>"
56122987
DM
5460 },
5461 "type" : {
56122987
DM
5462 "description" : "Only list references of specified type.",
5463 "enum" : [
5464 "alias",
5465 "ipset"
7aacca6f 5466 ],
44660702
DM
5467 "optional" : 1,
5468 "type" : "string"
5469 },
5470 "vmid" : {
5471 "description" : "The (unique) ID of the VM.",
5472 "format" : "pve-vmid",
5473 "minimum" : 1,
4bd7df8b 5474 "type" : "integer",
013dc89f 5475 "typetext" : "<integer> (1 - N)"
56122987 5476 }
44660702
DM
5477 }
5478 },
5479 "permissions" : {
5480 "check" : [
5481 "perm",
5482 "/vms/{vmid}",
5483 [
5484 "VM.Audit"
5485 ]
5486 ]
56122987
DM
5487 },
5488 "returns" : {
56122987
DM
5489 "items" : {
5490 "properties" : {
44660702
DM
5491 "comment" : {
5492 "optional" : 1,
56122987
DM
5493 "type" : "string"
5494 },
5495 "name" : {
5496 "type" : "string"
5497 },
44660702
DM
5498 "type" : {
5499 "enum" : [
5500 "alias",
5501 "ipset"
5502 ],
7aacca6f 5503 "type" : "string"
56122987
DM
5504 }
5505 },
5506 "type" : "object"
7aacca6f
DM
5507 },
5508 "type" : "array"
5509 }
56122987 5510 }
44660702
DM
5511 },
5512 "leaf" : 1,
5513 "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
5514 "text" : "refs"
56122987
DM
5515 }
5516 ],
56122987
DM
5517 "info" : {
5518 "GET" : {
44660702 5519 "description" : "Directory index.",
56122987 5520 "method" : "GET",
44660702 5521 "name" : "index",
56122987 5522 "parameters" : {
44660702 5523 "additionalProperties" : 0,
56122987
DM
5524 "properties" : {
5525 "node" : {
5526 "description" : "The cluster node name.",
44660702 5527 "format" : "pve-node",
013dc89f
DM
5528 "type" : "string",
5529 "typetext" : "<string>"
56122987
DM
5530 },
5531 "vmid" : {
44660702 5532 "description" : "The (unique) ID of the VM.",
56122987
DM
5533 "format" : "pve-vmid",
5534 "minimum" : 1,
4bd7df8b 5535 "type" : "integer",
013dc89f 5536 "typetext" : "<integer> (1 - N)"
56122987 5537 }
44660702 5538 }
56122987 5539 },
56122987
DM
5540 "permissions" : {
5541 "user" : "all"
7aacca6f 5542 },
44660702
DM
5543 "returns" : {
5544 "items" : {
5545 "properties" : {},
5546 "type" : "object"
5547 },
5548 "links" : [
5549 {
5550 "href" : "{name}",
5551 "rel" : "child"
5552 }
5553 ],
5554 "type" : "array"
5555 }
56122987 5556 }
44660702
DM
5557 },
5558 "leaf" : 0,
5559 "path" : "/nodes/{node}/qemu/{vmid}/firewall",
5560 "text" : "firewall"
56122987
DM
5561 },
5562 {
56122987
DM
5563 "info" : {
5564 "GET" : {
44660702
DM
5565 "description" : "Read VM RRD statistics (returns PNG)",
5566 "method" : "GET",
7aacca6f 5567 "name" : "rrd",
56122987
DM
5568 "parameters" : {
5569 "additionalProperties" : 0,
5570 "properties" : {
7aacca6f 5571 "cf" : {
44660702 5572 "description" : "The RRD consolidation function",
7aacca6f
DM
5573 "enum" : [
5574 "AVERAGE",
5575 "MAX"
5576 ],
7aacca6f
DM
5577 "optional" : 1,
5578 "type" : "string"
5579 },
44660702
DM
5580 "ds" : {
5581 "description" : "The list of datasources you want to display.",
5582 "format" : "pve-configid-list",
013dc89f
DM
5583 "type" : "string",
5584 "typetext" : "<string>"
56122987
DM
5585 },
5586 "node" : {
44660702 5587 "description" : "The cluster node name.",
56122987 5588 "format" : "pve-node",
013dc89f
DM
5589 "type" : "string",
5590 "typetext" : "<string>"
56122987
DM
5591 },
5592 "timeframe" : {
44660702 5593 "description" : "Specify the time frame you are interested in.",
56122987
DM
5594 "enum" : [
5595 "hour",
5596 "day",
5597 "week",
5598 "month",
5599 "year"
5600 ],
56122987
DM
5601 "type" : "string"
5602 },
44660702
DM
5603 "vmid" : {
5604 "description" : "The (unique) ID of the VM.",
5605 "format" : "pve-vmid",
5606 "minimum" : 1,
4bd7df8b 5607 "type" : "integer",
013dc89f 5608 "typetext" : "<integer> (1 - N)"
56122987
DM
5609 }
5610 }
5611 },
56122987
DM
5612 "permissions" : {
5613 "check" : [
5614 "perm",
5615 "/vms/{vmid}",
5616 [
5617 "VM.Audit"
5618 ]
5619 ]
5620 },
7aacca6f
DM
5621 "protected" : 1,
5622 "returns" : {
5623 "properties" : {
5624 "filename" : {
5625 "type" : "string"
5626 }
5627 },
5628 "type" : "object"
44660702 5629 }
56122987 5630 }
44660702
DM
5631 },
5632 "leaf" : 1,
5633 "path" : "/nodes/{node}/qemu/{vmid}/rrd",
5634 "text" : "rrd"
56122987
DM
5635 },
5636 {
7aacca6f 5637 "info" : {
56122987 5638 "GET" : {
7aacca6f 5639 "description" : "Read VM RRD statistics",
44660702 5640 "method" : "GET",
56122987 5641 "name" : "rrddata",
56122987 5642 "parameters" : {
44660702 5643 "additionalProperties" : 0,
56122987 5644 "properties" : {
44660702
DM
5645 "cf" : {
5646 "description" : "The RRD consolidation function",
5647 "enum" : [
5648 "AVERAGE",
5649 "MAX"
5650 ],
5651 "optional" : 1,
5652 "type" : "string"
5653 },
56122987 5654 "node" : {
44660702 5655 "description" : "The cluster node name.",
56122987 5656 "format" : "pve-node",
013dc89f
DM
5657 "type" : "string",
5658 "typetext" : "<string>"
56122987
DM
5659 },
5660 "timeframe" : {
44660702 5661 "description" : "Specify the time frame you are interested in.",
56122987
DM
5662 "enum" : [
5663 "hour",
5664 "day",
5665 "week",
5666 "month",
5667 "year"
7aacca6f 5668 ],
44660702 5669 "type" : "string"
7aacca6f
DM
5670 },
5671 "vmid" : {
7aacca6f
DM
5672 "description" : "The (unique) ID of the VM.",
5673 "format" : "pve-vmid",
44660702 5674 "minimum" : 1,
4bd7df8b 5675 "type" : "integer",
013dc89f 5676 "typetext" : "<integer> (1 - N)"
56122987 5677 }
44660702 5678 }
56122987 5679 },
56122987
DM
5680 "permissions" : {
5681 "check" : [
5682 "perm",
5683 "/vms/{vmid}",
5684 [
5685 "VM.Audit"
5686 ]
5687 ]
5688 },
44660702 5689 "protected" : 1,
7aacca6f 5690 "returns" : {
7aacca6f 5691 "items" : {
44660702
DM
5692 "properties" : {},
5693 "type" : "object"
5694 },
5695 "type" : "array"
7aacca6f 5696 }
56122987
DM
5697 }
5698 },
44660702
DM
5699 "leaf" : 1,
5700 "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
56122987
DM
5701 "text" : "rrddata"
5702 },
5703 {
56122987 5704 "info" : {
44660702
DM
5705 "GET" : {
5706 "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
5707 "method" : "GET",
5708 "name" : "vm_config",
5709 "parameters" : {
5710 "additionalProperties" : 0,
5711 "properties" : {
5712 "current" : {
5713 "default" : 0,
5714 "description" : "Get current values (instead of pending values).",
5715 "optional" : 1,
013dc89f
DM
5716 "type" : "boolean",
5717 "typetext" : "<boolean>"
44660702
DM
5718 },
5719 "node" : {
5720 "description" : "The cluster node name.",
5721 "format" : "pve-node",
013dc89f
DM
5722 "type" : "string",
5723 "typetext" : "<string>"
44660702
DM
5724 },
5725 "vmid" : {
5726 "description" : "The (unique) ID of the VM.",
5727 "format" : "pve-vmid",
5728 "minimum" : 1,
4bd7df8b 5729 "type" : "integer",
013dc89f 5730 "typetext" : "<integer> (1 - N)"
44660702
DM
5731 }
5732 }
7aacca6f 5733 },
56122987
DM
5734 "permissions" : {
5735 "check" : [
5736 "perm",
5737 "/vms/{vmid}",
5738 [
44660702
DM
5739 "VM.Audit"
5740 ]
56122987
DM
5741 ]
5742 },
56122987 5743 "proxyto" : "node",
44660702
DM
5744 "returns" : {
5745 "properties" : {
5746 "digest" : {
5747 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
5748 "type" : "string"
5749 }
5750 },
5751 "type" : "object"
5752 }
5753 },
5754 "POST" : {
7aacca6f
DM
5755 "description" : "Set virtual machine options (asynchrounous API).",
5756 "method" : "POST",
44660702 5757 "name" : "update_vm_async",
56122987 5758 "parameters" : {
44660702 5759 "additionalProperties" : 0,
56122987 5760 "properties" : {
44660702
DM
5761 "acpi" : {
5762 "default" : 1,
5763 "description" : "Enable/disable ACPI.",
5764 "optional" : 1,
013dc89f
DM
5765 "type" : "boolean",
5766 "typetext" : "<boolean>"
44660702
DM
5767 },
5768 "agent" : {
7aacca6f 5769 "default" : 0,
44660702 5770 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 5771 "optional" : 1,
013dc89f
DM
5772 "type" : "boolean",
5773 "typetext" : "<boolean>"
7aacca6f 5774 },
44660702 5775 "args" : {
c2993fe5 5776 "description" : "Arbitrary arguments passed to kvm.",
44660702 5777 "optional" : 1,
c2993fe5 5778 "type" : "string",
013dc89f 5779 "typetext" : "<string>",
c2993fe5 5780 "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 5781 },
44660702
DM
5782 "autostart" : {
5783 "default" : 0,
5784 "description" : "Automatic restart after crash (currently ignored).",
56122987 5785 "optional" : 1,
013dc89f
DM
5786 "type" : "boolean",
5787 "typetext" : "<boolean>"
56122987 5788 },
44660702
DM
5789 "background_delay" : {
5790 "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
5791 "maximum" : 30,
5792 "minimum" : 1,
7aacca6f 5793 "optional" : 1,
4bd7df8b 5794 "type" : "integer",
013dc89f 5795 "typetext" : "<integer> (1 - 30)"
56122987 5796 },
44660702
DM
5797 "balloon" : {
5798 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
5799 "minimum" : 0,
7aacca6f 5800 "optional" : 1,
4bd7df8b 5801 "type" : "integer",
013dc89f 5802 "typetext" : "<integer> (0 - N)"
7aacca6f 5803 },
44660702
DM
5804 "bios" : {
5805 "default" : "seabios",
5806 "description" : "Select BIOS implementation.",
5807 "enum" : [
5808 "seabios",
5809 "ovmf"
5810 ],
56122987 5811 "optional" : 1,
44660702 5812 "type" : "string"
7aacca6f 5813 },
44660702
DM
5814 "boot" : {
5815 "default" : "cdn",
5816 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
5817 "optional" : 1,
5818 "pattern" : "[acdn]{1,4}",
5819 "type" : "string"
5820 },
5821 "bootdisk" : {
5822 "description" : "Enable booting from specified disk.",
5823 "format" : "pve-qm-bootdisk",
5824 "optional" : 1,
5825 "pattern" : "(ide|sata|scsi|virtio)\\d+",
5826 "type" : "string"
5827 },
5828 "cdrom" : {
5829 "description" : "This is an alias for option -ide2",
de0983cb 5830 "format" : "pve-qm-ide",
44660702 5831 "optional" : 1,
7aacca6f 5832 "type" : "string",
013dc89f 5833 "typetext" : "<volume>"
44660702
DM
5834 },
5835 "cores" : {
5836 "default" : 1,
5837 "description" : "The number of cores per socket.",
5838 "minimum" : 1,
7aacca6f 5839 "optional" : 1,
4bd7df8b 5840 "type" : "integer",
013dc89f 5841 "typetext" : "<integer> (1 - N)"
7aacca6f 5842 },
44660702
DM
5843 "cpu" : {
5844 "description" : "Emulated CPU type.",
56122987 5845 "format" : {
44660702
DM
5846 "cputype" : {
5847 "default" : "kvm64",
7aacca6f 5848 "default_key" : 1,
44660702 5849 "description" : "Emulated CPU type.",
56122987 5850 "enum" : [
44660702
DM
5851 "486",
5852 "athlon",
f004f5b9
DM
5853 "Broadwell",
5854 "Broadwell-noTSX",
5855 "Conroe",
44660702 5856 "core2duo",
f004f5b9
DM
5857 "coreduo",
5858 "Haswell",
5859 "Haswell-noTSX",
5860 "host",
5861 "IvyBridge",
44660702
DM
5862 "kvm32",
5863 "kvm64",
44660702 5864 "Nehalem",
44660702
DM
5865 "Opteron_G1",
5866 "Opteron_G2",
5867 "Opteron_G3",
5868 "Opteron_G4",
5869 "Opteron_G5",
f004f5b9
DM
5870 "Penryn",
5871 "pentium",
5872 "pentium2",
5873 "pentium3",
5874 "phenom",
5875 "qemu32",
5876 "qemu64",
5877 "SandyBridge",
5d9c884c 5878 "Skylake-Client",
f004f5b9 5879 "Westmere"
56122987 5880 ],
56122987
DM
5881 "type" : "string"
5882 },
44660702
DM
5883 "hidden" : {
5884 "default" : 0,
5885 "description" : "Do not identify as a KVM virtual machine.",
56122987 5886 "optional" : 1,
44660702
DM
5887 "type" : "boolean"
5888 }
5889 },
5890 "optional" : 1,
4bd7df8b 5891 "type" : "string",
013dc89f 5892 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
5893 },
5894 "cpulimit" : {
5895 "default" : 0,
c2993fe5 5896 "description" : "Limit of CPU usage.",
44660702
DM
5897 "maximum" : 128,
5898 "minimum" : 0,
5899 "optional" : 1,
c2993fe5 5900 "type" : "number",
013dc89f 5901 "typetext" : "<number> (0 - 128)",
c2993fe5 5902 "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
5903 },
5904 "cpuunits" : {
de0983cb 5905 "default" : 1024,
c2993fe5 5906 "description" : "CPU weight for a VM.",
44660702
DM
5907 "maximum" : 500000,
5908 "minimum" : 0,
5909 "optional" : 1,
c2993fe5 5910 "type" : "integer",
013dc89f 5911 "typetext" : "<integer> (0 - 500000)",
c2993fe5 5912 "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
5913 },
5914 "delete" : {
5915 "description" : "A list of settings you want to delete.",
5916 "format" : "pve-configid-list",
5917 "optional" : 1,
013dc89f
DM
5918 "type" : "string",
5919 "typetext" : "<string>"
44660702
DM
5920 },
5921 "description" : {
5922 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
5923 "optional" : 1,
013dc89f
DM
5924 "type" : "string",
5925 "typetext" : "<string>"
44660702
DM
5926 },
5927 "digest" : {
5928 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5929 "maxLength" : 40,
5930 "optional" : 1,
013dc89f
DM
5931 "type" : "string",
5932 "typetext" : "<string>"
44660702
DM
5933 },
5934 "force" : {
5935 "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.",
5936 "optional" : 1,
5937 "requires" : "delete",
013dc89f
DM
5938 "type" : "boolean",
5939 "typetext" : "<boolean>"
44660702
DM
5940 },
5941 "freeze" : {
5942 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
5943 "optional" : 1,
013dc89f
DM
5944 "type" : "boolean",
5945 "typetext" : "<boolean>"
44660702
DM
5946 },
5947 "hostpci[n]" : {
c2993fe5 5948 "description" : "Map host PCI devices into guest.",
44660702
DM
5949 "format" : "pve-qm-hostpci",
5950 "optional" : 1,
57b78691 5951 "type" : "string",
52e44c50 5952 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 5953 "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
5954 },
5955 "hotplug" : {
5956 "default" : "network,disk,usb",
5957 "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'.",
5958 "format" : "pve-hotplug-features",
5959 "optional" : 1,
013dc89f
DM
5960 "type" : "string",
5961 "typetext" : "<string>"
44660702 5962 },
4bd7df8b
DM
5963 "hugepages" : {
5964 "description" : "Enable/disable hugepages memory.",
5965 "enum" : [
5966 "any",
5967 "2",
5968 "1024"
5969 ],
5970 "optional" : 1,
5971 "type" : "string"
5972 },
44660702
DM
5973 "ide[n]" : {
5974 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
5975 "format" : {
5976 "aio" : {
5977 "description" : "AIO type to use.",
5978 "enum" : [
5979 "native",
5980 "threads"
56122987 5981 ],
56122987 5982 "optional" : 1,
44660702 5983 "type" : "string"
56122987 5984 },
44660702
DM
5985 "backup" : {
5986 "description" : "Whether the drive should be included when making backups.",
56122987 5987 "optional" : 1,
44660702 5988 "type" : "boolean"
56122987 5989 },
7aacca6f 5990 "bps" : {
de0983cb 5991 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
5992 "format_description" : "bps",
5993 "optional" : 1,
5994 "type" : "integer"
5995 },
de0983cb
DM
5996 "bps_max_length" : {
5997 "description" : "Maximum length of I/O bursts in seconds.",
5998 "format_description" : "seconds",
5999 "minimum" : 1,
6000 "optional" : 1,
6001 "type" : "integer"
6002 },
44660702 6003 "bps_rd" : {
de0983cb 6004 "description" : "Maximum read speed in bytes per second.",
44660702 6005 "format_description" : "bps",
56122987 6006 "optional" : 1,
44660702 6007 "type" : "integer"
56122987 6008 },
de0983cb 6009 "bps_rd_length" : {
5d9c884c
DM
6010 "alias" : "bps_rd_max_length"
6011 },
6012 "bps_rd_max_length" : {
de0983cb
DM
6013 "description" : "Maximum length of read I/O bursts in seconds.",
6014 "format_description" : "seconds",
6015 "minimum" : 1,
6016 "optional" : 1,
6017 "type" : "integer"
6018 },
44660702 6019 "bps_wr" : {
de0983cb 6020 "description" : "Maximum write speed in bytes per second.",
44660702
DM
6021 "format_description" : "bps",
6022 "optional" : 1,
6023 "type" : "integer"
6024 },
de0983cb 6025 "bps_wr_length" : {
5d9c884c
DM
6026 "alias" : "bps_wr_max_length"
6027 },
6028 "bps_wr_max_length" : {
de0983cb
DM
6029 "description" : "Maximum length of write I/O bursts in seconds.",
6030 "format_description" : "seconds",
6031 "minimum" : 1,
6032 "optional" : 1,
6033 "type" : "integer"
6034 },
44660702
DM
6035 "cache" : {
6036 "description" : "The drive's cache mode",
6037 "enum" : [
6038 "none",
6039 "writethrough",
6040 "writeback",
6041 "unsafe",
6042 "directsync"
6043 ],
44660702
DM
6044 "optional" : 1,
6045 "type" : "string"
6046 },
6047 "cyls" : {
6048 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
6049 "optional" : 1,
6050 "type" : "integer"
6051 },
6052 "detect_zeroes" : {
6053 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
6054 "optional" : 1,
6055 "type" : "boolean"
6056 },
6057 "discard" : {
6058 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6059 "enum" : [
6060 "ignore",
6061 "on"
6062 ],
56122987 6063 "optional" : 1,
44660702
DM
6064 "type" : "string"
6065 },
6066 "file" : {
6067 "default_key" : 1,
6068 "description" : "The drive's backing volume.",
6069 "format" : "pve-volume-id-or-qm-path",
6070 "format_description" : "volume",
6071 "type" : "string"
56122987 6072 },
7aacca6f 6073 "format" : {
7aacca6f 6074 "description" : "The drive's backing file's data format.",
56122987 6075 "enum" : [
7aacca6f
DM
6076 "raw",
6077 "cow",
6078 "qcow",
6079 "qed",
6080 "qcow2",
6081 "vmdk",
6082 "cloop"
56122987
DM
6083 ],
6084 "optional" : 1,
56122987
DM
6085 "type" : "string"
6086 },
44660702
DM
6087 "heads" : {
6088 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
6089 "optional" : 1,
6090 "type" : "integer"
7aacca6f 6091 },
44660702 6092 "iops" : {
de0983cb 6093 "description" : "Maximum r/w I/O in operations per second.",
44660702 6094 "format_description" : "iops",
56122987 6095 "optional" : 1,
44660702 6096 "type" : "integer"
56122987 6097 },
44660702 6098 "iops_max" : {
de0983cb 6099 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6100 "format_description" : "iops",
56122987 6101 "optional" : 1,
44660702 6102 "type" : "integer"
56122987 6103 },
de0983cb
DM
6104 "iops_max_length" : {
6105 "description" : "Maximum length of I/O bursts in seconds.",
6106 "format_description" : "seconds",
6107 "minimum" : 1,
6108 "optional" : 1,
6109 "type" : "integer"
6110 },
44660702 6111 "iops_rd" : {
de0983cb 6112 "description" : "Maximum read I/O in operations per second.",
44660702
DM
6113 "format_description" : "iops",
6114 "optional" : 1,
6115 "type" : "integer"
6116 },
de0983cb 6117 "iops_rd_length" : {
5d9c884c 6118 "alias" : "iops_rd_max_length"
de0983cb 6119 },
44660702 6120 "iops_rd_max" : {
de0983cb 6121 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 6122 "format_description" : "iops",
44660702
DM
6123 "optional" : 1,
6124 "type" : "integer"
6125 },
5d9c884c
DM
6126 "iops_rd_max_length" : {
6127 "description" : "Maximum length of read I/O bursts in seconds.",
6128 "format_description" : "seconds",
6129 "minimum" : 1,
6130 "optional" : 1,
6131 "type" : "integer"
6132 },
44660702 6133 "iops_wr" : {
de0983cb 6134 "description" : "Maximum write I/O in operations per second.",
44660702 6135 "format_description" : "iops",
56122987 6136 "optional" : 1,
7aacca6f 6137 "type" : "integer"
56122987 6138 },
de0983cb 6139 "iops_wr_length" : {
5d9c884c 6140 "alias" : "iops_wr_max_length"
de0983cb 6141 },
44660702 6142 "iops_wr_max" : {
de0983cb 6143 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6144 "format_description" : "iops",
7aacca6f 6145 "optional" : 1,
44660702 6146 "type" : "integer"
56122987 6147 },
5d9c884c
DM
6148 "iops_wr_max_length" : {
6149 "description" : "Maximum length of write I/O bursts in seconds.",
6150 "format_description" : "seconds",
6151 "minimum" : 1,
6152 "optional" : 1,
6153 "type" : "integer"
6154 },
44660702 6155 "mbps" : {
de0983cb 6156 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
6157 "format_description" : "mbps",
6158 "optional" : 1,
6159 "type" : "number"
6160 },
6161 "mbps_max" : {
de0983cb 6162 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6163 "format_description" : "mbps",
6164 "optional" : 1,
6165 "type" : "number"
6166 },
6167 "mbps_rd" : {
de0983cb 6168 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
6169 "format_description" : "mbps",
6170 "optional" : 1,
6171 "type" : "number"
6172 },
6173 "mbps_rd_max" : {
de0983cb 6174 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
6175 "format_description" : "mbps",
6176 "optional" : 1,
6177 "type" : "number"
6178 },
6179 "mbps_wr" : {
de0983cb 6180 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
6181 "format_description" : "mbps",
6182 "optional" : 1,
6183 "type" : "number"
6184 },
6185 "mbps_wr_max" : {
de0983cb 6186 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 6187 "format_description" : "mbps",
56122987 6188 "optional" : 1,
44660702 6189 "type" : "number"
56122987 6190 },
7aacca6f 6191 "media" : {
7aacca6f 6192 "default" : "disk",
7aacca6f
DM
6193 "description" : "The drive's media type.",
6194 "enum" : [
6195 "cdrom",
6196 "disk"
44660702 6197 ],
44660702
DM
6198 "optional" : 1,
6199 "type" : "string"
56122987 6200 },
44660702
DM
6201 "model" : {
6202 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
6203 "format" : "urlencoded",
6204 "format_description" : "model",
6205 "maxLength" : 120,
56122987 6206 "optional" : 1,
44660702 6207 "type" : "string"
56122987 6208 },
5d9c884c
DM
6209 "replicate" : {
6210 "default" : 1,
6211 "description" : "Whether the drive should considered for replication jobs.",
6212 "optional" : 1,
6213 "type" : "boolean"
6214 },
44660702
DM
6215 "rerror" : {
6216 "description" : "Read error action.",
6217 "enum" : [
6218 "ignore",
6219 "report",
6220 "stop"
6221 ],
56122987 6222 "optional" : 1,
44660702
DM
6223 "type" : "string"
6224 },
6225 "secs" : {
6226 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
6227 "optional" : 1,
6228 "type" : "integer"
6229 },
6230 "serial" : {
6231 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6232 "format" : "urlencoded",
6233 "format_description" : "serial",
6234 "maxLength" : 60,
6235 "optional" : 1,
6236 "type" : "string"
6237 },
6238 "size" : {
6239 "description" : "Disk size. This is purely informational and has no effect.",
6240 "format" : "disk-size",
f004f5b9 6241 "format_description" : "DiskSize",
44660702
DM
6242 "optional" : 1,
6243 "type" : "string"
6244 },
6245 "snapshot" : {
6246 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
6247 "optional" : 1,
6248 "type" : "boolean"
6249 },
6250 "trans" : {
6251 "description" : "Force disk geometry bios translation mode.",
6252 "enum" : [
6253 "none",
6254 "lba",
6255 "auto"
6256 ],
44660702
DM
6257 "optional" : 1,
6258 "type" : "string"
6259 },
6260 "volume" : {
6261 "alias" : "file"
6262 },
6263 "werror" : {
6264 "description" : "Write error action.",
6265 "enum" : [
6266 "enospc",
6267 "ignore",
6268 "report",
6269 "stop"
6270 ],
44660702
DM
6271 "optional" : 1,
6272 "type" : "string"
56122987
DM
6273 }
6274 },
44660702 6275 "optional" : 1,
4bd7df8b 6276 "type" : "string",
5d9c884c 6277 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 6278 },
44660702
DM
6279 "keyboard" : {
6280 "default" : "en-us",
c2993fe5 6281 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
6282 "enum" : [
6283 "de",
6284 "de-ch",
6285 "da",
6286 "en-gb",
6287 "en-us",
6288 "es",
6289 "fi",
6290 "fr",
6291 "fr-be",
6292 "fr-ca",
6293 "fr-ch",
6294 "hu",
6295 "is",
6296 "it",
6297 "ja",
6298 "lt",
6299 "mk",
6300 "nl",
6301 "no",
6302 "pl",
6303 "pt",
6304 "pt-br",
6305 "sv",
6306 "sl",
6307 "tr"
6308 ],
56122987 6309 "optional" : 1,
44660702
DM
6310 "type" : "string"
6311 },
6312 "kvm" : {
7aacca6f 6313 "default" : 1,
44660702
DM
6314 "description" : "Enable/disable KVM hardware virtualization.",
6315 "optional" : 1,
013dc89f
DM
6316 "type" : "boolean",
6317 "typetext" : "<boolean>"
56122987 6318 },
44660702
DM
6319 "localtime" : {
6320 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 6321 "optional" : 1,
013dc89f
DM
6322 "type" : "boolean",
6323 "typetext" : "<boolean>"
56122987 6324 },
44660702
DM
6325 "lock" : {
6326 "description" : "Lock/unlock the VM.",
6327 "enum" : [
6328 "migrate",
6329 "backup",
6330 "snapshot",
6331 "rollback"
6332 ],
7aacca6f 6333 "optional" : 1,
44660702
DM
6334 "type" : "string"
6335 },
6336 "machine" : {
6337 "description" : "Specific the Qemu machine type.",
6338 "maxLength" : 40,
6339 "optional" : 1,
6340 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
6341 "type" : "string"
6342 },
6343 "memory" : {
6344 "default" : 512,
6345 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
6346 "minimum" : 16,
6347 "optional" : 1,
4bd7df8b 6348 "type" : "integer",
013dc89f 6349 "typetext" : "<integer> (16 - N)"
44660702
DM
6350 },
6351 "migrate_downtime" : {
6352 "default" : 0.1,
6353 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
6354 "minimum" : 0,
6355 "optional" : 1,
4bd7df8b 6356 "type" : "number",
013dc89f 6357 "typetext" : "<number> (0 - N)"
44660702
DM
6358 },
6359 "migrate_speed" : {
6360 "default" : 0,
6361 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
6362 "minimum" : 0,
6363 "optional" : 1,
4bd7df8b 6364 "type" : "integer",
013dc89f 6365 "typetext" : "<integer> (0 - N)"
44660702
DM
6366 },
6367 "name" : {
6368 "description" : "Set a name for the VM. Only used on the configuration web interface.",
6369 "format" : "dns-name",
6370 "optional" : 1,
013dc89f
DM
6371 "type" : "string",
6372 "typetext" : "<string>"
44660702
DM
6373 },
6374 "net[n]" : {
c2993fe5 6375 "description" : "Specify network devices.",
f004f5b9
DM
6376 "format" : {
6377 "bridge" : {
c2993fe5 6378 "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
6379 "format_description" : "bridge",
6380 "optional" : 1,
6381 "type" : "string"
6382 },
6383 "e1000" : {
6384 "alias" : "macaddr",
6385 "keyAlias" : "model"
6386 },
6387 "e1000-82540em" : {
6388 "alias" : "macaddr",
6389 "keyAlias" : "model"
6390 },
6391 "e1000-82544gc" : {
6392 "alias" : "macaddr",
6393 "keyAlias" : "model"
6394 },
6395 "e1000-82545em" : {
6396 "alias" : "macaddr",
6397 "keyAlias" : "model"
6398 },
6399 "firewall" : {
6400 "description" : "Whether this interface should be protected by the firewall.",
6401 "optional" : 1,
6402 "type" : "boolean"
6403 },
6404 "i82551" : {
6405 "alias" : "macaddr",
6406 "keyAlias" : "model"
6407 },
6408 "i82557b" : {
6409 "alias" : "macaddr",
6410 "keyAlias" : "model"
6411 },
6412 "i82559er" : {
6413 "alias" : "macaddr",
6414 "keyAlias" : "model"
6415 },
6416 "link_down" : {
c2993fe5 6417 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
6418 "optional" : 1,
6419 "type" : "boolean"
6420 },
6421 "macaddr" : {
c2993fe5 6422 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 6423 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
6424 "optional" : 1,
6425 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
6426 "type" : "string"
6427 },
6428 "model" : {
6429 "default_key" : 1,
c2993fe5 6430 "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
6431 "enum" : [
6432 "rtl8139",
6433 "ne2k_pci",
6434 "e1000",
6435 "pcnet",
6436 "virtio",
6437 "ne2k_isa",
6438 "i82551",
6439 "i82557b",
6440 "i82559er",
6441 "vmxnet3",
6442 "e1000-82540em",
6443 "e1000-82544gc",
6444 "e1000-82545em"
6445 ],
f004f5b9
DM
6446 "type" : "string"
6447 },
6448 "ne2k_isa" : {
6449 "alias" : "macaddr",
6450 "keyAlias" : "model"
6451 },
6452 "ne2k_pci" : {
6453 "alias" : "macaddr",
6454 "keyAlias" : "model"
6455 },
6456 "pcnet" : {
6457 "alias" : "macaddr",
6458 "keyAlias" : "model"
6459 },
6460 "queues" : {
6461 "description" : "Number of packet queues to be used on the device.",
6462 "maximum" : 16,
6463 "minimum" : 0,
6464 "optional" : 1,
6465 "type" : "integer"
6466 },
6467 "rate" : {
c2993fe5 6468 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
6469 "minimum" : 0,
6470 "optional" : 1,
6471 "type" : "number"
6472 },
6473 "rtl8139" : {
6474 "alias" : "macaddr",
6475 "keyAlias" : "model"
6476 },
6477 "tag" : {
6478 "description" : "VLAN tag to apply to packets on this interface.",
6479 "maximum" : 4094,
c2993fe5 6480 "minimum" : 1,
f004f5b9
DM
6481 "optional" : 1,
6482 "type" : "integer"
6483 },
6484 "trunks" : {
6485 "description" : "VLAN trunks to pass through this interface.",
6486 "format_description" : "vlanid[;vlanid...]",
6487 "optional" : 1,
6488 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6489 "type" : "string"
6490 },
6491 "virtio" : {
6492 "alias" : "macaddr",
6493 "keyAlias" : "model"
6494 },
6495 "vmxnet3" : {
6496 "alias" : "macaddr",
6497 "keyAlias" : "model"
6498 }
6499 },
44660702 6500 "optional" : 1,
4bd7df8b 6501 "type" : "string",
013dc89f 6502 "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
6503 },
6504 "node" : {
6505 "description" : "The cluster node name.",
6506 "format" : "pve-node",
013dc89f
DM
6507 "type" : "string",
6508 "typetext" : "<string>"
44660702
DM
6509 },
6510 "numa" : {
6511 "default" : 0,
6512 "description" : "Enable/disable NUMA.",
6513 "optional" : 1,
013dc89f
DM
6514 "type" : "boolean",
6515 "typetext" : "<boolean>"
44660702
DM
6516 },
6517 "numa[n]" : {
c2993fe5 6518 "description" : "NUMA topology.",
56122987 6519 "format" : {
7aacca6f 6520 "cpus" : {
c2993fe5 6521 "description" : "CPUs accessing this NUMA node.",
44660702
DM
6522 "format_description" : "id[-id];...",
6523 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
6524 "type" : "string"
7aacca6f
DM
6525 },
6526 "hostnodes" : {
c2993fe5 6527 "description" : "Host NUMA nodes to use.",
44660702 6528 "format_description" : "id[-id];...",
7aacca6f 6529 "optional" : 1,
7aacca6f 6530 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
44660702 6531 "type" : "string"
7aacca6f 6532 },
44660702 6533 "memory" : {
c2993fe5 6534 "description" : "Amount of memory this NUMA node provides.",
7aacca6f 6535 "optional" : 1,
44660702
DM
6536 "type" : "number"
6537 },
6538 "policy" : {
c2993fe5 6539 "description" : "NUMA allocation policy.",
7aacca6f
DM
6540 "enum" : [
6541 "preferred",
6542 "bind",
6543 "interleave"
6544 ],
44660702
DM
6545 "optional" : 1,
6546 "type" : "string"
56122987 6547 }
44660702 6548 },
56122987 6549 "optional" : 1,
4bd7df8b
DM
6550 "type" : "string",
6551 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 6552 },
44660702 6553 "onboot" : {
7aacca6f 6554 "default" : 0,
44660702
DM
6555 "description" : "Specifies whether a VM will be started during system bootup.",
6556 "optional" : 1,
013dc89f
DM
6557 "type" : "boolean",
6558 "typetext" : "<boolean>"
7aacca6f
DM
6559 },
6560 "ostype" : {
c2993fe5 6561 "description" : "Specify guest operating system.",
7aacca6f
DM
6562 "enum" : [
6563 "other",
6564 "wxp",
6565 "w2k",
6566 "w2k3",
6567 "w2k8",
6568 "wvista",
6569 "win7",
6570 "win8",
32d876b5 6571 "win10",
7aacca6f
DM
6572 "l24",
6573 "l26",
6574 "solaris"
6575 ],
7aacca6f 6576 "optional" : 1,
c2993fe5
DM
6577 "type" : "string",
6578 "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 6579 },
44660702 6580 "parallel[n]" : {
c2993fe5 6581 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 6582 "optional" : 1,
44660702 6583 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
6584 "type" : "string",
6585 "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
6586 },
6587 "protection" : {
6588 "default" : 0,
c2993fe5 6589 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 6590 "optional" : 1,
013dc89f
DM
6591 "type" : "boolean",
6592 "typetext" : "<boolean>"
7aacca6f 6593 },
44660702
DM
6594 "reboot" : {
6595 "default" : 1,
6596 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 6597 "optional" : 1,
013dc89f
DM
6598 "type" : "boolean",
6599 "typetext" : "<boolean>"
7aacca6f 6600 },
44660702
DM
6601 "revert" : {
6602 "description" : "Revert a pending change.",
6603 "format" : "pve-configid-list",
7aacca6f 6604 "optional" : 1,
013dc89f
DM
6605 "type" : "string",
6606 "typetext" : "<string>"
44660702
DM
6607 },
6608 "sata[n]" : {
6609 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 6610 "format" : {
44660702
DM
6611 "aio" : {
6612 "description" : "AIO type to use.",
7aacca6f 6613 "enum" : [
44660702
DM
6614 "native",
6615 "threads"
7aacca6f 6616 ],
44660702
DM
6617 "optional" : 1,
6618 "type" : "string"
7aacca6f 6619 },
44660702
DM
6620 "backup" : {
6621 "description" : "Whether the drive should be included when making backups.",
56122987 6622 "optional" : 1,
7aacca6f 6623 "type" : "boolean"
44660702
DM
6624 },
6625 "bps" : {
de0983cb 6626 "description" : "Maximum r/w speed in bytes per second.",
44660702 6627 "format_description" : "bps",
7aacca6f 6628 "optional" : 1,
44660702 6629 "type" : "integer"
56122987 6630 },
de0983cb
DM
6631 "bps_max_length" : {
6632 "description" : "Maximum length of I/O bursts in seconds.",
6633 "format_description" : "seconds",
6634 "minimum" : 1,
6635 "optional" : 1,
6636 "type" : "integer"
6637 },
44660702 6638 "bps_rd" : {
de0983cb 6639 "description" : "Maximum read speed in bytes per second.",
44660702 6640 "format_description" : "bps",
56122987 6641 "optional" : 1,
44660702 6642 "type" : "integer"
56122987 6643 },
de0983cb 6644 "bps_rd_length" : {
5d9c884c
DM
6645 "alias" : "bps_rd_max_length"
6646 },
6647 "bps_rd_max_length" : {
de0983cb
DM
6648 "description" : "Maximum length of read I/O bursts in seconds.",
6649 "format_description" : "seconds",
6650 "minimum" : 1,
6651 "optional" : 1,
6652 "type" : "integer"
6653 },
44660702 6654 "bps_wr" : {
de0983cb 6655 "description" : "Maximum write speed in bytes per second.",
44660702 6656 "format_description" : "bps",
56122987 6657 "optional" : 1,
44660702 6658 "type" : "integer"
56122987 6659 },
de0983cb 6660 "bps_wr_length" : {
5d9c884c
DM
6661 "alias" : "bps_wr_max_length"
6662 },
6663 "bps_wr_max_length" : {
de0983cb
DM
6664 "description" : "Maximum length of write I/O bursts in seconds.",
6665 "format_description" : "seconds",
6666 "minimum" : 1,
6667 "optional" : 1,
6668 "type" : "integer"
6669 },
56122987 6670 "cache" : {
44660702 6671 "description" : "The drive's cache mode",
56122987
DM
6672 "enum" : [
6673 "none",
6674 "writethrough",
6675 "writeback",
6676 "unsafe",
6677 "directsync"
6678 ],
56122987 6679 "optional" : 1,
44660702 6680 "type" : "string"
56122987 6681 },
44660702
DM
6682 "cyls" : {
6683 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6684 "optional" : 1,
44660702 6685 "type" : "integer"
7aacca6f
DM
6686 },
6687 "detect_zeroes" : {
6688 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6689 "optional" : 1,
44660702 6690 "type" : "boolean"
56122987 6691 },
44660702
DM
6692 "discard" : {
6693 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6694 "enum" : [
6695 "ignore",
6696 "on"
6697 ],
56122987 6698 "optional" : 1,
44660702 6699 "type" : "string"
7aacca6f 6700 },
44660702
DM
6701 "file" : {
6702 "default_key" : 1,
6703 "description" : "The drive's backing volume.",
6704 "format" : "pve-volume-id-or-qm-path",
6705 "format_description" : "volume",
6706 "type" : "string"
56122987 6707 },
7aacca6f 6708 "format" : {
44660702 6709 "description" : "The drive's backing file's data format.",
7aacca6f
DM
6710 "enum" : [
6711 "raw",
6712 "cow",
6713 "qcow",
6714 "qed",
6715 "qcow2",
6716 "vmdk",
6717 "cloop"
6718 ],
7aacca6f 6719 "optional" : 1,
44660702 6720 "type" : "string"
56122987 6721 },
7aacca6f 6722 "heads" : {
7aacca6f 6723 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 6724 "optional" : 1,
7aacca6f 6725 "type" : "integer"
56122987 6726 },
44660702 6727 "iops" : {
de0983cb 6728 "description" : "Maximum r/w I/O in operations per second.",
44660702 6729 "format_description" : "iops",
56122987 6730 "optional" : 1,
44660702 6731 "type" : "integer"
56122987 6732 },
44660702 6733 "iops_max" : {
de0983cb 6734 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 6735 "format_description" : "iops",
56122987 6736 "optional" : 1,
44660702 6737 "type" : "integer"
56122987 6738 },
de0983cb
DM
6739 "iops_max_length" : {
6740 "description" : "Maximum length of I/O bursts in seconds.",
6741 "format_description" : "seconds",
6742 "minimum" : 1,
6743 "optional" : 1,
6744 "type" : "integer"
6745 },
44660702 6746 "iops_rd" : {
de0983cb 6747 "description" : "Maximum read I/O in operations per second.",
44660702 6748 "format_description" : "iops",
7aacca6f 6749 "optional" : 1,
44660702 6750 "type" : "integer"
56122987 6751 },
de0983cb 6752 "iops_rd_length" : {
5d9c884c 6753 "alias" : "iops_rd_max_length"
de0983cb 6754 },
44660702 6755 "iops_rd_max" : {
de0983cb 6756 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 6757 "format_description" : "iops",
56122987 6758 "optional" : 1,
44660702 6759 "type" : "integer"
7aacca6f 6760 },
5d9c884c
DM
6761 "iops_rd_max_length" : {
6762 "description" : "Maximum length of read I/O bursts in seconds.",
6763 "format_description" : "seconds",
6764 "minimum" : 1,
6765 "optional" : 1,
6766 "type" : "integer"
6767 },
44660702 6768 "iops_wr" : {
de0983cb 6769 "description" : "Maximum write I/O in operations per second.",
44660702 6770 "format_description" : "iops",
56122987 6771 "optional" : 1,
44660702 6772 "type" : "integer"
56122987 6773 },
de0983cb 6774 "iops_wr_length" : {
5d9c884c 6775 "alias" : "iops_wr_max_length"
de0983cb 6776 },
56122987 6777 "iops_wr_max" : {
de0983cb 6778 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 6779 "format_description" : "iops",
56122987 6780 "optional" : 1,
44660702 6781 "type" : "integer"
56122987 6782 },
5d9c884c
DM
6783 "iops_wr_max_length" : {
6784 "description" : "Maximum length of write I/O bursts in seconds.",
6785 "format_description" : "seconds",
6786 "minimum" : 1,
6787 "optional" : 1,
6788 "type" : "integer"
6789 },
44660702 6790 "mbps" : {
de0983cb 6791 "description" : "Maximum r/w speed in megabytes per second.",
44660702 6792 "format_description" : "mbps",
56122987 6793 "optional" : 1,
44660702 6794 "type" : "number"
56122987 6795 },
44660702 6796 "mbps_max" : {
de0983cb 6797 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
6798 "format_description" : "mbps",
6799 "optional" : 1,
6800 "type" : "number"
56122987 6801 },
44660702 6802 "mbps_rd" : {
de0983cb 6803 "description" : "Maximum read speed in megabytes per second.",
44660702 6804 "format_description" : "mbps",
56122987 6805 "optional" : 1,
44660702 6806 "type" : "number"
56122987 6807 },
44660702 6808 "mbps_rd_max" : {
de0983cb 6809 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 6810 "format_description" : "mbps",
56122987 6811 "optional" : 1,
44660702 6812 "type" : "number"
56122987 6813 },
44660702 6814 "mbps_wr" : {
de0983cb 6815 "description" : "Maximum write speed in megabytes per second.",
56122987 6816 "format_description" : "mbps",
44660702
DM
6817 "optional" : 1,
6818 "type" : "number"
56122987 6819 },
44660702 6820 "mbps_wr_max" : {
de0983cb 6821 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
6822 "format_description" : "mbps",
6823 "optional" : 1,
6824 "type" : "number"
7aacca6f 6825 },
44660702
DM
6826 "media" : {
6827 "default" : "disk",
6828 "description" : "The drive's media type.",
6829 "enum" : [
6830 "cdrom",
6831 "disk"
6832 ],
56122987 6833 "optional" : 1,
44660702
DM
6834 "type" : "string"
6835 },
5d9c884c
DM
6836 "replicate" : {
6837 "default" : 1,
6838 "description" : "Whether the drive should considered for replication jobs.",
6839 "optional" : 1,
6840 "type" : "boolean"
6841 },
44660702
DM
6842 "rerror" : {
6843 "description" : "Read error action.",
7aacca6f 6844 "enum" : [
44660702
DM
6845 "ignore",
6846 "report",
6847 "stop"
6848 ],
7aacca6f 6849 "optional" : 1,
44660702 6850 "type" : "string"
56122987 6851 },
44660702
DM
6852 "secs" : {
6853 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 6854 "optional" : 1,
44660702 6855 "type" : "integer"
56122987 6856 },
44660702
DM
6857 "serial" : {
6858 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
6859 "format" : "urlencoded",
6860 "format_description" : "serial",
6861 "maxLength" : 60,
56122987 6862 "optional" : 1,
44660702 6863 "type" : "string"
56122987 6864 },
44660702
DM
6865 "size" : {
6866 "description" : "Disk size. This is purely informational and has no effect.",
6867 "format" : "disk-size",
f004f5b9 6868 "format_description" : "DiskSize",
44660702
DM
6869 "optional" : 1,
6870 "type" : "string"
6871 },
6872 "snapshot" : {
6873 "description" : "Whether the drive should be included when making snapshots.",
56122987 6874 "optional" : 1,
44660702
DM
6875 "type" : "boolean"
6876 },
6877 "trans" : {
6878 "description" : "Force disk geometry bios translation mode.",
56122987 6879 "enum" : [
7aacca6f
DM
6880 "none",
6881 "lba",
6882 "auto"
56122987 6883 ],
44660702
DM
6884 "optional" : 1,
6885 "type" : "string"
56122987 6886 },
7aacca6f
DM
6887 "volume" : {
6888 "alias" : "file"
56122987 6889 },
44660702
DM
6890 "werror" : {
6891 "description" : "Write error action.",
6892 "enum" : [
6893 "enospc",
6894 "ignore",
6895 "report",
6896 "stop"
6897 ],
7aacca6f 6898 "optional" : 1,
44660702
DM
6899 "type" : "string"
6900 }
6901 },
6902 "optional" : 1,
4bd7df8b 6903 "type" : "string",
5d9c884c 6904 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
6905 },
6906 "scsi[n]" : {
6907 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
6908 "format" : {
56122987 6909 "aio" : {
56122987
DM
6910 "description" : "AIO type to use.",
6911 "enum" : [
6912 "native",
6913 "threads"
6914 ],
7aacca6f 6915 "optional" : 1,
44660702 6916 "type" : "string"
56122987 6917 },
44660702
DM
6918 "backup" : {
6919 "description" : "Whether the drive should be included when making backups.",
56122987 6920 "optional" : 1,
44660702 6921 "type" : "boolean"
56122987 6922 },
44660702 6923 "bps" : {
de0983cb 6924 "description" : "Maximum r/w speed in bytes per second.",
44660702 6925 "format_description" : "bps",
56122987 6926 "optional" : 1,
44660702 6927 "type" : "integer"
56122987 6928 },
de0983cb
DM
6929 "bps_max_length" : {
6930 "description" : "Maximum length of I/O bursts in seconds.",
6931 "format_description" : "seconds",
6932 "minimum" : 1,
6933 "optional" : 1,
6934 "type" : "integer"
6935 },
44660702 6936 "bps_rd" : {
de0983cb 6937 "description" : "Maximum read speed in bytes per second.",
44660702 6938 "format_description" : "bps",
56122987 6939 "optional" : 1,
44660702 6940 "type" : "integer"
56122987 6941 },
de0983cb 6942 "bps_rd_length" : {
5d9c884c
DM
6943 "alias" : "bps_rd_max_length"
6944 },
6945 "bps_rd_max_length" : {
de0983cb
DM
6946 "description" : "Maximum length of read I/O bursts in seconds.",
6947 "format_description" : "seconds",
6948 "minimum" : 1,
6949 "optional" : 1,
6950 "type" : "integer"
6951 },
7aacca6f 6952 "bps_wr" : {
de0983cb 6953 "description" : "Maximum write speed in bytes per second.",
7aacca6f 6954 "format_description" : "bps",
56122987 6955 "optional" : 1,
44660702 6956 "type" : "integer"
56122987 6957 },
de0983cb 6958 "bps_wr_length" : {
5d9c884c
DM
6959 "alias" : "bps_wr_max_length"
6960 },
6961 "bps_wr_max_length" : {
de0983cb
DM
6962 "description" : "Maximum length of write I/O bursts in seconds.",
6963 "format_description" : "seconds",
6964 "minimum" : 1,
6965 "optional" : 1,
6966 "type" : "integer"
6967 },
44660702
DM
6968 "cache" : {
6969 "description" : "The drive's cache mode",
7aacca6f 6970 "enum" : [
44660702
DM
6971 "none",
6972 "writethrough",
6973 "writeback",
6974 "unsafe",
6975 "directsync"
7aacca6f 6976 ],
56122987 6977 "optional" : 1,
44660702 6978 "type" : "string"
56122987 6979 },
44660702
DM
6980 "cyls" : {
6981 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 6982 "optional" : 1,
44660702 6983 "type" : "integer"
56122987 6984 },
44660702
DM
6985 "detect_zeroes" : {
6986 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 6987 "optional" : 1,
44660702 6988 "type" : "boolean"
56122987 6989 },
44660702
DM
6990 "discard" : {
6991 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
6992 "enum" : [
6993 "ignore",
6994 "on"
6995 ],
7aacca6f 6996 "optional" : 1,
44660702 6997 "type" : "string"
56122987 6998 },
44660702
DM
6999 "file" : {
7000 "default_key" : 1,
7001 "description" : "The drive's backing volume.",
7002 "format" : "pve-volume-id-or-qm-path",
7003 "format_description" : "volume",
7004 "type" : "string"
56122987 7005 },
7aacca6f 7006 "format" : {
44660702 7007 "description" : "The drive's backing file's data format.",
56122987 7008 "enum" : [
7aacca6f
DM
7009 "raw",
7010 "cow",
7011 "qcow",
7012 "qed",
7013 "qcow2",
7014 "vmdk",
7015 "cloop"
7016 ],
44660702
DM
7017 "optional" : 1,
7018 "type" : "string"
56122987 7019 },
44660702
DM
7020 "heads" : {
7021 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7022 "optional" : 1,
7aacca6f 7023 "type" : "integer"
56122987 7024 },
44660702 7025 "iops" : {
de0983cb 7026 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7027 "format_description" : "iops",
44660702
DM
7028 "optional" : 1,
7029 "type" : "integer"
7aacca6f 7030 },
44660702 7031 "iops_max" : {
de0983cb 7032 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7033 "format_description" : "iops",
56122987 7034 "optional" : 1,
44660702 7035 "type" : "integer"
7aacca6f 7036 },
de0983cb
DM
7037 "iops_max_length" : {
7038 "description" : "Maximum length of I/O bursts in seconds.",
7039 "format_description" : "seconds",
7040 "minimum" : 1,
7041 "optional" : 1,
7042 "type" : "integer"
7043 },
44660702 7044 "iops_rd" : {
de0983cb 7045 "description" : "Maximum read I/O in operations per second.",
44660702 7046 "format_description" : "iops",
7aacca6f 7047 "optional" : 1,
44660702 7048 "type" : "integer"
56122987 7049 },
de0983cb 7050 "iops_rd_length" : {
5d9c884c 7051 "alias" : "iops_rd_max_length"
de0983cb 7052 },
44660702 7053 "iops_rd_max" : {
de0983cb 7054 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
7055 "format_description" : "iops",
7056 "optional" : 1,
7057 "type" : "integer"
7058 },
5d9c884c
DM
7059 "iops_rd_max_length" : {
7060 "description" : "Maximum length of read I/O bursts in seconds.",
7061 "format_description" : "seconds",
7062 "minimum" : 1,
7063 "optional" : 1,
7064 "type" : "integer"
7065 },
44660702 7066 "iops_wr" : {
de0983cb 7067 "description" : "Maximum write I/O in operations per second.",
44660702 7068 "format_description" : "iops",
56122987 7069 "optional" : 1,
44660702
DM
7070 "type" : "integer"
7071 },
de0983cb 7072 "iops_wr_length" : {
5d9c884c 7073 "alias" : "iops_wr_max_length"
de0983cb 7074 },
44660702 7075 "iops_wr_max" : {
de0983cb 7076 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
7077 "format_description" : "iops",
7078 "optional" : 1,
7079 "type" : "integer"
56122987 7080 },
5d9c884c
DM
7081 "iops_wr_max_length" : {
7082 "description" : "Maximum length of write I/O bursts in seconds.",
7083 "format_description" : "seconds",
7084 "minimum" : 1,
7085 "optional" : 1,
7086 "type" : "integer"
7087 },
7aacca6f 7088 "iothread" : {
7aacca6f 7089 "description" : "Whether to use iothreads for this drive",
56122987 7090 "optional" : 1,
56122987
DM
7091 "type" : "boolean"
7092 },
44660702 7093 "mbps" : {
de0983cb 7094 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
7095 "format_description" : "mbps",
7096 "optional" : 1,
7097 "type" : "number"
7098 },
7099 "mbps_max" : {
de0983cb 7100 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7101 "format_description" : "mbps",
7102 "optional" : 1,
7103 "type" : "number"
7104 },
7105 "mbps_rd" : {
de0983cb 7106 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
7107 "format_description" : "mbps",
7108 "optional" : 1,
7109 "type" : "number"
7110 },
7111 "mbps_rd_max" : {
de0983cb 7112 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
7113 "format_description" : "mbps",
7114 "optional" : 1,
7115 "type" : "number"
7116 },
7117 "mbps_wr" : {
de0983cb 7118 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
7119 "format_description" : "mbps",
7120 "optional" : 1,
7121 "type" : "number"
7122 },
7123 "mbps_wr_max" : {
de0983cb 7124 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
7125 "format_description" : "mbps",
7126 "optional" : 1,
7127 "type" : "number"
7128 },
7aacca6f 7129 "media" : {
44660702
DM
7130 "default" : "disk",
7131 "description" : "The drive's media type.",
7aacca6f
DM
7132 "enum" : [
7133 "cdrom",
7134 "disk"
7135 ],
56122987 7136 "optional" : 1,
44660702
DM
7137 "type" : "string"
7138 },
7139 "queues" : {
7140 "description" : "Number of queues.",
44660702
DM
7141 "minimum" : 2,
7142 "optional" : 1,
7143 "type" : "integer"
7144 },
5d9c884c
DM
7145 "replicate" : {
7146 "default" : 1,
7147 "description" : "Whether the drive should considered for replication jobs.",
7148 "optional" : 1,
7149 "type" : "boolean"
7150 },
7151 "rerror" : {
7152 "description" : "Read error action.",
7153 "enum" : [
7154 "ignore",
7155 "report",
7156 "stop"
7157 ],
7158 "optional" : 1,
7159 "type" : "string"
7160 },
52e44c50
FG
7161 "scsiblock" : {
7162 "default" : 0,
7163 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
7164 "optional" : 1,
7165 "type" : "boolean"
7166 },
44660702
DM
7167 "secs" : {
7168 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7169 "optional" : 1,
7170 "type" : "integer"
7171 },
7172 "serial" : {
7173 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7174 "format" : "urlencoded",
7175 "format_description" : "serial",
7176 "maxLength" : 60,
7177 "optional" : 1,
7178 "type" : "string"
7179 },
7180 "size" : {
7181 "description" : "Disk size. This is purely informational and has no effect.",
7182 "format" : "disk-size",
f004f5b9 7183 "format_description" : "DiskSize",
44660702
DM
7184 "optional" : 1,
7185 "type" : "string"
56122987 7186 },
7aacca6f
DM
7187 "snapshot" : {
7188 "description" : "Whether the drive should be included when making snapshots.",
7189 "optional" : 1,
44660702 7190 "type" : "boolean"
7aacca6f 7191 },
44660702
DM
7192 "trans" : {
7193 "description" : "Force disk geometry bios translation mode.",
7194 "enum" : [
7195 "none",
7196 "lba",
7197 "auto"
7198 ],
44660702
DM
7199 "optional" : 1,
7200 "type" : "string"
7201 },
7202 "volume" : {
7203 "alias" : "file"
7204 },
7205 "werror" : {
7206 "description" : "Write error action.",
7207 "enum" : [
7208 "enospc",
7209 "ignore",
7210 "report",
7211 "stop"
7212 ],
56122987 7213 "optional" : 1,
44660702 7214 "type" : "string"
56122987 7215 }
44660702 7216 },
7aacca6f 7217 "optional" : 1,
4bd7df8b 7218 "type" : "string",
5d9c884c 7219 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
7220 },
7221 "scsihw" : {
7222 "default" : "lsi",
c2993fe5 7223 "description" : "SCSI controller model",
7aacca6f 7224 "enum" : [
44660702
DM
7225 "lsi",
7226 "lsi53c810",
7227 "virtio-scsi-pci",
7228 "virtio-scsi-single",
7229 "megasas",
7230 "pvscsi"
7aacca6f 7231 ],
44660702
DM
7232 "optional" : 1,
7233 "type" : "string"
56122987 7234 },
44660702 7235 "serial[n]" : {
c2993fe5 7236 "description" : "Create a serial device inside the VM (n is 0 to 3)",
7aacca6f 7237 "optional" : 1,
44660702 7238 "pattern" : "(/dev/.+|socket)",
c2993fe5 7239 "type" : "string",
57b78691 7240 "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 7241 },
44660702
DM
7242 "shares" : {
7243 "default" : 1000,
7244 "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",
7245 "maximum" : 50000,
7246 "minimum" : 0,
56122987 7247 "optional" : 1,
4bd7df8b 7248 "type" : "integer",
013dc89f 7249 "typetext" : "<integer> (0 - 50000)"
56122987 7250 },
44660702
DM
7251 "skiplock" : {
7252 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 7253 "optional" : 1,
013dc89f
DM
7254 "type" : "boolean",
7255 "typetext" : "<boolean>"
56122987 7256 },
44660702
DM
7257 "smbios1" : {
7258 "description" : "Specify SMBIOS type 1 fields.",
7259 "format" : "pve-qm-smbios1",
7260 "maxLength" : 256,
56122987 7261 "optional" : 1,
4bd7df8b
DM
7262 "type" : "string",
7263 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 7264 },
44660702
DM
7265 "smp" : {
7266 "default" : 1,
7267 "description" : "The number of CPUs. Please use option -sockets instead.",
7aacca6f 7268 "minimum" : 1,
7aacca6f 7269 "optional" : 1,
4bd7df8b 7270 "type" : "integer",
013dc89f 7271 "typetext" : "<integer> (1 - N)"
7aacca6f 7272 },
44660702
DM
7273 "sockets" : {
7274 "default" : 1,
7275 "description" : "The number of CPU sockets.",
7276 "minimum" : 1,
7aacca6f 7277 "optional" : 1,
4bd7df8b 7278 "type" : "integer",
013dc89f 7279 "typetext" : "<integer> (1 - N)"
56122987 7280 },
44660702
DM
7281 "startdate" : {
7282 "default" : "now",
7283 "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 7284 "optional" : 1,
44660702 7285 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 7286 "type" : "string",
44660702 7287 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
56122987 7288 },
7aacca6f 7289 "startup" : {
7aacca6f 7290 "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 7291 "format" : "pve-startup-order",
56122987 7292 "optional" : 1,
44660702
DM
7293 "type" : "string",
7294 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
56122987 7295 },
44660702 7296 "tablet" : {
7aacca6f 7297 "default" : 1,
c2993fe5 7298 "description" : "Enable/disable the USB tablet device.",
7aacca6f 7299 "optional" : 1,
c2993fe5 7300 "type" : "boolean",
013dc89f 7301 "typetext" : "<boolean>",
c2993fe5 7302 "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 7303 },
44660702
DM
7304 "tdf" : {
7305 "default" : 0,
7306 "description" : "Enable/disable time drift fix.",
7aacca6f 7307 "optional" : 1,
013dc89f
DM
7308 "type" : "boolean",
7309 "typetext" : "<boolean>"
7aacca6f 7310 },
44660702
DM
7311 "template" : {
7312 "default" : 0,
7313 "description" : "Enable/disable Template.",
7aacca6f 7314 "optional" : 1,
013dc89f
DM
7315 "type" : "boolean",
7316 "typetext" : "<boolean>"
7aacca6f 7317 },
44660702 7318 "unused[n]" : {
c2993fe5 7319 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 7320 "format" : "pve-volume-id",
7aacca6f 7321 "optional" : 1,
013dc89f
DM
7322 "type" : "string",
7323 "typetext" : "<string>"
7aacca6f 7324 },
44660702 7325 "usb[n]" : {
c2993fe5 7326 "description" : "Configure an USB device (n is 0 to 4).",
44660702
DM
7327 "format" : {
7328 "host" : {
7329 "default_key" : 1,
c2993fe5 7330 "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
7331 "format" : "pve-qm-usb-device",
7332 "format_description" : "HOSTUSBDEVICE|spice",
7333 "type" : "string"
7334 },
7335 "usb3" : {
c2993fe5
DM
7336 "default" : 0,
7337 "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
7338 "optional" : 1,
7339 "type" : "boolean"
7340 }
7341 },
7aacca6f 7342 "optional" : 1,
4bd7df8b
DM
7343 "type" : "string",
7344 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 7345 },
44660702
DM
7346 "vcpus" : {
7347 "default" : 0,
7348 "description" : "Number of hotplugged vcpus.",
7349 "minimum" : 1,
56122987 7350 "optional" : 1,
4bd7df8b 7351 "type" : "integer",
013dc89f 7352 "typetext" : "<integer> (1 - N)"
56122987 7353 },
44660702 7354 "vga" : {
c2993fe5 7355 "description" : "Select the VGA type.",
44660702
DM
7356 "enum" : [
7357 "std",
7358 "cirrus",
7359 "vmware",
7360 "qxl",
7361 "serial0",
7362 "serial1",
7363 "serial2",
7364 "serial3",
7365 "qxl2",
7366 "qxl3",
7367 "qxl4"
7368 ],
56122987 7369 "optional" : 1,
c2993fe5
DM
7370 "type" : "string",
7371 "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 7372 },
44660702
DM
7373 "virtio[n]" : {
7374 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
56122987 7375 "format" : {
44660702
DM
7376 "aio" : {
7377 "description" : "AIO type to use.",
56122987 7378 "enum" : [
44660702
DM
7379 "native",
7380 "threads"
56122987 7381 ],
56122987
DM
7382 "optional" : 1,
7383 "type" : "string"
7384 },
44660702
DM
7385 "backup" : {
7386 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7387 "optional" : 1,
7388 "type" : "boolean"
7aacca6f 7389 },
44660702 7390 "bps" : {
de0983cb 7391 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
7392 "format_description" : "bps",
7393 "optional" : 1,
7394 "type" : "integer"
56122987 7395 },
de0983cb
DM
7396 "bps_max_length" : {
7397 "description" : "Maximum length of I/O bursts in seconds.",
7398 "format_description" : "seconds",
7399 "minimum" : 1,
7400 "optional" : 1,
7401 "type" : "integer"
7402 },
44660702 7403 "bps_rd" : {
de0983cb 7404 "description" : "Maximum read speed in bytes per second.",
44660702 7405 "format_description" : "bps",
56122987 7406 "optional" : 1,
44660702 7407 "type" : "integer"
56122987 7408 },
de0983cb 7409 "bps_rd_length" : {
5d9c884c
DM
7410 "alias" : "bps_rd_max_length"
7411 },
7412 "bps_rd_max_length" : {
de0983cb
DM
7413 "description" : "Maximum length of read I/O bursts in seconds.",
7414 "format_description" : "seconds",
7415 "minimum" : 1,
7416 "optional" : 1,
7417 "type" : "integer"
7418 },
44660702 7419 "bps_wr" : {
de0983cb 7420 "description" : "Maximum write speed in bytes per second.",
44660702 7421 "format_description" : "bps",
56122987 7422 "optional" : 1,
44660702
DM
7423 "type" : "integer"
7424 },
de0983cb 7425 "bps_wr_length" : {
5d9c884c
DM
7426 "alias" : "bps_wr_max_length"
7427 },
7428 "bps_wr_max_length" : {
de0983cb
DM
7429 "description" : "Maximum length of write I/O bursts in seconds.",
7430 "format_description" : "seconds",
7431 "minimum" : 1,
7432 "optional" : 1,
7433 "type" : "integer"
7434 },
44660702
DM
7435 "cache" : {
7436 "description" : "The drive's cache mode",
56122987 7437 "enum" : [
44660702
DM
7438 "none",
7439 "writethrough",
7440 "writeback",
7441 "unsafe",
7442 "directsync"
56122987 7443 ],
56122987 7444 "optional" : 1,
44660702 7445 "type" : "string"
56122987 7446 },
44660702
DM
7447 "cyls" : {
7448 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 7449 "optional" : 1,
44660702 7450 "type" : "integer"
7aacca6f 7451 },
44660702
DM
7452 "detect_zeroes" : {
7453 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7454 "optional" : 1,
7455 "type" : "boolean"
7aacca6f 7456 },
44660702
DM
7457 "discard" : {
7458 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7459 "enum" : [
7460 "ignore",
7461 "on"
7462 ],
56122987 7463 "optional" : 1,
44660702 7464 "type" : "string"
56122987
DM
7465 },
7466 "file" : {
7aacca6f 7467 "default_key" : 1,
44660702 7468 "description" : "The drive's backing volume.",
7aacca6f 7469 "format" : "pve-volume-id-or-qm-path",
44660702
DM
7470 "format_description" : "volume",
7471 "type" : "string"
7aacca6f
DM
7472 },
7473 "format" : {
7aacca6f
DM
7474 "description" : "The drive's backing file's data format.",
7475 "enum" : [
7476 "raw",
7477 "cow",
7478 "qcow",
7479 "qed",
7480 "qcow2",
7481 "vmdk",
7482 "cloop"
56122987
DM
7483 ],
7484 "optional" : 1,
56122987
DM
7485 "type" : "string"
7486 },
44660702
DM
7487 "heads" : {
7488 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 7489 "optional" : 1,
44660702 7490 "type" : "integer"
56122987 7491 },
44660702 7492 "iops" : {
de0983cb 7493 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 7494 "format_description" : "iops",
56122987 7495 "optional" : 1,
44660702 7496 "type" : "integer"
56122987 7497 },
44660702 7498 "iops_max" : {
de0983cb 7499 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 7500 "format_description" : "iops",
56122987 7501 "optional" : 1,
56122987
DM
7502 "type" : "integer"
7503 },
de0983cb
DM
7504 "iops_max_length" : {
7505 "description" : "Maximum length of I/O bursts in seconds.",
7506 "format_description" : "seconds",
7507 "minimum" : 1,
7508 "optional" : 1,
7509 "type" : "integer"
7510 },
44660702 7511 "iops_rd" : {
de0983cb 7512 "description" : "Maximum read I/O in operations per second.",
44660702 7513 "format_description" : "iops",
56122987 7514 "optional" : 1,
44660702 7515 "type" : "integer"
56122987 7516 },
de0983cb 7517 "iops_rd_length" : {
5d9c884c 7518 "alias" : "iops_rd_max_length"
de0983cb 7519 },
44660702 7520 "iops_rd_max" : {
de0983cb 7521 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 7522 "format_description" : "iops",
7aacca6f 7523 "optional" : 1,
44660702 7524 "type" : "integer"
56122987 7525 },
5d9c884c
DM
7526 "iops_rd_max_length" : {
7527 "description" : "Maximum length of read I/O bursts in seconds.",
7528 "format_description" : "seconds",
7529 "minimum" : 1,
7530 "optional" : 1,
7531 "type" : "integer"
7532 },
44660702 7533 "iops_wr" : {
de0983cb 7534 "description" : "Maximum write I/O in operations per second.",
44660702 7535 "format_description" : "iops",
7aacca6f 7536 "optional" : 1,
44660702 7537 "type" : "integer"
56122987 7538 },
de0983cb 7539 "iops_wr_length" : {
5d9c884c 7540 "alias" : "iops_wr_max_length"
de0983cb 7541 },
44660702 7542 "iops_wr_max" : {
de0983cb 7543 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 7544 "format_description" : "iops",
56122987
DM
7545 "optional" : 1,
7546 "type" : "integer"
7547 },
5d9c884c
DM
7548 "iops_wr_max_length" : {
7549 "description" : "Maximum length of write I/O bursts in seconds.",
7550 "format_description" : "seconds",
7551 "minimum" : 1,
7552 "optional" : 1,
7553 "type" : "integer"
7554 },
44660702
DM
7555 "iothread" : {
7556 "description" : "Whether to use iothreads for this drive",
44660702
DM
7557 "optional" : 1,
7558 "type" : "boolean"
7559 },
7560 "mbps" : {
de0983cb 7561 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 7562 "format_description" : "mbps",
44660702
DM
7563 "optional" : 1,
7564 "type" : "number"
7565 },
7566 "mbps_max" : {
de0983cb 7567 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
7568 "format_description" : "mbps",
7569 "optional" : 1,
7570 "type" : "number"
7aacca6f 7571 },
44660702 7572 "mbps_rd" : {
de0983cb 7573 "description" : "Maximum read speed in megabytes per second.",
44660702 7574 "format_description" : "mbps",
56122987 7575 "optional" : 1,
44660702 7576 "type" : "number"
56122987 7577 },
44660702 7578 "mbps_rd_max" : {
de0983cb 7579 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 7580 "format_description" : "mbps",
7aacca6f 7581 "optional" : 1,
44660702 7582 "type" : "number"
56122987 7583 },
44660702 7584 "mbps_wr" : {
de0983cb 7585 "description" : "Maximum write speed in megabytes per second.",
44660702 7586 "format_description" : "mbps",
56122987 7587 "optional" : 1,
44660702 7588 "type" : "number"
56122987 7589 },
44660702 7590 "mbps_wr_max" : {
de0983cb 7591 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 7592 "format_description" : "mbps",
56122987 7593 "optional" : 1,
44660702 7594 "type" : "number"
56122987
DM
7595 },
7596 "media" : {
7aacca6f 7597 "default" : "disk",
44660702 7598 "description" : "The drive's media type.",
56122987
DM
7599 "enum" : [
7600 "cdrom",
7601 "disk"
7602 ],
44660702
DM
7603 "optional" : 1,
7604 "type" : "string"
56122987 7605 },
5d9c884c
DM
7606 "replicate" : {
7607 "default" : 1,
7608 "description" : "Whether the drive should considered for replication jobs.",
7609 "optional" : 1,
7610 "type" : "boolean"
7611 },
7aacca6f 7612 "rerror" : {
44660702 7613 "description" : "Read error action.",
56122987 7614 "enum" : [
7aacca6f
DM
7615 "ignore",
7616 "report",
7617 "stop"
56122987 7618 ],
56122987 7619 "optional" : 1,
44660702 7620 "type" : "string"
56122987 7621 },
44660702
DM
7622 "secs" : {
7623 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
7624 "optional" : 1,
7625 "type" : "integer"
7626 },
7627 "serial" : {
7628 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7629 "format" : "urlencoded",
7630 "format_description" : "serial",
7631 "maxLength" : 60,
56122987 7632 "optional" : 1,
7aacca6f 7633 "type" : "string"
56122987 7634 },
44660702
DM
7635 "size" : {
7636 "description" : "Disk size. This is purely informational and has no effect.",
7637 "format" : "disk-size",
f004f5b9 7638 "format_description" : "DiskSize",
56122987 7639 "optional" : 1,
44660702 7640 "type" : "string"
56122987 7641 },
44660702
DM
7642 "snapshot" : {
7643 "description" : "Whether the drive should be included when making snapshots.",
56122987 7644 "optional" : 1,
44660702 7645 "type" : "boolean"
56122987 7646 },
44660702
DM
7647 "trans" : {
7648 "description" : "Force disk geometry bios translation mode.",
7649 "enum" : [
7650 "none",
7651 "lba",
7652 "auto"
7653 ],
44660702
DM
7654 "optional" : 1,
7655 "type" : "string"
7656 },
7657 "volume" : {
7658 "alias" : "file"
7659 },
7660 "werror" : {
7661 "description" : "Write error action.",
7662 "enum" : [
7663 "enospc",
7664 "ignore",
7665 "report",
7666 "stop"
7667 ],
56122987 7668 "optional" : 1,
44660702 7669 "type" : "string"
56122987 7670 }
44660702 7671 },
56122987 7672 "optional" : 1,
4bd7df8b 7673 "type" : "string",
5d9c884c 7674 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 7675 },
7aacca6f
DM
7676 "vmid" : {
7677 "description" : "The (unique) ID of the VM.",
7aacca6f 7678 "format" : "pve-vmid",
44660702 7679 "minimum" : 1,
4bd7df8b 7680 "type" : "integer",
013dc89f 7681 "typetext" : "<integer> (1 - N)"
56122987 7682 },
44660702 7683 "watchdog" : {
c2993fe5 7684 "description" : "Create a virtual hardware watchdog device.",
44660702 7685 "format" : "pve-qm-watchdog",
56122987 7686 "optional" : 1,
c2993fe5 7687 "type" : "string",
013dc89f 7688 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 7689 "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 7690 }
44660702 7691 }
56122987 7692 },
7aacca6f
DM
7693 "permissions" : {
7694 "check" : [
7695 "perm",
7696 "/vms/{vmid}",
7697 [
44660702
DM
7698 "VM.Config.Disk",
7699 "VM.Config.CDROM",
7700 "VM.Config.CPU",
7701 "VM.Config.Memory",
7702 "VM.Config.Network",
7703 "VM.Config.HWType",
7704 "VM.Config.Options"
7705 ],
7706 "any",
7707 1
7aacca6f 7708 ]
56122987 7709 },
44660702 7710 "protected" : 1,
7aacca6f 7711 "proxyto" : "node",
44660702
DM
7712 "returns" : {
7713 "optional" : 1,
7714 "type" : "string"
7715 }
56122987 7716 },
7aacca6f 7717 "PUT" : {
44660702
DM
7718 "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
7719 "method" : "PUT",
7720 "name" : "update_vm",
56122987 7721 "parameters" : {
7aacca6f 7722 "additionalProperties" : 0,
56122987 7723 "properties" : {
44660702
DM
7724 "acpi" : {
7725 "default" : 1,
7726 "description" : "Enable/disable ACPI.",
7aacca6f 7727 "optional" : 1,
013dc89f
DM
7728 "type" : "boolean",
7729 "typetext" : "<boolean>"
7aacca6f 7730 },
44660702
DM
7731 "agent" : {
7732 "default" : 0,
7733 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 7734 "optional" : 1,
013dc89f
DM
7735 "type" : "boolean",
7736 "typetext" : "<boolean>"
56122987 7737 },
44660702 7738 "args" : {
c2993fe5 7739 "description" : "Arbitrary arguments passed to kvm.",
7aacca6f 7740 "optional" : 1,
c2993fe5 7741 "type" : "string",
013dc89f 7742 "typetext" : "<string>",
c2993fe5 7743 "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 7744 },
44660702
DM
7745 "autostart" : {
7746 "default" : 0,
7747 "description" : "Automatic restart after crash (currently ignored).",
7aacca6f 7748 "optional" : 1,
013dc89f
DM
7749 "type" : "boolean",
7750 "typetext" : "<boolean>"
7aacca6f 7751 },
44660702
DM
7752 "balloon" : {
7753 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
7754 "minimum" : 0,
7755 "optional" : 1,
4bd7df8b 7756 "type" : "integer",
013dc89f 7757 "typetext" : "<integer> (0 - N)"
44660702
DM
7758 },
7759 "bios" : {
7760 "default" : "seabios",
7761 "description" : "Select BIOS implementation.",
7aacca6f 7762 "enum" : [
44660702
DM
7763 "seabios",
7764 "ovmf"
7aacca6f 7765 ],
56122987 7766 "optional" : 1,
7aacca6f
DM
7767 "type" : "string"
7768 },
44660702
DM
7769 "boot" : {
7770 "default" : "cdn",
7771 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
7aacca6f 7772 "optional" : 1,
44660702
DM
7773 "pattern" : "[acdn]{1,4}",
7774 "type" : "string"
56122987 7775 },
44660702
DM
7776 "bootdisk" : {
7777 "description" : "Enable booting from specified disk.",
7778 "format" : "pve-qm-bootdisk",
7779 "optional" : 1,
7780 "pattern" : "(ide|sata|scsi|virtio)\\d+",
7781 "type" : "string"
7782 },
7783 "cdrom" : {
7784 "description" : "This is an alias for option -ide2",
de0983cb 7785 "format" : "pve-qm-ide",
56122987 7786 "optional" : 1,
7aacca6f 7787 "type" : "string",
013dc89f 7788 "typetext" : "<volume>"
44660702
DM
7789 },
7790 "cores" : {
7791 "default" : 1,
7792 "description" : "The number of cores per socket.",
7793 "minimum" : 1,
7794 "optional" : 1,
4bd7df8b 7795 "type" : "integer",
013dc89f 7796 "typetext" : "<integer> (1 - N)"
44660702
DM
7797 },
7798 "cpu" : {
7799 "description" : "Emulated CPU type.",
7800 "format" : {
7801 "cputype" : {
7802 "default" : "kvm64",
7803 "default_key" : 1,
7804 "description" : "Emulated CPU type.",
7805 "enum" : [
7806 "486",
7807 "athlon",
f004f5b9
DM
7808 "Broadwell",
7809 "Broadwell-noTSX",
7810 "Conroe",
44660702 7811 "core2duo",
f004f5b9
DM
7812 "coreduo",
7813 "Haswell",
7814 "Haswell-noTSX",
7815 "host",
7816 "IvyBridge",
44660702
DM
7817 "kvm32",
7818 "kvm64",
44660702 7819 "Nehalem",
44660702
DM
7820 "Opteron_G1",
7821 "Opteron_G2",
7822 "Opteron_G3",
7823 "Opteron_G4",
7824 "Opteron_G5",
f004f5b9
DM
7825 "Penryn",
7826 "pentium",
7827 "pentium2",
7828 "pentium3",
7829 "phenom",
7830 "qemu32",
7831 "qemu64",
7832 "SandyBridge",
5d9c884c 7833 "Skylake-Client",
f004f5b9 7834 "Westmere"
44660702 7835 ],
44660702
DM
7836 "type" : "string"
7837 },
7838 "hidden" : {
7839 "default" : 0,
7840 "description" : "Do not identify as a KVM virtual machine.",
7841 "optional" : 1,
7842 "type" : "boolean"
7843 }
7844 },
7845 "optional" : 1,
4bd7df8b 7846 "type" : "string",
013dc89f 7847 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
44660702
DM
7848 },
7849 "cpulimit" : {
7850 "default" : 0,
c2993fe5 7851 "description" : "Limit of CPU usage.",
44660702
DM
7852 "maximum" : 128,
7853 "minimum" : 0,
7854 "optional" : 1,
c2993fe5 7855 "type" : "number",
013dc89f 7856 "typetext" : "<number> (0 - 128)",
c2993fe5 7857 "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
7858 },
7859 "cpuunits" : {
de0983cb 7860 "default" : 1024,
c2993fe5 7861 "description" : "CPU weight for a VM.",
44660702
DM
7862 "maximum" : 500000,
7863 "minimum" : 0,
7864 "optional" : 1,
c2993fe5 7865 "type" : "integer",
013dc89f 7866 "typetext" : "<integer> (0 - 500000)",
c2993fe5 7867 "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
7868 },
7869 "delete" : {
7870 "description" : "A list of settings you want to delete.",
7871 "format" : "pve-configid-list",
7872 "optional" : 1,
013dc89f
DM
7873 "type" : "string",
7874 "typetext" : "<string>"
44660702
DM
7875 },
7876 "description" : {
7877 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
7878 "optional" : 1,
013dc89f
DM
7879 "type" : "string",
7880 "typetext" : "<string>"
44660702
DM
7881 },
7882 "digest" : {
7883 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7884 "maxLength" : 40,
7885 "optional" : 1,
013dc89f
DM
7886 "type" : "string",
7887 "typetext" : "<string>"
44660702
DM
7888 },
7889 "force" : {
7890 "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.",
7891 "optional" : 1,
7892 "requires" : "delete",
013dc89f
DM
7893 "type" : "boolean",
7894 "typetext" : "<boolean>"
44660702
DM
7895 },
7896 "freeze" : {
7897 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
7898 "optional" : 1,
013dc89f
DM
7899 "type" : "boolean",
7900 "typetext" : "<boolean>"
44660702
DM
7901 },
7902 "hostpci[n]" : {
c2993fe5 7903 "description" : "Map host PCI devices into guest.",
44660702
DM
7904 "format" : "pve-qm-hostpci",
7905 "optional" : 1,
57b78691 7906 "type" : "string",
52e44c50 7907 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 7908 "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 7909 },
7aacca6f 7910 "hotplug" : {
7aacca6f 7911 "default" : "network,disk,usb",
44660702
DM
7912 "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'.",
7913 "format" : "pve-hotplug-features",
56122987 7914 "optional" : 1,
013dc89f
DM
7915 "type" : "string",
7916 "typetext" : "<string>"
56122987 7917 },
4bd7df8b
DM
7918 "hugepages" : {
7919 "description" : "Enable/disable hugepages memory.",
7920 "enum" : [
7921 "any",
7922 "2",
7923 "1024"
7924 ],
7925 "optional" : 1,
7926 "type" : "string"
7927 },
56122987 7928 "ide[n]" : {
7aacca6f 7929 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 7930 "format" : {
44660702
DM
7931 "aio" : {
7932 "description" : "AIO type to use.",
7933 "enum" : [
7934 "native",
7935 "threads"
7936 ],
56122987 7937 "optional" : 1,
44660702 7938 "type" : "string"
56122987 7939 },
44660702
DM
7940 "backup" : {
7941 "description" : "Whether the drive should be included when making backups.",
44660702
DM
7942 "optional" : 1,
7943 "type" : "boolean"
7944 },
7945 "bps" : {
de0983cb 7946 "description" : "Maximum r/w speed in bytes per second.",
44660702 7947 "format_description" : "bps",
56122987 7948 "optional" : 1,
44660702 7949 "type" : "integer"
56122987 7950 },
de0983cb
DM
7951 "bps_max_length" : {
7952 "description" : "Maximum length of I/O bursts in seconds.",
7953 "format_description" : "seconds",
7954 "minimum" : 1,
7955 "optional" : 1,
7956 "type" : "integer"
7957 },
44660702 7958 "bps_rd" : {
de0983cb 7959 "description" : "Maximum read speed in bytes per second.",
44660702 7960 "format_description" : "bps",
56122987 7961 "optional" : 1,
44660702 7962 "type" : "integer"
56122987 7963 },
de0983cb 7964 "bps_rd_length" : {
5d9c884c
DM
7965 "alias" : "bps_rd_max_length"
7966 },
7967 "bps_rd_max_length" : {
de0983cb
DM
7968 "description" : "Maximum length of read I/O bursts in seconds.",
7969 "format_description" : "seconds",
7970 "minimum" : 1,
7971 "optional" : 1,
7972 "type" : "integer"
7973 },
7aacca6f 7974 "bps_wr" : {
de0983cb 7975 "description" : "Maximum write speed in bytes per second.",
44660702
DM
7976 "format_description" : "bps",
7977 "optional" : 1,
7978 "type" : "integer"
7aacca6f 7979 },
de0983cb 7980 "bps_wr_length" : {
5d9c884c
DM
7981 "alias" : "bps_wr_max_length"
7982 },
7983 "bps_wr_max_length" : {
de0983cb
DM
7984 "description" : "Maximum length of write I/O bursts in seconds.",
7985 "format_description" : "seconds",
7986 "minimum" : 1,
7987 "optional" : 1,
7988 "type" : "integer"
7989 },
44660702
DM
7990 "cache" : {
7991 "description" : "The drive's cache mode",
7992 "enum" : [
7993 "none",
7994 "writethrough",
7995 "writeback",
7996 "unsafe",
7997 "directsync"
7998 ],
56122987 7999 "optional" : 1,
44660702
DM
8000 "type" : "string"
8001 },
8002 "cyls" : {
8003 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8004 "optional" : 1,
8005 "type" : "integer"
8006 },
8007 "detect_zeroes" : {
8008 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8009 "optional" : 1,
8010 "type" : "boolean"
56122987 8011 },
7aacca6f 8012 "discard" : {
7aacca6f 8013 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 8014 "enum" : [
7aacca6f
DM
8015 "ignore",
8016 "on"
56122987
DM
8017 ],
8018 "optional" : 1,
44660702 8019 "type" : "string"
7aacca6f 8020 },
44660702
DM
8021 "file" : {
8022 "default_key" : 1,
8023 "description" : "The drive's backing volume.",
8024 "format" : "pve-volume-id-or-qm-path",
8025 "format_description" : "volume",
8026 "type" : "string"
7aacca6f
DM
8027 },
8028 "format" : {
44660702 8029 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8030 "enum" : [
8031 "raw",
8032 "cow",
8033 "qcow",
8034 "qed",
8035 "qcow2",
8036 "vmdk",
8037 "cloop"
8038 ],
7aacca6f 8039 "optional" : 1,
44660702 8040 "type" : "string"
56122987 8041 },
7aacca6f 8042 "heads" : {
44660702 8043 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8044 "optional" : 1,
44660702 8045 "type" : "integer"
7aacca6f 8046 },
44660702 8047 "iops" : {
de0983cb 8048 "description" : "Maximum r/w I/O in operations per second.",
44660702 8049 "format_description" : "iops",
7aacca6f 8050 "optional" : 1,
44660702 8051 "type" : "integer"
56122987 8052 },
44660702 8053 "iops_max" : {
de0983cb 8054 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8055 "format_description" : "iops",
56122987 8056 "optional" : 1,
44660702 8057 "type" : "integer"
56122987 8058 },
de0983cb
DM
8059 "iops_max_length" : {
8060 "description" : "Maximum length of I/O bursts in seconds.",
8061 "format_description" : "seconds",
8062 "minimum" : 1,
8063 "optional" : 1,
8064 "type" : "integer"
8065 },
44660702 8066 "iops_rd" : {
de0983cb 8067 "description" : "Maximum read I/O in operations per second.",
44660702 8068 "format_description" : "iops",
56122987 8069 "optional" : 1,
44660702 8070 "type" : "integer"
7aacca6f 8071 },
de0983cb 8072 "iops_rd_length" : {
5d9c884c 8073 "alias" : "iops_rd_max_length"
de0983cb 8074 },
44660702 8075 "iops_rd_max" : {
de0983cb 8076 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8077 "format_description" : "iops",
7aacca6f 8078 "optional" : 1,
44660702 8079 "type" : "integer"
7aacca6f 8080 },
5d9c884c
DM
8081 "iops_rd_max_length" : {
8082 "description" : "Maximum length of read I/O bursts in seconds.",
8083 "format_description" : "seconds",
8084 "minimum" : 1,
8085 "optional" : 1,
8086 "type" : "integer"
8087 },
44660702 8088 "iops_wr" : {
de0983cb 8089 "description" : "Maximum write I/O in operations per second.",
44660702 8090 "format_description" : "iops",
7aacca6f 8091 "optional" : 1,
44660702 8092 "type" : "integer"
56122987 8093 },
de0983cb 8094 "iops_wr_length" : {
5d9c884c 8095 "alias" : "iops_wr_max_length"
de0983cb 8096 },
44660702 8097 "iops_wr_max" : {
de0983cb 8098 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 8099 "format_description" : "iops",
7aacca6f 8100 "optional" : 1,
44660702 8101 "type" : "integer"
7aacca6f 8102 },
5d9c884c
DM
8103 "iops_wr_max_length" : {
8104 "description" : "Maximum length of write I/O bursts in seconds.",
8105 "format_description" : "seconds",
8106 "minimum" : 1,
8107 "optional" : 1,
8108 "type" : "integer"
8109 },
7aacca6f 8110 "mbps" : {
de0983cb 8111 "description" : "Maximum r/w speed in megabytes per second.",
7aacca6f 8112 "format_description" : "mbps",
7aacca6f 8113 "optional" : 1,
44660702 8114 "type" : "number"
7aacca6f 8115 },
44660702 8116 "mbps_max" : {
de0983cb 8117 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 8118 "format_description" : "mbps",
7aacca6f 8119 "optional" : 1,
44660702 8120 "type" : "number"
7aacca6f 8121 },
44660702 8122 "mbps_rd" : {
de0983cb 8123 "description" : "Maximum read speed in megabytes per second.",
44660702 8124 "format_description" : "mbps",
7aacca6f 8125 "optional" : 1,
44660702 8126 "type" : "number"
7aacca6f 8127 },
44660702 8128 "mbps_rd_max" : {
de0983cb 8129 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8130 "format_description" : "mbps",
8131 "optional" : 1,
8132 "type" : "number"
7aacca6f 8133 },
44660702 8134 "mbps_wr" : {
de0983cb 8135 "description" : "Maximum write speed in megabytes per second.",
44660702 8136 "format_description" : "mbps",
7aacca6f 8137 "optional" : 1,
44660702
DM
8138 "type" : "number"
8139 },
8140 "mbps_wr_max" : {
de0983cb 8141 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8142 "format_description" : "mbps",
8143 "optional" : 1,
8144 "type" : "number"
8145 },
8146 "media" : {
8147 "default" : "disk",
8148 "description" : "The drive's media type.",
56122987 8149 "enum" : [
44660702
DM
8150 "cdrom",
8151 "disk"
56122987 8152 ],
44660702
DM
8153 "optional" : 1,
8154 "type" : "string"
56122987 8155 },
7aacca6f 8156 "model" : {
44660702 8157 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
56122987 8158 "format" : "urlencoded",
7aacca6f 8159 "format_description" : "model",
44660702 8160 "maxLength" : 120,
56122987 8161 "optional" : 1,
44660702 8162 "type" : "string"
56122987 8163 },
5d9c884c
DM
8164 "replicate" : {
8165 "default" : 1,
8166 "description" : "Whether the drive should considered for replication jobs.",
8167 "optional" : 1,
8168 "type" : "boolean"
8169 },
44660702
DM
8170 "rerror" : {
8171 "description" : "Read error action.",
8172 "enum" : [
8173 "ignore",
8174 "report",
8175 "stop"
8176 ],
56122987 8177 "optional" : 1,
44660702 8178 "type" : "string"
56122987 8179 },
44660702
DM
8180 "secs" : {
8181 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
8182 "optional" : 1,
8183 "type" : "integer"
56122987 8184 },
44660702
DM
8185 "serial" : {
8186 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8187 "format" : "urlencoded",
8188 "format_description" : "serial",
8189 "maxLength" : 60,
56122987 8190 "optional" : 1,
44660702 8191 "type" : "string"
56122987 8192 },
44660702
DM
8193 "size" : {
8194 "description" : "Disk size. This is purely informational and has no effect.",
8195 "format" : "disk-size",
f004f5b9 8196 "format_description" : "DiskSize",
56122987 8197 "optional" : 1,
44660702 8198 "type" : "string"
56122987 8199 },
44660702
DM
8200 "snapshot" : {
8201 "description" : "Whether the drive should be included when making snapshots.",
56122987 8202 "optional" : 1,
44660702 8203 "type" : "boolean"
56122987 8204 },
44660702
DM
8205 "trans" : {
8206 "description" : "Force disk geometry bios translation mode.",
8207 "enum" : [
8208 "none",
8209 "lba",
8210 "auto"
8211 ],
56122987 8212 "optional" : 1,
44660702
DM
8213 "type" : "string"
8214 },
8215 "volume" : {
8216 "alias" : "file"
56122987 8217 },
7aacca6f 8218 "werror" : {
44660702 8219 "description" : "Write error action.",
7aacca6f
DM
8220 "enum" : [
8221 "enospc",
8222 "ignore",
8223 "report",
8224 "stop"
8225 ],
56122987 8226 "optional" : 1,
44660702 8227 "type" : "string"
7aacca6f 8228 }
44660702
DM
8229 },
8230 "optional" : 1,
4bd7df8b 8231 "type" : "string",
5d9c884c 8232 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 8233 },
44660702
DM
8234 "keyboard" : {
8235 "default" : "en-us",
c2993fe5 8236 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
44660702
DM
8237 "enum" : [
8238 "de",
8239 "de-ch",
8240 "da",
8241 "en-gb",
8242 "en-us",
8243 "es",
8244 "fi",
8245 "fr",
8246 "fr-be",
8247 "fr-ca",
8248 "fr-ch",
8249 "hu",
8250 "is",
8251 "it",
8252 "ja",
8253 "lt",
8254 "mk",
8255 "nl",
8256 "no",
8257 "pl",
8258 "pt",
8259 "pt-br",
8260 "sv",
8261 "sl",
8262 "tr"
8263 ],
7aacca6f 8264 "optional" : 1,
44660702 8265 "type" : "string"
7aacca6f 8266 },
44660702 8267 "kvm" : {
7aacca6f 8268 "default" : 1,
44660702 8269 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 8270 "optional" : 1,
013dc89f
DM
8271 "type" : "boolean",
8272 "typetext" : "<boolean>"
7aacca6f 8273 },
44660702
DM
8274 "localtime" : {
8275 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
7aacca6f 8276 "optional" : 1,
013dc89f
DM
8277 "type" : "boolean",
8278 "typetext" : "<boolean>"
7aacca6f 8279 },
44660702
DM
8280 "lock" : {
8281 "description" : "Lock/unlock the VM.",
8282 "enum" : [
8283 "migrate",
8284 "backup",
8285 "snapshot",
8286 "rollback"
8287 ],
7aacca6f 8288 "optional" : 1,
44660702 8289 "type" : "string"
7aacca6f 8290 },
44660702
DM
8291 "machine" : {
8292 "description" : "Specific the Qemu machine type.",
8293 "maxLength" : 40,
7aacca6f 8294 "optional" : 1,
44660702
DM
8295 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
8296 "type" : "string"
7aacca6f 8297 },
44660702
DM
8298 "memory" : {
8299 "default" : 512,
8300 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
8301 "minimum" : 16,
7aacca6f 8302 "optional" : 1,
4bd7df8b 8303 "type" : "integer",
013dc89f 8304 "typetext" : "<integer> (16 - N)"
7aacca6f 8305 },
44660702
DM
8306 "migrate_downtime" : {
8307 "default" : 0.1,
8308 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
8309 "minimum" : 0,
7aacca6f 8310 "optional" : 1,
4bd7df8b 8311 "type" : "number",
013dc89f 8312 "typetext" : "<number> (0 - N)"
7aacca6f 8313 },
44660702 8314 "migrate_speed" : {
7aacca6f 8315 "default" : 0,
44660702
DM
8316 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
8317 "minimum" : 0,
8318 "optional" : 1,
4bd7df8b 8319 "type" : "integer",
013dc89f 8320 "typetext" : "<integer> (0 - N)"
7aacca6f 8321 },
44660702
DM
8322 "name" : {
8323 "description" : "Set a name for the VM. Only used on the configuration web interface.",
8324 "format" : "dns-name",
7aacca6f 8325 "optional" : 1,
013dc89f
DM
8326 "type" : "string",
8327 "typetext" : "<string>"
7aacca6f 8328 },
44660702 8329 "net[n]" : {
c2993fe5 8330 "description" : "Specify network devices.",
f004f5b9
DM
8331 "format" : {
8332 "bridge" : {
c2993fe5 8333 "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
8334 "format_description" : "bridge",
8335 "optional" : 1,
8336 "type" : "string"
8337 },
8338 "e1000" : {
8339 "alias" : "macaddr",
8340 "keyAlias" : "model"
8341 },
8342 "e1000-82540em" : {
8343 "alias" : "macaddr",
8344 "keyAlias" : "model"
8345 },
8346 "e1000-82544gc" : {
8347 "alias" : "macaddr",
8348 "keyAlias" : "model"
8349 },
8350 "e1000-82545em" : {
8351 "alias" : "macaddr",
8352 "keyAlias" : "model"
8353 },
8354 "firewall" : {
8355 "description" : "Whether this interface should be protected by the firewall.",
8356 "optional" : 1,
8357 "type" : "boolean"
8358 },
8359 "i82551" : {
8360 "alias" : "macaddr",
8361 "keyAlias" : "model"
8362 },
8363 "i82557b" : {
8364 "alias" : "macaddr",
8365 "keyAlias" : "model"
8366 },
8367 "i82559er" : {
8368 "alias" : "macaddr",
8369 "keyAlias" : "model"
8370 },
8371 "link_down" : {
c2993fe5 8372 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
8373 "optional" : 1,
8374 "type" : "boolean"
8375 },
8376 "macaddr" : {
c2993fe5 8377 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 8378 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
8379 "optional" : 1,
8380 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
8381 "type" : "string"
8382 },
8383 "model" : {
8384 "default_key" : 1,
c2993fe5 8385 "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
8386 "enum" : [
8387 "rtl8139",
8388 "ne2k_pci",
8389 "e1000",
8390 "pcnet",
8391 "virtio",
8392 "ne2k_isa",
8393 "i82551",
8394 "i82557b",
8395 "i82559er",
8396 "vmxnet3",
8397 "e1000-82540em",
8398 "e1000-82544gc",
8399 "e1000-82545em"
8400 ],
f004f5b9
DM
8401 "type" : "string"
8402 },
8403 "ne2k_isa" : {
8404 "alias" : "macaddr",
8405 "keyAlias" : "model"
8406 },
8407 "ne2k_pci" : {
8408 "alias" : "macaddr",
8409 "keyAlias" : "model"
8410 },
8411 "pcnet" : {
8412 "alias" : "macaddr",
8413 "keyAlias" : "model"
8414 },
8415 "queues" : {
8416 "description" : "Number of packet queues to be used on the device.",
8417 "maximum" : 16,
8418 "minimum" : 0,
8419 "optional" : 1,
8420 "type" : "integer"
8421 },
8422 "rate" : {
c2993fe5 8423 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
8424 "minimum" : 0,
8425 "optional" : 1,
8426 "type" : "number"
8427 },
8428 "rtl8139" : {
8429 "alias" : "macaddr",
8430 "keyAlias" : "model"
8431 },
8432 "tag" : {
8433 "description" : "VLAN tag to apply to packets on this interface.",
8434 "maximum" : 4094,
c2993fe5 8435 "minimum" : 1,
f004f5b9
DM
8436 "optional" : 1,
8437 "type" : "integer"
8438 },
8439 "trunks" : {
8440 "description" : "VLAN trunks to pass through this interface.",
8441 "format_description" : "vlanid[;vlanid...]",
8442 "optional" : 1,
8443 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8444 "type" : "string"
8445 },
8446 "virtio" : {
8447 "alias" : "macaddr",
8448 "keyAlias" : "model"
8449 },
8450 "vmxnet3" : {
8451 "alias" : "macaddr",
8452 "keyAlias" : "model"
8453 }
8454 },
7aacca6f 8455 "optional" : 1,
4bd7df8b 8456 "type" : "string",
013dc89f 8457 "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 8458 },
44660702
DM
8459 "node" : {
8460 "description" : "The cluster node name.",
8461 "format" : "pve-node",
013dc89f
DM
8462 "type" : "string",
8463 "typetext" : "<string>"
44660702
DM
8464 },
8465 "numa" : {
8466 "default" : 0,
8467 "description" : "Enable/disable NUMA.",
7aacca6f 8468 "optional" : 1,
013dc89f
DM
8469 "type" : "boolean",
8470 "typetext" : "<boolean>"
7aacca6f 8471 },
44660702 8472 "numa[n]" : {
c2993fe5 8473 "description" : "NUMA topology.",
44660702
DM
8474 "format" : {
8475 "cpus" : {
c2993fe5 8476 "description" : "CPUs accessing this NUMA node.",
44660702
DM
8477 "format_description" : "id[-id];...",
8478 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8479 "type" : "string"
8480 },
8481 "hostnodes" : {
c2993fe5 8482 "description" : "Host NUMA nodes to use.",
44660702
DM
8483 "format_description" : "id[-id];...",
8484 "optional" : 1,
8485 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
8486 "type" : "string"
8487 },
8488 "memory" : {
c2993fe5 8489 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
8490 "optional" : 1,
8491 "type" : "number"
8492 },
8493 "policy" : {
c2993fe5 8494 "description" : "NUMA allocation policy.",
44660702
DM
8495 "enum" : [
8496 "preferred",
8497 "bind",
8498 "interleave"
8499 ],
44660702
DM
8500 "optional" : 1,
8501 "type" : "string"
8502 }
8503 },
7aacca6f 8504 "optional" : 1,
4bd7df8b
DM
8505 "type" : "string",
8506 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
7aacca6f 8507 },
44660702
DM
8508 "onboot" : {
8509 "default" : 0,
8510 "description" : "Specifies whether a VM will be started during system bootup.",
7aacca6f 8511 "optional" : 1,
013dc89f
DM
8512 "type" : "boolean",
8513 "typetext" : "<boolean>"
7aacca6f 8514 },
44660702 8515 "ostype" : {
c2993fe5 8516 "description" : "Specify guest operating system.",
44660702
DM
8517 "enum" : [
8518 "other",
8519 "wxp",
8520 "w2k",
8521 "w2k3",
8522 "w2k8",
8523 "wvista",
8524 "win7",
8525 "win8",
32d876b5 8526 "win10",
44660702
DM
8527 "l24",
8528 "l26",
8529 "solaris"
8530 ],
7aacca6f 8531 "optional" : 1,
c2993fe5
DM
8532 "type" : "string",
8533 "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 8534 },
44660702 8535 "parallel[n]" : {
c2993fe5 8536 "description" : "Map host parallel devices (n is 0 to 2).",
7aacca6f 8537 "optional" : 1,
44660702 8538 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
8539 "type" : "string",
8540 "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 8541 },
44660702
DM
8542 "protection" : {
8543 "default" : 0,
c2993fe5 8544 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
7aacca6f 8545 "optional" : 1,
013dc89f
DM
8546 "type" : "boolean",
8547 "typetext" : "<boolean>"
7aacca6f 8548 },
44660702
DM
8549 "reboot" : {
8550 "default" : 1,
8551 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
7aacca6f 8552 "optional" : 1,
013dc89f
DM
8553 "type" : "boolean",
8554 "typetext" : "<boolean>"
7aacca6f 8555 },
44660702
DM
8556 "revert" : {
8557 "description" : "Revert a pending change.",
8558 "format" : "pve-configid-list",
7aacca6f 8559 "optional" : 1,
013dc89f
DM
8560 "type" : "string",
8561 "typetext" : "<string>"
7aacca6f 8562 },
44660702
DM
8563 "sata[n]" : {
8564 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
7aacca6f 8565 "format" : {
44660702
DM
8566 "aio" : {
8567 "description" : "AIO type to use.",
8568 "enum" : [
8569 "native",
8570 "threads"
8571 ],
44660702
DM
8572 "optional" : 1,
8573 "type" : "string"
8574 },
8575 "backup" : {
8576 "description" : "Whether the drive should be included when making backups.",
44660702
DM
8577 "optional" : 1,
8578 "type" : "boolean"
8579 },
8580 "bps" : {
de0983cb 8581 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 8582 "format_description" : "bps",
7aacca6f
DM
8583 "optional" : 1,
8584 "type" : "integer"
56122987 8585 },
de0983cb
DM
8586 "bps_max_length" : {
8587 "description" : "Maximum length of I/O bursts in seconds.",
8588 "format_description" : "seconds",
8589 "minimum" : 1,
8590 "optional" : 1,
8591 "type" : "integer"
8592 },
44660702 8593 "bps_rd" : {
de0983cb 8594 "description" : "Maximum read speed in bytes per second.",
44660702 8595 "format_description" : "bps",
7aacca6f 8596 "optional" : 1,
44660702 8597 "type" : "integer"
7aacca6f 8598 },
de0983cb 8599 "bps_rd_length" : {
5d9c884c
DM
8600 "alias" : "bps_rd_max_length"
8601 },
8602 "bps_rd_max_length" : {
de0983cb
DM
8603 "description" : "Maximum length of read I/O bursts in seconds.",
8604 "format_description" : "seconds",
8605 "minimum" : 1,
8606 "optional" : 1,
8607 "type" : "integer"
8608 },
44660702 8609 "bps_wr" : {
de0983cb 8610 "description" : "Maximum write speed in bytes per second.",
44660702 8611 "format_description" : "bps",
7aacca6f 8612 "optional" : 1,
44660702 8613 "type" : "integer"
7aacca6f 8614 },
de0983cb 8615 "bps_wr_length" : {
5d9c884c
DM
8616 "alias" : "bps_wr_max_length"
8617 },
8618 "bps_wr_max_length" : {
de0983cb
DM
8619 "description" : "Maximum length of write I/O bursts in seconds.",
8620 "format_description" : "seconds",
8621 "minimum" : 1,
8622 "optional" : 1,
8623 "type" : "integer"
8624 },
44660702
DM
8625 "cache" : {
8626 "description" : "The drive's cache mode",
8627 "enum" : [
8628 "none",
8629 "writethrough",
8630 "writeback",
8631 "unsafe",
8632 "directsync"
8633 ],
7aacca6f 8634 "optional" : 1,
44660702 8635 "type" : "string"
7aacca6f 8636 },
44660702
DM
8637 "cyls" : {
8638 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
7aacca6f 8639 "optional" : 1,
44660702 8640 "type" : "integer"
7aacca6f 8641 },
44660702
DM
8642 "detect_zeroes" : {
8643 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
7aacca6f 8644 "optional" : 1,
44660702 8645 "type" : "boolean"
7aacca6f 8646 },
44660702
DM
8647 "discard" : {
8648 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8649 "enum" : [
8650 "ignore",
8651 "on"
8652 ],
7aacca6f 8653 "optional" : 1,
44660702
DM
8654 "type" : "string"
8655 },
8656 "file" : {
8657 "default_key" : 1,
8658 "description" : "The drive's backing volume.",
8659 "format" : "pve-volume-id-or-qm-path",
8660 "format_description" : "volume",
8661 "type" : "string"
7aacca6f
DM
8662 },
8663 "format" : {
7aacca6f 8664 "description" : "The drive's backing file's data format.",
56122987
DM
8665 "enum" : [
8666 "raw",
8667 "cow",
8668 "qcow",
8669 "qed",
8670 "qcow2",
8671 "vmdk",
8672 "cloop"
8673 ],
8674 "optional" : 1,
7aacca6f 8675 "type" : "string"
56122987 8676 },
7aacca6f 8677 "heads" : {
7aacca6f 8678 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
8679 "optional" : 1,
8680 "type" : "integer"
56122987 8681 },
44660702 8682 "iops" : {
de0983cb 8683 "description" : "Maximum r/w I/O in operations per second.",
44660702 8684 "format_description" : "iops",
56122987 8685 "optional" : 1,
44660702 8686 "type" : "integer"
7aacca6f 8687 },
44660702 8688 "iops_max" : {
de0983cb 8689 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 8690 "format_description" : "iops",
7aacca6f 8691 "optional" : 1,
44660702 8692 "type" : "integer"
56122987 8693 },
de0983cb
DM
8694 "iops_max_length" : {
8695 "description" : "Maximum length of I/O bursts in seconds.",
8696 "format_description" : "seconds",
8697 "minimum" : 1,
8698 "optional" : 1,
8699 "type" : "integer"
8700 },
44660702 8701 "iops_rd" : {
de0983cb 8702 "description" : "Maximum read I/O in operations per second.",
44660702 8703 "format_description" : "iops",
56122987 8704 "optional" : 1,
44660702 8705 "type" : "integer"
7aacca6f 8706 },
de0983cb 8707 "iops_rd_length" : {
5d9c884c 8708 "alias" : "iops_rd_max_length"
de0983cb 8709 },
44660702 8710 "iops_rd_max" : {
de0983cb 8711 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 8712 "format_description" : "iops",
56122987 8713 "optional" : 1,
44660702 8714 "type" : "integer"
56122987 8715 },
5d9c884c
DM
8716 "iops_rd_max_length" : {
8717 "description" : "Maximum length of read I/O bursts in seconds.",
8718 "format_description" : "seconds",
8719 "minimum" : 1,
8720 "optional" : 1,
8721 "type" : "integer"
8722 },
44660702 8723 "iops_wr" : {
de0983cb 8724 "description" : "Maximum write I/O in operations per second.",
44660702
DM
8725 "format_description" : "iops",
8726 "optional" : 1,
8727 "type" : "integer"
56122987 8728 },
de0983cb 8729 "iops_wr_length" : {
5d9c884c 8730 "alias" : "iops_wr_max_length"
de0983cb 8731 },
44660702 8732 "iops_wr_max" : {
de0983cb 8733 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
8734 "format_description" : "iops",
8735 "optional" : 1,
8736 "type" : "integer"
8737 },
5d9c884c
DM
8738 "iops_wr_max_length" : {
8739 "description" : "Maximum length of write I/O bursts in seconds.",
8740 "format_description" : "seconds",
8741 "minimum" : 1,
8742 "optional" : 1,
8743 "type" : "integer"
8744 },
44660702 8745 "mbps" : {
de0983cb 8746 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
8747 "format_description" : "mbps",
8748 "optional" : 1,
8749 "type" : "number"
8750 },
8751 "mbps_max" : {
de0983cb 8752 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
8753 "format_description" : "mbps",
8754 "optional" : 1,
8755 "type" : "number"
8756 },
8757 "mbps_rd" : {
de0983cb 8758 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
8759 "format_description" : "mbps",
8760 "optional" : 1,
8761 "type" : "number"
8762 },
8763 "mbps_rd_max" : {
de0983cb 8764 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
8765 "format_description" : "mbps",
8766 "optional" : 1,
8767 "type" : "number"
8768 },
8769 "mbps_wr" : {
de0983cb 8770 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
8771 "format_description" : "mbps",
8772 "optional" : 1,
8773 "type" : "number"
8774 },
8775 "mbps_wr_max" : {
de0983cb 8776 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
8777 "format_description" : "mbps",
8778 "optional" : 1,
8779 "type" : "number"
8780 },
8781 "media" : {
8782 "default" : "disk",
8783 "description" : "The drive's media type.",
8784 "enum" : [
8785 "cdrom",
8786 "disk"
8787 ],
56122987 8788 "optional" : 1,
44660702
DM
8789 "type" : "string"
8790 },
5d9c884c
DM
8791 "replicate" : {
8792 "default" : 1,
8793 "description" : "Whether the drive should considered for replication jobs.",
8794 "optional" : 1,
8795 "type" : "boolean"
8796 },
44660702 8797 "rerror" : {
7aacca6f
DM
8798 "description" : "Read error action.",
8799 "enum" : [
8800 "ignore",
8801 "report",
8802 "stop"
44660702 8803 ],
56122987 8804 "optional" : 1,
44660702 8805 "type" : "string"
56122987 8806 },
7aacca6f 8807 "secs" : {
44660702 8808 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 8809 "optional" : 1,
44660702 8810 "type" : "integer"
56122987 8811 },
44660702
DM
8812 "serial" : {
8813 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
8814 "format" : "urlencoded",
8815 "format_description" : "serial",
8816 "maxLength" : 60,
56122987 8817 "optional" : 1,
44660702 8818 "type" : "string"
56122987 8819 },
44660702
DM
8820 "size" : {
8821 "description" : "Disk size. This is purely informational and has no effect.",
8822 "format" : "disk-size",
f004f5b9 8823 "format_description" : "DiskSize",
56122987 8824 "optional" : 1,
44660702 8825 "type" : "string"
56122987
DM
8826 },
8827 "snapshot" : {
7aacca6f 8828 "description" : "Whether the drive should be included when making snapshots.",
56122987 8829 "optional" : 1,
44660702 8830 "type" : "boolean"
56122987 8831 },
56122987 8832 "trans" : {
7aacca6f 8833 "description" : "Force disk geometry bios translation mode.",
56122987
DM
8834 "enum" : [
8835 "none",
8836 "lba",
8837 "auto"
8838 ],
8839 "optional" : 1,
44660702 8840 "type" : "string"
56122987 8841 },
44660702
DM
8842 "volume" : {
8843 "alias" : "file"
56122987 8844 },
7aacca6f 8845 "werror" : {
44660702 8846 "description" : "Write error action.",
56122987 8847 "enum" : [
7aacca6f 8848 "enospc",
56122987 8849 "ignore",
7aacca6f
DM
8850 "report",
8851 "stop"
8852 ],
7aacca6f 8853 "optional" : 1,
44660702
DM
8854 "type" : "string"
8855 }
8856 },
8857 "optional" : 1,
4bd7df8b 8858 "type" : "string",
5d9c884c 8859 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
8860 },
8861 "scsi[n]" : {
8862 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
8863 "format" : {
8864 "aio" : {
7aacca6f 8865 "description" : "AIO type to use.",
56122987
DM
8866 "enum" : [
8867 "native",
8868 "threads"
44660702 8869 ],
56122987 8870 "optional" : 1,
44660702 8871 "type" : "string"
56122987 8872 },
7aacca6f 8873 "backup" : {
7aacca6f 8874 "description" : "Whether the drive should be included when making backups.",
7aacca6f 8875 "optional" : 1,
44660702 8876 "type" : "boolean"
56122987 8877 },
44660702 8878 "bps" : {
de0983cb 8879 "description" : "Maximum r/w speed in bytes per second.",
44660702 8880 "format_description" : "bps",
7aacca6f 8881 "optional" : 1,
44660702 8882 "type" : "integer"
7aacca6f 8883 },
de0983cb
DM
8884 "bps_max_length" : {
8885 "description" : "Maximum length of I/O bursts in seconds.",
8886 "format_description" : "seconds",
8887 "minimum" : 1,
8888 "optional" : 1,
8889 "type" : "integer"
8890 },
44660702 8891 "bps_rd" : {
de0983cb 8892 "description" : "Maximum read speed in bytes per second.",
44660702 8893 "format_description" : "bps",
56122987 8894 "optional" : 1,
44660702 8895 "type" : "integer"
56122987 8896 },
de0983cb 8897 "bps_rd_length" : {
5d9c884c
DM
8898 "alias" : "bps_rd_max_length"
8899 },
8900 "bps_rd_max_length" : {
de0983cb
DM
8901 "description" : "Maximum length of read I/O bursts in seconds.",
8902 "format_description" : "seconds",
8903 "minimum" : 1,
8904 "optional" : 1,
8905 "type" : "integer"
8906 },
44660702 8907 "bps_wr" : {
de0983cb 8908 "description" : "Maximum write speed in bytes per second.",
44660702 8909 "format_description" : "bps",
56122987 8910 "optional" : 1,
44660702 8911 "type" : "integer"
56122987 8912 },
de0983cb 8913 "bps_wr_length" : {
5d9c884c
DM
8914 "alias" : "bps_wr_max_length"
8915 },
8916 "bps_wr_max_length" : {
de0983cb
DM
8917 "description" : "Maximum length of write I/O bursts in seconds.",
8918 "format_description" : "seconds",
8919 "minimum" : 1,
8920 "optional" : 1,
8921 "type" : "integer"
8922 },
44660702
DM
8923 "cache" : {
8924 "description" : "The drive's cache mode",
8925 "enum" : [
8926 "none",
8927 "writethrough",
8928 "writeback",
8929 "unsafe",
8930 "directsync"
8931 ],
56122987 8932 "optional" : 1,
44660702
DM
8933 "type" : "string"
8934 },
8935 "cyls" : {
8936 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
8937 "optional" : 1,
8938 "type" : "integer"
8939 },
8940 "detect_zeroes" : {
8941 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
8942 "optional" : 1,
8943 "type" : "boolean"
8944 },
8945 "discard" : {
8946 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
8947 "enum" : [
8948 "ignore",
8949 "on"
8950 ],
44660702
DM
8951 "optional" : 1,
8952 "type" : "string"
8953 },
8954 "file" : {
8955 "default_key" : 1,
8956 "description" : "The drive's backing volume.",
8957 "format" : "pve-volume-id-or-qm-path",
8958 "format_description" : "volume",
8959 "type" : "string"
56122987 8960 },
7aacca6f 8961 "format" : {
44660702 8962 "description" : "The drive's backing file's data format.",
7aacca6f
DM
8963 "enum" : [
8964 "raw",
8965 "cow",
8966 "qcow",
8967 "qed",
8968 "qcow2",
8969 "vmdk",
8970 "cloop"
8971 ],
56122987 8972 "optional" : 1,
44660702 8973 "type" : "string"
56122987 8974 },
44660702
DM
8975 "heads" : {
8976 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 8977 "optional" : 1,
44660702 8978 "type" : "integer"
56122987 8979 },
44660702 8980 "iops" : {
de0983cb 8981 "description" : "Maximum r/w I/O in operations per second.",
44660702 8982 "format_description" : "iops",
7aacca6f 8983 "optional" : 1,
44660702 8984 "type" : "integer"
56122987 8985 },
44660702 8986 "iops_max" : {
de0983cb 8987 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
7aacca6f 8988 "format_description" : "iops",
7aacca6f 8989 "optional" : 1,
44660702 8990 "type" : "integer"
56122987 8991 },
de0983cb
DM
8992 "iops_max_length" : {
8993 "description" : "Maximum length of I/O bursts in seconds.",
8994 "format_description" : "seconds",
8995 "minimum" : 1,
8996 "optional" : 1,
8997 "type" : "integer"
8998 },
44660702 8999 "iops_rd" : {
de0983cb 9000 "description" : "Maximum read I/O in operations per second.",
44660702 9001 "format_description" : "iops",
56122987 9002 "optional" : 1,
44660702 9003 "type" : "integer"
56122987 9004 },
de0983cb 9005 "iops_rd_length" : {
5d9c884c 9006 "alias" : "iops_rd_max_length"
de0983cb 9007 },
44660702 9008 "iops_rd_max" : {
de0983cb 9009 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 9010 "format_description" : "iops",
56122987 9011 "optional" : 1,
44660702 9012 "type" : "integer"
56122987 9013 },
5d9c884c
DM
9014 "iops_rd_max_length" : {
9015 "description" : "Maximum length of read I/O bursts in seconds.",
9016 "format_description" : "seconds",
9017 "minimum" : 1,
9018 "optional" : 1,
9019 "type" : "integer"
9020 },
44660702 9021 "iops_wr" : {
de0983cb 9022 "description" : "Maximum write I/O in operations per second.",
44660702 9023 "format_description" : "iops",
56122987 9024 "optional" : 1,
44660702 9025 "type" : "integer"
56122987 9026 },
de0983cb 9027 "iops_wr_length" : {
5d9c884c 9028 "alias" : "iops_wr_max_length"
de0983cb 9029 },
44660702 9030 "iops_wr_max" : {
de0983cb 9031 "description" : "Maximum unthrottled write I/O pool in operations per second.",
7aacca6f 9032 "format_description" : "iops",
44660702
DM
9033 "optional" : 1,
9034 "type" : "integer"
7aacca6f 9035 },
5d9c884c
DM
9036 "iops_wr_max_length" : {
9037 "description" : "Maximum length of write I/O bursts in seconds.",
9038 "format_description" : "seconds",
9039 "minimum" : 1,
9040 "optional" : 1,
9041 "type" : "integer"
9042 },
7aacca6f 9043 "iothread" : {
44660702 9044 "description" : "Whether to use iothreads for this drive",
56122987 9045 "optional" : 1,
44660702 9046 "type" : "boolean"
56122987 9047 },
44660702 9048 "mbps" : {
de0983cb 9049 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9050 "format_description" : "mbps",
56122987 9051 "optional" : 1,
44660702 9052 "type" : "number"
56122987 9053 },
44660702 9054 "mbps_max" : {
de0983cb 9055 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9056 "format_description" : "mbps",
56122987 9057 "optional" : 1,
44660702 9058 "type" : "number"
56122987 9059 },
44660702 9060 "mbps_rd" : {
de0983cb 9061 "description" : "Maximum read speed in megabytes per second.",
44660702 9062 "format_description" : "mbps",
7aacca6f 9063 "optional" : 1,
44660702 9064 "type" : "number"
56122987 9065 },
44660702 9066 "mbps_rd_max" : {
de0983cb 9067 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 9068 "format_description" : "mbps",
7aacca6f 9069 "optional" : 1,
44660702 9070 "type" : "number"
7aacca6f 9071 },
44660702 9072 "mbps_wr" : {
de0983cb 9073 "description" : "Maximum write speed in megabytes per second.",
44660702 9074 "format_description" : "mbps",
56122987 9075 "optional" : 1,
44660702 9076 "type" : "number"
56122987 9077 },
44660702 9078 "mbps_wr_max" : {
de0983cb 9079 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 9080 "format_description" : "mbps",
56122987 9081 "optional" : 1,
44660702
DM
9082 "type" : "number"
9083 },
9084 "media" : {
9085 "default" : "disk",
9086 "description" : "The drive's media type.",
7aacca6f 9087 "enum" : [
44660702
DM
9088 "cdrom",
9089 "disk"
7aacca6f 9090 ],
56122987 9091 "optional" : 1,
44660702 9092 "type" : "string"
56122987 9093 },
7aacca6f 9094 "queues" : {
44660702 9095 "description" : "Number of queues.",
7aacca6f 9096 "minimum" : 2,
7aacca6f
DM
9097 "optional" : 1,
9098 "type" : "integer"
56122987 9099 },
5d9c884c
DM
9100 "replicate" : {
9101 "default" : 1,
9102 "description" : "Whether the drive should considered for replication jobs.",
9103 "optional" : 1,
9104 "type" : "boolean"
9105 },
9106 "rerror" : {
9107 "description" : "Read error action.",
9108 "enum" : [
9109 "ignore",
9110 "report",
9111 "stop"
9112 ],
9113 "optional" : 1,
9114 "type" : "string"
9115 },
52e44c50
FG
9116 "scsiblock" : {
9117 "default" : 0,
9118 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
9119 "optional" : 1,
9120 "type" : "boolean"
9121 },
44660702
DM
9122 "secs" : {
9123 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9124 "optional" : 1,
44660702 9125 "type" : "integer"
56122987 9126 },
44660702
DM
9127 "serial" : {
9128 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
9129 "format" : "urlencoded",
9130 "format_description" : "serial",
9131 "maxLength" : 60,
56122987 9132 "optional" : 1,
44660702 9133 "type" : "string"
56122987 9134 },
44660702
DM
9135 "size" : {
9136 "description" : "Disk size. This is purely informational and has no effect.",
9137 "format" : "disk-size",
f004f5b9 9138 "format_description" : "DiskSize",
44660702
DM
9139 "optional" : 1,
9140 "type" : "string"
9141 },
9142 "snapshot" : {
9143 "description" : "Whether the drive should be included when making snapshots.",
56122987 9144 "optional" : 1,
44660702
DM
9145 "type" : "boolean"
9146 },
9147 "trans" : {
9148 "description" : "Force disk geometry bios translation mode.",
56122987 9149 "enum" : [
44660702
DM
9150 "none",
9151 "lba",
9152 "auto"
56122987 9153 ],
44660702
DM
9154 "optional" : 1,
9155 "type" : "string"
9156 },
9157 "volume" : {
9158 "alias" : "file"
56122987 9159 },
7aacca6f 9160 "werror" : {
7aacca6f
DM
9161 "description" : "Write error action.",
9162 "enum" : [
9163 "enospc",
9164 "ignore",
9165 "report",
9166 "stop"
44660702 9167 ],
56122987 9168 "optional" : 1,
7aacca6f 9169 "type" : "string"
56122987 9170 }
44660702 9171 },
56122987 9172 "optional" : 1,
4bd7df8b 9173 "type" : "string",
5d9c884c 9174 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987
DM
9175 },
9176 "scsihw" : {
44660702 9177 "default" : "lsi",
c2993fe5 9178 "description" : "SCSI controller model",
56122987
DM
9179 "enum" : [
9180 "lsi",
9181 "lsi53c810",
9182 "virtio-scsi-pci",
9183 "virtio-scsi-single",
9184 "megasas",
9185 "pvscsi"
9186 ],
9187 "optional" : 1,
56122987
DM
9188 "type" : "string"
9189 },
44660702 9190 "serial[n]" : {
c2993fe5 9191 "description" : "Create a serial device inside the VM (n is 0 to 3)",
56122987 9192 "optional" : 1,
44660702 9193 "pattern" : "(/dev/.+|socket)",
c2993fe5 9194 "type" : "string",
57b78691 9195 "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 9196 },
44660702
DM
9197 "shares" : {
9198 "default" : 1000,
9199 "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",
9200 "maximum" : 50000,
9201 "minimum" : 0,
7aacca6f 9202 "optional" : 1,
4bd7df8b 9203 "type" : "integer",
013dc89f 9204 "typetext" : "<integer> (0 - 50000)"
56122987 9205 },
7aacca6f
DM
9206 "skiplock" : {
9207 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 9208 "optional" : 1,
013dc89f
DM
9209 "type" : "boolean",
9210 "typetext" : "<boolean>"
56122987 9211 },
44660702
DM
9212 "smbios1" : {
9213 "description" : "Specify SMBIOS type 1 fields.",
9214 "format" : "pve-qm-smbios1",
9215 "maxLength" : 256,
56122987 9216 "optional" : 1,
4bd7df8b
DM
9217 "type" : "string",
9218 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
56122987 9219 },
44660702
DM
9220 "smp" : {
9221 "default" : 1,
9222 "description" : "The number of CPUs. Please use option -sockets instead.",
9223 "minimum" : 1,
56122987 9224 "optional" : 1,
4bd7df8b 9225 "type" : "integer",
013dc89f 9226 "typetext" : "<integer> (1 - N)"
56122987 9227 },
44660702
DM
9228 "sockets" : {
9229 "default" : 1,
9230 "description" : "The number of CPU sockets.",
9231 "minimum" : 1,
56122987 9232 "optional" : 1,
4bd7df8b 9233 "type" : "integer",
013dc89f 9234 "typetext" : "<integer> (1 - N)"
56122987 9235 },
44660702
DM
9236 "startdate" : {
9237 "default" : "now",
9238 "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'.",
9239 "optional" : 1,
9240 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
7aacca6f 9241 "type" : "string",
44660702
DM
9242 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
9243 },
9244 "startup" : {
9245 "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.",
9246 "format" : "pve-startup-order",
7aacca6f 9247 "optional" : 1,
44660702
DM
9248 "type" : "string",
9249 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 9250 },
44660702
DM
9251 "tablet" : {
9252 "default" : 1,
c2993fe5 9253 "description" : "Enable/disable the USB tablet device.",
7aacca6f 9254 "optional" : 1,
c2993fe5 9255 "type" : "boolean",
013dc89f 9256 "typetext" : "<boolean>",
c2993fe5 9257 "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 9258 },
44660702
DM
9259 "tdf" : {
9260 "default" : 0,
9261 "description" : "Enable/disable time drift fix.",
7aacca6f 9262 "optional" : 1,
013dc89f
DM
9263 "type" : "boolean",
9264 "typetext" : "<boolean>"
7aacca6f 9265 },
44660702
DM
9266 "template" : {
9267 "default" : 0,
9268 "description" : "Enable/disable Template.",
7aacca6f 9269 "optional" : 1,
013dc89f
DM
9270 "type" : "boolean",
9271 "typetext" : "<boolean>"
7aacca6f 9272 },
44660702 9273 "unused[n]" : {
c2993fe5 9274 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 9275 "format" : "pve-volume-id",
7aacca6f 9276 "optional" : 1,
013dc89f
DM
9277 "type" : "string",
9278 "typetext" : "<string>"
7aacca6f 9279 },
44660702 9280 "usb[n]" : {
c2993fe5 9281 "description" : "Configure an USB device (n is 0 to 4).",
56122987 9282 "format" : {
44660702
DM
9283 "host" : {
9284 "default_key" : 1,
c2993fe5 9285 "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
9286 "format" : "pve-qm-usb-device",
9287 "format_description" : "HOSTUSBDEVICE|spice",
9288 "type" : "string"
7aacca6f 9289 },
44660702 9290 "usb3" : {
c2993fe5
DM
9291 "default" : 0,
9292 "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 9293 "optional" : 1,
44660702 9294 "type" : "boolean"
7aacca6f 9295 }
44660702 9296 },
7aacca6f 9297 "optional" : 1,
4bd7df8b
DM
9298 "type" : "string",
9299 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
7aacca6f 9300 },
44660702 9301 "vcpus" : {
7aacca6f 9302 "default" : 0,
44660702
DM
9303 "description" : "Number of hotplugged vcpus.",
9304 "minimum" : 1,
7aacca6f 9305 "optional" : 1,
4bd7df8b 9306 "type" : "integer",
013dc89f 9307 "typetext" : "<integer> (1 - N)"
7aacca6f 9308 },
44660702 9309 "vga" : {
c2993fe5 9310 "description" : "Select the VGA type.",
44660702
DM
9311 "enum" : [
9312 "std",
9313 "cirrus",
9314 "vmware",
9315 "qxl",
9316 "serial0",
9317 "serial1",
9318 "serial2",
9319 "serial3",
9320 "qxl2",
9321 "qxl3",
9322 "qxl4"
9323 ],
7aacca6f 9324 "optional" : 1,
c2993fe5
DM
9325 "type" : "string",
9326 "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 9327 },
44660702
DM
9328 "virtio[n]" : {
9329 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
7aacca6f 9330 "format" : {
7aacca6f 9331 "aio" : {
7aacca6f 9332 "description" : "AIO type to use.",
56122987 9333 "enum" : [
7aacca6f
DM
9334 "native",
9335 "threads"
7aacca6f 9336 ],
44660702
DM
9337 "optional" : 1,
9338 "type" : "string"
56122987 9339 },
44660702
DM
9340 "backup" : {
9341 "description" : "Whether the drive should be included when making backups.",
56122987 9342 "optional" : 1,
44660702 9343 "type" : "boolean"
7aacca6f 9344 },
44660702 9345 "bps" : {
de0983cb 9346 "description" : "Maximum r/w speed in bytes per second.",
44660702 9347 "format_description" : "bps",
7aacca6f 9348 "optional" : 1,
44660702 9349 "type" : "integer"
56122987 9350 },
de0983cb
DM
9351 "bps_max_length" : {
9352 "description" : "Maximum length of I/O bursts in seconds.",
9353 "format_description" : "seconds",
9354 "minimum" : 1,
9355 "optional" : 1,
9356 "type" : "integer"
9357 },
56122987 9358 "bps_rd" : {
de0983cb 9359 "description" : "Maximum read speed in bytes per second.",
44660702 9360 "format_description" : "bps",
56122987 9361 "optional" : 1,
7aacca6f 9362 "type" : "integer"
56122987 9363 },
de0983cb 9364 "bps_rd_length" : {
5d9c884c
DM
9365 "alias" : "bps_rd_max_length"
9366 },
9367 "bps_rd_max_length" : {
de0983cb
DM
9368 "description" : "Maximum length of read I/O bursts in seconds.",
9369 "format_description" : "seconds",
9370 "minimum" : 1,
9371 "optional" : 1,
9372 "type" : "integer"
9373 },
44660702 9374 "bps_wr" : {
de0983cb 9375 "description" : "Maximum write speed in bytes per second.",
44660702 9376 "format_description" : "bps",
56122987 9377 "optional" : 1,
7aacca6f 9378 "type" : "integer"
56122987 9379 },
de0983cb 9380 "bps_wr_length" : {
5d9c884c
DM
9381 "alias" : "bps_wr_max_length"
9382 },
9383 "bps_wr_max_length" : {
de0983cb
DM
9384 "description" : "Maximum length of write I/O bursts in seconds.",
9385 "format_description" : "seconds",
9386 "minimum" : 1,
9387 "optional" : 1,
9388 "type" : "integer"
9389 },
7aacca6f 9390 "cache" : {
44660702 9391 "description" : "The drive's cache mode",
7aacca6f
DM
9392 "enum" : [
9393 "none",
9394 "writethrough",
9395 "writeback",
9396 "unsafe",
9397 "directsync"
9398 ],
56122987 9399 "optional" : 1,
44660702 9400 "type" : "string"
7aacca6f 9401 },
44660702
DM
9402 "cyls" : {
9403 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
9404 "optional" : 1,
9405 "type" : "integer"
9406 },
9407 "detect_zeroes" : {
9408 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
9409 "optional" : 1,
9410 "type" : "boolean"
9411 },
9412 "discard" : {
9413 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
56122987 9414 "enum" : [
44660702
DM
9415 "ignore",
9416 "on"
56122987
DM
9417 ],
9418 "optional" : 1,
44660702 9419 "type" : "string"
56122987 9420 },
44660702
DM
9421 "file" : {
9422 "default_key" : 1,
9423 "description" : "The drive's backing volume.",
9424 "format" : "pve-volume-id-or-qm-path",
9425 "format_description" : "volume",
9426 "type" : "string"
9427 },
9428 "format" : {
9429 "description" : "The drive's backing file's data format.",
9430 "enum" : [
9431 "raw",
9432 "cow",
9433 "qcow",
9434 "qed",
9435 "qcow2",
9436 "vmdk",
9437 "cloop"
9438 ],
56122987 9439 "optional" : 1,
44660702 9440 "type" : "string"
56122987 9441 },
44660702
DM
9442 "heads" : {
9443 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
9444 "optional" : 1,
9445 "type" : "integer"
9446 },
9447 "iops" : {
de0983cb 9448 "description" : "Maximum r/w I/O in operations per second.",
44660702 9449 "format_description" : "iops",
56122987 9450 "optional" : 1,
44660702
DM
9451 "type" : "integer"
9452 },
9453 "iops_max" : {
de0983cb 9454 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
9455 "format_description" : "iops",
9456 "optional" : 1,
9457 "type" : "integer"
56122987 9458 },
de0983cb
DM
9459 "iops_max_length" : {
9460 "description" : "Maximum length of I/O bursts in seconds.",
9461 "format_description" : "seconds",
9462 "minimum" : 1,
9463 "optional" : 1,
9464 "type" : "integer"
9465 },
7aacca6f 9466 "iops_rd" : {
de0983cb 9467 "description" : "Maximum read I/O in operations per second.",
7aacca6f 9468 "format_description" : "iops",
7aacca6f 9469 "optional" : 1,
44660702 9470 "type" : "integer"
56122987 9471 },
de0983cb 9472 "iops_rd_length" : {
5d9c884c 9473 "alias" : "iops_rd_max_length"
de0983cb 9474 },
44660702 9475 "iops_rd_max" : {
de0983cb 9476 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
9477 "format_description" : "iops",
9478 "optional" : 1,
9479 "type" : "integer"
9480 },
5d9c884c
DM
9481 "iops_rd_max_length" : {
9482 "description" : "Maximum length of read I/O bursts in seconds.",
9483 "format_description" : "seconds",
9484 "minimum" : 1,
9485 "optional" : 1,
9486 "type" : "integer"
9487 },
44660702 9488 "iops_wr" : {
de0983cb 9489 "description" : "Maximum write I/O in operations per second.",
44660702
DM
9490 "format_description" : "iops",
9491 "optional" : 1,
9492 "type" : "integer"
9493 },
de0983cb 9494 "iops_wr_length" : {
5d9c884c 9495 "alias" : "iops_wr_max_length"
de0983cb 9496 },
44660702 9497 "iops_wr_max" : {
de0983cb 9498 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
9499 "format_description" : "iops",
9500 "optional" : 1,
9501 "type" : "integer"
9502 },
5d9c884c
DM
9503 "iops_wr_max_length" : {
9504 "description" : "Maximum length of write I/O bursts in seconds.",
9505 "format_description" : "seconds",
9506 "minimum" : 1,
9507 "optional" : 1,
9508 "type" : "integer"
9509 },
44660702
DM
9510 "iothread" : {
9511 "description" : "Whether to use iothreads for this drive",
44660702
DM
9512 "optional" : 1,
9513 "type" : "boolean"
9514 },
9515 "mbps" : {
de0983cb 9516 "description" : "Maximum r/w speed in megabytes per second.",
44660702 9517 "format_description" : "mbps",
7aacca6f 9518 "optional" : 1,
44660702 9519 "type" : "number"
7aacca6f
DM
9520 },
9521 "mbps_max" : {
de0983cb 9522 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 9523 "format_description" : "mbps",
56122987 9524 "optional" : 1,
44660702 9525 "type" : "number"
56122987 9526 },
44660702 9527 "mbps_rd" : {
de0983cb 9528 "description" : "Maximum read speed in megabytes per second.",
44660702 9529 "format_description" : "mbps",
56122987 9530 "optional" : 1,
44660702 9531 "type" : "number"
56122987 9532 },
44660702 9533 "mbps_rd_max" : {
de0983cb 9534 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
9535 "format_description" : "mbps",
9536 "optional" : 1,
9537 "type" : "number"
9538 },
9539 "mbps_wr" : {
de0983cb 9540 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
9541 "format_description" : "mbps",
9542 "optional" : 1,
9543 "type" : "number"
9544 },
9545 "mbps_wr_max" : {
de0983cb 9546 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
9547 "format_description" : "mbps",
9548 "optional" : 1,
9549 "type" : "number"
9550 },
9551 "media" : {
9552 "default" : "disk",
9553 "description" : "The drive's media type.",
56122987 9554 "enum" : [
44660702
DM
9555 "cdrom",
9556 "disk"
56122987
DM
9557 ],
9558 "optional" : 1,
44660702 9559 "type" : "string"
56122987 9560 },
5d9c884c
DM
9561 "replicate" : {
9562 "default" : 1,
9563 "description" : "Whether the drive should considered for replication jobs.",
9564 "optional" : 1,
9565 "type" : "boolean"
9566 },
44660702
DM
9567 "rerror" : {
9568 "description" : "Read error action.",
9569 "enum" : [
9570 "ignore",
9571 "report",
9572 "stop"
9573 ],
56122987 9574 "optional" : 1,
44660702 9575 "type" : "string"
56122987 9576 },
44660702
DM
9577 "secs" : {
9578 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 9579 "optional" : 1,
44660702 9580 "type" : "integer"
56122987 9581 },
7aacca6f
DM
9582 "serial" : {
9583 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
7aacca6f 9584 "format" : "urlencoded",
44660702 9585 "format_description" : "serial",
7aacca6f 9586 "maxLength" : 60,
44660702
DM
9587 "optional" : 1,
9588 "type" : "string"
56122987 9589 },
44660702
DM
9590 "size" : {
9591 "description" : "Disk size. This is purely informational and has no effect.",
9592 "format" : "disk-size",
f004f5b9 9593 "format_description" : "DiskSize",
44660702
DM
9594 "optional" : 1,
9595 "type" : "string"
56122987 9596 },
44660702
DM
9597 "snapshot" : {
9598 "description" : "Whether the drive should be included when making snapshots.",
56122987 9599 "optional" : 1,
44660702 9600 "type" : "boolean"
56122987 9601 },
44660702
DM
9602 "trans" : {
9603 "description" : "Force disk geometry bios translation mode.",
9604 "enum" : [
9605 "none",
9606 "lba",
9607 "auto"
9608 ],
7aacca6f 9609 "optional" : 1,
44660702 9610 "type" : "string"
7aacca6f 9611 },
44660702
DM
9612 "volume" : {
9613 "alias" : "file"
9614 },
9615 "werror" : {
9616 "description" : "Write error action.",
9617 "enum" : [
9618 "enospc",
9619 "ignore",
9620 "report",
9621 "stop"
9622 ],
7aacca6f 9623 "optional" : 1,
44660702 9624 "type" : "string"
56122987
DM
9625 }
9626 },
7aacca6f 9627 "optional" : 1,
4bd7df8b 9628 "type" : "string",
5d9c884c 9629 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 9630 },
44660702
DM
9631 "vmid" : {
9632 "description" : "The (unique) ID of the VM.",
9633 "format" : "pve-vmid",
9634 "minimum" : 1,
4bd7df8b 9635 "type" : "integer",
013dc89f 9636 "typetext" : "<integer> (1 - N)"
56122987 9637 },
44660702 9638 "watchdog" : {
c2993fe5 9639 "description" : "Create a virtual hardware watchdog device.",
44660702 9640 "format" : "pve-qm-watchdog",
56122987 9641 "optional" : 1,
c2993fe5 9642 "type" : "string",
013dc89f 9643 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 9644 "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 9645 }
7aacca6f 9646 }
56122987 9647 },
56122987
DM
9648 "permissions" : {
9649 "check" : [
9650 "perm",
9651 "/vms/{vmid}",
9652 [
9653 "VM.Config.Disk",
9654 "VM.Config.CDROM",
9655 "VM.Config.CPU",
9656 "VM.Config.Memory",
9657 "VM.Config.Network",
9658 "VM.Config.HWType",
9659 "VM.Config.Options"
9660 ],
9661 "any",
9662 1
9663 ]
9664 },
44660702 9665 "protected" : 1,
7aacca6f 9666 "proxyto" : "node",
56122987 9667 "returns" : {
7aacca6f
DM
9668 "type" : "null"
9669 }
9670 }
9671 },
44660702
DM
9672 "leaf" : 1,
9673 "path" : "/nodes/{node}/qemu/{vmid}/config",
7aacca6f
DM
9674 "text" : "config"
9675 },
9676 {
9677 "info" : {
56122987 9678 "GET" : {
44660702 9679 "description" : "Get virtual machine configuration, including pending changes.",
56122987 9680 "method" : "GET",
44660702 9681 "name" : "vm_pending",
7aacca6f 9682 "parameters" : {
44660702 9683 "additionalProperties" : 0,
7aacca6f
DM
9684 "properties" : {
9685 "node" : {
7aacca6f 9686 "description" : "The cluster node name.",
44660702 9687 "format" : "pve-node",
013dc89f
DM
9688 "type" : "string",
9689 "typetext" : "<string>"
7aacca6f
DM
9690 },
9691 "vmid" : {
44660702 9692 "description" : "The (unique) ID of the VM.",
7aacca6f 9693 "format" : "pve-vmid",
44660702 9694 "minimum" : 1,
4bd7df8b 9695 "type" : "integer",
013dc89f 9696 "typetext" : "<integer> (1 - N)"
7aacca6f 9697 }
44660702 9698 }
7aacca6f 9699 },
56122987
DM
9700 "permissions" : {
9701 "check" : [
9702 "perm",
9703 "/vms/{vmid}",
9704 [
9705 "VM.Audit"
9706 ]
9707 ]
9708 },
7aacca6f 9709 "proxyto" : "node",
44660702
DM
9710 "returns" : {
9711 "items" : {
9712 "properties" : {
9713 "delete" : {
9714 "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
9715 "maximum" : 2,
9716 "minimum" : 0,
9717 "optional" : 1,
9718 "type" : "integer"
9719 },
9720 "key" : {
9721 "description" : "Configuration option name.",
9722 "type" : "string"
9723 },
9724 "pending" : {
9725 "description" : "Pending value.",
9726 "optional" : 1,
9727 "type" : "string"
9728 },
9729 "value" : {
9730 "description" : "Current value.",
9731 "optional" : 1,
9732 "type" : "string"
9733 }
9734 },
9735 "type" : "object"
9736 },
9737 "type" : "array"
9738 }
56122987
DM
9739 }
9740 },
7aacca6f 9741 "leaf" : 1,
44660702
DM
9742 "path" : "/nodes/{node}/qemu/{vmid}/pending",
9743 "text" : "pending"
56122987
DM
9744 },
9745 {
56122987
DM
9746 "info" : {
9747 "PUT" : {
7aacca6f 9748 "description" : "Unlink/delete disk images.",
7aacca6f 9749 "method" : "PUT",
7aacca6f 9750 "name" : "unlink",
56122987 9751 "parameters" : {
44660702 9752 "additionalProperties" : 0,
56122987 9753 "properties" : {
7aacca6f 9754 "force" : {
44660702 9755 "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 9756 "optional" : 1,
013dc89f
DM
9757 "type" : "boolean",
9758 "typetext" : "<boolean>"
7aacca6f 9759 },
56122987
DM
9760 "idlist" : {
9761 "description" : "A list of disk IDs you want to delete.",
44660702 9762 "format" : "pve-configid-list",
013dc89f
DM
9763 "type" : "string",
9764 "typetext" : "<string>"
44660702
DM
9765 },
9766 "node" : {
9767 "description" : "The cluster node name.",
9768 "format" : "pve-node",
013dc89f
DM
9769 "type" : "string",
9770 "typetext" : "<string>"
56122987
DM
9771 },
9772 "vmid" : {
7aacca6f 9773 "description" : "The (unique) ID of the VM.",
44660702 9774 "format" : "pve-vmid",
7aacca6f 9775 "minimum" : 1,
4bd7df8b 9776 "type" : "integer",
013dc89f 9777 "typetext" : "<integer> (1 - N)"
56122987 9778 }
44660702
DM
9779 }
9780 },
9781 "permissions" : {
9782 "check" : [
9783 "perm",
9784 "/vms/{vmid}",
9785 [
9786 "VM.Config.Disk"
9787 ]
9788 ]
9789 },
9790 "protected" : 1,
9791 "proxyto" : "node",
9792 "returns" : {
9793 "type" : "null"
7aacca6f 9794 }
56122987 9795 }
7aacca6f 9796 },
44660702 9797 "leaf" : 1,
7aacca6f 9798 "path" : "/nodes/{node}/qemu/{vmid}/unlink",
44660702 9799 "text" : "unlink"
56122987
DM
9800 },
9801 {
56122987
DM
9802 "info" : {
9803 "POST" : {
7aacca6f 9804 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
9805 "method" : "POST",
9806 "name" : "vncproxy",
56122987 9807 "parameters" : {
44660702 9808 "additionalProperties" : 0,
56122987 9809 "properties" : {
44660702
DM
9810 "node" : {
9811 "description" : "The cluster node name.",
9812 "format" : "pve-node",
013dc89f
DM
9813 "type" : "string",
9814 "typetext" : "<string>"
44660702 9815 },
56122987 9816 "vmid" : {
7aacca6f 9817 "description" : "The (unique) ID of the VM.",
44660702 9818 "format" : "pve-vmid",
56122987 9819 "minimum" : 1,
4bd7df8b 9820 "type" : "integer",
013dc89f 9821 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
9822 },
9823 "websocket" : {
9824 "description" : "starts websockify instead of vncproxy",
44660702 9825 "optional" : 1,
013dc89f
DM
9826 "type" : "boolean",
9827 "typetext" : "<boolean>"
56122987 9828 }
44660702 9829 }
56122987 9830 },
44660702
DM
9831 "permissions" : {
9832 "check" : [
9833 "perm",
9834 "/vms/{vmid}",
9835 [
9836 "VM.Console"
9837 ]
9838 ]
9839 },
9840 "protected" : 1,
56122987 9841 "returns" : {
7aacca6f 9842 "additionalProperties" : 0,
56122987 9843 "properties" : {
7aacca6f 9844 "cert" : {
56122987
DM
9845 "type" : "string"
9846 },
56122987
DM
9847 "port" : {
9848 "type" : "integer"
9849 },
7aacca6f
DM
9850 "ticket" : {
9851 "type" : "string"
9852 },
44660702
DM
9853 "upid" : {
9854 "type" : "string"
9855 },
7aacca6f 9856 "user" : {
56122987
DM
9857 "type" : "string"
9858 }
7aacca6f 9859 }
56122987
DM
9860 }
9861 }
9862 },
44660702
DM
9863 "leaf" : 1,
9864 "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
7aacca6f 9865 "text" : "vncproxy"
56122987
DM
9866 },
9867 {
56122987
DM
9868 "info" : {
9869 "GET" : {
44660702
DM
9870 "description" : "Opens a weksocket for VNC traffic.",
9871 "method" : "GET",
9872 "name" : "vncwebsocket",
56122987 9873 "parameters" : {
44660702 9874 "additionalProperties" : 0,
56122987 9875 "properties" : {
7aacca6f 9876 "node" : {
7aacca6f 9877 "description" : "The cluster node name.",
44660702 9878 "format" : "pve-node",
013dc89f
DM
9879 "type" : "string",
9880 "typetext" : "<string>"
7aacca6f 9881 },
44660702
DM
9882 "port" : {
9883 "description" : "Port number returned by previous vncproxy call.",
9884 "maximum" : 5999,
9885 "minimum" : 5900,
4bd7df8b 9886 "type" : "integer",
013dc89f 9887 "typetext" : "<integer> (5900 - 5999)"
56122987 9888 },
7aacca6f 9889 "vmid" : {
44660702 9890 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9891 "format" : "pve-vmid",
9892 "minimum" : 1,
4bd7df8b 9893 "type" : "integer",
013dc89f 9894 "typetext" : "<integer> (1 - N)"
44660702
DM
9895 },
9896 "vncticket" : {
9897 "description" : "Ticket from previous call to vncproxy.",
9898 "maxLength" : 512,
013dc89f
DM
9899 "type" : "string",
9900 "typetext" : "<string>"
56122987 9901 }
44660702
DM
9902 }
9903 },
9904 "permissions" : {
9905 "check" : [
9906 "perm",
9907 "/vms/{vmid}",
9908 [
9909 "VM.Console"
9910 ]
9911 ],
9912 "description" : "You also need to pass a valid ticket (vncticket)."
56122987 9913 },
7aacca6f
DM
9914 "returns" : {
9915 "properties" : {
9916 "port" : {
9917 "type" : "string"
9918 }
9919 },
9920 "type" : "object"
9921 }
56122987
DM
9922 }
9923 },
7aacca6f 9924 "leaf" : 1,
44660702
DM
9925 "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
9926 "text" : "vncwebsocket"
56122987
DM
9927 },
9928 {
9929 "info" : {
9930 "POST" : {
44660702
DM
9931 "description" : "Returns a SPICE configuration to connect to the VM.",
9932 "method" : "POST",
7aacca6f
DM
9933 "name" : "spiceproxy",
9934 "parameters" : {
44660702 9935 "additionalProperties" : 0,
56122987 9936 "properties" : {
44660702
DM
9937 "node" : {
9938 "description" : "The cluster node name.",
9939 "format" : "pve-node",
013dc89f
DM
9940 "type" : "string",
9941 "typetext" : "<string>"
44660702 9942 },
7aacca6f 9943 "proxy" : {
44660702 9944 "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 9945 "format" : "address",
7aacca6f 9946 "optional" : 1,
013dc89f
DM
9947 "type" : "string",
9948 "typetext" : "<string>"
56122987 9949 },
7aacca6f 9950 "vmid" : {
44660702 9951 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
9952 "format" : "pve-vmid",
9953 "minimum" : 1,
4bd7df8b 9954 "type" : "integer",
013dc89f 9955 "typetext" : "<integer> (1 - N)"
56122987 9956 }
44660702 9957 }
56122987 9958 },
56122987
DM
9959 "permissions" : {
9960 "check" : [
9961 "perm",
9962 "/vms/{vmid}",
9963 [
9964 "VM.Console"
9965 ]
9966 ]
9967 },
44660702
DM
9968 "protected" : 1,
9969 "proxyto" : "node",
7aacca6f 9970 "returns" : {
44660702
DM
9971 "additionalProperties" : 1,
9972 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 9973 "properties" : {
44660702 9974 "host" : {
7aacca6f
DM
9975 "type" : "string"
9976 },
7aacca6f
DM
9977 "password" : {
9978 "type" : "string"
9979 },
44660702 9980 "proxy" : {
7aacca6f
DM
9981 "type" : "string"
9982 },
44660702
DM
9983 "tls-port" : {
9984 "type" : "integer"
9985 },
9986 "type" : {
7aacca6f
DM
9987 "type" : "string"
9988 }
44660702 9989 }
7aacca6f
DM
9990 }
9991 }
9992 },
44660702
DM
9993 "leaf" : 1,
9994 "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
7aacca6f
DM
9995 "text" : "spiceproxy"
9996 },
9997 {
56122987
DM
9998 "children" : [
9999 {
56122987
DM
10000 "info" : {
10001 "GET" : {
44660702
DM
10002 "description" : "Get virtual machine status.",
10003 "method" : "GET",
10004 "name" : "vm_status",
56122987 10005 "parameters" : {
44660702 10006 "additionalProperties" : 0,
56122987 10007 "properties" : {
44660702
DM
10008 "node" : {
10009 "description" : "The cluster node name.",
10010 "format" : "pve-node",
013dc89f
DM
10011 "type" : "string",
10012 "typetext" : "<string>"
44660702 10013 },
56122987 10014 "vmid" : {
44660702 10015 "description" : "The (unique) ID of the VM.",
7aacca6f 10016 "format" : "pve-vmid",
56122987 10017 "minimum" : 1,
4bd7df8b 10018 "type" : "integer",
013dc89f 10019 "typetext" : "<integer> (1 - N)"
56122987 10020 }
44660702 10021 }
56122987
DM
10022 },
10023 "permissions" : {
10024 "check" : [
10025 "perm",
10026 "/vms/{vmid}",
10027 [
10028 "VM.Audit"
10029 ]
10030 ]
10031 },
44660702 10032 "protected" : 1,
7aacca6f 10033 "proxyto" : "node",
56122987
DM
10034 "returns" : {
10035 "type" : "object"
7aacca6f 10036 }
56122987 10037 }
7aacca6f 10038 },
7aacca6f 10039 "leaf" : 1,
44660702
DM
10040 "path" : "/nodes/{node}/qemu/{vmid}/status/current",
10041 "text" : "current"
56122987
DM
10042 },
10043 {
56122987
DM
10044 "info" : {
10045 "POST" : {
44660702 10046 "description" : "Start virtual machine.",
56122987 10047 "method" : "POST",
44660702 10048 "name" : "vm_start",
56122987 10049 "parameters" : {
44660702 10050 "additionalProperties" : 0,
56122987 10051 "properties" : {
44660702
DM
10052 "machine" : {
10053 "description" : "Specific the Qemu machine type.",
10054 "maxLength" : 40,
10055 "optional" : 1,
10056 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
10057 "type" : "string"
10058 },
10059 "migratedfrom" : {
10060 "description" : "The cluster node name.",
10061 "format" : "pve-node",
56122987 10062 "optional" : 1,
013dc89f
DM
10063 "type" : "string",
10064 "typetext" : "<string>"
56122987 10065 },
de0983cb
DM
10066 "migration_network" : {
10067 "description" : "CIDR of the (sub) network that is used for migration.",
10068 "format" : "CIDR",
10069 "optional" : 1,
013dc89f
DM
10070 "type" : "string",
10071 "typetext" : "<string>"
de0983cb
DM
10072 },
10073 "migration_type" : {
10074 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10075 "enum" : [
10076 "secure",
10077 "insecure"
10078 ],
10079 "optional" : 1,
10080 "type" : "string"
10081 },
7aacca6f 10082 "node" : {
7aacca6f 10083 "description" : "The cluster node name.",
44660702 10084 "format" : "pve-node",
013dc89f
DM
10085 "type" : "string",
10086 "typetext" : "<string>"
7aacca6f 10087 },
44660702
DM
10088 "skiplock" : {
10089 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 10090 "optional" : 1,
013dc89f
DM
10091 "type" : "boolean",
10092 "typetext" : "<boolean>"
56122987 10093 },
44660702
DM
10094 "stateuri" : {
10095 "description" : "Some command save/restore state from this location.",
10096 "maxLength" : 128,
56122987 10097 "optional" : 1,
013dc89f
DM
10098 "type" : "string",
10099 "typetext" : "<string>"
56122987 10100 },
52e44c50
FG
10101 "targetstorage" : {
10102 "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
10103 "optional" : 1,
10104 "type" : "string",
10105 "typetext" : "<string>"
10106 },
56122987 10107 "vmid" : {
7aacca6f 10108 "description" : "The (unique) ID of the VM.",
44660702
DM
10109 "format" : "pve-vmid",
10110 "minimum" : 1,
4bd7df8b 10111 "type" : "integer",
013dc89f 10112 "typetext" : "<integer> (1 - N)"
56122987 10113 }
44660702 10114 }
7aacca6f 10115 },
56122987
DM
10116 "permissions" : {
10117 "check" : [
10118 "perm",
10119 "/vms/{vmid}",
10120 [
10121 "VM.PowerMgmt"
10122 ]
10123 ]
44660702
DM
10124 },
10125 "protected" : 1,
10126 "proxyto" : "node",
10127 "returns" : {
10128 "type" : "string"
56122987
DM
10129 }
10130 }
44660702
DM
10131 },
10132 "leaf" : 1,
10133 "path" : "/nodes/{node}/qemu/{vmid}/status/start",
10134 "text" : "start"
56122987
DM
10135 },
10136 {
56122987
DM
10137 "info" : {
10138 "POST" : {
7aacca6f 10139 "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
10140 "method" : "POST",
10141 "name" : "vm_stop",
56122987 10142 "parameters" : {
44660702 10143 "additionalProperties" : 0,
56122987 10144 "properties" : {
44660702
DM
10145 "keepActive" : {
10146 "default" : 0,
de0983cb 10147 "description" : "Do not deactivate storage volumes.",
56122987 10148 "optional" : 1,
013dc89f
DM
10149 "type" : "boolean",
10150 "typetext" : "<boolean>"
56122987
DM
10151 },
10152 "migratedfrom" : {
56122987 10153 "description" : "The cluster node name.",
44660702 10154 "format" : "pve-node",
7aacca6f 10155 "optional" : 1,
013dc89f
DM
10156 "type" : "string",
10157 "typetext" : "<string>"
7aacca6f 10158 },
44660702
DM
10159 "node" : {
10160 "description" : "The cluster node name.",
10161 "format" : "pve-node",
013dc89f
DM
10162 "type" : "string",
10163 "typetext" : "<string>"
56122987
DM
10164 },
10165 "skiplock" : {
10166 "description" : "Ignore locks - only root is allowed to use this option.",
10167 "optional" : 1,
013dc89f
DM
10168 "type" : "boolean",
10169 "typetext" : "<boolean>"
56122987 10170 },
44660702
DM
10171 "timeout" : {
10172 "description" : "Wait maximal timeout seconds.",
10173 "minimum" : 0,
56122987 10174 "optional" : 1,
4bd7df8b 10175 "type" : "integer",
013dc89f 10176 "typetext" : "<integer> (0 - N)"
7aacca6f 10177 },
44660702
DM
10178 "vmid" : {
10179 "description" : "The (unique) ID of the VM.",
10180 "format" : "pve-vmid",
10181 "minimum" : 1,
4bd7df8b 10182 "type" : "integer",
013dc89f 10183 "typetext" : "<integer> (1 - N)"
56122987 10184 }
44660702 10185 }
56122987 10186 },
56122987
DM
10187 "permissions" : {
10188 "check" : [
10189 "perm",
10190 "/vms/{vmid}",
10191 [
10192 "VM.PowerMgmt"
10193 ]
10194 ]
10195 },
44660702
DM
10196 "protected" : 1,
10197 "proxyto" : "node",
7aacca6f
DM
10198 "returns" : {
10199 "type" : "string"
44660702
DM
10200 }
10201 }
10202 },
10203 "leaf" : 1,
10204 "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
10205 "text" : "stop"
10206 },
10207 {
10208 "info" : {
10209 "POST" : {
10210 "description" : "Reset virtual machine.",
10211 "method" : "POST",
10212 "name" : "vm_reset",
56122987 10213 "parameters" : {
7aacca6f 10214 "additionalProperties" : 0,
56122987 10215 "properties" : {
56122987
DM
10216 "node" : {
10217 "description" : "The cluster node name.",
44660702 10218 "format" : "pve-node",
013dc89f
DM
10219 "type" : "string",
10220 "typetext" : "<string>"
56122987
DM
10221 },
10222 "skiplock" : {
44660702 10223 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 10224 "optional" : 1,
013dc89f
DM
10225 "type" : "boolean",
10226 "typetext" : "<boolean>"
7aacca6f
DM
10227 },
10228 "vmid" : {
44660702 10229 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
10230 "format" : "pve-vmid",
10231 "minimum" : 1,
4bd7df8b 10232 "type" : "integer",
013dc89f 10233 "typetext" : "<integer> (1 - N)"
56122987 10234 }
7aacca6f 10235 }
56122987 10236 },
7aacca6f
DM
10237 "permissions" : {
10238 "check" : [
10239 "perm",
10240 "/vms/{vmid}",
10241 [
10242 "VM.PowerMgmt"
10243 ]
10244 ]
10245 },
44660702 10246 "protected" : 1,
7aacca6f 10247 "proxyto" : "node",
56122987
DM
10248 "returns" : {
10249 "type" : "string"
44660702
DM
10250 }
10251 }
10252 },
10253 "leaf" : 1,
10254 "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
10255 "text" : "reset"
10256 },
10257 {
10258 "info" : {
10259 "POST" : {
10260 "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.",
10261 "method" : "POST",
56122987 10262 "name" : "vm_shutdown",
56122987 10263 "parameters" : {
7aacca6f 10264 "additionalProperties" : 0,
56122987 10265 "properties" : {
56122987 10266 "forceStop" : {
56122987 10267 "default" : 0,
44660702 10268 "description" : "Make sure the VM stops.",
7aacca6f 10269 "optional" : 1,
013dc89f
DM
10270 "type" : "boolean",
10271 "typetext" : "<boolean>"
56122987
DM
10272 },
10273 "keepActive" : {
7aacca6f 10274 "default" : 0,
de0983cb 10275 "description" : "Do not deactivate storage volumes.",
44660702 10276 "optional" : 1,
013dc89f
DM
10277 "type" : "boolean",
10278 "typetext" : "<boolean>"
44660702
DM
10279 },
10280 "node" : {
10281 "description" : "The cluster node name.",
10282 "format" : "pve-node",
013dc89f
DM
10283 "type" : "string",
10284 "typetext" : "<string>"
44660702
DM
10285 },
10286 "skiplock" : {
10287 "description" : "Ignore locks - only root is allowed to use this option.",
10288 "optional" : 1,
013dc89f
DM
10289 "type" : "boolean",
10290 "typetext" : "<boolean>"
56122987 10291 },
7aacca6f 10292 "timeout" : {
7aacca6f 10293 "description" : "Wait maximal timeout seconds.",
44660702 10294 "minimum" : 0,
7aacca6f 10295 "optional" : 1,
4bd7df8b 10296 "type" : "integer",
013dc89f 10297 "typetext" : "<integer> (0 - N)"
7aacca6f 10298 },
56122987 10299 "vmid" : {
7aacca6f 10300 "description" : "The (unique) ID of the VM.",
44660702
DM
10301 "format" : "pve-vmid",
10302 "minimum" : 1,
4bd7df8b 10303 "type" : "integer",
013dc89f 10304 "typetext" : "<integer> (1 - N)"
56122987 10305 }
7aacca6f 10306 }
56122987 10307 },
44660702
DM
10308 "permissions" : {
10309 "check" : [
10310 "perm",
10311 "/vms/{vmid}",
10312 [
10313 "VM.PowerMgmt"
10314 ]
10315 ]
10316 },
7aacca6f 10317 "protected" : 1,
44660702
DM
10318 "proxyto" : "node",
10319 "returns" : {
10320 "type" : "string"
10321 }
56122987
DM
10322 }
10323 },
44660702 10324 "leaf" : 1,
7aacca6f 10325 "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
44660702 10326 "text" : "shutdown"
56122987
DM
10327 },
10328 {
56122987
DM
10329 "info" : {
10330 "POST" : {
44660702 10331 "description" : "Suspend virtual machine.",
56122987 10332 "method" : "POST",
44660702 10333 "name" : "vm_suspend",
7aacca6f 10334 "parameters" : {
44660702 10335 "additionalProperties" : 0,
7aacca6f
DM
10336 "properties" : {
10337 "node" : {
7aacca6f 10338 "description" : "The cluster node name.",
44660702 10339 "format" : "pve-node",
013dc89f
DM
10340 "type" : "string",
10341 "typetext" : "<string>"
7aacca6f
DM
10342 },
10343 "skiplock" : {
10344 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 10345 "optional" : 1,
013dc89f
DM
10346 "type" : "boolean",
10347 "typetext" : "<boolean>"
44660702
DM
10348 },
10349 "vmid" : {
10350 "description" : "The (unique) ID of the VM.",
10351 "format" : "pve-vmid",
10352 "minimum" : 1,
4bd7df8b 10353 "type" : "integer",
013dc89f 10354 "typetext" : "<integer> (1 - N)"
44660702
DM
10355 }
10356 }
56122987
DM
10357 },
10358 "permissions" : {
10359 "check" : [
10360 "perm",
10361 "/vms/{vmid}",
10362 [
10363 "VM.PowerMgmt"
10364 ]
10365 ]
10366 },
44660702
DM
10367 "protected" : 1,
10368 "proxyto" : "node",
10369 "returns" : {
10370 "type" : "string"
10371 }
56122987
DM
10372 }
10373 },
44660702 10374 "leaf" : 1,
7aacca6f 10375 "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
44660702 10376 "text" : "suspend"
56122987
DM
10377 },
10378 {
56122987
DM
10379 "info" : {
10380 "POST" : {
44660702
DM
10381 "description" : "Resume virtual machine.",
10382 "method" : "POST",
7aacca6f 10383 "name" : "vm_resume",
56122987
DM
10384 "parameters" : {
10385 "additionalProperties" : 0,
10386 "properties" : {
44660702
DM
10387 "nocheck" : {
10388 "optional" : 1,
013dc89f
DM
10389 "type" : "boolean",
10390 "typetext" : "<boolean>"
44660702 10391 },
7aacca6f 10392 "node" : {
44660702 10393 "description" : "The cluster node name.",
7aacca6f 10394 "format" : "pve-node",
013dc89f
DM
10395 "type" : "string",
10396 "typetext" : "<string>"
56122987
DM
10397 },
10398 "skiplock" : {
56122987 10399 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 10400 "optional" : 1,
013dc89f
DM
10401 "type" : "boolean",
10402 "typetext" : "<boolean>"
56122987 10403 },
7aacca6f 10404 "vmid" : {
7aacca6f
DM
10405 "description" : "The (unique) ID of the VM.",
10406 "format" : "pve-vmid",
44660702 10407 "minimum" : 1,
4bd7df8b 10408 "type" : "integer",
013dc89f 10409 "typetext" : "<integer> (1 - N)"
56122987
DM
10410 }
10411 }
10412 },
10413 "permissions" : {
10414 "check" : [
10415 "perm",
10416 "/vms/{vmid}",
10417 [
10418 "VM.PowerMgmt"
10419 ]
10420 ]
10421 },
44660702
DM
10422 "protected" : 1,
10423 "proxyto" : "node",
56122987
DM
10424 "returns" : {
10425 "type" : "string"
7aacca6f 10426 }
56122987
DM
10427 }
10428 },
44660702
DM
10429 "leaf" : 1,
10430 "path" : "/nodes/{node}/qemu/{vmid}/status/resume",
7aacca6f 10431 "text" : "resume"
56122987
DM
10432 }
10433 ],
10434 "info" : {
44660702
DM
10435 "GET" : {
10436 "description" : "Directory index",
10437 "method" : "GET",
10438 "name" : "vmcmdidx",
56122987 10439 "parameters" : {
44660702 10440 "additionalProperties" : 0,
56122987 10441 "properties" : {
44660702
DM
10442 "node" : {
10443 "description" : "The cluster node name.",
10444 "format" : "pve-node",
013dc89f
DM
10445 "type" : "string",
10446 "typetext" : "<string>"
7aacca6f 10447 },
56122987 10448 "vmid" : {
7aacca6f 10449 "description" : "The (unique) ID of the VM.",
44660702
DM
10450 "format" : "pve-vmid",
10451 "minimum" : 1,
4bd7df8b 10452 "type" : "integer",
013dc89f 10453 "typetext" : "<integer> (1 - N)"
56122987 10454 }
44660702 10455 }
56122987 10456 },
44660702
DM
10457 "permissions" : {
10458 "user" : "all"
10459 },
10460 "proxyto" : "node",
10461 "returns" : {
10462 "items" : {
10463 "properties" : {
10464 "subdir" : {
10465 "type" : "string"
10466 }
10467 },
10468 "type" : "object"
10469 },
10470 "links" : [
10471 {
10472 "href" : "{subdir}",
10473 "rel" : "child"
10474 }
10475 ],
10476 "type" : "array"
10477 }
56122987 10478 }
7aacca6f 10479 },
44660702
DM
10480 "leaf" : 0,
10481 "path" : "/nodes/{node}/qemu/{vmid}/status",
10482 "text" : "status"
56122987
DM
10483 },
10484 {
56122987 10485 "info" : {
44660702
DM
10486 "PUT" : {
10487 "description" : "Send key event to virtual machine.",
10488 "method" : "PUT",
10489 "name" : "vm_sendkey",
10490 "parameters" : {
10491 "additionalProperties" : 0,
56122987 10492 "properties" : {
44660702
DM
10493 "key" : {
10494 "description" : "The key (qemu monitor encoding).",
013dc89f
DM
10495 "type" : "string",
10496 "typetext" : "<string>"
44660702
DM
10497 },
10498 "node" : {
10499 "description" : "The cluster node name.",
10500 "format" : "pve-node",
013dc89f
DM
10501 "type" : "string",
10502 "typetext" : "<string>"
44660702
DM
10503 },
10504 "skiplock" : {
10505 "description" : "Ignore locks - only root is allowed to use this option.",
10506 "optional" : 1,
013dc89f
DM
10507 "type" : "boolean",
10508 "typetext" : "<boolean>"
7aacca6f 10509 },
44660702
DM
10510 "vmid" : {
10511 "description" : "The (unique) ID of the VM.",
10512 "format" : "pve-vmid",
10513 "minimum" : 1,
4bd7df8b 10514 "type" : "integer",
013dc89f 10515 "typetext" : "<integer> (1 - N)"
56122987 10516 }
7aacca6f 10517 }
56122987 10518 },
56122987
DM
10519 "permissions" : {
10520 "check" : [
10521 "perm",
10522 "/vms/{vmid}",
10523 [
44660702 10524 "VM.Console"
56122987
DM
10525 ]
10526 ]
10527 },
7aacca6f 10528 "protected" : 1,
44660702
DM
10529 "proxyto" : "node",
10530 "returns" : {
10531 "type" : "null"
10532 }
10533 }
10534 },
10535 "leaf" : 1,
10536 "path" : "/nodes/{node}/qemu/{vmid}/sendkey",
10537 "text" : "sendkey"
10538 },
10539 {
10540 "info" : {
10541 "GET" : {
10542 "description" : "Check if feature for virtual machine is available.",
10543 "method" : "GET",
7aacca6f 10544 "name" : "vm_feature",
56122987 10545 "parameters" : {
44660702 10546 "additionalProperties" : 0,
56122987 10547 "properties" : {
56122987 10548 "feature" : {
44660702 10549 "description" : "Feature to check.",
56122987
DM
10550 "enum" : [
10551 "snapshot",
10552 "clone",
10553 "copy"
10554 ],
44660702
DM
10555 "type" : "string"
10556 },
10557 "node" : {
10558 "description" : "The cluster node name.",
10559 "format" : "pve-node",
013dc89f
DM
10560 "type" : "string",
10561 "typetext" : "<string>"
56122987
DM
10562 },
10563 "snapname" : {
56122987 10564 "description" : "The name of the snapshot.",
44660702
DM
10565 "format" : "pve-configid",
10566 "maxLength" : 40,
7aacca6f 10567 "optional" : 1,
013dc89f
DM
10568 "type" : "string",
10569 "typetext" : "<string>"
7aacca6f 10570 },
44660702
DM
10571 "vmid" : {
10572 "description" : "The (unique) ID of the VM.",
10573 "format" : "pve-vmid",
10574 "minimum" : 1,
4bd7df8b 10575 "type" : "integer",
013dc89f 10576 "typetext" : "<integer> (1 - N)"
44660702
DM
10577 }
10578 }
10579 },
10580 "permissions" : {
10581 "check" : [
10582 "perm",
10583 "/vms/{vmid}",
10584 [
10585 "VM.Audit"
10586 ]
10587 ]
10588 },
10589 "protected" : 1,
10590 "proxyto" : "node",
10591 "returns" : {
10592 "properties" : {
10593 "hasFeature" : {
10594 "type" : "boolean"
10595 },
10596 "nodes" : {
10597 "items" : {
10598 "type" : "string"
10599 },
10600 "type" : "array"
56122987
DM
10601 }
10602 },
44660702 10603 "type" : "object"
56122987
DM
10604 }
10605 }
10606 },
7aacca6f 10607 "leaf" : 1,
44660702
DM
10608 "path" : "/nodes/{node}/qemu/{vmid}/feature",
10609 "text" : "feature"
56122987
DM
10610 },
10611 {
56122987
DM
10612 "info" : {
10613 "POST" : {
44660702 10614 "description" : "Create a copy of virtual machine/template.",
56122987 10615 "method" : "POST",
7aacca6f 10616 "name" : "clone_vm",
56122987
DM
10617 "parameters" : {
10618 "additionalProperties" : 0,
10619 "properties" : {
44660702
DM
10620 "description" : {
10621 "description" : "Description for the new VM.",
56122987 10622 "optional" : 1,
013dc89f
DM
10623 "type" : "string",
10624 "typetext" : "<string>"
56122987 10625 },
44660702
DM
10626 "format" : {
10627 "description" : "Target format for file storage.",
10628 "enum" : [
10629 "raw",
10630 "qcow2",
10631 "vmdk"
10632 ],
10633 "optional" : 1,
10634 "requires" : "full",
56122987
DM
10635 "type" : "string"
10636 },
44660702
DM
10637 "full" : {
10638 "default" : 0,
10639 "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 10640 "optional" : 1,
013dc89f
DM
10641 "type" : "boolean",
10642 "typetext" : "<boolean>"
44660702
DM
10643 },
10644 "name" : {
56122987 10645 "description" : "Set a name for the new VM.",
44660702
DM
10646 "format" : "dns-name",
10647 "optional" : 1,
013dc89f
DM
10648 "type" : "string",
10649 "typetext" : "<string>"
44660702
DM
10650 },
10651 "newid" : {
10652 "description" : "VMID for the clone.",
10653 "format" : "pve-vmid",
10654 "minimum" : 1,
4bd7df8b 10655 "type" : "integer",
013dc89f 10656 "typetext" : "<integer> (1 - N)"
44660702
DM
10657 },
10658 "node" : {
10659 "description" : "The cluster node name.",
10660 "format" : "pve-node",
013dc89f
DM
10661 "type" : "string",
10662 "typetext" : "<string>"
7aacca6f
DM
10663 },
10664 "pool" : {
10665 "description" : "Add the new VM to the specified pool.",
44660702 10666 "format" : "pve-poolid",
56122987 10667 "optional" : 1,
013dc89f
DM
10668 "type" : "string",
10669 "typetext" : "<string>"
56122987 10670 },
44660702
DM
10671 "snapname" : {
10672 "description" : "The name of the snapshot.",
10673 "format" : "pve-configid",
10674 "maxLength" : 40,
7aacca6f 10675 "optional" : 1,
013dc89f
DM
10676 "type" : "string",
10677 "typetext" : "<string>"
56122987 10678 },
44660702
DM
10679 "storage" : {
10680 "description" : "Target storage for full clone.",
10681 "format" : "pve-storage-id",
7aacca6f 10682 "optional" : 1,
44660702 10683 "requires" : "full",
013dc89f
DM
10684 "type" : "string",
10685 "typetext" : "<string>"
56122987 10686 },
44660702
DM
10687 "target" : {
10688 "description" : "Target node. Only allowed if the original VM is on shared storage.",
10689 "format" : "pve-node",
56122987 10690 "optional" : 1,
013dc89f
DM
10691 "type" : "string",
10692 "typetext" : "<string>"
44660702
DM
10693 },
10694 "vmid" : {
10695 "description" : "The (unique) ID of the VM.",
10696 "format" : "pve-vmid",
10697 "minimum" : 1,
4bd7df8b 10698 "type" : "integer",
013dc89f 10699 "typetext" : "<integer> (1 - N)"
56122987
DM
10700 }
10701 }
10702 },
56122987
DM
10703 "permissions" : {
10704 "check" : [
10705 "and",
10706 [
10707 "perm",
10708 "/vms/{vmid}",
10709 [
10710 "VM.Clone"
10711 ]
10712 ],
10713 [
10714 "or",
10715 [
10716 "perm",
10717 "/vms/{newid}",
10718 [
10719 "VM.Allocate"
10720 ]
10721 ],
10722 [
10723 "perm",
10724 "/pool/{pool}",
10725 [
10726 "VM.Allocate"
10727 ],
10728 "require_param",
10729 "pool"
10730 ]
10731 ]
44660702
DM
10732 ],
10733 "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."
10734 },
10735 "protected" : 1,
10736 "proxyto" : "node",
10737 "returns" : {
10738 "type" : "string"
56122987
DM
10739 }
10740 }
10741 },
44660702
DM
10742 "leaf" : 1,
10743 "path" : "/nodes/{node}/qemu/{vmid}/clone",
56122987
DM
10744 "text" : "clone"
10745 },
10746 {
56122987
DM
10747 "info" : {
10748 "POST" : {
7aacca6f 10749 "description" : "Move volume to different storage.",
44660702
DM
10750 "method" : "POST",
10751 "name" : "move_vm_disk",
56122987
DM
10752 "parameters" : {
10753 "additionalProperties" : 0,
10754 "properties" : {
10755 "delete" : {
44660702 10756 "default" : 0,
56122987 10757 "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
7aacca6f 10758 "optional" : 1,
013dc89f
DM
10759 "type" : "boolean",
10760 "typetext" : "<boolean>"
56122987 10761 },
44660702
DM
10762 "digest" : {
10763 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10764 "maxLength" : 40,
10765 "optional" : 1,
013dc89f
DM
10766 "type" : "string",
10767 "typetext" : "<string>"
56122987 10768 },
56122987 10769 "disk" : {
56122987
DM
10770 "description" : "The disk you want to move.",
10771 "enum" : [
10772 "ide0",
10773 "ide1",
10774 "ide2",
10775 "ide3",
10776 "scsi0",
10777 "scsi1",
10778 "scsi2",
10779 "scsi3",
10780 "scsi4",
10781 "scsi5",
10782 "scsi6",
10783 "scsi7",
10784 "scsi8",
10785 "scsi9",
10786 "scsi10",
10787 "scsi11",
10788 "scsi12",
10789 "scsi13",
10790 "virtio0",
10791 "virtio1",
10792 "virtio2",
10793 "virtio3",
10794 "virtio4",
10795 "virtio5",
10796 "virtio6",
10797 "virtio7",
10798 "virtio8",
10799 "virtio9",
10800 "virtio10",
10801 "virtio11",
10802 "virtio12",
10803 "virtio13",
10804 "virtio14",
10805 "virtio15",
10806 "sata0",
10807 "sata1",
10808 "sata2",
10809 "sata3",
10810 "sata4",
2c0dde61
DM
10811 "sata5",
10812 "efidisk0"
44660702
DM
10813 ],
10814 "type" : "string"
7aacca6f
DM
10815 },
10816 "format" : {
10817 "description" : "Target Format.",
10818 "enum" : [
10819 "raw",
10820 "qcow2",
10821 "vmdk"
10822 ],
10823 "optional" : 1,
10824 "type" : "string"
44660702
DM
10825 },
10826 "node" : {
10827 "description" : "The cluster node name.",
10828 "format" : "pve-node",
013dc89f
DM
10829 "type" : "string",
10830 "typetext" : "<string>"
44660702
DM
10831 },
10832 "storage" : {
10833 "description" : "Target storage.",
10834 "format" : "pve-storage-id",
013dc89f
DM
10835 "type" : "string",
10836 "typetext" : "<string>"
44660702
DM
10837 },
10838 "vmid" : {
10839 "description" : "The (unique) ID of the VM.",
10840 "format" : "pve-vmid",
10841 "minimum" : 1,
4bd7df8b 10842 "type" : "integer",
013dc89f 10843 "typetext" : "<integer> (1 - N)"
56122987
DM
10844 }
10845 }
10846 },
44660702
DM
10847 "permissions" : {
10848 "check" : [
10849 "and",
10850 [
10851 "perm",
10852 "/vms/{vmid}",
10853 [
10854 "VM.Config.Disk"
10855 ]
10856 ],
10857 [
10858 "perm",
10859 "/storage/{storage}",
10860 [
10861 "Datastore.AllocateSpace"
10862 ]
10863 ]
10864 ],
10865 "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
10866 },
10867 "protected" : 1,
10868 "proxyto" : "node",
10869 "returns" : {
10870 "description" : "the task ID.",
10871 "type" : "string"
10872 }
56122987 10873 }
7aacca6f 10874 },
44660702 10875 "leaf" : 1,
7aacca6f 10876 "path" : "/nodes/{node}/qemu/{vmid}/move_disk",
44660702 10877 "text" : "move_disk"
56122987
DM
10878 },
10879 {
56122987
DM
10880 "info" : {
10881 "POST" : {
7aacca6f 10882 "description" : "Migrate virtual machine. Creates a new migration task.",
44660702 10883 "method" : "POST",
7aacca6f 10884 "name" : "migrate_vm",
56122987 10885 "parameters" : {
44660702 10886 "additionalProperties" : 0,
56122987 10887 "properties" : {
44660702
DM
10888 "force" : {
10889 "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
10890 "optional" : 1,
013dc89f
DM
10891 "type" : "boolean",
10892 "typetext" : "<boolean>"
44660702 10893 },
de0983cb
DM
10894 "migration_network" : {
10895 "description" : "CIDR of the (sub) network that is used for migration.",
10896 "format" : "CIDR",
10897 "optional" : 1,
013dc89f
DM
10898 "type" : "string",
10899 "typetext" : "<string>"
de0983cb
DM
10900 },
10901 "migration_type" : {
10902 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
10903 "enum" : [
10904 "secure",
10905 "insecure"
10906 ],
10907 "optional" : 1,
10908 "type" : "string"
10909 },
7aacca6f 10910 "node" : {
44660702 10911 "description" : "The cluster node name.",
7aacca6f 10912 "format" : "pve-node",
013dc89f
DM
10913 "type" : "string",
10914 "typetext" : "<string>"
56122987
DM
10915 },
10916 "online" : {
44660702 10917 "description" : "Use online/live migration.",
56122987 10918 "optional" : 1,
013dc89f
DM
10919 "type" : "boolean",
10920 "typetext" : "<boolean>"
56122987 10921 },
44660702
DM
10922 "target" : {
10923 "description" : "Target node.",
10924 "format" : "pve-node",
013dc89f
DM
10925 "type" : "string",
10926 "typetext" : "<string>"
56122987 10927 },
52e44c50
FG
10928 "targetstorage" : {
10929 "description" : "Default target storage.",
10930 "format" : "pve-storage-id",
10931 "optional" : 1,
10932 "type" : "string",
10933 "typetext" : "<string>"
10934 },
7aacca6f 10935 "vmid" : {
7aacca6f 10936 "description" : "The (unique) ID of the VM.",
44660702 10937 "format" : "pve-vmid",
7aacca6f 10938 "minimum" : 1,
4bd7df8b 10939 "type" : "integer",
013dc89f 10940 "typetext" : "<integer> (1 - N)"
52e44c50
FG
10941 },
10942 "with-local-disks" : {
10943 "description" : "Enable live storage migration for local disk",
10944 "optional" : 1,
10945 "type" : "boolean",
10946 "typetext" : "<boolean>"
56122987 10947 }
44660702
DM
10948 }
10949 },
10950 "permissions" : {
10951 "check" : [
10952 "perm",
10953 "/vms/{vmid}",
10954 [
10955 "VM.Migrate"
10956 ]
10957 ]
56122987
DM
10958 },
10959 "protected" : 1,
44660702
DM
10960 "proxyto" : "node",
10961 "returns" : {
10962 "description" : "the task ID.",
10963 "type" : "string"
10964 }
56122987 10965 }
7aacca6f 10966 },
44660702
DM
10967 "leaf" : 1,
10968 "path" : "/nodes/{node}/qemu/{vmid}/migrate",
7aacca6f 10969 "text" : "migrate"
56122987
DM
10970 },
10971 {
10972 "info" : {
10973 "POST" : {
44660702 10974 "description" : "Execute Qemu monitor commands.",
56122987 10975 "method" : "POST",
44660702 10976 "name" : "monitor",
56122987 10977 "parameters" : {
7aacca6f 10978 "additionalProperties" : 0,
56122987 10979 "properties" : {
44660702
DM
10980 "command" : {
10981 "description" : "The monitor command.",
013dc89f
DM
10982 "type" : "string",
10983 "typetext" : "<string>"
44660702 10984 },
56122987 10985 "node" : {
44660702 10986 "description" : "The cluster node name.",
7aacca6f 10987 "format" : "pve-node",
013dc89f
DM
10988 "type" : "string",
10989 "typetext" : "<string>"
56122987
DM
10990 },
10991 "vmid" : {
44660702 10992 "description" : "The (unique) ID of the VM.",
56122987 10993 "format" : "pve-vmid",
7aacca6f 10994 "minimum" : 1,
4bd7df8b 10995 "type" : "integer",
013dc89f 10996 "typetext" : "<integer> (1 - N)"
56122987 10997 }
7aacca6f 10998 }
56122987 10999 },
56122987
DM
11000 "permissions" : {
11001 "check" : [
11002 "perm",
11003 "/vms/{vmid}",
11004 [
11005 "VM.Monitor"
11006 ]
32d876b5
DM
11007 ],
11008 "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
7aacca6f 11009 },
44660702
DM
11010 "protected" : 1,
11011 "proxyto" : "node",
11012 "returns" : {
11013 "type" : "string"
11014 }
56122987 11015 }
44660702
DM
11016 },
11017 "leaf" : 1,
11018 "path" : "/nodes/{node}/qemu/{vmid}/monitor",
11019 "text" : "monitor"
56122987 11020 },
32d876b5
DM
11021 {
11022 "info" : {
11023 "POST" : {
11024 "description" : "Execute Qemu Guest Agent commands.",
11025 "method" : "POST",
11026 "name" : "agent",
11027 "parameters" : {
11028 "additionalProperties" : 0,
11029 "properties" : {
11030 "command" : {
11031 "description" : "The QGA command.",
11032 "enum" : [
11033 "ping",
11034 "get-time",
11035 "info",
11036 "fsfreeze-status",
11037 "fsfreeze-freeze",
11038 "fsfreeze-thaw",
11039 "fstrim",
11040 "network-get-interfaces",
11041 "get-vcpus",
11042 "get-fsinfo",
11043 "get-memory-blocks",
11044 "get-memory-block-info",
11045 "suspend-hybrid",
11046 "suspend-ram",
11047 "suspend-disk",
11048 "shutdown"
11049 ],
11050 "type" : "string"
11051 },
11052 "node" : {
11053 "description" : "The cluster node name.",
11054 "format" : "pve-node",
11055 "type" : "string",
11056 "typetext" : "<string>"
11057 },
11058 "vmid" : {
11059 "description" : "The (unique) ID of the VM.",
11060 "format" : "pve-vmid",
11061 "minimum" : 1,
11062 "type" : "integer",
11063 "typetext" : "<integer> (1 - N)"
11064 }
11065 }
11066 },
11067 "permissions" : {
11068 "check" : [
11069 "perm",
11070 "/vms/{vmid}",
11071 [
11072 "VM.Monitor"
11073 ]
11074 ]
11075 },
11076 "protected" : 1,
11077 "proxyto" : "node",
11078 "returns" : {
11079 "description" : "Returns an object with a single `result` property. The type of that\nproperty depends on the executed command.",
11080 "type" : "object"
11081 }
11082 }
11083 },
11084 "leaf" : 1,
11085 "path" : "/nodes/{node}/qemu/{vmid}/agent",
11086 "text" : "agent"
11087 },
56122987 11088 {
56122987
DM
11089 "info" : {
11090 "PUT" : {
44660702
DM
11091 "description" : "Extend volume size.",
11092 "method" : "PUT",
11093 "name" : "resize_vm",
56122987 11094 "parameters" : {
44660702 11095 "additionalProperties" : 0,
56122987 11096 "properties" : {
44660702
DM
11097 "digest" : {
11098 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
11099 "maxLength" : 40,
11100 "optional" : 1,
013dc89f
DM
11101 "type" : "string",
11102 "typetext" : "<string>"
56122987 11103 },
56122987
DM
11104 "disk" : {
11105 "description" : "The disk you want to resize.",
11106 "enum" : [
11107 "ide0",
11108 "ide1",
11109 "ide2",
11110 "ide3",
11111 "scsi0",
11112 "scsi1",
11113 "scsi2",
11114 "scsi3",
11115 "scsi4",
11116 "scsi5",
11117 "scsi6",
11118 "scsi7",
11119 "scsi8",
11120 "scsi9",
11121 "scsi10",
11122 "scsi11",
11123 "scsi12",
11124 "scsi13",
11125 "virtio0",
11126 "virtio1",
11127 "virtio2",
11128 "virtio3",
11129 "virtio4",
11130 "virtio5",
11131 "virtio6",
11132 "virtio7",
11133 "virtio8",
11134 "virtio9",
11135 "virtio10",
11136 "virtio11",
11137 "virtio12",
11138 "virtio13",
11139 "virtio14",
11140 "virtio15",
11141 "sata0",
11142 "sata1",
11143 "sata2",
11144 "sata3",
11145 "sata4",
2c0dde61
DM
11146 "sata5",
11147 "efidisk0"
44660702
DM
11148 ],
11149 "type" : "string"
56122987 11150 },
44660702
DM
11151 "node" : {
11152 "description" : "The cluster node name.",
11153 "format" : "pve-node",
013dc89f
DM
11154 "type" : "string",
11155 "typetext" : "<string>"
7aacca6f 11156 },
44660702 11157 "size" : {
5d9c884c 11158 "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
44660702
DM
11159 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
11160 "type" : "string"
56122987
DM
11161 },
11162 "skiplock" : {
11163 "description" : "Ignore locks - only root is allowed to use this option.",
11164 "optional" : 1,
013dc89f
DM
11165 "type" : "boolean",
11166 "typetext" : "<boolean>"
56122987
DM
11167 },
11168 "vmid" : {
7aacca6f 11169 "description" : "The (unique) ID of the VM.",
56122987 11170 "format" : "pve-vmid",
44660702 11171 "minimum" : 1,
4bd7df8b 11172 "type" : "integer",
013dc89f 11173 "typetext" : "<integer> (1 - N)"
56122987
DM
11174 }
11175 }
11176 },
11177 "permissions" : {
11178 "check" : [
11179 "perm",
11180 "/vms/{vmid}",
11181 [
44660702 11182 "VM.Config.Disk"
56122987
DM
11183 ]
11184 ]
11185 },
7aacca6f 11186 "protected" : 1,
7aacca6f 11187 "proxyto" : "node",
44660702
DM
11188 "returns" : {
11189 "type" : "null"
11190 }
7aacca6f
DM
11191 }
11192 },
44660702
DM
11193 "leaf" : 1,
11194 "path" : "/nodes/{node}/qemu/{vmid}/resize",
11195 "text" : "resize"
11196 },
11197 {
56122987
DM
11198 "children" : [
11199 {
11200 "children" : [
11201 {
56122987 11202 "info" : {
44660702
DM
11203 "GET" : {
11204 "description" : "Get snapshot configuration",
11205 "method" : "GET",
11206 "name" : "get_snapshot_config",
56122987 11207 "parameters" : {
44660702 11208 "additionalProperties" : 0,
56122987 11209 "properties" : {
56122987 11210 "node" : {
44660702 11211 "description" : "The cluster node name.",
56122987 11212 "format" : "pve-node",
013dc89f
DM
11213 "type" : "string",
11214 "typetext" : "<string>"
7aacca6f
DM
11215 },
11216 "snapname" : {
44660702 11217 "description" : "The name of the snapshot.",
7aacca6f 11218 "format" : "pve-configid",
44660702 11219 "maxLength" : 40,
013dc89f
DM
11220 "type" : "string",
11221 "typetext" : "<string>"
7aacca6f
DM
11222 },
11223 "vmid" : {
44660702 11224 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
11225 "format" : "pve-vmid",
11226 "minimum" : 1,
4bd7df8b 11227 "type" : "integer",
013dc89f 11228 "typetext" : "<integer> (1 - N)"
56122987 11229 }
44660702 11230 }
56122987
DM
11231 },
11232 "permissions" : {
11233 "check" : [
11234 "perm",
11235 "/vms/{vmid}",
11236 [
11237 "VM.Snapshot"
11238 ]
11239 ]
11240 },
44660702 11241 "proxyto" : "node",
56122987 11242 "returns" : {
44660702 11243 "type" : "object"
7aacca6f
DM
11244 }
11245 },
44660702
DM
11246 "PUT" : {
11247 "description" : "Update snapshot metadata.",
11248 "method" : "PUT",
11249 "name" : "update_snapshot_config",
56122987 11250 "parameters" : {
44660702 11251 "additionalProperties" : 0,
56122987 11252 "properties" : {
44660702
DM
11253 "description" : {
11254 "description" : "A textual description or comment.",
11255 "optional" : 1,
013dc89f
DM
11256 "type" : "string",
11257 "typetext" : "<string>"
44660702 11258 },
56122987 11259 "node" : {
7aacca6f 11260 "description" : "The cluster node name.",
44660702 11261 "format" : "pve-node",
013dc89f
DM
11262 "type" : "string",
11263 "typetext" : "<string>"
56122987 11264 },
56122987
DM
11265 "snapname" : {
11266 "description" : "The name of the snapshot.",
44660702 11267 "format" : "pve-configid",
7aacca6f 11268 "maxLength" : 40,
013dc89f
DM
11269 "type" : "string",
11270 "typetext" : "<string>"
7aacca6f
DM
11271 },
11272 "vmid" : {
11273 "description" : "The (unique) ID of the VM.",
44660702 11274 "format" : "pve-vmid",
7aacca6f 11275 "minimum" : 1,
4bd7df8b 11276 "type" : "integer",
013dc89f 11277 "typetext" : "<integer> (1 - N)"
56122987 11278 }
44660702 11279 }
56122987 11280 },
7aacca6f
DM
11281 "permissions" : {
11282 "check" : [
11283 "perm",
11284 "/vms/{vmid}",
11285 [
11286 "VM.Snapshot"
11287 ]
11288 ]
44660702
DM
11289 },
11290 "protected" : 1,
11291 "proxyto" : "node",
11292 "returns" : {
11293 "type" : "null"
7aacca6f 11294 }
56122987
DM
11295 }
11296 },
44660702 11297 "leaf" : 1,
7aacca6f 11298 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config",
44660702 11299 "text" : "config"
56122987
DM
11300 },
11301 {
56122987
DM
11302 "info" : {
11303 "POST" : {
44660702 11304 "description" : "Rollback VM state to specified snapshot.",
7aacca6f 11305 "method" : "POST",
44660702 11306 "name" : "rollback",
56122987
DM
11307 "parameters" : {
11308 "additionalProperties" : 0,
11309 "properties" : {
44660702
DM
11310 "node" : {
11311 "description" : "The cluster node name.",
11312 "format" : "pve-node",
013dc89f
DM
11313 "type" : "string",
11314 "typetext" : "<string>"
44660702 11315 },
56122987 11316 "snapname" : {
44660702 11317 "description" : "The name of the snapshot.",
56122987
DM
11318 "format" : "pve-configid",
11319 "maxLength" : 40,
013dc89f
DM
11320 "type" : "string",
11321 "typetext" : "<string>"
7aacca6f 11322 },
56122987 11323 "vmid" : {
7aacca6f 11324 "description" : "The (unique) ID of the VM.",
44660702 11325 "format" : "pve-vmid",
56122987 11326 "minimum" : 1,
4bd7df8b 11327 "type" : "integer",
013dc89f 11328 "typetext" : "<integer> (1 - N)"
56122987
DM
11329 }
11330 }
11331 },
7aacca6f 11332 "permissions" : {
56122987
DM
11333 "check" : [
11334 "perm",
11335 "/vms/{vmid}",
11336 [
11337 "VM.Snapshot"
11338 ]
11339 ]
11340 },
44660702 11341 "protected" : 1,
7aacca6f 11342 "proxyto" : "node",
44660702
DM
11343 "returns" : {
11344 "description" : "the task ID.",
11345 "type" : "string"
11346 }
56122987
DM
11347 }
11348 },
44660702
DM
11349 "leaf" : 1,
11350 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback",
7aacca6f 11351 "text" : "rollback"
56122987 11352 }
44660702
DM
11353 ],
11354 "info" : {
11355 "DELETE" : {
11356 "description" : "Delete a VM snapshot.",
11357 "method" : "DELETE",
11358 "name" : "delsnapshot",
11359 "parameters" : {
11360 "additionalProperties" : 0,
11361 "properties" : {
11362 "force" : {
11363 "description" : "For removal from config file, even if removing disk snapshots fails.",
11364 "optional" : 1,
013dc89f
DM
11365 "type" : "boolean",
11366 "typetext" : "<boolean>"
44660702
DM
11367 },
11368 "node" : {
11369 "description" : "The cluster node name.",
11370 "format" : "pve-node",
013dc89f
DM
11371 "type" : "string",
11372 "typetext" : "<string>"
44660702
DM
11373 },
11374 "snapname" : {
11375 "description" : "The name of the snapshot.",
11376 "format" : "pve-configid",
11377 "maxLength" : 40,
013dc89f
DM
11378 "type" : "string",
11379 "typetext" : "<string>"
44660702
DM
11380 },
11381 "vmid" : {
11382 "description" : "The (unique) ID of the VM.",
11383 "format" : "pve-vmid",
11384 "minimum" : 1,
4bd7df8b 11385 "type" : "integer",
013dc89f 11386 "typetext" : "<integer> (1 - N)"
44660702
DM
11387 }
11388 }
11389 },
11390 "permissions" : {
11391 "check" : [
11392 "perm",
11393 "/vms/{vmid}",
11394 [
11395 "VM.Snapshot"
11396 ]
11397 ]
11398 },
11399 "protected" : 1,
11400 "proxyto" : "node",
11401 "returns" : {
11402 "description" : "the task ID.",
11403 "type" : "string"
11404 }
11405 },
11406 "GET" : {
11407 "description" : "",
11408 "method" : "GET",
11409 "name" : "snapshot_cmd_idx",
11410 "parameters" : {
11411 "additionalProperties" : 0,
11412 "properties" : {
11413 "node" : {
11414 "description" : "The cluster node name.",
11415 "format" : "pve-node",
013dc89f
DM
11416 "type" : "string",
11417 "typetext" : "<string>"
44660702
DM
11418 },
11419 "snapname" : {
11420 "description" : "The name of the snapshot.",
11421 "format" : "pve-configid",
11422 "maxLength" : 40,
013dc89f
DM
11423 "type" : "string",
11424 "typetext" : "<string>"
44660702
DM
11425 },
11426 "vmid" : {
11427 "description" : "The (unique) ID of the VM.",
11428 "format" : "pve-vmid",
11429 "minimum" : 1,
4bd7df8b 11430 "type" : "integer",
013dc89f 11431 "typetext" : "<integer> (1 - N)"
44660702
DM
11432 }
11433 }
11434 },
11435 "permissions" : {
11436 "user" : "all"
11437 },
11438 "returns" : {
11439 "items" : {
11440 "properties" : {},
11441 "type" : "object"
11442 },
11443 "links" : [
11444 {
11445 "href" : "{cmd}",
11446 "rel" : "child"
11447 }
11448 ],
11449 "type" : "array"
11450 }
11451 }
11452 },
11453 "leaf" : 0,
11454 "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}",
11455 "text" : "{snapname}"
56122987
DM
11456 }
11457 ],
44660702
DM
11458 "info" : {
11459 "GET" : {
11460 "description" : "List all snapshots.",
11461 "method" : "GET",
11462 "name" : "snapshot_list",
11463 "parameters" : {
11464 "additionalProperties" : 0,
11465 "properties" : {
11466 "node" : {
11467 "description" : "The cluster node name.",
11468 "format" : "pve-node",
013dc89f
DM
11469 "type" : "string",
11470 "typetext" : "<string>"
44660702
DM
11471 },
11472 "vmid" : {
11473 "description" : "The (unique) ID of the VM.",
11474 "format" : "pve-vmid",
11475 "minimum" : 1,
4bd7df8b 11476 "type" : "integer",
013dc89f 11477 "typetext" : "<integer> (1 - N)"
44660702
DM
11478 }
11479 }
11480 },
11481 "permissions" : {
11482 "check" : [
11483 "perm",
11484 "/vms/{vmid}",
11485 [
11486 "VM.Audit"
11487 ]
11488 ]
11489 },
11490 "protected" : 1,
11491 "proxyto" : "node",
11492 "returns" : {
11493 "items" : {
11494 "properties" : {},
11495 "type" : "object"
11496 },
11497 "links" : [
11498 {
11499 "href" : "{name}",
11500 "rel" : "child"
11501 }
11502 ],
11503 "type" : "array"
11504 }
11505 },
11506 "POST" : {
11507 "description" : "Snapshot a VM.",
11508 "method" : "POST",
11509 "name" : "snapshot",
11510 "parameters" : {
11511 "additionalProperties" : 0,
11512 "properties" : {
11513 "description" : {
11514 "description" : "A textual description or comment.",
11515 "optional" : 1,
013dc89f
DM
11516 "type" : "string",
11517 "typetext" : "<string>"
44660702
DM
11518 },
11519 "node" : {
11520 "description" : "The cluster node name.",
11521 "format" : "pve-node",
013dc89f
DM
11522 "type" : "string",
11523 "typetext" : "<string>"
44660702
DM
11524 },
11525 "snapname" : {
11526 "description" : "The name of the snapshot.",
11527 "format" : "pve-configid",
11528 "maxLength" : 40,
013dc89f
DM
11529 "type" : "string",
11530 "typetext" : "<string>"
44660702
DM
11531 },
11532 "vmid" : {
11533 "description" : "The (unique) ID of the VM.",
11534 "format" : "pve-vmid",
11535 "minimum" : 1,
4bd7df8b 11536 "type" : "integer",
013dc89f 11537 "typetext" : "<integer> (1 - N)"
44660702
DM
11538 },
11539 "vmstate" : {
11540 "description" : "Save the vmstate",
11541 "optional" : 1,
013dc89f
DM
11542 "type" : "boolean",
11543 "typetext" : "<boolean>"
44660702
DM
11544 }
11545 }
11546 },
11547 "permissions" : {
11548 "check" : [
11549 "perm",
11550 "/vms/{vmid}",
11551 [
11552 "VM.Snapshot"
11553 ]
11554 ]
11555 },
11556 "protected" : 1,
11557 "proxyto" : "node",
11558 "returns" : {
11559 "description" : "the task ID.",
11560 "type" : "string"
11561 }
11562 }
11563 },
11564 "leaf" : 0,
11565 "path" : "/nodes/{node}/qemu/{vmid}/snapshot",
7aacca6f 11566 "text" : "snapshot"
56122987
DM
11567 },
11568 {
56122987
DM
11569 "info" : {
11570 "POST" : {
44660702
DM
11571 "description" : "Create a Template.",
11572 "method" : "POST",
56122987 11573 "name" : "template",
56122987 11574 "parameters" : {
7aacca6f 11575 "additionalProperties" : 0,
56122987 11576 "properties" : {
56122987 11577 "disk" : {
56122987
DM
11578 "description" : "If you want to convert only 1 disk to base image.",
11579 "enum" : [
11580 "ide0",
11581 "ide1",
11582 "ide2",
11583 "ide3",
11584 "scsi0",
11585 "scsi1",
11586 "scsi2",
11587 "scsi3",
11588 "scsi4",
11589 "scsi5",
11590 "scsi6",
11591 "scsi7",
11592 "scsi8",
11593 "scsi9",
11594 "scsi10",
11595 "scsi11",
11596 "scsi12",
11597 "scsi13",
11598 "virtio0",
11599 "virtio1",
11600 "virtio2",
11601 "virtio3",
11602 "virtio4",
11603 "virtio5",
11604 "virtio6",
11605 "virtio7",
11606 "virtio8",
11607 "virtio9",
11608 "virtio10",
11609 "virtio11",
11610 "virtio12",
11611 "virtio13",
11612 "virtio14",
11613 "virtio15",
11614 "sata0",
11615 "sata1",
11616 "sata2",
11617 "sata3",
11618 "sata4",
2c0dde61
DM
11619 "sata5",
11620 "efidisk0"
56122987 11621 ],
7aacca6f 11622 "optional" : 1,
56122987
DM
11623 "type" : "string"
11624 },
44660702
DM
11625 "node" : {
11626 "description" : "The cluster node name.",
11627 "format" : "pve-node",
013dc89f
DM
11628 "type" : "string",
11629 "typetext" : "<string>"
44660702
DM
11630 },
11631 "vmid" : {
11632 "description" : "The (unique) ID of the VM.",
7aacca6f 11633 "format" : "pve-vmid",
44660702 11634 "minimum" : 1,
4bd7df8b 11635 "type" : "integer",
013dc89f 11636 "typetext" : "<integer> (1 - N)"
56122987 11637 }
7aacca6f 11638 }
56122987 11639 },
7aacca6f
DM
11640 "permissions" : {
11641 "check" : [
11642 "perm",
11643 "/vms/{vmid}",
11644 [
11645 "VM.Allocate"
11646 ]
11647 ],
11648 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
11649 },
44660702 11650 "protected" : 1,
7aacca6f 11651 "proxyto" : "node",
7aacca6f
DM
11652 "returns" : {
11653 "type" : "null"
11654 }
56122987
DM
11655 }
11656 },
44660702 11657 "leaf" : 1,
7aacca6f 11658 "path" : "/nodes/{node}/qemu/{vmid}/template",
44660702 11659 "text" : "template"
56122987
DM
11660 }
11661 ],
7aacca6f 11662 "info" : {
44660702
DM
11663 "DELETE" : {
11664 "description" : "Destroy the vm (also delete all used/owned volumes).",
11665 "method" : "DELETE",
11666 "name" : "destroy_vm",
7aacca6f 11667 "parameters" : {
44660702 11668 "additionalProperties" : 0,
7aacca6f
DM
11669 "properties" : {
11670 "node" : {
44660702 11671 "description" : "The cluster node name.",
7aacca6f 11672 "format" : "pve-node",
013dc89f
DM
11673 "type" : "string",
11674 "typetext" : "<string>"
44660702
DM
11675 },
11676 "skiplock" : {
11677 "description" : "Ignore locks - only root is allowed to use this option.",
11678 "optional" : 1,
013dc89f
DM
11679 "type" : "boolean",
11680 "typetext" : "<boolean>"
7aacca6f
DM
11681 },
11682 "vmid" : {
44660702 11683 "description" : "The (unique) ID of the VM.",
7aacca6f 11684 "format" : "pve-vmid",
44660702 11685 "minimum" : 1,
4bd7df8b 11686 "type" : "integer",
013dc89f 11687 "typetext" : "<integer> (1 - N)"
7aacca6f 11688 }
44660702 11689 }
7aacca6f 11690 },
7aacca6f
DM
11691 "permissions" : {
11692 "check" : [
11693 "perm",
11694 "/vms/{vmid}",
11695 [
11696 "VM.Allocate"
11697 ]
11698 ]
11699 },
44660702
DM
11700 "protected" : 1,
11701 "proxyto" : "node",
7aacca6f
DM
11702 "returns" : {
11703 "type" : "string"
44660702
DM
11704 }
11705 },
11706 "GET" : {
11707 "description" : "Directory index",
11708 "method" : "GET",
11709 "name" : "vmdiridx",
7aacca6f 11710 "parameters" : {
44660702 11711 "additionalProperties" : 0,
7aacca6f 11712 "properties" : {
7aacca6f 11713 "node" : {
7aacca6f 11714 "description" : "The cluster node name.",
44660702 11715 "format" : "pve-node",
013dc89f
DM
11716 "type" : "string",
11717 "typetext" : "<string>"
44660702
DM
11718 },
11719 "vmid" : {
11720 "description" : "The (unique) ID of the VM.",
11721 "format" : "pve-vmid",
11722 "minimum" : 1,
4bd7df8b 11723 "type" : "integer",
013dc89f 11724 "typetext" : "<integer> (1 - N)"
7aacca6f 11725 }
44660702 11726 }
7aacca6f 11727 },
44660702
DM
11728 "permissions" : {
11729 "user" : "all"
11730 },
11731 "proxyto" : "node",
11732 "returns" : {
11733 "items" : {
11734 "properties" : {
11735 "subdir" : {
11736 "type" : "string"
11737 }
11738 },
11739 "type" : "object"
11740 },
11741 "links" : [
11742 {
11743 "href" : "{subdir}",
11744 "rel" : "child"
11745 }
11746 ],
11747 "type" : "array"
11748 }
7aacca6f 11749 }
44660702
DM
11750 },
11751 "leaf" : 0,
11752 "path" : "/nodes/{node}/qemu/{vmid}",
11753 "text" : "{vmid}"
56122987
DM
11754 }
11755 ],
11756 "info" : {
44660702
DM
11757 "GET" : {
11758 "description" : "Virtual machine index (per node).",
11759 "method" : "GET",
11760 "name" : "vmlist",
56122987 11761 "parameters" : {
44660702 11762 "additionalProperties" : 0,
56122987 11763 "properties" : {
44660702
DM
11764 "full" : {
11765 "description" : "Determine the full status of active VMs.",
56122987 11766 "optional" : 1,
013dc89f
DM
11767 "type" : "boolean",
11768 "typetext" : "<boolean>"
56122987 11769 },
44660702
DM
11770 "node" : {
11771 "description" : "The cluster node name.",
11772 "format" : "pve-node",
013dc89f
DM
11773 "type" : "string",
11774 "typetext" : "<string>"
44660702
DM
11775 }
11776 }
11777 },
11778 "permissions" : {
11779 "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.",
11780 "user" : "all"
11781 },
11782 "protected" : 1,
11783 "proxyto" : "node",
11784 "returns" : {
11785 "items" : {
11786 "properties" : {},
11787 "type" : "object"
11788 },
11789 "links" : [
11790 {
11791 "href" : "{vmid}",
11792 "rel" : "child"
11793 }
11794 ],
11795 "type" : "array"
11796 }
11797 },
11798 "POST" : {
11799 "description" : "Create or restore a virtual machine.",
11800 "method" : "POST",
11801 "name" : "create_vm",
11802 "parameters" : {
11803 "additionalProperties" : 0,
11804 "properties" : {
7aacca6f 11805 "acpi" : {
7aacca6f 11806 "default" : 1,
44660702 11807 "description" : "Enable/disable ACPI.",
56122987 11808 "optional" : 1,
013dc89f
DM
11809 "type" : "boolean",
11810 "typetext" : "<boolean>"
56122987 11811 },
44660702
DM
11812 "agent" : {
11813 "default" : 0,
11814 "description" : "Enable/disable Qemu GuestAgent.",
7aacca6f 11815 "optional" : 1,
013dc89f
DM
11816 "type" : "boolean",
11817 "typetext" : "<boolean>"
56122987 11818 },
44660702
DM
11819 "archive" : {
11820 "description" : "The backup file.",
11821 "maxLength" : 255,
56122987 11822 "optional" : 1,
013dc89f
DM
11823 "type" : "string",
11824 "typetext" : "<string>"
56122987 11825 },
44660702 11826 "args" : {
c2993fe5 11827 "description" : "Arbitrary arguments passed to kvm.",
56122987 11828 "optional" : 1,
c2993fe5 11829 "type" : "string",
013dc89f 11830 "typetext" : "<string>",
c2993fe5 11831 "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 11832 },
44660702 11833 "autostart" : {
7aacca6f 11834 "default" : 0,
44660702
DM
11835 "description" : "Automatic restart after crash (currently ignored).",
11836 "optional" : 1,
013dc89f
DM
11837 "type" : "boolean",
11838 "typetext" : "<boolean>"
7aacca6f 11839 },
44660702
DM
11840 "balloon" : {
11841 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
11842 "minimum" : 0,
56122987 11843 "optional" : 1,
4bd7df8b 11844 "type" : "integer",
013dc89f 11845 "typetext" : "<integer> (0 - N)"
56122987 11846 },
44660702
DM
11847 "bios" : {
11848 "default" : "seabios",
11849 "description" : "Select BIOS implementation.",
11850 "enum" : [
11851 "seabios",
11852 "ovmf"
11853 ],
56122987 11854 "optional" : 1,
44660702 11855 "type" : "string"
56122987 11856 },
44660702
DM
11857 "boot" : {
11858 "default" : "cdn",
11859 "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
56122987 11860 "optional" : 1,
44660702
DM
11861 "pattern" : "[acdn]{1,4}",
11862 "type" : "string"
56122987 11863 },
7aacca6f
DM
11864 "bootdisk" : {
11865 "description" : "Enable booting from specified disk.",
44660702
DM
11866 "format" : "pve-qm-bootdisk",
11867 "optional" : 1,
7aacca6f 11868 "pattern" : "(ide|sata|scsi|virtio)\\d+",
44660702
DM
11869 "type" : "string"
11870 },
11871 "cdrom" : {
11872 "description" : "This is an alias for option -ide2",
de0983cb 11873 "format" : "pve-qm-ide",
56122987 11874 "optional" : 1,
44660702 11875 "type" : "string",
013dc89f 11876 "typetext" : "<volume>"
56122987 11877 },
44660702
DM
11878 "cores" : {
11879 "default" : 1,
11880 "description" : "The number of cores per socket.",
7aacca6f 11881 "minimum" : 1,
44660702 11882 "optional" : 1,
4bd7df8b 11883 "type" : "integer",
013dc89f 11884 "typetext" : "<integer> (1 - N)"
7aacca6f 11885 },
44660702
DM
11886 "cpu" : {
11887 "description" : "Emulated CPU type.",
11888 "format" : {
11889 "cputype" : {
11890 "default" : "kvm64",
11891 "default_key" : 1,
11892 "description" : "Emulated CPU type.",
11893 "enum" : [
11894 "486",
11895 "athlon",
f004f5b9
DM
11896 "Broadwell",
11897 "Broadwell-noTSX",
11898 "Conroe",
44660702 11899 "core2duo",
f004f5b9
DM
11900 "coreduo",
11901 "Haswell",
11902 "Haswell-noTSX",
11903 "host",
11904 "IvyBridge",
44660702
DM
11905 "kvm32",
11906 "kvm64",
44660702 11907 "Nehalem",
44660702
DM
11908 "Opteron_G1",
11909 "Opteron_G2",
11910 "Opteron_G3",
11911 "Opteron_G4",
11912 "Opteron_G5",
f004f5b9
DM
11913 "Penryn",
11914 "pentium",
11915 "pentium2",
11916 "pentium3",
11917 "phenom",
11918 "qemu32",
11919 "qemu64",
11920 "SandyBridge",
5d9c884c 11921 "Skylake-Client",
f004f5b9 11922 "Westmere"
44660702 11923 ],
44660702
DM
11924 "type" : "string"
11925 },
11926 "hidden" : {
11927 "default" : 0,
11928 "description" : "Do not identify as a KVM virtual machine.",
11929 "optional" : 1,
11930 "type" : "boolean"
11931 }
11932 },
56122987 11933 "optional" : 1,
4bd7df8b 11934 "type" : "string",
013dc89f 11935 "typetext" : "[cputype=]<enum> [,hidden=<1|0>]"
56122987 11936 },
44660702 11937 "cpulimit" : {
7aacca6f 11938 "default" : 0,
c2993fe5 11939 "description" : "Limit of CPU usage.",
44660702
DM
11940 "maximum" : 128,
11941 "minimum" : 0,
7aacca6f 11942 "optional" : 1,
c2993fe5 11943 "type" : "number",
013dc89f 11944 "typetext" : "<number> (0 - 128)",
c2993fe5 11945 "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
11946 },
11947 "cpuunits" : {
de0983cb 11948 "default" : 1024,
c2993fe5 11949 "description" : "CPU weight for a VM.",
7aacca6f 11950 "maximum" : 500000,
44660702
DM
11951 "minimum" : 0,
11952 "optional" : 1,
c2993fe5 11953 "type" : "integer",
013dc89f 11954 "typetext" : "<integer> (0 - 500000)",
c2993fe5 11955 "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
11956 },
11957 "description" : {
11958 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
56122987 11959 "optional" : 1,
013dc89f
DM
11960 "type" : "string",
11961 "typetext" : "<string>"
44660702
DM
11962 },
11963 "force" : {
11964 "description" : "Allow to overwrite existing VM.",
11965 "optional" : 1,
11966 "requires" : "archive",
013dc89f
DM
11967 "type" : "boolean",
11968 "typetext" : "<boolean>"
44660702
DM
11969 },
11970 "freeze" : {
11971 "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
11972 "optional" : 1,
013dc89f
DM
11973 "type" : "boolean",
11974 "typetext" : "<boolean>"
44660702
DM
11975 },
11976 "hostpci[n]" : {
c2993fe5 11977 "description" : "Map host PCI devices into guest.",
44660702
DM
11978 "format" : "pve-qm-hostpci",
11979 "optional" : 1,
57b78691 11980 "type" : "string",
52e44c50 11981 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
57b78691 11982 "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
11983 },
11984 "hotplug" : {
11985 "default" : "network,disk,usb",
11986 "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'.",
11987 "format" : "pve-hotplug-features",
11988 "optional" : 1,
013dc89f
DM
11989 "type" : "string",
11990 "typetext" : "<string>"
7aacca6f 11991 },
4bd7df8b
DM
11992 "hugepages" : {
11993 "description" : "Enable/disable hugepages memory.",
11994 "enum" : [
11995 "any",
11996 "2",
11997 "1024"
11998 ],
11999 "optional" : 1,
12000 "type" : "string"
12001 },
7aacca6f 12002 "ide[n]" : {
44660702 12003 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
56122987 12004 "format" : {
44660702
DM
12005 "aio" : {
12006 "description" : "AIO type to use.",
12007 "enum" : [
12008 "native",
12009 "threads"
12010 ],
44660702
DM
12011 "optional" : 1,
12012 "type" : "string"
12013 },
12014 "backup" : {
12015 "description" : "Whether the drive should be included when making backups.",
44660702
DM
12016 "optional" : 1,
12017 "type" : "boolean"
12018 },
12019 "bps" : {
de0983cb 12020 "description" : "Maximum r/w speed in bytes per second.",
7aacca6f 12021 "format_description" : "bps",
56122987 12022 "optional" : 1,
44660702 12023 "type" : "integer"
56122987 12024 },
de0983cb
DM
12025 "bps_max_length" : {
12026 "description" : "Maximum length of I/O bursts in seconds.",
12027 "format_description" : "seconds",
12028 "minimum" : 1,
12029 "optional" : 1,
12030 "type" : "integer"
12031 },
44660702 12032 "bps_rd" : {
de0983cb 12033 "description" : "Maximum read speed in bytes per second.",
44660702 12034 "format_description" : "bps",
56122987 12035 "optional" : 1,
44660702 12036 "type" : "integer"
56122987 12037 },
de0983cb 12038 "bps_rd_length" : {
5d9c884c
DM
12039 "alias" : "bps_rd_max_length"
12040 },
12041 "bps_rd_max_length" : {
de0983cb
DM
12042 "description" : "Maximum length of read I/O bursts in seconds.",
12043 "format_description" : "seconds",
12044 "minimum" : 1,
12045 "optional" : 1,
12046 "type" : "integer"
12047 },
44660702 12048 "bps_wr" : {
de0983cb 12049 "description" : "Maximum write speed in bytes per second.",
44660702 12050 "format_description" : "bps",
56122987 12051 "optional" : 1,
44660702 12052 "type" : "integer"
56122987 12053 },
de0983cb 12054 "bps_wr_length" : {
5d9c884c
DM
12055 "alias" : "bps_wr_max_length"
12056 },
12057 "bps_wr_max_length" : {
de0983cb
DM
12058 "description" : "Maximum length of write I/O bursts in seconds.",
12059 "format_description" : "seconds",
12060 "minimum" : 1,
12061 "optional" : 1,
12062 "type" : "integer"
12063 },
44660702
DM
12064 "cache" : {
12065 "description" : "The drive's cache mode",
56122987 12066 "enum" : [
7aacca6f 12067 "none",
44660702
DM
12068 "writethrough",
12069 "writeback",
12070 "unsafe",
12071 "directsync"
56122987 12072 ],
56122987 12073 "optional" : 1,
44660702 12074 "type" : "string"
56122987 12075 },
44660702
DM
12076 "cyls" : {
12077 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
12078 "optional" : 1,
12079 "type" : "integer"
7aacca6f 12080 },
44660702
DM
12081 "detect_zeroes" : {
12082 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12083 "optional" : 1,
44660702 12084 "type" : "boolean"
56122987 12085 },
44660702
DM
12086 "discard" : {
12087 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12088 "enum" : [
12089 "ignore",
12090 "on"
12091 ],
56122987 12092 "optional" : 1,
44660702 12093 "type" : "string"
56122987 12094 },
7aacca6f 12095 "file" : {
44660702 12096 "default_key" : 1,
7aacca6f 12097 "description" : "The drive's backing volume.",
7aacca6f
DM
12098 "format" : "pve-volume-id-or-qm-path",
12099 "format_description" : "volume",
7aacca6f 12100 "type" : "string"
56122987 12101 },
44660702
DM
12102 "format" : {
12103 "description" : "The drive's backing file's data format.",
56122987 12104 "enum" : [
44660702
DM
12105 "raw",
12106 "cow",
12107 "qcow",
12108 "qed",
12109 "qcow2",
12110 "vmdk",
12111 "cloop"
7aacca6f 12112 ],
7aacca6f
DM
12113 "optional" : 1,
12114 "type" : "string"
56122987 12115 },
44660702
DM
12116 "heads" : {
12117 "description" : "Force the drive's physical geometry to have a specific head count.",
56122987 12118 "optional" : 1,
44660702 12119 "type" : "integer"
56122987 12120 },
44660702 12121 "iops" : {
de0983cb 12122 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 12123 "format_description" : "iops",
56122987 12124 "optional" : 1,
44660702 12125 "type" : "integer"
56122987 12126 },
44660702 12127 "iops_max" : {
de0983cb 12128 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12129 "format_description" : "iops",
56122987 12130 "optional" : 1,
44660702 12131 "type" : "integer"
56122987 12132 },
de0983cb
DM
12133 "iops_max_length" : {
12134 "description" : "Maximum length of I/O bursts in seconds.",
12135 "format_description" : "seconds",
12136 "minimum" : 1,
12137 "optional" : 1,
12138 "type" : "integer"
12139 },
7aacca6f 12140 "iops_rd" : {
de0983cb 12141 "description" : "Maximum read I/O in operations per second.",
44660702
DM
12142 "format_description" : "iops",
12143 "optional" : 1,
12144 "type" : "integer"
7aacca6f 12145 },
de0983cb 12146 "iops_rd_length" : {
5d9c884c 12147 "alias" : "iops_rd_max_length"
de0983cb 12148 },
44660702 12149 "iops_rd_max" : {
de0983cb 12150 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702 12151 "format_description" : "iops",
56122987 12152 "optional" : 1,
44660702 12153 "type" : "integer"
56122987 12154 },
5d9c884c
DM
12155 "iops_rd_max_length" : {
12156 "description" : "Maximum length of read I/O bursts in seconds.",
12157 "format_description" : "seconds",
12158 "minimum" : 1,
12159 "optional" : 1,
12160 "type" : "integer"
12161 },
44660702 12162 "iops_wr" : {
de0983cb 12163 "description" : "Maximum write I/O in operations per second.",
44660702 12164 "format_description" : "iops",
56122987 12165 "optional" : 1,
44660702 12166 "type" : "integer"
7aacca6f 12167 },
de0983cb 12168 "iops_wr_length" : {
5d9c884c 12169 "alias" : "iops_wr_max_length"
de0983cb 12170 },
44660702 12171 "iops_wr_max" : {
de0983cb 12172 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12173 "format_description" : "iops",
7aacca6f 12174 "optional" : 1,
44660702 12175 "type" : "integer"
56122987 12176 },
5d9c884c
DM
12177 "iops_wr_max_length" : {
12178 "description" : "Maximum length of write I/O bursts in seconds.",
12179 "format_description" : "seconds",
12180 "minimum" : 1,
12181 "optional" : 1,
12182 "type" : "integer"
12183 },
44660702 12184 "mbps" : {
de0983cb 12185 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12186 "format_description" : "mbps",
7aacca6f 12187 "optional" : 1,
44660702 12188 "type" : "number"
56122987 12189 },
44660702 12190 "mbps_max" : {
de0983cb 12191 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
7aacca6f 12192 "format_description" : "mbps",
56122987 12193 "optional" : 1,
44660702 12194 "type" : "number"
56122987 12195 },
44660702 12196 "mbps_rd" : {
de0983cb 12197 "description" : "Maximum read speed in megabytes per second.",
44660702 12198 "format_description" : "mbps",
7aacca6f 12199 "optional" : 1,
44660702 12200 "type" : "number"
7aacca6f 12201 },
44660702 12202 "mbps_rd_max" : {
de0983cb 12203 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12204 "format_description" : "mbps",
56122987 12205 "optional" : 1,
44660702 12206 "type" : "number"
56122987 12207 },
44660702 12208 "mbps_wr" : {
de0983cb 12209 "description" : "Maximum write speed in megabytes per second.",
44660702 12210 "format_description" : "mbps",
7aacca6f 12211 "optional" : 1,
44660702 12212 "type" : "number"
56122987 12213 },
44660702 12214 "mbps_wr_max" : {
de0983cb 12215 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12216 "format_description" : "mbps",
56122987 12217 "optional" : 1,
44660702 12218 "type" : "number"
7aacca6f
DM
12219 },
12220 "media" : {
44660702
DM
12221 "default" : "disk",
12222 "description" : "The drive's media type.",
56122987 12223 "enum" : [
7aacca6f
DM
12224 "cdrom",
12225 "disk"
56122987 12226 ],
56122987 12227 "optional" : 1,
44660702 12228 "type" : "string"
56122987 12229 },
44660702
DM
12230 "model" : {
12231 "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
12232 "format" : "urlencoded",
12233 "format_description" : "model",
12234 "maxLength" : 120,
56122987 12235 "optional" : 1,
44660702 12236 "type" : "string"
56122987 12237 },
5d9c884c
DM
12238 "replicate" : {
12239 "default" : 1,
12240 "description" : "Whether the drive should considered for replication jobs.",
12241 "optional" : 1,
12242 "type" : "boolean"
12243 },
7aacca6f 12244 "rerror" : {
7aacca6f
DM
12245 "description" : "Read error action.",
12246 "enum" : [
12247 "ignore",
12248 "report",
12249 "stop"
44660702 12250 ],
44660702
DM
12251 "optional" : 1,
12252 "type" : "string"
56122987 12253 },
44660702
DM
12254 "secs" : {
12255 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12256 "optional" : 1,
44660702
DM
12257 "type" : "integer"
12258 },
12259 "serial" : {
12260 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12261 "format" : "urlencoded",
12262 "format_description" : "serial",
12263 "maxLength" : 60,
12264 "optional" : 1,
12265 "type" : "string"
12266 },
12267 "size" : {
12268 "description" : "Disk size. This is purely informational and has no effect.",
12269 "format" : "disk-size",
f004f5b9 12270 "format_description" : "DiskSize",
44660702
DM
12271 "optional" : 1,
12272 "type" : "string"
7aacca6f
DM
12273 },
12274 "snapshot" : {
44660702 12275 "description" : "Whether the drive should be included when making snapshots.",
7aacca6f 12276 "optional" : 1,
44660702 12277 "type" : "boolean"
7aacca6f 12278 },
44660702
DM
12279 "trans" : {
12280 "description" : "Force disk geometry bios translation mode.",
12281 "enum" : [
12282 "none",
12283 "lba",
12284 "auto"
12285 ],
7aacca6f 12286 "optional" : 1,
44660702
DM
12287 "type" : "string"
12288 },
12289 "volume" : {
12290 "alias" : "file"
12291 },
12292 "werror" : {
12293 "description" : "Write error action.",
12294 "enum" : [
12295 "enospc",
12296 "ignore",
12297 "report",
12298 "stop"
12299 ],
44660702
DM
12300 "optional" : 1,
12301 "type" : "string"
56122987
DM
12302 }
12303 },
56122987 12304 "optional" : 1,
4bd7df8b 12305 "type" : "string",
5d9c884c 12306 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 12307 },
56122987 12308 "keyboard" : {
44660702 12309 "default" : "en-us",
c2993fe5 12310 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
56122987 12311 "enum" : [
44660702
DM
12312 "de",
12313 "de-ch",
7aacca6f 12314 "da",
56122987 12315 "en-gb",
44660702
DM
12316 "en-us",
12317 "es",
12318 "fi",
12319 "fr",
12320 "fr-be",
12321 "fr-ca",
12322 "fr-ch",
12323 "hu",
7aacca6f 12324 "is",
44660702
DM
12325 "it",
12326 "ja",
12327 "lt",
56122987 12328 "mk",
7aacca6f 12329 "nl",
56122987 12330 "no",
44660702 12331 "pl",
7aacca6f 12332 "pt",
44660702
DM
12333 "pt-br",
12334 "sv",
12335 "sl",
12336 "tr"
56122987 12337 ],
44660702
DM
12338 "optional" : 1,
12339 "type" : "string"
56122987 12340 },
44660702
DM
12341 "kvm" : {
12342 "default" : 1,
12343 "description" : "Enable/disable KVM hardware virtualization.",
7aacca6f 12344 "optional" : 1,
013dc89f
DM
12345 "type" : "boolean",
12346 "typetext" : "<boolean>"
7aacca6f 12347 },
44660702
DM
12348 "localtime" : {
12349 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
56122987 12350 "optional" : 1,
013dc89f
DM
12351 "type" : "boolean",
12352 "typetext" : "<boolean>"
44660702
DM
12353 },
12354 "lock" : {
12355 "description" : "Lock/unlock the VM.",
7aacca6f
DM
12356 "enum" : [
12357 "migrate",
12358 "backup",
12359 "snapshot",
12360 "rollback"
12361 ],
44660702
DM
12362 "optional" : 1,
12363 "type" : "string"
56122987 12364 },
44660702
DM
12365 "machine" : {
12366 "description" : "Specific the Qemu machine type.",
12367 "maxLength" : 40,
12368 "optional" : 1,
12369 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
12370 "type" : "string"
12371 },
12372 "memory" : {
12373 "default" : 512,
12374 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
12375 "minimum" : 16,
12376 "optional" : 1,
4bd7df8b 12377 "type" : "integer",
013dc89f 12378 "typetext" : "<integer> (16 - N)"
44660702
DM
12379 },
12380 "migrate_downtime" : {
12381 "default" : 0.1,
12382 "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
12383 "minimum" : 0,
12384 "optional" : 1,
4bd7df8b 12385 "type" : "number",
013dc89f 12386 "typetext" : "<number> (0 - N)"
44660702
DM
12387 },
12388 "migrate_speed" : {
56122987 12389 "default" : 0,
44660702
DM
12390 "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
12391 "minimum" : 0,
56122987 12392 "optional" : 1,
4bd7df8b 12393 "type" : "integer",
013dc89f 12394 "typetext" : "<integer> (0 - N)"
56122987 12395 },
44660702
DM
12396 "name" : {
12397 "description" : "Set a name for the VM. Only used on the configuration web interface.",
12398 "format" : "dns-name",
12399 "optional" : 1,
013dc89f
DM
12400 "type" : "string",
12401 "typetext" : "<string>"
44660702
DM
12402 },
12403 "net[n]" : {
c2993fe5 12404 "description" : "Specify network devices.",
f004f5b9
DM
12405 "format" : {
12406 "bridge" : {
c2993fe5 12407 "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
12408 "format_description" : "bridge",
12409 "optional" : 1,
12410 "type" : "string"
12411 },
12412 "e1000" : {
12413 "alias" : "macaddr",
12414 "keyAlias" : "model"
12415 },
12416 "e1000-82540em" : {
12417 "alias" : "macaddr",
12418 "keyAlias" : "model"
12419 },
12420 "e1000-82544gc" : {
12421 "alias" : "macaddr",
12422 "keyAlias" : "model"
12423 },
12424 "e1000-82545em" : {
12425 "alias" : "macaddr",
12426 "keyAlias" : "model"
12427 },
12428 "firewall" : {
12429 "description" : "Whether this interface should be protected by the firewall.",
12430 "optional" : 1,
12431 "type" : "boolean"
12432 },
12433 "i82551" : {
12434 "alias" : "macaddr",
12435 "keyAlias" : "model"
12436 },
12437 "i82557b" : {
12438 "alias" : "macaddr",
12439 "keyAlias" : "model"
12440 },
12441 "i82559er" : {
12442 "alias" : "macaddr",
12443 "keyAlias" : "model"
12444 },
12445 "link_down" : {
c2993fe5 12446 "description" : "Whether this interface should be disconnected (like pulling the plug).",
f004f5b9
DM
12447 "optional" : 1,
12448 "type" : "boolean"
12449 },
12450 "macaddr" : {
c2993fe5 12451 "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
f004f5b9 12452 "format_description" : "XX:XX:XX:XX:XX:XX",
f004f5b9
DM
12453 "optional" : 1,
12454 "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
12455 "type" : "string"
12456 },
12457 "model" : {
12458 "default_key" : 1,
c2993fe5 12459 "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
12460 "enum" : [
12461 "rtl8139",
12462 "ne2k_pci",
12463 "e1000",
12464 "pcnet",
12465 "virtio",
12466 "ne2k_isa",
12467 "i82551",
12468 "i82557b",
12469 "i82559er",
12470 "vmxnet3",
12471 "e1000-82540em",
12472 "e1000-82544gc",
12473 "e1000-82545em"
12474 ],
f004f5b9
DM
12475 "type" : "string"
12476 },
12477 "ne2k_isa" : {
12478 "alias" : "macaddr",
12479 "keyAlias" : "model"
12480 },
12481 "ne2k_pci" : {
12482 "alias" : "macaddr",
12483 "keyAlias" : "model"
12484 },
12485 "pcnet" : {
12486 "alias" : "macaddr",
12487 "keyAlias" : "model"
12488 },
12489 "queues" : {
12490 "description" : "Number of packet queues to be used on the device.",
12491 "maximum" : 16,
12492 "minimum" : 0,
12493 "optional" : 1,
12494 "type" : "integer"
12495 },
12496 "rate" : {
c2993fe5 12497 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
f004f5b9
DM
12498 "minimum" : 0,
12499 "optional" : 1,
12500 "type" : "number"
12501 },
12502 "rtl8139" : {
12503 "alias" : "macaddr",
12504 "keyAlias" : "model"
12505 },
12506 "tag" : {
12507 "description" : "VLAN tag to apply to packets on this interface.",
12508 "maximum" : 4094,
c2993fe5 12509 "minimum" : 1,
f004f5b9
DM
12510 "optional" : 1,
12511 "type" : "integer"
12512 },
12513 "trunks" : {
12514 "description" : "VLAN trunks to pass through this interface.",
12515 "format_description" : "vlanid[;vlanid...]",
12516 "optional" : 1,
12517 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12518 "type" : "string"
12519 },
12520 "virtio" : {
12521 "alias" : "macaddr",
12522 "keyAlias" : "model"
12523 },
12524 "vmxnet3" : {
12525 "alias" : "macaddr",
12526 "keyAlias" : "model"
12527 }
12528 },
44660702 12529 "optional" : 1,
4bd7df8b 12530 "type" : "string",
013dc89f 12531 "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
12532 },
12533 "node" : {
12534 "description" : "The cluster node name.",
12535 "format" : "pve-node",
013dc89f
DM
12536 "type" : "string",
12537 "typetext" : "<string>"
44660702
DM
12538 },
12539 "numa" : {
7aacca6f 12540 "default" : 0,
44660702
DM
12541 "description" : "Enable/disable NUMA.",
12542 "optional" : 1,
013dc89f
DM
12543 "type" : "boolean",
12544 "typetext" : "<boolean>"
56122987 12545 },
7aacca6f 12546 "numa[n]" : {
c2993fe5 12547 "description" : "NUMA topology.",
7aacca6f 12548 "format" : {
44660702 12549 "cpus" : {
c2993fe5 12550 "description" : "CPUs accessing this NUMA node.",
44660702
DM
12551 "format_description" : "id[-id];...",
12552 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12553 "type" : "string"
12554 },
7aacca6f 12555 "hostnodes" : {
c2993fe5 12556 "description" : "Host NUMA nodes to use.",
44660702 12557 "format_description" : "id[-id];...",
7aacca6f 12558 "optional" : 1,
44660702
DM
12559 "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
12560 "type" : "string"
7aacca6f 12561 },
44660702 12562 "memory" : {
c2993fe5 12563 "description" : "Amount of memory this NUMA node provides.",
44660702
DM
12564 "optional" : 1,
12565 "type" : "number"
7aacca6f
DM
12566 },
12567 "policy" : {
c2993fe5 12568 "description" : "NUMA allocation policy.",
7aacca6f
DM
12569 "enum" : [
12570 "preferred",
12571 "bind",
12572 "interleave"
12573 ],
7aacca6f 12574 "optional" : 1,
44660702 12575 "type" : "string"
7aacca6f
DM
12576 }
12577 },
56122987 12578 "optional" : 1,
4bd7df8b
DM
12579 "type" : "string",
12580 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
56122987 12581 },
44660702
DM
12582 "onboot" : {
12583 "default" : 0,
12584 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 12585 "optional" : 1,
013dc89f
DM
12586 "type" : "boolean",
12587 "typetext" : "<boolean>"
56122987
DM
12588 },
12589 "ostype" : {
c2993fe5 12590 "description" : "Specify guest operating system.",
56122987
DM
12591 "enum" : [
12592 "other",
12593 "wxp",
12594 "w2k",
12595 "w2k3",
12596 "w2k8",
12597 "wvista",
12598 "win7",
12599 "win8",
32d876b5 12600 "win10",
56122987
DM
12601 "l24",
12602 "l26",
12603 "solaris"
44660702 12604 ],
56122987 12605 "optional" : 1,
c2993fe5
DM
12606 "type" : "string",
12607 "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 12608 },
44660702 12609 "parallel[n]" : {
c2993fe5 12610 "description" : "Map host parallel devices (n is 0 to 2).",
56122987 12611 "optional" : 1,
44660702 12612 "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
c2993fe5
DM
12613 "type" : "string",
12614 "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 12615 },
44660702
DM
12616 "pool" : {
12617 "description" : "Add the VM to the specified pool.",
12618 "format" : "pve-poolid",
56122987 12619 "optional" : 1,
013dc89f
DM
12620 "type" : "string",
12621 "typetext" : "<string>"
56122987 12622 },
44660702
DM
12623 "protection" : {
12624 "default" : 0,
c2993fe5 12625 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
56122987 12626 "optional" : 1,
013dc89f
DM
12627 "type" : "boolean",
12628 "typetext" : "<boolean>"
56122987 12629 },
44660702 12630 "reboot" : {
7aacca6f 12631 "default" : 1,
44660702
DM
12632 "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
12633 "optional" : 1,
013dc89f
DM
12634 "type" : "boolean",
12635 "typetext" : "<boolean>"
56122987 12636 },
56122987 12637 "sata[n]" : {
44660702 12638 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
56122987 12639 "format" : {
7aacca6f 12640 "aio" : {
44660702 12641 "description" : "AIO type to use.",
56122987 12642 "enum" : [
7aacca6f
DM
12643 "native",
12644 "threads"
56122987 12645 ],
7aacca6f 12646 "optional" : 1,
44660702 12647 "type" : "string"
7aacca6f
DM
12648 },
12649 "backup" : {
7aacca6f 12650 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12651 "optional" : 1,
44660702 12652 "type" : "boolean"
56122987 12653 },
44660702 12654 "bps" : {
de0983cb 12655 "description" : "Maximum r/w speed in bytes per second.",
44660702 12656 "format_description" : "bps",
7aacca6f 12657 "optional" : 1,
44660702 12658 "type" : "integer"
56122987 12659 },
de0983cb
DM
12660 "bps_max_length" : {
12661 "description" : "Maximum length of I/O bursts in seconds.",
12662 "format_description" : "seconds",
12663 "minimum" : 1,
12664 "optional" : 1,
12665 "type" : "integer"
12666 },
44660702 12667 "bps_rd" : {
de0983cb 12668 "description" : "Maximum read speed in bytes per second.",
44660702 12669 "format_description" : "bps",
56122987 12670 "optional" : 1,
44660702 12671 "type" : "integer"
7aacca6f 12672 },
de0983cb 12673 "bps_rd_length" : {
5d9c884c
DM
12674 "alias" : "bps_rd_max_length"
12675 },
12676 "bps_rd_max_length" : {
de0983cb
DM
12677 "description" : "Maximum length of read I/O bursts in seconds.",
12678 "format_description" : "seconds",
12679 "minimum" : 1,
12680 "optional" : 1,
12681 "type" : "integer"
12682 },
44660702 12683 "bps_wr" : {
de0983cb 12684 "description" : "Maximum write speed in bytes per second.",
44660702 12685 "format_description" : "bps",
56122987 12686 "optional" : 1,
44660702 12687 "type" : "integer"
56122987 12688 },
de0983cb 12689 "bps_wr_length" : {
5d9c884c
DM
12690 "alias" : "bps_wr_max_length"
12691 },
12692 "bps_wr_max_length" : {
de0983cb
DM
12693 "description" : "Maximum length of write I/O bursts in seconds.",
12694 "format_description" : "seconds",
12695 "minimum" : 1,
12696 "optional" : 1,
12697 "type" : "integer"
12698 },
7aacca6f 12699 "cache" : {
7aacca6f
DM
12700 "description" : "The drive's cache mode",
12701 "enum" : [
12702 "none",
12703 "writethrough",
12704 "writeback",
12705 "unsafe",
12706 "directsync"
12707 ],
44660702
DM
12708 "optional" : 1,
12709 "type" : "string"
56122987 12710 },
44660702
DM
12711 "cyls" : {
12712 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
56122987 12713 "optional" : 1,
7aacca6f 12714 "type" : "integer"
56122987 12715 },
7aacca6f
DM
12716 "detect_zeroes" : {
12717 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 12718 "optional" : 1,
7aacca6f 12719 "type" : "boolean"
56122987 12720 },
44660702
DM
12721 "discard" : {
12722 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
12723 "enum" : [
12724 "ignore",
12725 "on"
12726 ],
56122987 12727 "optional" : 1,
44660702 12728 "type" : "string"
56122987 12729 },
44660702
DM
12730 "file" : {
12731 "default_key" : 1,
12732 "description" : "The drive's backing volume.",
12733 "format" : "pve-volume-id-or-qm-path",
12734 "format_description" : "volume",
12735 "type" : "string"
56122987
DM
12736 },
12737 "format" : {
44660702 12738 "description" : "The drive's backing file's data format.",
56122987
DM
12739 "enum" : [
12740 "raw",
12741 "cow",
12742 "qcow",
12743 "qed",
12744 "qcow2",
12745 "vmdk",
12746 "cloop"
12747 ],
56122987 12748 "optional" : 1,
44660702 12749 "type" : "string"
56122987 12750 },
7aacca6f 12751 "heads" : {
7aacca6f 12752 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
12753 "optional" : 1,
12754 "type" : "integer"
56122987 12755 },
44660702 12756 "iops" : {
de0983cb 12757 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
12758 "format_description" : "iops",
12759 "optional" : 1,
12760 "type" : "integer"
56122987 12761 },
44660702 12762 "iops_max" : {
de0983cb 12763 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 12764 "format_description" : "iops",
56122987 12765 "optional" : 1,
44660702 12766 "type" : "integer"
56122987 12767 },
de0983cb
DM
12768 "iops_max_length" : {
12769 "description" : "Maximum length of I/O bursts in seconds.",
12770 "format_description" : "seconds",
12771 "minimum" : 1,
12772 "optional" : 1,
12773 "type" : "integer"
12774 },
44660702 12775 "iops_rd" : {
de0983cb 12776 "description" : "Maximum read I/O in operations per second.",
44660702 12777 "format_description" : "iops",
56122987 12778 "optional" : 1,
44660702 12779 "type" : "integer"
56122987 12780 },
de0983cb 12781 "iops_rd_length" : {
5d9c884c 12782 "alias" : "iops_rd_max_length"
de0983cb 12783 },
44660702 12784 "iops_rd_max" : {
de0983cb 12785 "description" : "Maximum unthrottled read I/O pool in operations per second.",
7aacca6f 12786 "format_description" : "iops",
56122987 12787 "optional" : 1,
44660702 12788 "type" : "integer"
56122987 12789 },
5d9c884c
DM
12790 "iops_rd_max_length" : {
12791 "description" : "Maximum length of read I/O bursts in seconds.",
12792 "format_description" : "seconds",
12793 "minimum" : 1,
12794 "optional" : 1,
12795 "type" : "integer"
12796 },
44660702 12797 "iops_wr" : {
de0983cb 12798 "description" : "Maximum write I/O in operations per second.",
44660702 12799 "format_description" : "iops",
7aacca6f 12800 "optional" : 1,
44660702 12801 "type" : "integer"
7aacca6f 12802 },
de0983cb 12803 "iops_wr_length" : {
5d9c884c 12804 "alias" : "iops_wr_max_length"
de0983cb 12805 },
44660702 12806 "iops_wr_max" : {
de0983cb 12807 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 12808 "format_description" : "iops",
56122987 12809 "optional" : 1,
7aacca6f 12810 "type" : "integer"
56122987 12811 },
5d9c884c
DM
12812 "iops_wr_max_length" : {
12813 "description" : "Maximum length of write I/O bursts in seconds.",
12814 "format_description" : "seconds",
12815 "minimum" : 1,
12816 "optional" : 1,
12817 "type" : "integer"
12818 },
44660702 12819 "mbps" : {
de0983cb 12820 "description" : "Maximum r/w speed in megabytes per second.",
44660702 12821 "format_description" : "mbps",
56122987 12822 "optional" : 1,
44660702 12823 "type" : "number"
56122987 12824 },
44660702 12825 "mbps_max" : {
de0983cb 12826 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 12827 "format_description" : "mbps",
7aacca6f 12828 "optional" : 1,
44660702 12829 "type" : "number"
7aacca6f 12830 },
44660702 12831 "mbps_rd" : {
de0983cb 12832 "description" : "Maximum read speed in megabytes per second.",
44660702 12833 "format_description" : "mbps",
7aacca6f 12834 "optional" : 1,
44660702 12835 "type" : "number"
7aacca6f 12836 },
44660702 12837 "mbps_rd_max" : {
de0983cb 12838 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 12839 "format_description" : "mbps",
7aacca6f 12840 "optional" : 1,
44660702 12841 "type" : "number"
7aacca6f 12842 },
44660702 12843 "mbps_wr" : {
de0983cb 12844 "description" : "Maximum write speed in megabytes per second.",
44660702 12845 "format_description" : "mbps",
7aacca6f 12846 "optional" : 1,
44660702 12847 "type" : "number"
7aacca6f
DM
12848 },
12849 "mbps_wr_max" : {
de0983cb 12850 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 12851 "format_description" : "mbps",
7aacca6f 12852 "optional" : 1,
44660702 12853 "type" : "number"
7aacca6f 12854 },
44660702
DM
12855 "media" : {
12856 "default" : "disk",
12857 "description" : "The drive's media type.",
56122987 12858 "enum" : [
44660702
DM
12859 "cdrom",
12860 "disk"
56122987 12861 ],
56122987 12862 "optional" : 1,
44660702 12863 "type" : "string"
56122987 12864 },
5d9c884c
DM
12865 "replicate" : {
12866 "default" : 1,
12867 "description" : "Whether the drive should considered for replication jobs.",
12868 "optional" : 1,
12869 "type" : "boolean"
12870 },
44660702
DM
12871 "rerror" : {
12872 "description" : "Read error action.",
7aacca6f
DM
12873 "enum" : [
12874 "ignore",
44660702
DM
12875 "report",
12876 "stop"
7aacca6f 12877 ],
56122987 12878 "optional" : 1,
44660702 12879 "type" : "string"
56122987 12880 },
44660702
DM
12881 "secs" : {
12882 "description" : "Force the drive's physical geometry to have a specific sector count.",
56122987 12883 "optional" : 1,
44660702 12884 "type" : "integer"
56122987 12885 },
44660702
DM
12886 "serial" : {
12887 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
12888 "format" : "urlencoded",
12889 "format_description" : "serial",
12890 "maxLength" : 60,
12891 "optional" : 1,
12892 "type" : "string"
7aacca6f
DM
12893 },
12894 "size" : {
12895 "description" : "Disk size. This is purely informational and has no effect.",
44660702 12896 "format" : "disk-size",
f004f5b9 12897 "format_description" : "DiskSize",
56122987 12898 "optional" : 1,
44660702 12899 "type" : "string"
56122987 12900 },
44660702
DM
12901 "snapshot" : {
12902 "description" : "Whether the drive should be included when making snapshots.",
56122987 12903 "optional" : 1,
44660702 12904 "type" : "boolean"
56122987 12905 },
44660702
DM
12906 "trans" : {
12907 "description" : "Force disk geometry bios translation mode.",
56122987 12908 "enum" : [
44660702
DM
12909 "none",
12910 "lba",
12911 "auto"
7aacca6f 12912 ],
44660702
DM
12913 "optional" : 1,
12914 "type" : "string"
12915 },
12916 "volume" : {
12917 "alias" : "file"
56122987
DM
12918 },
12919 "werror" : {
56122987
DM
12920 "description" : "Write error action.",
12921 "enum" : [
12922 "enospc",
12923 "ignore",
12924 "report",
12925 "stop"
12926 ],
56122987 12927 "optional" : 1,
44660702
DM
12928 "type" : "string"
12929 }
12930 },
12931 "optional" : 1,
4bd7df8b 12932 "type" : "string",
5d9c884c 12933 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
44660702
DM
12934 },
12935 "scsi[n]" : {
12936 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
12937 "format" : {
12938 "aio" : {
12939 "description" : "AIO type to use.",
12940 "enum" : [
12941 "native",
12942 "threads"
12943 ],
44660702
DM
12944 "optional" : 1,
12945 "type" : "string"
56122987 12946 },
7aacca6f 12947 "backup" : {
44660702 12948 "description" : "Whether the drive should be included when making backups.",
7aacca6f 12949 "optional" : 1,
44660702 12950 "type" : "boolean"
7aacca6f 12951 },
44660702 12952 "bps" : {
de0983cb 12953 "description" : "Maximum r/w speed in bytes per second.",
44660702 12954 "format_description" : "bps",
7aacca6f 12955 "optional" : 1,
44660702 12956 "type" : "integer"
7aacca6f 12957 },
de0983cb
DM
12958 "bps_max_length" : {
12959 "description" : "Maximum length of I/O bursts in seconds.",
12960 "format_description" : "seconds",
12961 "minimum" : 1,
12962 "optional" : 1,
12963 "type" : "integer"
12964 },
44660702 12965 "bps_rd" : {
de0983cb 12966 "description" : "Maximum read speed in bytes per second.",
44660702 12967 "format_description" : "bps",
56122987 12968 "optional" : 1,
44660702 12969 "type" : "integer"
56122987 12970 },
de0983cb 12971 "bps_rd_length" : {
5d9c884c
DM
12972 "alias" : "bps_rd_max_length"
12973 },
12974 "bps_rd_max_length" : {
de0983cb
DM
12975 "description" : "Maximum length of read I/O bursts in seconds.",
12976 "format_description" : "seconds",
12977 "minimum" : 1,
12978 "optional" : 1,
12979 "type" : "integer"
12980 },
44660702 12981 "bps_wr" : {
de0983cb 12982 "description" : "Maximum write speed in bytes per second.",
44660702 12983 "format_description" : "bps",
7aacca6f 12984 "optional" : 1,
44660702 12985 "type" : "integer"
56122987 12986 },
de0983cb 12987 "bps_wr_length" : {
5d9c884c
DM
12988 "alias" : "bps_wr_max_length"
12989 },
12990 "bps_wr_max_length" : {
de0983cb
DM
12991 "description" : "Maximum length of write I/O bursts in seconds.",
12992 "format_description" : "seconds",
12993 "minimum" : 1,
12994 "optional" : 1,
12995 "type" : "integer"
12996 },
44660702
DM
12997 "cache" : {
12998 "description" : "The drive's cache mode",
7aacca6f
DM
12999 "enum" : [
13000 "none",
44660702
DM
13001 "writethrough",
13002 "writeback",
13003 "unsafe",
13004 "directsync"
7aacca6f 13005 ],
56122987 13006 "optional" : 1,
44660702 13007 "type" : "string"
56122987 13008 },
7aacca6f
DM
13009 "cyls" : {
13010 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
13011 "optional" : 1,
44660702 13012 "type" : "integer"
7aacca6f 13013 },
44660702
DM
13014 "detect_zeroes" : {
13015 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
56122987 13016 "optional" : 1,
44660702 13017 "type" : "boolean"
56122987 13018 },
44660702
DM
13019 "discard" : {
13020 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
7aacca6f 13021 "enum" : [
44660702
DM
13022 "ignore",
13023 "on"
7aacca6f 13024 ],
7aacca6f 13025 "optional" : 1,
44660702 13026 "type" : "string"
56122987
DM
13027 },
13028 "file" : {
7aacca6f
DM
13029 "default_key" : 1,
13030 "description" : "The drive's backing volume.",
44660702
DM
13031 "format" : "pve-volume-id-or-qm-path",
13032 "format_description" : "volume",
7aacca6f 13033 "type" : "string"
56122987 13034 },
7aacca6f 13035 "format" : {
44660702 13036 "description" : "The drive's backing file's data format.",
56122987 13037 "enum" : [
7aacca6f
DM
13038 "raw",
13039 "cow",
13040 "qcow",
13041 "qed",
13042 "qcow2",
13043 "vmdk",
13044 "cloop"
56122987 13045 ],
44660702
DM
13046 "optional" : 1,
13047 "type" : "string"
56122987 13048 },
44660702
DM
13049 "heads" : {
13050 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13051 "optional" : 1,
13052 "type" : "integer"
13053 },
13054 "iops" : {
de0983cb 13055 "description" : "Maximum r/w I/O in operations per second.",
7aacca6f 13056 "format_description" : "iops",
56122987 13057 "optional" : 1,
44660702 13058 "type" : "integer"
56122987 13059 },
44660702 13060 "iops_max" : {
de0983cb 13061 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702 13062 "format_description" : "iops",
7aacca6f 13063 "optional" : 1,
44660702 13064 "type" : "integer"
56122987 13065 },
de0983cb
DM
13066 "iops_max_length" : {
13067 "description" : "Maximum length of I/O bursts in seconds.",
13068 "format_description" : "seconds",
13069 "minimum" : 1,
13070 "optional" : 1,
13071 "type" : "integer"
13072 },
44660702 13073 "iops_rd" : {
de0983cb 13074 "description" : "Maximum read I/O in operations per second.",
44660702 13075 "format_description" : "iops",
56122987 13076 "optional" : 1,
44660702 13077 "type" : "integer"
56122987 13078 },
de0983cb 13079 "iops_rd_length" : {
5d9c884c 13080 "alias" : "iops_rd_max_length"
de0983cb 13081 },
44660702 13082 "iops_rd_max" : {
de0983cb 13083 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13084 "format_description" : "iops",
13085 "optional" : 1,
13086 "type" : "integer"
56122987 13087 },
5d9c884c
DM
13088 "iops_rd_max_length" : {
13089 "description" : "Maximum length of read I/O bursts in seconds.",
13090 "format_description" : "seconds",
13091 "minimum" : 1,
13092 "optional" : 1,
13093 "type" : "integer"
13094 },
44660702 13095 "iops_wr" : {
de0983cb 13096 "description" : "Maximum write I/O in operations per second.",
44660702 13097 "format_description" : "iops",
56122987 13098 "optional" : 1,
44660702 13099 "type" : "integer"
56122987 13100 },
de0983cb 13101 "iops_wr_length" : {
5d9c884c 13102 "alias" : "iops_wr_max_length"
de0983cb 13103 },
44660702 13104 "iops_wr_max" : {
de0983cb 13105 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702 13106 "format_description" : "iops",
56122987 13107 "optional" : 1,
56122987
DM
13108 "type" : "integer"
13109 },
5d9c884c
DM
13110 "iops_wr_max_length" : {
13111 "description" : "Maximum length of write I/O bursts in seconds.",
13112 "format_description" : "seconds",
13113 "minimum" : 1,
13114 "optional" : 1,
13115 "type" : "integer"
13116 },
44660702
DM
13117 "iothread" : {
13118 "description" : "Whether to use iothreads for this drive",
44660702
DM
13119 "optional" : 1,
13120 "type" : "boolean"
13121 },
13122 "mbps" : {
de0983cb 13123 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13124 "format_description" : "mbps",
13125 "optional" : 1,
13126 "type" : "number"
13127 },
7aacca6f 13128 "mbps_max" : {
de0983cb 13129 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702 13130 "format_description" : "mbps",
56122987 13131 "optional" : 1,
44660702 13132 "type" : "number"
56122987 13133 },
44660702 13134 "mbps_rd" : {
de0983cb 13135 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13136 "format_description" : "mbps",
13137 "optional" : 1,
13138 "type" : "number"
56122987 13139 },
44660702 13140 "mbps_rd_max" : {
de0983cb 13141 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702 13142 "format_description" : "mbps",
56122987 13143 "optional" : 1,
44660702 13144 "type" : "number"
56122987 13145 },
44660702 13146 "mbps_wr" : {
de0983cb 13147 "description" : "Maximum write speed in megabytes per second.",
44660702 13148 "format_description" : "mbps",
56122987 13149 "optional" : 1,
44660702 13150 "type" : "number"
56122987 13151 },
44660702 13152 "mbps_wr_max" : {
de0983cb 13153 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702 13154 "format_description" : "mbps",
7aacca6f 13155 "optional" : 1,
44660702 13156 "type" : "number"
56122987 13157 },
7aacca6f 13158 "media" : {
44660702 13159 "default" : "disk",
7aacca6f
DM
13160 "description" : "The drive's media type.",
13161 "enum" : [
13162 "cdrom",
13163 "disk"
13164 ],
56122987 13165 "optional" : 1,
44660702 13166 "type" : "string"
56122987 13167 },
44660702
DM
13168 "queues" : {
13169 "description" : "Number of queues.",
44660702
DM
13170 "minimum" : 2,
13171 "optional" : 1,
13172 "type" : "integer"
56122987 13173 },
5d9c884c
DM
13174 "replicate" : {
13175 "default" : 1,
13176 "description" : "Whether the drive should considered for replication jobs.",
13177 "optional" : 1,
13178 "type" : "boolean"
13179 },
13180 "rerror" : {
13181 "description" : "Read error action.",
13182 "enum" : [
13183 "ignore",
13184 "report",
13185 "stop"
13186 ],
13187 "optional" : 1,
13188 "type" : "string"
13189 },
52e44c50
FG
13190 "scsiblock" : {
13191 "default" : 0,
13192 "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
13193 "optional" : 1,
13194 "type" : "boolean"
13195 },
7aacca6f 13196 "secs" : {
7aacca6f 13197 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13198 "optional" : 1,
13199 "type" : "integer"
13200 },
13201 "serial" : {
13202 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13203 "format" : "urlencoded",
13204 "format_description" : "serial",
13205 "maxLength" : 60,
13206 "optional" : 1,
13207 "type" : "string"
13208 },
13209 "size" : {
13210 "description" : "Disk size. This is purely informational and has no effect.",
13211 "format" : "disk-size",
f004f5b9 13212 "format_description" : "DiskSize",
44660702
DM
13213 "optional" : 1,
13214 "type" : "string"
13215 },
13216 "snapshot" : {
13217 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
13218 "optional" : 1,
13219 "type" : "boolean"
13220 },
13221 "trans" : {
13222 "description" : "Force disk geometry bios translation mode.",
13223 "enum" : [
13224 "none",
13225 "lba",
13226 "auto"
13227 ],
44660702
DM
13228 "optional" : 1,
13229 "type" : "string"
13230 },
13231 "volume" : {
13232 "alias" : "file"
13233 },
13234 "werror" : {
13235 "description" : "Write error action.",
13236 "enum" : [
13237 "enospc",
13238 "ignore",
13239 "report",
13240 "stop"
13241 ],
44660702
DM
13242 "optional" : 1,
13243 "type" : "string"
56122987
DM
13244 }
13245 },
7aacca6f 13246 "optional" : 1,
4bd7df8b 13247 "type" : "string",
5d9c884c 13248 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
56122987 13249 },
44660702
DM
13250 "scsihw" : {
13251 "default" : "lsi",
c2993fe5 13252 "description" : "SCSI controller model",
44660702
DM
13253 "enum" : [
13254 "lsi",
13255 "lsi53c810",
13256 "virtio-scsi-pci",
13257 "virtio-scsi-single",
13258 "megasas",
13259 "pvscsi"
13260 ],
7aacca6f 13261 "optional" : 1,
44660702 13262 "type" : "string"
7aacca6f 13263 },
44660702 13264 "serial[n]" : {
c2993fe5 13265 "description" : "Create a serial device inside the VM (n is 0 to 3)",
44660702
DM
13266 "optional" : 1,
13267 "pattern" : "(/dev/.+|socket)",
c2993fe5 13268 "type" : "string",
57b78691 13269 "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
13270 },
13271 "shares" : {
13272 "default" : 1000,
13273 "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",
13274 "maximum" : 50000,
13275 "minimum" : 0,
13276 "optional" : 1,
4bd7df8b 13277 "type" : "integer",
013dc89f 13278 "typetext" : "<integer> (0 - 50000)"
44660702
DM
13279 },
13280 "smbios1" : {
13281 "description" : "Specify SMBIOS type 1 fields.",
13282 "format" : "pve-qm-smbios1",
13283 "maxLength" : 256,
7aacca6f 13284 "optional" : 1,
4bd7df8b
DM
13285 "type" : "string",
13286 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
7aacca6f
DM
13287 },
13288 "smp" : {
44660702 13289 "default" : 1,
7aacca6f 13290 "description" : "The number of CPUs. Please use option -sockets instead.",
44660702 13291 "minimum" : 1,
56122987 13292 "optional" : 1,
4bd7df8b 13293 "type" : "integer",
013dc89f 13294 "typetext" : "<integer> (1 - N)"
44660702
DM
13295 },
13296 "sockets" : {
7aacca6f 13297 "default" : 1,
44660702
DM
13298 "description" : "The number of CPU sockets.",
13299 "minimum" : 1,
13300 "optional" : 1,
4bd7df8b 13301 "type" : "integer",
013dc89f 13302 "typetext" : "<integer> (1 - N)"
7aacca6f 13303 },
44660702
DM
13304 "startdate" : {
13305 "default" : "now",
13306 "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'.",
13307 "optional" : 1,
13308 "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
13309 "type" : "string",
13310 "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)"
13311 },
13312 "startup" : {
13313 "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.",
13314 "format" : "pve-startup-order",
13315 "optional" : 1,
13316 "type" : "string",
13317 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
13318 },
13319 "storage" : {
13320 "description" : "Default storage.",
13321 "format" : "pve-storage-id",
7aacca6f 13322 "optional" : 1,
013dc89f
DM
13323 "type" : "string",
13324 "typetext" : "<string>"
56122987 13325 },
44660702
DM
13326 "tablet" : {
13327 "default" : 1,
c2993fe5 13328 "description" : "Enable/disable the USB tablet device.",
56122987 13329 "optional" : 1,
c2993fe5 13330 "type" : "boolean",
013dc89f 13331 "typetext" : "<boolean>",
c2993fe5 13332 "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
13333 },
13334 "tdf" : {
13335 "default" : 0,
13336 "description" : "Enable/disable time drift fix.",
13337 "optional" : 1,
013dc89f
DM
13338 "type" : "boolean",
13339 "typetext" : "<boolean>"
7aacca6f
DM
13340 },
13341 "template" : {
7aacca6f 13342 "default" : 0,
44660702 13343 "description" : "Enable/disable Template.",
7aacca6f 13344 "optional" : 1,
013dc89f
DM
13345 "type" : "boolean",
13346 "typetext" : "<boolean>"
7aacca6f 13347 },
44660702
DM
13348 "unique" : {
13349 "description" : "Assign a unique random ethernet address.",
7aacca6f 13350 "optional" : 1,
44660702 13351 "requires" : "archive",
013dc89f
DM
13352 "type" : "boolean",
13353 "typetext" : "<boolean>"
56122987 13354 },
44660702 13355 "unused[n]" : {
c2993fe5 13356 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 13357 "format" : "pve-volume-id",
7aacca6f 13358 "optional" : 1,
013dc89f
DM
13359 "type" : "string",
13360 "typetext" : "<string>"
44660702
DM
13361 },
13362 "usb[n]" : {
c2993fe5 13363 "description" : "Configure an USB device (n is 0 to 4).",
56122987 13364 "format" : {
7aacca6f
DM
13365 "host" : {
13366 "default_key" : 1,
c2993fe5 13367 "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 13368 "format" : "pve-qm-usb-device",
44660702
DM
13369 "format_description" : "HOSTUSBDEVICE|spice",
13370 "type" : "string"
7aacca6f 13371 },
56122987 13372 "usb3" : {
c2993fe5
DM
13373 "default" : 0,
13374 "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 13375 "optional" : 1,
56122987 13376 "type" : "boolean"
7aacca6f 13377 }
56122987 13378 },
56122987 13379 "optional" : 1,
4bd7df8b
DM
13380 "type" : "string",
13381 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
56122987 13382 },
44660702
DM
13383 "vcpus" : {
13384 "default" : 0,
13385 "description" : "Number of hotplugged vcpus.",
13386 "minimum" : 1,
56122987 13387 "optional" : 1,
4bd7df8b 13388 "type" : "integer",
013dc89f 13389 "typetext" : "<integer> (1 - N)"
7aacca6f 13390 },
44660702 13391 "vga" : {
c2993fe5 13392 "description" : "Select the VGA type.",
44660702
DM
13393 "enum" : [
13394 "std",
13395 "cirrus",
13396 "vmware",
13397 "qxl",
13398 "serial0",
13399 "serial1",
13400 "serial2",
13401 "serial3",
13402 "qxl2",
13403 "qxl3",
13404 "qxl4"
13405 ],
13406 "optional" : 1,
c2993fe5
DM
13407 "type" : "string",
13408 "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 13409 },
44660702
DM
13410 "virtio[n]" : {
13411 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
13412 "format" : {
13413 "aio" : {
13414 "description" : "AIO type to use.",
13415 "enum" : [
13416 "native",
13417 "threads"
13418 ],
44660702
DM
13419 "optional" : 1,
13420 "type" : "string"
13421 },
13422 "backup" : {
13423 "description" : "Whether the drive should be included when making backups.",
44660702
DM
13424 "optional" : 1,
13425 "type" : "boolean"
13426 },
13427 "bps" : {
de0983cb 13428 "description" : "Maximum r/w speed in bytes per second.",
44660702
DM
13429 "format_description" : "bps",
13430 "optional" : 1,
13431 "type" : "integer"
13432 },
de0983cb
DM
13433 "bps_max_length" : {
13434 "description" : "Maximum length of I/O bursts in seconds.",
13435 "format_description" : "seconds",
13436 "minimum" : 1,
13437 "optional" : 1,
13438 "type" : "integer"
13439 },
44660702 13440 "bps_rd" : {
de0983cb 13441 "description" : "Maximum read speed in bytes per second.",
44660702
DM
13442 "format_description" : "bps",
13443 "optional" : 1,
13444 "type" : "integer"
13445 },
de0983cb 13446 "bps_rd_length" : {
5d9c884c
DM
13447 "alias" : "bps_rd_max_length"
13448 },
13449 "bps_rd_max_length" : {
de0983cb
DM
13450 "description" : "Maximum length of read I/O bursts in seconds.",
13451 "format_description" : "seconds",
13452 "minimum" : 1,
13453 "optional" : 1,
13454 "type" : "integer"
13455 },
44660702 13456 "bps_wr" : {
de0983cb 13457 "description" : "Maximum write speed in bytes per second.",
44660702
DM
13458 "format_description" : "bps",
13459 "optional" : 1,
13460 "type" : "integer"
13461 },
de0983cb 13462 "bps_wr_length" : {
5d9c884c
DM
13463 "alias" : "bps_wr_max_length"
13464 },
13465 "bps_wr_max_length" : {
de0983cb
DM
13466 "description" : "Maximum length of write I/O bursts in seconds.",
13467 "format_description" : "seconds",
13468 "minimum" : 1,
13469 "optional" : 1,
13470 "type" : "integer"
13471 },
44660702
DM
13472 "cache" : {
13473 "description" : "The drive's cache mode",
13474 "enum" : [
13475 "none",
13476 "writethrough",
13477 "writeback",
13478 "unsafe",
13479 "directsync"
13480 ],
44660702
DM
13481 "optional" : 1,
13482 "type" : "string"
13483 },
13484 "cyls" : {
13485 "description" : "Force the drive's physical geometry to have a specific cylinder count.",
44660702
DM
13486 "optional" : 1,
13487 "type" : "integer"
13488 },
13489 "detect_zeroes" : {
13490 "description" : "Controls whether to detect and try to optimize writes of zeroes.",
13491 "optional" : 1,
13492 "type" : "boolean"
13493 },
13494 "discard" : {
13495 "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
13496 "enum" : [
13497 "ignore",
13498 "on"
13499 ],
44660702
DM
13500 "optional" : 1,
13501 "type" : "string"
13502 },
13503 "file" : {
13504 "default_key" : 1,
13505 "description" : "The drive's backing volume.",
13506 "format" : "pve-volume-id-or-qm-path",
13507 "format_description" : "volume",
13508 "type" : "string"
13509 },
13510 "format" : {
13511 "description" : "The drive's backing file's data format.",
13512 "enum" : [
13513 "raw",
13514 "cow",
13515 "qcow",
13516 "qed",
13517 "qcow2",
13518 "vmdk",
13519 "cloop"
13520 ],
44660702
DM
13521 "optional" : 1,
13522 "type" : "string"
13523 },
13524 "heads" : {
13525 "description" : "Force the drive's physical geometry to have a specific head count.",
44660702
DM
13526 "optional" : 1,
13527 "type" : "integer"
13528 },
13529 "iops" : {
de0983cb 13530 "description" : "Maximum r/w I/O in operations per second.",
44660702
DM
13531 "format_description" : "iops",
13532 "optional" : 1,
13533 "type" : "integer"
13534 },
13535 "iops_max" : {
de0983cb 13536 "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
44660702
DM
13537 "format_description" : "iops",
13538 "optional" : 1,
13539 "type" : "integer"
13540 },
de0983cb
DM
13541 "iops_max_length" : {
13542 "description" : "Maximum length of I/O bursts in seconds.",
13543 "format_description" : "seconds",
13544 "minimum" : 1,
13545 "optional" : 1,
13546 "type" : "integer"
13547 },
44660702 13548 "iops_rd" : {
de0983cb 13549 "description" : "Maximum read I/O in operations per second.",
44660702
DM
13550 "format_description" : "iops",
13551 "optional" : 1,
13552 "type" : "integer"
13553 },
de0983cb 13554 "iops_rd_length" : {
5d9c884c 13555 "alias" : "iops_rd_max_length"
de0983cb 13556 },
44660702 13557 "iops_rd_max" : {
de0983cb 13558 "description" : "Maximum unthrottled read I/O pool in operations per second.",
44660702
DM
13559 "format_description" : "iops",
13560 "optional" : 1,
13561 "type" : "integer"
13562 },
5d9c884c
DM
13563 "iops_rd_max_length" : {
13564 "description" : "Maximum length of read I/O bursts in seconds.",
13565 "format_description" : "seconds",
13566 "minimum" : 1,
13567 "optional" : 1,
13568 "type" : "integer"
13569 },
44660702 13570 "iops_wr" : {
de0983cb 13571 "description" : "Maximum write I/O in operations per second.",
44660702
DM
13572 "format_description" : "iops",
13573 "optional" : 1,
13574 "type" : "integer"
13575 },
de0983cb 13576 "iops_wr_length" : {
5d9c884c 13577 "alias" : "iops_wr_max_length"
de0983cb 13578 },
44660702 13579 "iops_wr_max" : {
de0983cb 13580 "description" : "Maximum unthrottled write I/O pool in operations per second.",
44660702
DM
13581 "format_description" : "iops",
13582 "optional" : 1,
13583 "type" : "integer"
13584 },
5d9c884c
DM
13585 "iops_wr_max_length" : {
13586 "description" : "Maximum length of write I/O bursts in seconds.",
13587 "format_description" : "seconds",
13588 "minimum" : 1,
13589 "optional" : 1,
13590 "type" : "integer"
13591 },
44660702
DM
13592 "iothread" : {
13593 "description" : "Whether to use iothreads for this drive",
44660702
DM
13594 "optional" : 1,
13595 "type" : "boolean"
13596 },
13597 "mbps" : {
de0983cb 13598 "description" : "Maximum r/w speed in megabytes per second.",
44660702
DM
13599 "format_description" : "mbps",
13600 "optional" : 1,
13601 "type" : "number"
13602 },
13603 "mbps_max" : {
de0983cb 13604 "description" : "Maximum unthrottled r/w pool in megabytes per second.",
44660702
DM
13605 "format_description" : "mbps",
13606 "optional" : 1,
13607 "type" : "number"
13608 },
13609 "mbps_rd" : {
de0983cb 13610 "description" : "Maximum read speed in megabytes per second.",
44660702
DM
13611 "format_description" : "mbps",
13612 "optional" : 1,
13613 "type" : "number"
13614 },
13615 "mbps_rd_max" : {
de0983cb 13616 "description" : "Maximum unthrottled read pool in megabytes per second.",
44660702
DM
13617 "format_description" : "mbps",
13618 "optional" : 1,
13619 "type" : "number"
13620 },
13621 "mbps_wr" : {
de0983cb 13622 "description" : "Maximum write speed in megabytes per second.",
44660702
DM
13623 "format_description" : "mbps",
13624 "optional" : 1,
13625 "type" : "number"
13626 },
13627 "mbps_wr_max" : {
de0983cb 13628 "description" : "Maximum unthrottled write pool in megabytes per second.",
44660702
DM
13629 "format_description" : "mbps",
13630 "optional" : 1,
13631 "type" : "number"
13632 },
13633 "media" : {
13634 "default" : "disk",
13635 "description" : "The drive's media type.",
13636 "enum" : [
13637 "cdrom",
13638 "disk"
13639 ],
44660702
DM
13640 "optional" : 1,
13641 "type" : "string"
13642 },
5d9c884c
DM
13643 "replicate" : {
13644 "default" : 1,
13645 "description" : "Whether the drive should considered for replication jobs.",
13646 "optional" : 1,
13647 "type" : "boolean"
13648 },
44660702
DM
13649 "rerror" : {
13650 "description" : "Read error action.",
13651 "enum" : [
13652 "ignore",
13653 "report",
13654 "stop"
13655 ],
44660702
DM
13656 "optional" : 1,
13657 "type" : "string"
13658 },
13659 "secs" : {
13660 "description" : "Force the drive's physical geometry to have a specific sector count.",
44660702
DM
13661 "optional" : 1,
13662 "type" : "integer"
13663 },
13664 "serial" : {
13665 "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
13666 "format" : "urlencoded",
13667 "format_description" : "serial",
13668 "maxLength" : 60,
13669 "optional" : 1,
13670 "type" : "string"
13671 },
13672 "size" : {
13673 "description" : "Disk size. This is purely informational and has no effect.",
13674 "format" : "disk-size",
f004f5b9 13675 "format_description" : "DiskSize",
44660702
DM
13676 "optional" : 1,
13677 "type" : "string"
13678 },
13679 "snapshot" : {
13680 "description" : "Whether the drive should be included when making snapshots.",
44660702
DM
13681 "optional" : 1,
13682 "type" : "boolean"
13683 },
13684 "trans" : {
13685 "description" : "Force disk geometry bios translation mode.",
13686 "enum" : [
13687 "none",
13688 "lba",
13689 "auto"
13690 ],
44660702
DM
13691 "optional" : 1,
13692 "type" : "string"
13693 },
13694 "volume" : {
13695 "alias" : "file"
13696 },
13697 "werror" : {
13698 "description" : "Write error action.",
13699 "enum" : [
13700 "enospc",
13701 "ignore",
13702 "report",
13703 "stop"
13704 ],
44660702
DM
13705 "optional" : 1,
13706 "type" : "string"
13707 }
13708 },
13709 "optional" : 1,
4bd7df8b 13710 "type" : "string",
5d9c884c 13711 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
7aacca6f 13712 },
44660702
DM
13713 "vmid" : {
13714 "description" : "The (unique) ID of the VM.",
13715 "format" : "pve-vmid",
13716 "minimum" : 1,
4bd7df8b 13717 "type" : "integer",
013dc89f 13718 "typetext" : "<integer> (1 - N)"
44660702
DM
13719 },
13720 "watchdog" : {
c2993fe5 13721 "description" : "Create a virtual hardware watchdog device.",
44660702 13722 "format" : "pve-qm-watchdog",
7aacca6f 13723 "optional" : 1,
c2993fe5 13724 "type" : "string",
013dc89f 13725 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
c2993fe5 13726 "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 13727 }
44660702 13728 }
56122987 13729 },
56122987 13730 "permissions" : {
44660702
DM
13731 "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.",
13732 "user" : "all"
56122987 13733 },
44660702
DM
13734 "protected" : 1,
13735 "proxyto" : "node",
56122987 13736 "returns" : {
44660702 13737 "type" : "string"
7aacca6f 13738 }
56122987 13739 }
7aacca6f 13740 },
44660702 13741 "leaf" : 0,
7aacca6f 13742 "path" : "/nodes/{node}/qemu",
44660702 13743 "text" : "qemu"
56122987
DM
13744 },
13745 {
13746 "children" : [
13747 {
56122987
DM
13748 "children" : [
13749 {
56122987 13750 "info" : {
44660702
DM
13751 "GET" : {
13752 "description" : "Get container configuration.",
13753 "method" : "GET",
13754 "name" : "vm_config",
13755 "parameters" : {
13756 "additionalProperties" : 0,
13757 "properties" : {
13758 "node" : {
13759 "description" : "The cluster node name.",
13760 "format" : "pve-node",
013dc89f
DM
13761 "type" : "string",
13762 "typetext" : "<string>"
44660702
DM
13763 },
13764 "vmid" : {
13765 "description" : "The (unique) ID of the VM.",
13766 "format" : "pve-vmid",
13767 "minimum" : 1,
4bd7df8b 13768 "type" : "integer",
013dc89f 13769 "typetext" : "<integer> (1 - N)"
44660702
DM
13770 }
13771 }
13772 },
13773 "permissions" : {
13774 "check" : [
13775 "perm",
13776 "/vms/{vmid}",
13777 [
13778 "VM.Audit"
13779 ]
13780 ]
13781 },
13782 "proxyto" : "node",
13783 "returns" : {
13784 "properties" : {
13785 "digest" : {
13786 "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
13787 "type" : "string"
13788 }
13789 },
13790 "type" : "object"
13791 }
13792 },
56122987 13793 "PUT" : {
44660702
DM
13794 "description" : "Set container options.",
13795 "method" : "PUT",
13796 "name" : "update_vm",
56122987 13797 "parameters" : {
44660702 13798 "additionalProperties" : 0,
56122987 13799 "properties" : {
44660702
DM
13800 "arch" : {
13801 "default" : "amd64",
13802 "description" : "OS architecture type.",
13803 "enum" : [
13804 "amd64",
13805 "i386"
13806 ],
7aacca6f 13807 "optional" : 1,
44660702
DM
13808 "type" : "string"
13809 },
13810 "cmode" : {
7aacca6f 13811 "default" : "tty",
44660702 13812 "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
13813 "enum" : [
13814 "shell",
13815 "console",
13816 "tty"
13817 ],
44660702
DM
13818 "optional" : 1,
13819 "type" : "string"
7aacca6f 13820 },
44660702
DM
13821 "console" : {
13822 "default" : 1,
13823 "description" : "Attach a console device (/dev/console) to the container.",
7aacca6f 13824 "optional" : 1,
013dc89f
DM
13825 "type" : "boolean",
13826 "typetext" : "<boolean>"
7aacca6f 13827 },
de0983cb
DM
13828 "cores" : {
13829 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
13830 "maximum" : 128,
13831 "minimum" : 1,
13832 "optional" : 1,
13833 "type" : "integer",
013dc89f 13834 "typetext" : "<integer> (1 - 128)"
de0983cb 13835 },
44660702
DM
13836 "cpulimit" : {
13837 "default" : 0,
13838 "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.",
13839 "maximum" : 128,
7aacca6f 13840 "minimum" : 0,
7aacca6f 13841 "optional" : 1,
4bd7df8b 13842 "type" : "number",
013dc89f 13843 "typetext" : "<number> (0 - 128)"
7aacca6f 13844 },
44660702
DM
13845 "cpuunits" : {
13846 "default" : 1024,
13847 "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.",
13848 "maximum" : 500000,
13849 "minimum" : 0,
13850 "optional" : 1,
4bd7df8b 13851 "type" : "integer",
013dc89f 13852 "typetext" : "<integer> (0 - 500000)"
7aacca6f 13853 },
44660702
DM
13854 "delete" : {
13855 "description" : "A list of settings you want to delete.",
13856 "format" : "pve-configid-list",
7aacca6f 13857 "optional" : 1,
013dc89f
DM
13858 "type" : "string",
13859 "typetext" : "<string>"
7aacca6f 13860 },
44660702
DM
13861 "description" : {
13862 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 13863 "optional" : 1,
013dc89f
DM
13864 "type" : "string",
13865 "typetext" : "<string>"
7aacca6f 13866 },
44660702
DM
13867 "digest" : {
13868 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
13869 "maxLength" : 40,
7aacca6f 13870 "optional" : 1,
013dc89f
DM
13871 "type" : "string",
13872 "typetext" : "<string>"
7aacca6f 13873 },
44660702
DM
13874 "hostname" : {
13875 "description" : "Set a host name for the container.",
13876 "format" : "dns-name",
13877 "maxLength" : 255,
56122987 13878 "optional" : 1,
013dc89f
DM
13879 "type" : "string",
13880 "typetext" : "<string>"
44660702
DM
13881 },
13882 "lock" : {
13883 "description" : "Lock/unlock the VM.",
13884 "enum" : [
13885 "migrate",
13886 "backup",
13887 "snapshot",
13888 "rollback"
13889 ],
13890 "optional" : 1,
13891 "type" : "string"
13892 },
13893 "memory" : {
13894 "default" : 512,
13895 "description" : "Amount of RAM for the VM in MB.",
13896 "minimum" : 16,
13897 "optional" : 1,
4bd7df8b 13898 "type" : "integer",
013dc89f 13899 "typetext" : "<integer> (16 - N)"
7aacca6f
DM
13900 },
13901 "mp[n]" : {
c2993fe5 13902 "description" : "Use volume as container mount point.",
7aacca6f 13903 "format" : {
7aacca6f
DM
13904 "acl" : {
13905 "description" : "Explicitly enable or disable ACL support.",
7aacca6f 13906 "optional" : 1,
44660702 13907 "type" : "boolean"
7aacca6f
DM
13908 },
13909 "backup" : {
de0983cb 13910 "description" : "Whether to include the mount point in backups.",
7aacca6f 13911 "optional" : 1,
4bd7df8b 13912 "type" : "boolean",
de0983cb 13913 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
7aacca6f
DM
13914 },
13915 "mp" : {
de0983cb 13916 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
7aacca6f 13917 "format" : "pve-lxc-mp-string",
44660702 13918 "format_description" : "Path",
4bd7df8b 13919 "type" : "string",
de0983cb 13920 "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
44660702 13921 },
5d9c884c
DM
13922 "quota" : {
13923 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
13924 "optional" : 1,
13925 "type" : "boolean"
13926 },
13927 "replicate" : {
13928 "default" : 1,
13929 "description" : "Will include this volume to a storage replica job.",
44660702
DM
13930 "optional" : 1,
13931 "type" : "boolean"
13932 },
13933 "ro" : {
de0983cb 13934 "description" : "Read-only mount point",
44660702
DM
13935 "optional" : 1,
13936 "type" : "boolean"
13937 },
de0983cb
DM
13938 "shared" : {
13939 "default" : 0,
13940 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
13941 "optional" : 1,
13942 "type" : "boolean",
13943 "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!"
13944 },
44660702
DM
13945 "size" : {
13946 "description" : "Volume size (read only value).",
13947 "format" : "disk-size",
13948 "format_description" : "DiskSize",
13949 "optional" : 1,
13950 "type" : "string"
13951 },
13952 "volume" : {
13953 "default_key" : 1,
13954 "description" : "Volume, device or directory to mount into the container.",
13955 "format" : "pve-lxc-mp-string",
13956 "format_description" : "volume",
13957 "type" : "string"
13958 }
13959 },
7aacca6f 13960 "optional" : 1,
4bd7df8b 13961 "type" : "string",
5d9c884c 13962 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 13963 },
44660702
DM
13964 "nameserver" : {
13965 "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.",
13966 "format" : "address-list",
56122987 13967 "optional" : 1,
013dc89f
DM
13968 "type" : "string",
13969 "typetext" : "<string>"
56122987
DM
13970 },
13971 "net[n]" : {
44660702 13972 "description" : "Specifies network interfaces for the container.",
56122987 13973 "format" : {
44660702
DM
13974 "bridge" : {
13975 "description" : "Bridge to attach the network device to.",
f004f5b9 13976 "format_description" : "bridge",
56122987 13977 "optional" : 1,
44660702
DM
13978 "pattern" : "[-_.\\w\\d]+",
13979 "type" : "string"
56122987 13980 },
44660702
DM
13981 "firewall" : {
13982 "description" : "Controls whether this interface's firewall rules should be used.",
56122987 13983 "optional" : 1,
44660702 13984 "type" : "boolean"
56122987 13985 },
44660702
DM
13986 "gw" : {
13987 "description" : "Default gateway for IPv4 traffic.",
13988 "format" : "ipv4",
13989 "format_description" : "GatewayIPv4",
56122987 13990 "optional" : 1,
44660702 13991 "type" : "string"
56122987
DM
13992 },
13993 "gw6" : {
7aacca6f 13994 "description" : "Default gateway for IPv6 traffic.",
44660702
DM
13995 "format" : "ipv6",
13996 "format_description" : "GatewayIPv6",
7aacca6f 13997 "optional" : 1,
56122987
DM
13998 "type" : "string"
13999 },
44660702 14000 "hwaddr" : {
f004f5b9
DM
14001 "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)",
14002 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
14003 "optional" : 1,
14004 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
14005 "type" : "string"
14006 },
14007 "ip" : {
14008 "description" : "IPv4 address in CIDR format.",
14009 "format" : "pve-ipv4-config",
14010 "format_description" : "IPv4Format/CIDR",
56122987 14011 "optional" : 1,
44660702 14012 "type" : "string"
56122987 14013 },
7aacca6f 14014 "ip6" : {
7aacca6f
DM
14015 "description" : "IPv6 address in CIDR format.",
14016 "format" : "pve-ipv6-config",
44660702 14017 "format_description" : "IPv6Format/CIDR",
7aacca6f 14018 "optional" : 1,
44660702 14019 "type" : "string"
56122987 14020 },
44660702
DM
14021 "mtu" : {
14022 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702 14023 "minimum" : 64,
56122987 14024 "optional" : 1,
44660702 14025 "type" : "integer"
56122987
DM
14026 },
14027 "name" : {
44660702 14028 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 14029 "format_description" : "string",
56122987 14030 "pattern" : "[-_.\\w\\d]+",
44660702 14031 "type" : "string"
56122987 14032 },
44660702
DM
14033 "rate" : {
14034 "description" : "Apply rate limiting to the interface",
14035 "format_description" : "mbps",
56122987 14036 "optional" : 1,
44660702 14037 "type" : "number"
7aacca6f 14038 },
44660702
DM
14039 "tag" : {
14040 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
14041 "maximum" : 4094,
14042 "minimum" : 1,
56122987 14043 "optional" : 1,
7aacca6f 14044 "type" : "integer"
56122987 14045 },
44660702
DM
14046 "trunks" : {
14047 "description" : "VLAN ids to pass through the interface",
14048 "format_description" : "vlanid[;vlanid...]",
14049 "optional" : 1,
14050 "pattern" : "(?^:\\d+(?:;\\d+)*)",
14051 "type" : "string"
14052 },
14053 "type" : {
14054 "description" : "Network interface type.",
14055 "enum" : [
14056 "veth"
14057 ],
56122987 14058 "optional" : 1,
44660702 14059 "type" : "string"
56122987
DM
14060 }
14061 },
7aacca6f 14062 "optional" : 1,
4bd7df8b
DM
14063 "type" : "string",
14064 "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 14065 },
44660702
DM
14066 "node" : {
14067 "description" : "The cluster node name.",
14068 "format" : "pve-node",
013dc89f
DM
14069 "type" : "string",
14070 "typetext" : "<string>"
56122987 14071 },
44660702
DM
14072 "onboot" : {
14073 "default" : 0,
14074 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 14075 "optional" : 1,
013dc89f
DM
14076 "type" : "boolean",
14077 "typetext" : "<boolean>"
56122987 14078 },
44660702
DM
14079 "ostype" : {
14080 "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.",
14081 "enum" : [
14082 "debian",
14083 "ubuntu",
14084 "centos",
14085 "fedora",
14086 "opensuse",
14087 "archlinux",
14088 "alpine",
57b78691 14089 "gentoo",
44660702
DM
14090 "unmanaged"
14091 ],
56122987 14092 "optional" : 1,
44660702 14093 "type" : "string"
56122987 14094 },
44660702
DM
14095 "protection" : {
14096 "default" : 0,
14097 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
56122987 14098 "optional" : 1,
013dc89f
DM
14099 "type" : "boolean",
14100 "typetext" : "<boolean>"
56122987 14101 },
7aacca6f
DM
14102 "rootfs" : {
14103 "description" : "Use volume as container root.",
56122987
DM
14104 "format" : {
14105 "acl" : {
44660702 14106 "description" : "Explicitly enable or disable ACL support.",
7aacca6f
DM
14107 "optional" : 1,
14108 "type" : "boolean"
56122987 14109 },
44660702
DM
14110 "quota" : {
14111 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
44660702
DM
14112 "optional" : 1,
14113 "type" : "boolean"
14114 },
5d9c884c
DM
14115 "replicate" : {
14116 "default" : 1,
14117 "description" : "Will include this volume to a storage replica job.",
14118 "optional" : 1,
14119 "type" : "boolean"
14120 },
44660702 14121 "ro" : {
de0983cb 14122 "description" : "Read-only mount point",
56122987 14123 "optional" : 1,
44660702
DM
14124 "type" : "boolean"
14125 },
de0983cb
DM
14126 "shared" : {
14127 "default" : 0,
14128 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
14129 "optional" : 1,
14130 "type" : "boolean",
14131 "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!"
14132 },
44660702 14133 "size" : {
7aacca6f 14134 "description" : "Volume size (read only value).",
44660702 14135 "format" : "disk-size",
56122987 14136 "format_description" : "DiskSize",
56122987 14137 "optional" : 1,
44660702 14138 "type" : "string"
7aacca6f
DM
14139 },
14140 "volume" : {
7aacca6f
DM
14141 "default_key" : 1,
14142 "description" : "Volume, device or directory to mount into the container.",
44660702
DM
14143 "format" : "pve-lxc-mp-string",
14144 "format_description" : "volume",
7aacca6f 14145 "type" : "string"
56122987 14146 }
44660702
DM
14147 },
14148 "optional" : 1,
4bd7df8b 14149 "type" : "string",
5d9c884c 14150 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
14151 },
14152 "searchdomain" : {
14153 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
14154 "format" : "dns-name-list",
14155 "optional" : 1,
013dc89f
DM
14156 "type" : "string",
14157 "typetext" : "<string>"
44660702
DM
14158 },
14159 "startup" : {
14160 "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.",
14161 "format" : "pve-startup-order",
14162 "optional" : 1,
14163 "type" : "string",
14164 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
14165 },
14166 "swap" : {
14167 "default" : 512,
14168 "description" : "Amount of SWAP for the VM in MB.",
14169 "minimum" : 0,
14170 "optional" : 1,
4bd7df8b 14171 "type" : "integer",
013dc89f 14172 "typetext" : "<integer> (0 - N)"
56122987 14173 },
56122987 14174 "template" : {
44660702 14175 "default" : 0,
7aacca6f 14176 "description" : "Enable/disable Template.",
56122987 14177 "optional" : 1,
013dc89f
DM
14178 "type" : "boolean",
14179 "typetext" : "<boolean>"
56122987 14180 },
44660702
DM
14181 "tty" : {
14182 "default" : 2,
14183 "description" : "Specify the number of tty available to the container",
14184 "maximum" : 6,
14185 "minimum" : 0,
14186 "optional" : 1,
4bd7df8b 14187 "type" : "integer",
013dc89f 14188 "typetext" : "<integer> (0 - 6)"
56122987 14189 },
44660702
DM
14190 "unprivileged" : {
14191 "default" : 0,
14192 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
56122987 14193 "optional" : 1,
013dc89f
DM
14194 "type" : "boolean",
14195 "typetext" : "<boolean>"
56122987 14196 },
44660702 14197 "unused[n]" : {
c2993fe5 14198 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702 14199 "format" : "pve-volume-id",
56122987 14200 "optional" : 1,
013dc89f
DM
14201 "type" : "string",
14202 "typetext" : "<string>"
44660702
DM
14203 },
14204 "vmid" : {
14205 "description" : "The (unique) ID of the VM.",
14206 "format" : "pve-vmid",
14207 "minimum" : 1,
4bd7df8b 14208 "type" : "integer",
013dc89f 14209 "typetext" : "<integer> (1 - N)"
56122987 14210 }
44660702 14211 }
56122987 14212 },
56122987
DM
14213 "permissions" : {
14214 "check" : [
14215 "perm",
14216 "/vms/{vmid}",
14217 [
14218 "VM.Config.Disk",
14219 "VM.Config.CPU",
14220 "VM.Config.Memory",
14221 "VM.Config.Network",
14222 "VM.Config.Options"
14223 ],
14224 "any",
14225 1
52e44c50
FG
14226 ],
14227 "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
56122987 14228 },
44660702
DM
14229 "protected" : 1,
14230 "proxyto" : "node",
56122987
DM
14231 "returns" : {
14232 "type" : "null"
7aacca6f 14233 }
56122987 14234 }
7aacca6f 14235 },
44660702 14236 "leaf" : 1,
7aacca6f 14237 "path" : "/nodes/{node}/lxc/{vmid}/config",
44660702 14238 "text" : "config"
56122987
DM
14239 },
14240 {
56122987
DM
14241 "children" : [
14242 {
14243 "info" : {
14244 "GET" : {
44660702 14245 "description" : "Get virtual machine status.",
7aacca6f 14246 "method" : "GET",
44660702 14247 "name" : "vm_status",
56122987 14248 "parameters" : {
44660702 14249 "additionalProperties" : 0,
56122987 14250 "properties" : {
56122987 14251 "node" : {
44660702 14252 "description" : "The cluster node name.",
56122987 14253 "format" : "pve-node",
013dc89f
DM
14254 "type" : "string",
14255 "typetext" : "<string>"
7aacca6f
DM
14256 },
14257 "vmid" : {
14258 "description" : "The (unique) ID of the VM.",
44660702 14259 "format" : "pve-vmid",
7aacca6f 14260 "minimum" : 1,
4bd7df8b 14261 "type" : "integer",
013dc89f 14262 "typetext" : "<integer> (1 - N)"
56122987 14263 }
44660702 14264 }
7aacca6f
DM
14265 },
14266 "permissions" : {
14267 "check" : [
14268 "perm",
14269 "/vms/{vmid}",
14270 [
14271 "VM.Audit"
14272 ]
14273 ]
14274 },
44660702 14275 "protected" : 1,
7aacca6f 14276 "proxyto" : "node",
44660702
DM
14277 "returns" : {
14278 "type" : "object"
14279 }
56122987
DM
14280 }
14281 },
44660702
DM
14282 "leaf" : 1,
14283 "path" : "/nodes/{node}/lxc/{vmid}/status/current",
56122987
DM
14284 "text" : "current"
14285 },
14286 {
56122987
DM
14287 "info" : {
14288 "POST" : {
7aacca6f 14289 "description" : "Start the container.",
44660702 14290 "method" : "POST",
7aacca6f 14291 "name" : "vm_start",
56122987
DM
14292 "parameters" : {
14293 "additionalProperties" : 0,
14294 "properties" : {
56122987 14295 "node" : {
7aacca6f 14296 "description" : "The cluster node name.",
44660702 14297 "format" : "pve-node",
013dc89f
DM
14298 "type" : "string",
14299 "typetext" : "<string>"
56122987 14300 },
7aacca6f 14301 "skiplock" : {
44660702 14302 "description" : "Ignore locks - only root is allowed to use this option.",
7aacca6f 14303 "optional" : 1,
013dc89f
DM
14304 "type" : "boolean",
14305 "typetext" : "<boolean>"
7aacca6f 14306 },
56122987 14307 "vmid" : {
7aacca6f 14308 "description" : "The (unique) ID of the VM.",
44660702 14309 "format" : "pve-vmid",
56122987 14310 "minimum" : 1,
4bd7df8b 14311 "type" : "integer",
013dc89f 14312 "typetext" : "<integer> (1 - N)"
56122987
DM
14313 }
14314 }
14315 },
14316 "permissions" : {
14317 "check" : [
14318 "perm",
14319 "/vms/{vmid}",
14320 [
14321 "VM.PowerMgmt"
14322 ]
14323 ]
14324 },
44660702 14325 "protected" : 1,
7aacca6f 14326 "proxyto" : "node",
44660702
DM
14327 "returns" : {
14328 "type" : "string"
14329 }
14330 }
14331 },
14332 "leaf" : 1,
14333 "path" : "/nodes/{node}/lxc/{vmid}/status/start",
14334 "text" : "start"
14335 },
14336 {
14337 "info" : {
14338 "POST" : {
14339 "description" : "Stop the container. This will abruptly stop all processes running in the container.",
7aacca6f
DM
14340 "method" : "POST",
14341 "name" : "vm_stop",
14342 "parameters" : {
44660702 14343 "additionalProperties" : 0,
7aacca6f 14344 "properties" : {
44660702
DM
14345 "node" : {
14346 "description" : "The cluster node name.",
14347 "format" : "pve-node",
013dc89f
DM
14348 "type" : "string",
14349 "typetext" : "<string>"
44660702 14350 },
7aacca6f
DM
14351 "skiplock" : {
14352 "description" : "Ignore locks - only root is allowed to use this option.",
44660702 14353 "optional" : 1,
013dc89f
DM
14354 "type" : "boolean",
14355 "typetext" : "<boolean>"
7aacca6f
DM
14356 },
14357 "vmid" : {
44660702 14358 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14359 "format" : "pve-vmid",
14360 "minimum" : 1,
4bd7df8b 14361 "type" : "integer",
013dc89f 14362 "typetext" : "<integer> (1 - N)"
7aacca6f 14363 }
44660702
DM
14364 }
14365 },
14366 "permissions" : {
14367 "check" : [
14368 "perm",
14369 "/vms/{vmid}",
14370 [
14371 "VM.PowerMgmt"
14372 ]
14373 ]
7aacca6f 14374 },
44660702
DM
14375 "protected" : 1,
14376 "proxyto" : "node",
14377 "returns" : {
14378 "type" : "string"
14379 }
56122987 14380 }
7aacca6f 14381 },
7aacca6f 14382 "leaf" : 1,
44660702
DM
14383 "path" : "/nodes/{node}/lxc/{vmid}/status/stop",
14384 "text" : "stop"
56122987
DM
14385 },
14386 {
56122987
DM
14387 "info" : {
14388 "POST" : {
44660702
DM
14389 "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
14390 "method" : "POST",
7aacca6f 14391 "name" : "vm_shutdown",
56122987 14392 "parameters" : {
44660702 14393 "additionalProperties" : 0,
56122987 14394 "properties" : {
7aacca6f 14395 "forceStop" : {
44660702 14396 "default" : 0,
7aacca6f
DM
14397 "description" : "Make sure the Container stops.",
14398 "optional" : 1,
013dc89f
DM
14399 "type" : "boolean",
14400 "typetext" : "<boolean>"
44660702
DM
14401 },
14402 "node" : {
14403 "description" : "The cluster node name.",
14404 "format" : "pve-node",
013dc89f
DM
14405 "type" : "string",
14406 "typetext" : "<string>"
7aacca6f
DM
14407 },
14408 "timeout" : {
7aacca6f 14409 "default" : 60,
44660702
DM
14410 "description" : "Wait maximal timeout seconds.",
14411 "minimum" : 0,
56122987 14412 "optional" : 1,
4bd7df8b 14413 "type" : "integer",
013dc89f 14414 "typetext" : "<integer> (0 - N)"
56122987
DM
14415 },
14416 "vmid" : {
7aacca6f 14417 "description" : "The (unique) ID of the VM.",
44660702
DM
14418 "format" : "pve-vmid",
14419 "minimum" : 1,
4bd7df8b 14420 "type" : "integer",
013dc89f 14421 "typetext" : "<integer> (1 - N)"
56122987 14422 }
44660702 14423 }
56122987
DM
14424 },
14425 "permissions" : {
14426 "check" : [
14427 "perm",
14428 "/vms/{vmid}",
14429 [
14430 "VM.PowerMgmt"
14431 ]
14432 ]
14433 },
44660702
DM
14434 "protected" : 1,
14435 "proxyto" : "node",
7aacca6f
DM
14436 "returns" : {
14437 "type" : "string"
14438 }
56122987
DM
14439 }
14440 },
44660702
DM
14441 "leaf" : 1,
14442 "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown",
7aacca6f 14443 "text" : "shutdown"
56122987
DM
14444 },
14445 {
56122987
DM
14446 "info" : {
14447 "POST" : {
7aacca6f 14448 "description" : "Suspend the container.",
7aacca6f 14449 "method" : "POST",
7aacca6f 14450 "name" : "vm_suspend",
56122987
DM
14451 "parameters" : {
14452 "additionalProperties" : 0,
14453 "properties" : {
44660702
DM
14454 "node" : {
14455 "description" : "The cluster node name.",
14456 "format" : "pve-node",
013dc89f
DM
14457 "type" : "string",
14458 "typetext" : "<string>"
44660702 14459 },
7aacca6f 14460 "vmid" : {
7aacca6f
DM
14461 "description" : "The (unique) ID of the VM.",
14462 "format" : "pve-vmid",
44660702 14463 "minimum" : 1,
4bd7df8b 14464 "type" : "integer",
013dc89f 14465 "typetext" : "<integer> (1 - N)"
56122987
DM
14466 }
14467 }
7aacca6f 14468 },
56122987
DM
14469 "permissions" : {
14470 "check" : [
14471 "perm",
14472 "/vms/{vmid}",
14473 [
14474 "VM.PowerMgmt"
14475 ]
14476 ]
14477 },
7aacca6f 14478 "protected" : 1,
44660702
DM
14479 "proxyto" : "node",
14480 "returns" : {
14481 "type" : "string"
14482 }
14483 }
14484 },
14485 "leaf" : 1,
14486 "path" : "/nodes/{node}/lxc/{vmid}/status/suspend",
14487 "text" : "suspend"
14488 },
14489 {
14490 "info" : {
14491 "POST" : {
14492 "description" : "Resume the container.",
14493 "method" : "POST",
14494 "name" : "vm_resume",
56122987 14495 "parameters" : {
44660702 14496 "additionalProperties" : 0,
56122987
DM
14497 "properties" : {
14498 "node" : {
7aacca6f 14499 "description" : "The cluster node name.",
44660702 14500 "format" : "pve-node",
013dc89f
DM
14501 "type" : "string",
14502 "typetext" : "<string>"
56122987
DM
14503 },
14504 "vmid" : {
7aacca6f 14505 "description" : "The (unique) ID of the VM.",
56122987 14506 "format" : "pve-vmid",
44660702 14507 "minimum" : 1,
4bd7df8b 14508 "type" : "integer",
013dc89f 14509 "typetext" : "<integer> (1 - N)"
56122987 14510 }
44660702
DM
14511 }
14512 },
14513 "permissions" : {
14514 "check" : [
14515 "perm",
14516 "/vms/{vmid}",
14517 [
14518 "VM.PowerMgmt"
14519 ]
14520 ]
56122987 14521 },
44660702
DM
14522 "protected" : 1,
14523 "proxyto" : "node",
14524 "returns" : {
14525 "type" : "string"
14526 }
7aacca6f
DM
14527 }
14528 },
44660702
DM
14529 "leaf" : 1,
14530 "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
7aacca6f
DM
14531 "text" : "resume"
14532 }
14533 ],
14534 "info" : {
14535 "GET" : {
7aacca6f 14536 "description" : "Directory index",
44660702 14537 "method" : "GET",
7aacca6f 14538 "name" : "vmcmdidx",
7aacca6f
DM
14539 "parameters" : {
14540 "additionalProperties" : 0,
14541 "properties" : {
14542 "node" : {
14543 "description" : "The cluster node name.",
44660702 14544 "format" : "pve-node",
013dc89f
DM
14545 "type" : "string",
14546 "typetext" : "<string>"
56122987 14547 },
7aacca6f 14548 "vmid" : {
44660702 14549 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
14550 "format" : "pve-vmid",
14551 "minimum" : 1,
4bd7df8b 14552 "type" : "integer",
013dc89f 14553 "typetext" : "<integer> (1 - N)"
7aacca6f 14554 }
56122987
DM
14555 }
14556 },
44660702
DM
14557 "permissions" : {
14558 "user" : "all"
14559 },
14560 "proxyto" : "node",
7aacca6f 14561 "returns" : {
7aacca6f
DM
14562 "items" : {
14563 "properties" : {
14564 "subdir" : {
14565 "type" : "string"
14566 }
14567 },
14568 "type" : "object"
14569 },
14570 "links" : [
14571 {
44660702
DM
14572 "href" : "{subdir}",
14573 "rel" : "child"
7aacca6f 14574 }
44660702
DM
14575 ],
14576 "type" : "array"
7aacca6f
DM
14577 }
14578 }
44660702
DM
14579 },
14580 "leaf" : 0,
14581 "path" : "/nodes/{node}/lxc/{vmid}/status",
14582 "text" : "status"
7aacca6f
DM
14583 },
14584 {
7aacca6f 14585 "children" : [
56122987 14586 {
7aacca6f
DM
14587 "children" : [
14588 {
14589 "info" : {
14590 "POST" : {
7aacca6f 14591 "description" : "Rollback LXC state to specified snapshot.",
7aacca6f 14592 "method" : "POST",
44660702 14593 "name" : "rollback",
7aacca6f 14594 "parameters" : {
44660702 14595 "additionalProperties" : 0,
7aacca6f 14596 "properties" : {
44660702
DM
14597 "node" : {
14598 "description" : "The cluster node name.",
14599 "format" : "pve-node",
013dc89f
DM
14600 "type" : "string",
14601 "typetext" : "<string>"
44660702 14602 },
7aacca6f 14603 "snapname" : {
44660702 14604 "description" : "The name of the snapshot.",
7aacca6f
DM
14605 "format" : "pve-configid",
14606 "maxLength" : 40,
013dc89f
DM
14607 "type" : "string",
14608 "typetext" : "<string>"
7aacca6f 14609 },
7aacca6f 14610 "vmid" : {
44660702 14611 "description" : "The (unique) ID of the VM.",
7aacca6f 14612 "format" : "pve-vmid",
44660702 14613 "minimum" : 1,
4bd7df8b 14614 "type" : "integer",
013dc89f 14615 "typetext" : "<integer> (1 - N)"
7aacca6f 14616 }
44660702
DM
14617 }
14618 },
14619 "permissions" : {
14620 "check" : [
14621 "perm",
14622 "/vms/{vmid}",
14623 [
14624 "VM.Snapshot"
14625 ]
14626 ]
7aacca6f 14627 },
44660702
DM
14628 "protected" : 1,
14629 "proxyto" : "node",
14630 "returns" : {
14631 "description" : "the task ID.",
14632 "type" : "string"
14633 }
7aacca6f
DM
14634 }
14635 },
7aacca6f 14636 "leaf" : 1,
44660702
DM
14637 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback",
14638 "text" : "rollback"
7aacca6f
DM
14639 },
14640 {
7aacca6f
DM
14641 "info" : {
14642 "GET" : {
7aacca6f 14643 "description" : "Get snapshot configuration",
44660702
DM
14644 "method" : "GET",
14645 "name" : "get_snapshot_config",
7aacca6f
DM
14646 "parameters" : {
14647 "additionalProperties" : 0,
14648 "properties" : {
7aacca6f 14649 "node" : {
7aacca6f 14650 "description" : "The cluster node name.",
44660702 14651 "format" : "pve-node",
013dc89f
DM
14652 "type" : "string",
14653 "typetext" : "<string>"
7aacca6f
DM
14654 },
14655 "snapname" : {
44660702 14656 "description" : "The name of the snapshot.",
7aacca6f
DM
14657 "format" : "pve-configid",
14658 "maxLength" : 40,
013dc89f
DM
14659 "type" : "string",
14660 "typetext" : "<string>"
44660702
DM
14661 },
14662 "vmid" : {
14663 "description" : "The (unique) ID of the VM.",
14664 "format" : "pve-vmid",
14665 "minimum" : 1,
4bd7df8b 14666 "type" : "integer",
013dc89f 14667 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14668 }
14669 }
14670 },
14671 "permissions" : {
14672 "check" : [
14673 "perm",
14674 "/vms/{vmid}",
14675 [
14676 "VM.Snapshot"
14677 ]
14678 ]
14679 },
44660702
DM
14680 "proxyto" : "node",
14681 "returns" : {
14682 "type" : "object"
14683 }
7aacca6f
DM
14684 },
14685 "PUT" : {
44660702
DM
14686 "description" : "Update snapshot metadata.",
14687 "method" : "PUT",
7aacca6f
DM
14688 "name" : "update_snapshot_config",
14689 "parameters" : {
14690 "additionalProperties" : 0,
14691 "properties" : {
44660702
DM
14692 "description" : {
14693 "description" : "A textual description or comment.",
14694 "optional" : 1,
013dc89f
DM
14695 "type" : "string",
14696 "typetext" : "<string>"
44660702 14697 },
7aacca6f 14698 "node" : {
7aacca6f 14699 "description" : "The cluster node name.",
44660702 14700 "format" : "pve-node",
013dc89f
DM
14701 "type" : "string",
14702 "typetext" : "<string>"
7aacca6f
DM
14703 },
14704 "snapname" : {
14705 "description" : "The name of the snapshot.",
7aacca6f 14706 "format" : "pve-configid",
44660702 14707 "maxLength" : 40,
013dc89f
DM
14708 "type" : "string",
14709 "typetext" : "<string>"
7aacca6f
DM
14710 },
14711 "vmid" : {
44660702 14712 "description" : "The (unique) ID of the VM.",
7aacca6f 14713 "format" : "pve-vmid",
44660702 14714 "minimum" : 1,
4bd7df8b 14715 "type" : "integer",
013dc89f 14716 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14717 }
14718 }
14719 },
7aacca6f
DM
14720 "permissions" : {
14721 "check" : [
14722 "perm",
14723 "/vms/{vmid}",
14724 [
14725 "VM.Snapshot"
14726 ]
14727 ]
14728 },
44660702
DM
14729 "protected" : 1,
14730 "proxyto" : "node",
7aacca6f
DM
14731 "returns" : {
14732 "type" : "null"
14733 }
14734 }
14735 },
44660702 14736 "leaf" : 1,
7aacca6f 14737 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config",
44660702 14738 "text" : "config"
7aacca6f
DM
14739 }
14740 ],
56122987 14741 "info" : {
44660702
DM
14742 "DELETE" : {
14743 "description" : "Delete a LXC snapshot.",
14744 "method" : "DELETE",
14745 "name" : "delsnapshot",
56122987 14746 "parameters" : {
44660702 14747 "additionalProperties" : 0,
56122987 14748 "properties" : {
44660702
DM
14749 "force" : {
14750 "description" : "For removal from config file, even if removing disk snapshots fails.",
14751 "optional" : 1,
013dc89f
DM
14752 "type" : "boolean",
14753 "typetext" : "<boolean>"
44660702
DM
14754 },
14755 "node" : {
14756 "description" : "The cluster node name.",
14757 "format" : "pve-node",
013dc89f
DM
14758 "type" : "string",
14759 "typetext" : "<string>"
7aacca6f
DM
14760 },
14761 "snapname" : {
7aacca6f
DM
14762 "description" : "The name of the snapshot.",
14763 "format" : "pve-configid",
44660702 14764 "maxLength" : 40,
013dc89f
DM
14765 "type" : "string",
14766 "typetext" : "<string>"
44660702
DM
14767 },
14768 "vmid" : {
14769 "description" : "The (unique) ID of the VM.",
14770 "format" : "pve-vmid",
14771 "minimum" : 1,
4bd7df8b 14772 "type" : "integer",
013dc89f 14773 "typetext" : "<integer> (1 - N)"
56122987 14774 }
44660702 14775 }
7aacca6f 14776 },
56122987
DM
14777 "permissions" : {
14778 "check" : [
14779 "perm",
14780 "/vms/{vmid}",
14781 [
7aacca6f 14782 "VM.Snapshot"
56122987
DM
14783 ]
14784 ]
14785 },
44660702 14786 "protected" : 1,
7aacca6f 14787 "proxyto" : "node",
56122987 14788 "returns" : {
7aacca6f 14789 "description" : "the task ID.",
56122987 14790 "type" : "string"
44660702
DM
14791 }
14792 },
14793 "GET" : {
14794 "description" : "",
14795 "method" : "GET",
14796 "name" : "snapshot_cmd_idx",
7aacca6f
DM
14797 "parameters" : {
14798 "additionalProperties" : 0,
14799 "properties" : {
7aacca6f 14800 "node" : {
44660702 14801 "description" : "The cluster node name.",
7aacca6f 14802 "format" : "pve-node",
013dc89f
DM
14803 "type" : "string",
14804 "typetext" : "<string>"
7aacca6f
DM
14805 },
14806 "snapname" : {
44660702 14807 "description" : "The name of the snapshot.",
7aacca6f 14808 "format" : "pve-configid",
44660702 14809 "maxLength" : 40,
013dc89f
DM
14810 "type" : "string",
14811 "typetext" : "<string>"
44660702
DM
14812 },
14813 "vmid" : {
14814 "description" : "The (unique) ID of the VM.",
14815 "format" : "pve-vmid",
14816 "minimum" : 1,
4bd7df8b 14817 "type" : "integer",
013dc89f 14818 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
14819 }
14820 }
14821 },
44660702
DM
14822 "permissions" : {
14823 "user" : "all"
14824 },
14825 "returns" : {
14826 "items" : {
14827 "properties" : {},
14828 "type" : "object"
14829 },
14830 "links" : [
14831 {
14832 "href" : "{cmd}",
14833 "rel" : "child"
14834 }
14835 ],
14836 "type" : "array"
14837 }
14838 }
14839 },
14840 "leaf" : 0,
14841 "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}",
14842 "text" : "{snapname}"
14843 }
14844 ],
14845 "info" : {
14846 "GET" : {
14847 "description" : "List all snapshots.",
14848 "method" : "GET",
14849 "name" : "list",
14850 "parameters" : {
14851 "additionalProperties" : 0,
14852 "properties" : {
14853 "node" : {
14854 "description" : "The cluster node name.",
14855 "format" : "pve-node",
013dc89f
DM
14856 "type" : "string",
14857 "typetext" : "<string>"
44660702
DM
14858 },
14859 "vmid" : {
14860 "description" : "The (unique) ID of the VM.",
14861 "format" : "pve-vmid",
14862 "minimum" : 1,
4bd7df8b 14863 "type" : "integer",
013dc89f 14864 "typetext" : "<integer> (1 - N)"
44660702 14865 }
56122987
DM
14866 }
14867 },
56122987 14868 "permissions" : {
7aacca6f
DM
14869 "check" : [
14870 "perm",
14871 "/vms/{vmid}",
14872 [
14873 "VM.Audit"
14874 ]
14875 ]
14876 },
44660702 14877 "protected" : 1,
56122987 14878 "proxyto" : "node",
7aacca6f 14879 "returns" : {
44660702
DM
14880 "items" : {
14881 "properties" : {},
14882 "type" : "object"
14883 },
7aacca6f
DM
14884 "links" : [
14885 {
14886 "href" : "{name}",
14887 "rel" : "child"
14888 }
14889 ],
7aacca6f 14890 "type" : "array"
44660702 14891 }
7aacca6f
DM
14892 },
14893 "POST" : {
44660702
DM
14894 "description" : "Snapshot a container.",
14895 "method" : "POST",
14896 "name" : "snapshot",
56122987
DM
14897 "parameters" : {
14898 "additionalProperties" : 0,
14899 "properties" : {
7aacca6f 14900 "description" : {
44660702 14901 "description" : "A textual description or comment.",
7aacca6f 14902 "optional" : 1,
013dc89f
DM
14903 "type" : "string",
14904 "typetext" : "<string>"
44660702
DM
14905 },
14906 "node" : {
14907 "description" : "The cluster node name.",
14908 "format" : "pve-node",
013dc89f
DM
14909 "type" : "string",
14910 "typetext" : "<string>"
56122987
DM
14911 },
14912 "snapname" : {
56122987 14913 "description" : "The name of the snapshot.",
44660702 14914 "format" : "pve-configid",
7aacca6f 14915 "maxLength" : 40,
013dc89f
DM
14916 "type" : "string",
14917 "typetext" : "<string>"
56122987 14918 },
44660702
DM
14919 "vmid" : {
14920 "description" : "The (unique) ID of the VM.",
14921 "format" : "pve-vmid",
14922 "minimum" : 1,
4bd7df8b 14923 "type" : "integer",
013dc89f 14924 "typetext" : "<integer> (1 - N)"
56122987 14925 }
7aacca6f 14926 }
56122987 14927 },
56122987
DM
14928 "permissions" : {
14929 "check" : [
14930 "perm",
14931 "/vms/{vmid}",
14932 [
7aacca6f 14933 "VM.Snapshot"
56122987
DM
14934 ]
14935 ]
7aacca6f 14936 },
44660702 14937 "protected" : 1,
7aacca6f
DM
14938 "proxyto" : "node",
14939 "returns" : {
14940 "description" : "the task ID.",
14941 "type" : "string"
56122987
DM
14942 }
14943 }
44660702
DM
14944 },
14945 "leaf" : 0,
14946 "path" : "/nodes/{node}/lxc/{vmid}/snapshot",
14947 "text" : "snapshot"
7aacca6f
DM
14948 },
14949 {
56122987
DM
14950 "children" : [
14951 {
56122987
DM
14952 "children" : [
14953 {
56122987 14954 "info" : {
44660702
DM
14955 "DELETE" : {
14956 "description" : "Delete rule.",
14957 "method" : "DELETE",
14958 "name" : "delete_rule",
56122987 14959 "parameters" : {
44660702 14960 "additionalProperties" : 0,
56122987 14961 "properties" : {
44660702
DM
14962 "digest" : {
14963 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
14964 "maxLength" : 40,
7aacca6f 14965 "optional" : 1,
013dc89f
DM
14966 "type" : "string",
14967 "typetext" : "<string>"
7aacca6f
DM
14968 },
14969 "node" : {
44660702 14970 "description" : "The cluster node name.",
7aacca6f 14971 "format" : "pve-node",
013dc89f
DM
14972 "type" : "string",
14973 "typetext" : "<string>"
44660702
DM
14974 },
14975 "pos" : {
14976 "description" : "Update rule at position <pos>.",
14977 "minimum" : 0,
14978 "optional" : 1,
4bd7df8b 14979 "type" : "integer",
013dc89f 14980 "typetext" : "<integer> (0 - N)"
44660702
DM
14981 },
14982 "vmid" : {
14983 "description" : "The (unique) ID of the VM.",
14984 "format" : "pve-vmid",
14985 "minimum" : 1,
4bd7df8b 14986 "type" : "integer",
013dc89f 14987 "typetext" : "<integer> (1 - N)"
56122987 14988 }
44660702 14989 }
56122987 14990 },
56122987
DM
14991 "permissions" : {
14992 "check" : [
14993 "perm",
14994 "/vms/{vmid}",
14995 [
44660702 14996 "VM.Config.Network"
56122987
DM
14997 ]
14998 ]
14999 },
44660702 15000 "protected" : 1,
7aacca6f 15001 "proxyto" : null,
44660702
DM
15002 "returns" : {
15003 "type" : "null"
15004 }
7aacca6f 15005 },
44660702
DM
15006 "GET" : {
15007 "description" : "Get single rule data.",
15008 "method" : "GET",
15009 "name" : "get_rule",
56122987 15010 "parameters" : {
44660702 15011 "additionalProperties" : 0,
56122987 15012 "properties" : {
7aacca6f 15013 "node" : {
7aacca6f 15014 "description" : "The cluster node name.",
44660702 15015 "format" : "pve-node",
013dc89f
DM
15016 "type" : "string",
15017 "typetext" : "<string>"
56122987 15018 },
7aacca6f 15019 "pos" : {
7aacca6f 15020 "description" : "Update rule at position <pos>.",
44660702 15021 "minimum" : 0,
7aacca6f 15022 "optional" : 1,
4bd7df8b 15023 "type" : "integer",
013dc89f 15024 "typetext" : "<integer> (0 - N)"
56122987 15025 },
7aacca6f 15026 "vmid" : {
44660702 15027 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
15028 "format" : "pve-vmid",
15029 "minimum" : 1,
4bd7df8b 15030 "type" : "integer",
013dc89f 15031 "typetext" : "<integer> (1 - N)"
56122987 15032 }
44660702 15033 }
56122987 15034 },
7aacca6f
DM
15035 "permissions" : {
15036 "check" : [
15037 "perm",
15038 "/vms/{vmid}",
15039 [
44660702 15040 "VM.Audit"
7aacca6f
DM
15041 ]
15042 ]
15043 },
7aacca6f
DM
15044 "proxyto" : null,
15045 "returns" : {
44660702
DM
15046 "properties" : {
15047 "pos" : {
15048 "type" : "integer"
15049 }
15050 },
15051 "type" : "object"
7aacca6f 15052 }
56122987 15053 },
44660702
DM
15054 "PUT" : {
15055 "description" : "Modify rule data.",
15056 "method" : "PUT",
15057 "name" : "update_rule",
56122987
DM
15058 "parameters" : {
15059 "additionalProperties" : 0,
15060 "properties" : {
44660702
DM
15061 "action" : {
15062 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
15063 "maxLength" : 20,
15064 "minLength" : 2,
15065 "optional" : 1,
15066 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15067 "type" : "string"
15068 },
15069 "comment" : {
e94f0d56 15070 "description" : "Descriptive comment.",
44660702 15071 "optional" : 1,
013dc89f
DM
15072 "type" : "string",
15073 "typetext" : "<string>"
44660702
DM
15074 },
15075 "delete" : {
15076 "description" : "A list of settings you want to delete.",
15077 "format" : "pve-configid-list",
15078 "optional" : 1,
013dc89f
DM
15079 "type" : "string",
15080 "typetext" : "<string>"
44660702
DM
15081 },
15082 "dest" : {
15083 "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.",
15084 "format" : "pve-fw-addr-spec",
15085 "optional" : 1,
013dc89f
DM
15086 "type" : "string",
15087 "typetext" : "<string>"
44660702
DM
15088 },
15089 "digest" : {
15090 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15091 "maxLength" : 40,
15092 "optional" : 1,
013dc89f
DM
15093 "type" : "string",
15094 "typetext" : "<string>"
44660702
DM
15095 },
15096 "dport" : {
15097 "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.",
15098 "format" : "pve-fw-dport-spec",
15099 "optional" : 1,
013dc89f
DM
15100 "type" : "string",
15101 "typetext" : "<string>"
44660702
DM
15102 },
15103 "enable" : {
e94f0d56 15104 "description" : "Flag to enable/disable a rule.",
44660702
DM
15105 "minimum" : 0,
15106 "optional" : 1,
4bd7df8b 15107 "type" : "integer",
013dc89f 15108 "typetext" : "<integer> (0 - N)"
44660702
DM
15109 },
15110 "iface" : {
15111 "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.",
15112 "format" : "pve-iface",
15113 "maxLength" : 20,
15114 "minLength" : 2,
15115 "optional" : 1,
013dc89f
DM
15116 "type" : "string",
15117 "typetext" : "<string>"
44660702
DM
15118 },
15119 "macro" : {
e94f0d56 15120 "description" : "Use predefined standard macro.",
44660702
DM
15121 "maxLength" : 128,
15122 "optional" : 1,
013dc89f
DM
15123 "type" : "string",
15124 "typetext" : "<string>"
44660702
DM
15125 },
15126 "moveto" : {
15127 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
15128 "minimum" : 0,
15129 "optional" : 1,
4bd7df8b 15130 "type" : "integer",
013dc89f 15131 "typetext" : "<integer> (0 - N)"
44660702 15132 },
7aacca6f
DM
15133 "node" : {
15134 "description" : "The cluster node name.",
44660702 15135 "format" : "pve-node",
013dc89f
DM
15136 "type" : "string",
15137 "typetext" : "<string>"
56122987
DM
15138 },
15139 "pos" : {
44660702 15140 "description" : "Update rule at position <pos>.",
56122987 15141 "minimum" : 0,
7aacca6f 15142 "optional" : 1,
4bd7df8b 15143 "type" : "integer",
013dc89f 15144 "typetext" : "<integer> (0 - N)"
56122987 15145 },
44660702
DM
15146 "proto" : {
15147 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
15148 "format" : "pve-fw-protocol-spec",
15149 "optional" : 1,
013dc89f
DM
15150 "type" : "string",
15151 "typetext" : "<string>"
7aacca6f 15152 },
44660702
DM
15153 "source" : {
15154 "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.",
15155 "format" : "pve-fw-addr-spec",
15156 "optional" : 1,
013dc89f
DM
15157 "type" : "string",
15158 "typetext" : "<string>"
44660702
DM
15159 },
15160 "sport" : {
15161 "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.",
15162 "format" : "pve-fw-sport-spec",
15163 "optional" : 1,
013dc89f
DM
15164 "type" : "string",
15165 "typetext" : "<string>"
44660702
DM
15166 },
15167 "type" : {
e94f0d56 15168 "description" : "Rule type.",
44660702
DM
15169 "enum" : [
15170 "in",
15171 "out",
15172 "group"
15173 ],
7aacca6f 15174 "optional" : 1,
44660702
DM
15175 "type" : "string"
15176 },
15177 "vmid" : {
15178 "description" : "The (unique) ID of the VM.",
15179 "format" : "pve-vmid",
15180 "minimum" : 1,
4bd7df8b 15181 "type" : "integer",
013dc89f 15182 "typetext" : "<integer> (1 - N)"
56122987
DM
15183 }
15184 }
15185 },
56122987
DM
15186 "permissions" : {
15187 "check" : [
15188 "perm",
15189 "/vms/{vmid}",
15190 [
7aacca6f 15191 "VM.Config.Network"
56122987
DM
15192 ]
15193 ]
15194 },
44660702 15195 "protected" : 1,
56122987 15196 "proxyto" : null,
56122987 15197 "returns" : {
7aacca6f
DM
15198 "type" : "null"
15199 }
56122987 15200 }
44660702
DM
15201 },
15202 "leaf" : 1,
15203 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}",
15204 "text" : "{pos}"
56122987
DM
15205 }
15206 ],
15207 "info" : {
7aacca6f 15208 "GET" : {
44660702
DM
15209 "description" : "List rules.",
15210 "method" : "GET",
15211 "name" : "get_rules",
7aacca6f 15212 "parameters" : {
44660702 15213 "additionalProperties" : 0,
7aacca6f
DM
15214 "properties" : {
15215 "node" : {
7aacca6f 15216 "description" : "The cluster node name.",
44660702 15217 "format" : "pve-node",
013dc89f
DM
15218 "type" : "string",
15219 "typetext" : "<string>"
7aacca6f
DM
15220 },
15221 "vmid" : {
15222 "description" : "The (unique) ID of the VM.",
44660702 15223 "format" : "pve-vmid",
7aacca6f 15224 "minimum" : 1,
4bd7df8b 15225 "type" : "integer",
013dc89f 15226 "typetext" : "<integer> (1 - N)"
7aacca6f 15227 }
44660702 15228 }
56122987 15229 },
56122987
DM
15230 "permissions" : {
15231 "check" : [
15232 "perm",
15233 "/vms/{vmid}",
15234 [
7aacca6f 15235 "VM.Audit"
56122987
DM
15236 ]
15237 ]
15238 },
15239 "proxyto" : null,
7aacca6f 15240 "returns" : {
7aacca6f
DM
15241 "items" : {
15242 "properties" : {
15243 "pos" : {
15244 "type" : "integer"
15245 }
15246 },
15247 "type" : "object"
15248 },
15249 "links" : [
15250 {
44660702
DM
15251 "href" : "{pos}",
15252 "rel" : "child"
7aacca6f 15253 }
44660702
DM
15254 ],
15255 "type" : "array"
15256 }
7aacca6f
DM
15257 },
15258 "POST" : {
44660702
DM
15259 "description" : "Create new rule.",
15260 "method" : "POST",
7aacca6f 15261 "name" : "create_rule",
56122987 15262 "parameters" : {
44660702 15263 "additionalProperties" : 0,
56122987 15264 "properties" : {
7aacca6f 15265 "action" : {
44660702 15266 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
7aacca6f 15267 "maxLength" : 20,
44660702 15268 "minLength" : 2,
7aacca6f
DM
15269 "optional" : 0,
15270 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987
DM
15271 "type" : "string"
15272 },
44660702 15273 "comment" : {
e94f0d56 15274 "description" : "Descriptive comment.",
7aacca6f 15275 "optional" : 1,
013dc89f
DM
15276 "type" : "string",
15277 "typetext" : "<string>"
56122987 15278 },
44660702
DM
15279 "dest" : {
15280 "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.",
15281 "format" : "pve-fw-addr-spec",
56122987 15282 "optional" : 1,
013dc89f
DM
15283 "type" : "string",
15284 "typetext" : "<string>"
56122987 15285 },
44660702
DM
15286 "digest" : {
15287 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15288 "maxLength" : 40,
56122987 15289 "optional" : 1,
013dc89f
DM
15290 "type" : "string",
15291 "typetext" : "<string>"
56122987 15292 },
44660702
DM
15293 "dport" : {
15294 "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.",
15295 "format" : "pve-fw-dport-spec",
56122987 15296 "optional" : 1,
013dc89f
DM
15297 "type" : "string",
15298 "typetext" : "<string>"
56122987 15299 },
44660702 15300 "enable" : {
e94f0d56 15301 "description" : "Flag to enable/disable a rule.",
44660702 15302 "minimum" : 0,
56122987 15303 "optional" : 1,
4bd7df8b 15304 "type" : "integer",
013dc89f 15305 "typetext" : "<integer> (0 - N)"
56122987 15306 },
44660702
DM
15307 "iface" : {
15308 "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.",
15309 "format" : "pve-iface",
15310 "maxLength" : 20,
15311 "minLength" : 2,
7aacca6f 15312 "optional" : 1,
013dc89f
DM
15313 "type" : "string",
15314 "typetext" : "<string>"
56122987 15315 },
44660702 15316 "macro" : {
e94f0d56 15317 "description" : "Use predefined standard macro.",
44660702 15318 "maxLength" : 128,
56122987 15319 "optional" : 1,
013dc89f
DM
15320 "type" : "string",
15321 "typetext" : "<string>"
56122987
DM
15322 },
15323 "node" : {
7aacca6f 15324 "description" : "The cluster node name.",
44660702 15325 "format" : "pve-node",
013dc89f
DM
15326 "type" : "string",
15327 "typetext" : "<string>"
7aacca6f 15328 },
44660702
DM
15329 "pos" : {
15330 "description" : "Update rule at position <pos>.",
15331 "minimum" : 0,
15332 "optional" : 1,
4bd7df8b 15333 "type" : "integer",
013dc89f 15334 "typetext" : "<integer> (0 - N)"
44660702
DM
15335 },
15336 "proto" : {
15337 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
15338 "format" : "pve-fw-protocol-spec",
7aacca6f 15339 "optional" : 1,
013dc89f
DM
15340 "type" : "string",
15341 "typetext" : "<string>"
7aacca6f 15342 },
44660702
DM
15343 "source" : {
15344 "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.",
15345 "format" : "pve-fw-addr-spec",
15346 "optional" : 1,
013dc89f
DM
15347 "type" : "string",
15348 "typetext" : "<string>"
56122987 15349 },
44660702
DM
15350 "sport" : {
15351 "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.",
15352 "format" : "pve-fw-sport-spec",
15353 "optional" : 1,
013dc89f
DM
15354 "type" : "string",
15355 "typetext" : "<string>"
7aacca6f 15356 },
44660702 15357 "type" : {
e94f0d56 15358 "description" : "Rule type.",
44660702
DM
15359 "enum" : [
15360 "in",
15361 "out",
15362 "group"
15363 ],
15364 "optional" : 0,
15365 "type" : "string"
15366 },
15367 "vmid" : {
15368 "description" : "The (unique) ID of the VM.",
15369 "format" : "pve-vmid",
15370 "minimum" : 1,
4bd7df8b 15371 "type" : "integer",
013dc89f 15372 "typetext" : "<integer> (1 - N)"
44660702
DM
15373 }
15374 }
15375 },
15376 "permissions" : {
15377 "check" : [
15378 "perm",
15379 "/vms/{vmid}",
15380 [
15381 "VM.Config.Network"
15382 ]
15383 ]
15384 },
15385 "protected" : 1,
15386 "proxyto" : null,
15387 "returns" : {
15388 "type" : "null"
15389 }
15390 }
15391 },
15392 "leaf" : 0,
15393 "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules",
15394 "text" : "rules"
15395 },
15396 {
15397 "children" : [
15398 {
15399 "info" : {
15400 "DELETE" : {
15401 "description" : "Remove IP or Network alias.",
15402 "method" : "DELETE",
15403 "name" : "remove_alias",
56122987 15404 "parameters" : {
44660702 15405 "additionalProperties" : 0,
56122987 15406 "properties" : {
44660702
DM
15407 "digest" : {
15408 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15409 "maxLength" : 40,
56122987 15410 "optional" : 1,
013dc89f
DM
15411 "type" : "string",
15412 "typetext" : "<string>"
56122987 15413 },
7aacca6f 15414 "name" : {
44660702 15415 "description" : "Alias name.",
7aacca6f 15416 "maxLength" : 64,
7aacca6f
DM
15417 "minLength" : 2,
15418 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15419 "type" : "string"
7aacca6f
DM
15420 },
15421 "node" : {
44660702 15422 "description" : "The cluster node name.",
56122987 15423 "format" : "pve-node",
013dc89f
DM
15424 "type" : "string",
15425 "typetext" : "<string>"
7aacca6f 15426 },
56122987 15427 "vmid" : {
44660702 15428 "description" : "The (unique) ID of the VM.",
56122987 15429 "format" : "pve-vmid",
44660702 15430 "minimum" : 1,
4bd7df8b 15431 "type" : "integer",
013dc89f 15432 "typetext" : "<integer> (1 - N)"
56122987 15433 }
44660702 15434 }
56122987 15435 },
56122987
DM
15436 "permissions" : {
15437 "check" : [
15438 "perm",
15439 "/vms/{vmid}",
15440 [
7aacca6f 15441 "VM.Config.Network"
56122987
DM
15442 ]
15443 ]
15444 },
44660702 15445 "protected" : 1,
56122987 15446 "returns" : {
7aacca6f 15447 "type" : "null"
44660702 15448 }
56122987 15449 },
44660702
DM
15450 "GET" : {
15451 "description" : "Read alias.",
15452 "method" : "GET",
15453 "name" : "read_alias",
15454 "parameters" : {
15455 "additionalProperties" : 0,
15456 "properties" : {
15457 "name" : {
15458 "description" : "Alias name.",
15459 "maxLength" : 64,
15460 "minLength" : 2,
15461 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15462 "type" : "string"
15463 },
15464 "node" : {
15465 "description" : "The cluster node name.",
15466 "format" : "pve-node",
013dc89f
DM
15467 "type" : "string",
15468 "typetext" : "<string>"
44660702
DM
15469 },
15470 "vmid" : {
15471 "description" : "The (unique) ID of the VM.",
15472 "format" : "pve-vmid",
15473 "minimum" : 1,
4bd7df8b 15474 "type" : "integer",
013dc89f 15475 "typetext" : "<integer> (1 - N)"
44660702
DM
15476 }
15477 }
56122987 15478 },
7aacca6f
DM
15479 "permissions" : {
15480 "check" : [
15481 "perm",
15482 "/vms/{vmid}",
15483 [
44660702 15484 "VM.Audit"
7aacca6f
DM
15485 ]
15486 ]
15487 },
44660702
DM
15488 "returns" : {
15489 "type" : "object"
15490 }
15491 },
15492 "PUT" : {
15493 "description" : "Update IP or Network alias.",
15494 "method" : "PUT",
15495 "name" : "update_alias",
56122987
DM
15496 "parameters" : {
15497 "additionalProperties" : 0,
15498 "properties" : {
44660702
DM
15499 "cidr" : {
15500 "description" : "Network/IP specification in CIDR format.",
15501 "format" : "IPorCIDR",
013dc89f
DM
15502 "type" : "string",
15503 "typetext" : "<string>"
44660702
DM
15504 },
15505 "comment" : {
15506 "optional" : 1,
013dc89f
DM
15507 "type" : "string",
15508 "typetext" : "<string>"
44660702
DM
15509 },
15510 "digest" : {
15511 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15512 "maxLength" : 40,
15513 "optional" : 1,
013dc89f
DM
15514 "type" : "string",
15515 "typetext" : "<string>"
44660702 15516 },
56122987 15517 "name" : {
7aacca6f 15518 "description" : "Alias name.",
44660702
DM
15519 "maxLength" : 64,
15520 "minLength" : 2,
7aacca6f 15521 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15522 "type" : "string"
56122987
DM
15523 },
15524 "node" : {
15525 "description" : "The cluster node name.",
44660702 15526 "format" : "pve-node",
013dc89f
DM
15527 "type" : "string",
15528 "typetext" : "<string>"
44660702
DM
15529 },
15530 "rename" : {
15531 "description" : "Rename an existing alias.",
15532 "maxLength" : 64,
15533 "minLength" : 2,
15534 "optional" : 1,
15535 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15536 "type" : "string"
56122987 15537 },
7aacca6f 15538 "vmid" : {
7aacca6f 15539 "description" : "The (unique) ID of the VM.",
44660702 15540 "format" : "pve-vmid",
7aacca6f 15541 "minimum" : 1,
4bd7df8b 15542 "type" : "integer",
013dc89f 15543 "typetext" : "<integer> (1 - N)"
56122987
DM
15544 }
15545 }
15546 },
44660702
DM
15547 "permissions" : {
15548 "check" : [
15549 "perm",
15550 "/vms/{vmid}",
15551 [
15552 "VM.Config.Network"
15553 ]
15554 ]
7aacca6f 15555 },
44660702
DM
15556 "protected" : 1,
15557 "returns" : {
15558 "type" : "null"
7aacca6f
DM
15559 }
15560 }
15561 },
44660702
DM
15562 "leaf" : 1,
15563 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}",
15564 "text" : "{name}"
15565 }
15566 ],
15567 "info" : {
15568 "GET" : {
15569 "description" : "List aliases",
15570 "method" : "GET",
15571 "name" : "get_aliases",
56122987
DM
15572 "parameters" : {
15573 "additionalProperties" : 0,
15574 "properties" : {
15575 "node" : {
44660702 15576 "description" : "The cluster node name.",
56122987 15577 "format" : "pve-node",
013dc89f
DM
15578 "type" : "string",
15579 "typetext" : "<string>"
56122987
DM
15580 },
15581 "vmid" : {
7aacca6f 15582 "description" : "The (unique) ID of the VM.",
44660702 15583 "format" : "pve-vmid",
7aacca6f 15584 "minimum" : 1,
4bd7df8b 15585 "type" : "integer",
013dc89f 15586 "typetext" : "<integer> (1 - N)"
56122987
DM
15587 }
15588 }
15589 },
44660702
DM
15590 "permissions" : {
15591 "check" : [
15592 "perm",
15593 "/vms/{vmid}",
15594 [
15595 "VM.Audit"
15596 ]
15597 ]
15598 },
56122987
DM
15599 "returns" : {
15600 "items" : {
56122987 15601 "properties" : {
44660702
DM
15602 "cidr" : {
15603 "type" : "string"
7aacca6f 15604 },
44660702
DM
15605 "comment" : {
15606 "optional" : 1,
56122987
DM
15607 "type" : "string"
15608 },
56122987 15609 "digest" : {
56122987 15610 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702
DM
15611 "maxLength" : 40,
15612 "optional" : 0,
15613 "type" : "string"
15614 },
15615 "name" : {
15616 "type" : "string"
56122987 15617 }
44660702
DM
15618 },
15619 "type" : "object"
15620 },
15621 "links" : [
15622 {
15623 "href" : "{name}",
15624 "rel" : "child"
56122987 15625 }
44660702
DM
15626 ],
15627 "type" : "array"
7aacca6f
DM
15628 }
15629 },
15630 "POST" : {
44660702 15631 "description" : "Create IP or Network Alias.",
7aacca6f 15632 "method" : "POST",
44660702 15633 "name" : "create_alias",
7aacca6f
DM
15634 "parameters" : {
15635 "additionalProperties" : 0,
15636 "properties" : {
44660702
DM
15637 "cidr" : {
15638 "description" : "Network/IP specification in CIDR format.",
15639 "format" : "IPorCIDR",
013dc89f
DM
15640 "type" : "string",
15641 "typetext" : "<string>"
7aacca6f
DM
15642 },
15643 "comment" : {
15644 "optional" : 1,
013dc89f
DM
15645 "type" : "string",
15646 "typetext" : "<string>"
7aacca6f 15647 },
44660702
DM
15648 "name" : {
15649 "description" : "Alias name.",
15650 "maxLength" : 64,
7aacca6f
DM
15651 "minLength" : 2,
15652 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
44660702 15653 "type" : "string"
7aacca6f
DM
15654 },
15655 "node" : {
44660702 15656 "description" : "The cluster node name.",
7aacca6f 15657 "format" : "pve-node",
013dc89f
DM
15658 "type" : "string",
15659 "typetext" : "<string>"
7aacca6f 15660 },
44660702
DM
15661 "vmid" : {
15662 "description" : "The (unique) ID of the VM.",
15663 "format" : "pve-vmid",
15664 "minimum" : 1,
4bd7df8b 15665 "type" : "integer",
013dc89f 15666 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
15667 }
15668 }
15669 },
44660702
DM
15670 "permissions" : {
15671 "check" : [
15672 "perm",
15673 "/vms/{vmid}",
15674 [
15675 "VM.Config.Network"
15676 ]
15677 ]
15678 },
15679 "protected" : 1,
15680 "returns" : {
15681 "type" : "null"
15682 }
56122987
DM
15683 }
15684 },
44660702
DM
15685 "leaf" : 0,
15686 "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases",
15687 "text" : "aliases"
15688 },
15689 {
56122987
DM
15690 "children" : [
15691 {
56122987
DM
15692 "children" : [
15693 {
15694 "info" : {
15695 "DELETE" : {
44660702 15696 "description" : "Remove IP or Network from IPSet.",
7aacca6f 15697 "method" : "DELETE",
44660702 15698 "name" : "remove_ip",
56122987
DM
15699 "parameters" : {
15700 "additionalProperties" : 0,
15701 "properties" : {
44660702
DM
15702 "cidr" : {
15703 "description" : "Network/IP specification in CIDR format.",
15704 "format" : "IPorCIDRorAlias",
013dc89f
DM
15705 "type" : "string",
15706 "typetext" : "<string>"
56122987
DM
15707 },
15708 "digest" : {
44660702 15709 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
56122987 15710 "maxLength" : 40,
7aacca6f 15711 "optional" : 1,
013dc89f
DM
15712 "type" : "string",
15713 "typetext" : "<string>"
56122987 15714 },
56122987 15715 "name" : {
44660702 15716 "description" : "IP set name.",
56122987 15717 "maxLength" : 64,
7aacca6f 15718 "minLength" : 2,
56122987 15719 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
56122987 15720 "type" : "string"
7aacca6f
DM
15721 },
15722 "node" : {
7aacca6f 15723 "description" : "The cluster node name.",
44660702 15724 "format" : "pve-node",
013dc89f
DM
15725 "type" : "string",
15726 "typetext" : "<string>"
44660702
DM
15727 },
15728 "vmid" : {
15729 "description" : "The (unique) ID of the VM.",
15730 "format" : "pve-vmid",
15731 "minimum" : 1,
4bd7df8b 15732 "type" : "integer",
013dc89f 15733 "typetext" : "<integer> (1 - N)"
56122987
DM
15734 }
15735 }
15736 },
44660702
DM
15737 "permissions" : {
15738 "check" : [
15739 "perm",
15740 "/vms/{vmid}",
15741 [
15742 "VM.Config.Network"
15743 ]
15744 ]
15745 },
7aacca6f 15746 "protected" : 1,
56122987
DM
15747 "returns" : {
15748 "type" : "null"
44660702
DM
15749 }
15750 },
15751 "GET" : {
15752 "description" : "Read IP or Network settings from IPSet.",
15753 "method" : "GET",
15754 "name" : "read_ip",
56122987
DM
15755 "parameters" : {
15756 "additionalProperties" : 0,
15757 "properties" : {
7aacca6f 15758 "cidr" : {
7aacca6f 15759 "description" : "Network/IP specification in CIDR format.",
44660702 15760 "format" : "IPorCIDRorAlias",
013dc89f
DM
15761 "type" : "string",
15762 "typetext" : "<string>"
56122987 15763 },
7aacca6f 15764 "name" : {
44660702 15765 "description" : "IP set name.",
7aacca6f
DM
15766 "maxLength" : 64,
15767 "minLength" : 2,
7aacca6f
DM
15768 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15769 "type" : "string"
56122987 15770 },
44660702
DM
15771 "node" : {
15772 "description" : "The cluster node name.",
15773 "format" : "pve-node",
013dc89f
DM
15774 "type" : "string",
15775 "typetext" : "<string>"
44660702
DM
15776 },
15777 "vmid" : {
15778 "description" : "The (unique) ID of the VM.",
15779 "format" : "pve-vmid",
15780 "minimum" : 1,
4bd7df8b 15781 "type" : "integer",
013dc89f 15782 "typetext" : "<integer> (1 - N)"
56122987
DM
15783 }
15784 }
15785 },
56122987
DM
15786 "permissions" : {
15787 "check" : [
15788 "perm",
15789 "/vms/{vmid}",
15790 [
44660702 15791 "VM.Audit"
56122987
DM
15792 ]
15793 ]
7aacca6f 15794 },
44660702 15795 "protected" : 1,
7aacca6f
DM
15796 "returns" : {
15797 "type" : "object"
44660702
DM
15798 }
15799 },
15800 "PUT" : {
15801 "description" : "Update IP or Network settings",
15802 "method" : "PUT",
15803 "name" : "update_ip",
7aacca6f 15804 "parameters" : {
44660702 15805 "additionalProperties" : 0,
7aacca6f
DM
15806 "properties" : {
15807 "cidr" : {
44660702 15808 "description" : "Network/IP specification in CIDR format.",
7aacca6f 15809 "format" : "IPorCIDRorAlias",
013dc89f
DM
15810 "type" : "string",
15811 "typetext" : "<string>"
7aacca6f 15812 },
44660702
DM
15813 "comment" : {
15814 "optional" : 1,
013dc89f
DM
15815 "type" : "string",
15816 "typetext" : "<string>"
44660702
DM
15817 },
15818 "digest" : {
15819 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15820 "maxLength" : 40,
15821 "optional" : 1,
013dc89f
DM
15822 "type" : "string",
15823 "typetext" : "<string>"
44660702
DM
15824 },
15825 "name" : {
15826 "description" : "IP set name.",
15827 "maxLength" : 64,
15828 "minLength" : 2,
15829 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15830 "type" : "string"
7aacca6f
DM
15831 },
15832 "node" : {
7aacca6f 15833 "description" : "The cluster node name.",
44660702 15834 "format" : "pve-node",
013dc89f
DM
15835 "type" : "string",
15836 "typetext" : "<string>"
7aacca6f 15837 },
44660702
DM
15838 "nomatch" : {
15839 "optional" : 1,
013dc89f
DM
15840 "type" : "boolean",
15841 "typetext" : "<boolean>"
44660702
DM
15842 },
15843 "vmid" : {
15844 "description" : "The (unique) ID of the VM.",
15845 "format" : "pve-vmid",
15846 "minimum" : 1,
4bd7df8b 15847 "type" : "integer",
013dc89f 15848 "typetext" : "<integer> (1 - N)"
7aacca6f 15849 }
44660702
DM
15850 }
15851 },
15852 "permissions" : {
15853 "check" : [
15854 "perm",
15855 "/vms/{vmid}",
15856 [
15857 "VM.Config.Network"
15858 ]
15859 ]
7aacca6f
DM
15860 },
15861 "protected" : 1,
44660702
DM
15862 "returns" : {
15863 "type" : "null"
15864 }
56122987
DM
15865 }
15866 },
56122987 15867 "leaf" : 1,
44660702
DM
15868 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}",
15869 "text" : "{cidr}"
56122987
DM
15870 }
15871 ],
15872 "info" : {
44660702
DM
15873 "DELETE" : {
15874 "description" : "Delete IPSet",
15875 "method" : "DELETE",
15876 "name" : "delete_ipset",
15877 "parameters" : {
15878 "additionalProperties" : 0,
15879 "properties" : {
15880 "name" : {
15881 "description" : "IP set name.",
15882 "maxLength" : 64,
15883 "minLength" : 2,
15884 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15885 "type" : "string"
15886 },
15887 "node" : {
15888 "description" : "The cluster node name.",
15889 "format" : "pve-node",
013dc89f
DM
15890 "type" : "string",
15891 "typetext" : "<string>"
44660702
DM
15892 },
15893 "vmid" : {
15894 "description" : "The (unique) ID of the VM.",
15895 "format" : "pve-vmid",
15896 "minimum" : 1,
4bd7df8b 15897 "type" : "integer",
013dc89f 15898 "typetext" : "<integer> (1 - N)"
44660702
DM
15899 }
15900 }
15901 },
15902 "permissions" : {
15903 "check" : [
15904 "perm",
15905 "/vms/{vmid}",
15906 [
15907 "VM.Config.Network"
15908 ]
15909 ]
15910 },
15911 "protected" : 1,
15912 "returns" : {
15913 "type" : "null"
15914 }
15915 },
56122987 15916 "GET" : {
7aacca6f 15917 "description" : "List IPSet content",
44660702
DM
15918 "method" : "GET",
15919 "name" : "get_ipset",
7aacca6f
DM
15920 "parameters" : {
15921 "additionalProperties" : 0,
15922 "properties" : {
15923 "name" : {
15924 "description" : "IP set name.",
44660702 15925 "maxLength" : 64,
7aacca6f 15926 "minLength" : 2,
44660702
DM
15927 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
15928 "type" : "string"
7aacca6f
DM
15929 },
15930 "node" : {
7aacca6f 15931 "description" : "The cluster node name.",
44660702 15932 "format" : "pve-node",
013dc89f
DM
15933 "type" : "string",
15934 "typetext" : "<string>"
7aacca6f
DM
15935 },
15936 "vmid" : {
15937 "description" : "The (unique) ID of the VM.",
44660702 15938 "format" : "pve-vmid",
7aacca6f 15939 "minimum" : 1,
4bd7df8b 15940 "type" : "integer",
013dc89f 15941 "typetext" : "<integer> (1 - N)"
56122987 15942 }
7aacca6f
DM
15943 }
15944 },
7aacca6f
DM
15945 "permissions" : {
15946 "check" : [
15947 "perm",
15948 "/vms/{vmid}",
15949 [
15950 "VM.Audit"
15951 ]
15952 ]
15953 },
15954 "returns" : {
56122987
DM
15955 "items" : {
15956 "properties" : {
15957 "cidr" : {
15958 "type" : "string"
15959 },
44660702
DM
15960 "comment" : {
15961 "optional" : 1,
15962 "type" : "string"
15963 },
56122987 15964 "digest" : {
56122987 15965 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 15966 "maxLength" : 40,
7aacca6f 15967 "optional" : 0,
56122987 15968 "type" : "string"
7aacca6f
DM
15969 },
15970 "nomatch" : {
44660702
DM
15971 "optional" : 1,
15972 "type" : "boolean"
56122987 15973 }
44660702
DM
15974 },
15975 "type" : "object"
56122987 15976 },
7aacca6f
DM
15977 "links" : [
15978 {
44660702
DM
15979 "href" : "{cidr}",
15980 "rel" : "child"
56122987 15981 }
44660702
DM
15982 ],
15983 "type" : "array"
15984 }
56122987 15985 },
7aacca6f
DM
15986 "POST" : {
15987 "description" : "Add IP or Network to IPSet.",
44660702 15988 "method" : "POST",
7aacca6f 15989 "name" : "create_ip",
56122987 15990 "parameters" : {
44660702 15991 "additionalProperties" : 0,
56122987 15992 "properties" : {
44660702
DM
15993 "cidr" : {
15994 "description" : "Network/IP specification in CIDR format.",
15995 "format" : "IPorCIDRorAlias",
013dc89f
DM
15996 "type" : "string",
15997 "typetext" : "<string>"
44660702
DM
15998 },
15999 "comment" : {
16000 "optional" : 1,
013dc89f
DM
16001 "type" : "string",
16002 "typetext" : "<string>"
56122987
DM
16003 },
16004 "name" : {
56122987 16005 "description" : "IP set name.",
44660702 16006 "maxLength" : 64,
7aacca6f 16007 "minLength" : 2,
44660702 16008 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
7aacca6f 16009 "type" : "string"
56122987 16010 },
7aacca6f 16011 "node" : {
7aacca6f 16012 "description" : "The cluster node name.",
44660702 16013 "format" : "pve-node",
013dc89f
DM
16014 "type" : "string",
16015 "typetext" : "<string>"
56122987 16016 },
44660702
DM
16017 "nomatch" : {
16018 "optional" : 1,
013dc89f
DM
16019 "type" : "boolean",
16020 "typetext" : "<boolean>"
7aacca6f
DM
16021 },
16022 "vmid" : {
44660702 16023 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16024 "format" : "pve-vmid",
16025 "minimum" : 1,
4bd7df8b 16026 "type" : "integer",
013dc89f 16027 "typetext" : "<integer> (1 - N)"
56122987 16028 }
44660702
DM
16029 }
16030 },
16031 "permissions" : {
16032 "check" : [
16033 "perm",
16034 "/vms/{vmid}",
16035 [
16036 "VM.Config.Network"
16037 ]
16038 ]
16039 },
16040 "protected" : 1,
16041 "returns" : {
16042 "type" : "null"
16043 }
16044 }
16045 },
16046 "leaf" : 0,
16047 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}",
16048 "text" : "{name}"
16049 }
16050 ],
16051 "info" : {
16052 "GET" : {
16053 "description" : "List IPSets",
16054 "method" : "GET",
16055 "name" : "ipset_index",
16056 "parameters" : {
16057 "additionalProperties" : 0,
16058 "properties" : {
16059 "node" : {
16060 "description" : "The cluster node name.",
16061 "format" : "pve-node",
013dc89f
DM
16062 "type" : "string",
16063 "typetext" : "<string>"
44660702
DM
16064 },
16065 "vmid" : {
16066 "description" : "The (unique) ID of the VM.",
16067 "format" : "pve-vmid",
16068 "minimum" : 1,
4bd7df8b 16069 "type" : "integer",
013dc89f 16070 "typetext" : "<integer> (1 - N)"
44660702
DM
16071 }
16072 }
16073 },
16074 "permissions" : {
16075 "check" : [
16076 "perm",
16077 "/vms/{vmid}",
16078 [
16079 "VM.Audit"
16080 ]
16081 ]
16082 },
16083 "returns" : {
16084 "items" : {
16085 "properties" : {
16086 "comment" : {
16087 "optional" : 1,
16088 "type" : "string"
16089 },
16090 "digest" : {
16091 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16092 "maxLength" : 40,
16093 "optional" : 0,
16094 "type" : "string"
7aacca6f 16095 },
44660702
DM
16096 "name" : {
16097 "description" : "IP set name.",
16098 "maxLength" : 64,
16099 "minLength" : 2,
16100 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16101 "type" : "string"
16102 }
16103 },
16104 "type" : "object"
16105 },
16106 "links" : [
16107 {
16108 "href" : "{name}",
16109 "rel" : "child"
16110 }
16111 ],
16112 "type" : "array"
16113 }
16114 },
16115 "POST" : {
16116 "description" : "Create new IPSet",
16117 "method" : "POST",
16118 "name" : "create_ipset",
16119 "parameters" : {
16120 "additionalProperties" : 0,
16121 "properties" : {
16122 "comment" : {
16123 "optional" : 1,
013dc89f
DM
16124 "type" : "string",
16125 "typetext" : "<string>"
44660702
DM
16126 },
16127 "digest" : {
16128 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16129 "maxLength" : 40,
16130 "optional" : 1,
013dc89f
DM
16131 "type" : "string",
16132 "typetext" : "<string>"
56122987 16133 },
44660702
DM
16134 "name" : {
16135 "description" : "IP set name.",
16136 "maxLength" : 64,
16137 "minLength" : 2,
16138 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16139 "type" : "string"
16140 },
16141 "node" : {
16142 "description" : "The cluster node name.",
16143 "format" : "pve-node",
013dc89f
DM
16144 "type" : "string",
16145 "typetext" : "<string>"
7aacca6f 16146 },
44660702
DM
16147 "rename" : {
16148 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
16149 "maxLength" : 64,
16150 "minLength" : 2,
16151 "optional" : 1,
16152 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
16153 "type" : "string"
16154 },
16155 "vmid" : {
16156 "description" : "The (unique) ID of the VM.",
16157 "format" : "pve-vmid",
16158 "minimum" : 1,
4bd7df8b 16159 "type" : "integer",
013dc89f 16160 "typetext" : "<integer> (1 - N)"
44660702 16161 }
56122987 16162 }
44660702
DM
16163 },
16164 "permissions" : {
16165 "check" : [
16166 "perm",
16167 "/vms/{vmid}",
16168 [
16169 "VM.Config.Network"
16170 ]
16171 ]
16172 },
16173 "protected" : 1,
16174 "returns" : {
16175 "type" : "null"
56122987
DM
16176 }
16177 }
44660702
DM
16178 },
16179 "leaf" : 0,
16180 "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset",
16181 "text" : "ipset"
56122987
DM
16182 },
16183 {
56122987 16184 "info" : {
7aacca6f 16185 "GET" : {
44660702 16186 "description" : "Get VM firewall options.",
7aacca6f 16187 "method" : "GET",
44660702
DM
16188 "name" : "get_options",
16189 "parameters" : {
16190 "additionalProperties" : 0,
16191 "properties" : {
16192 "node" : {
16193 "description" : "The cluster node name.",
16194 "format" : "pve-node",
013dc89f
DM
16195 "type" : "string",
16196 "typetext" : "<string>"
44660702
DM
16197 },
16198 "vmid" : {
16199 "description" : "The (unique) ID of the VM.",
16200 "format" : "pve-vmid",
16201 "minimum" : 1,
4bd7df8b 16202 "type" : "integer",
013dc89f 16203 "typetext" : "<integer> (1 - N)"
44660702
DM
16204 }
16205 }
16206 },
16207 "permissions" : {
16208 "check" : [
16209 "perm",
16210 "/vms/{vmid}",
16211 [
16212 "VM.Audit"
16213 ]
16214 ]
16215 },
16216 "proxyto" : "node",
56122987 16217 "returns" : {
56122987 16218 "properties" : {
44660702
DM
16219 "dhcp" : {
16220 "description" : "Enable DHCP.",
16221 "optional" : 1,
16222 "type" : "boolean"
16223 },
16224 "enable" : {
16225 "description" : "Enable/disable firewall rules.",
16226 "optional" : 1,
16227 "type" : "boolean"
16228 },
16229 "ipfilter" : {
16230 "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 16231 "optional" : 1,
44660702
DM
16232 "type" : "boolean"
16233 },
16234 "log_level_in" : {
7aacca6f
DM
16235 "description" : "Log level for incoming traffic.",
16236 "enum" : [
16237 "emerg",
16238 "alert",
16239 "crit",
16240 "err",
16241 "warning",
16242 "notice",
16243 "info",
16244 "debug",
16245 "nolog"
44660702
DM
16246 ],
16247 "optional" : 1,
16248 "type" : "string"
56122987 16249 },
44660702
DM
16250 "log_level_out" : {
16251 "description" : "Log level for outgoing traffic.",
56122987 16252 "enum" : [
44660702
DM
16253 "emerg",
16254 "alert",
16255 "crit",
16256 "err",
16257 "warning",
16258 "notice",
16259 "info",
16260 "debug",
16261 "nolog"
7aacca6f 16262 ],
7aacca6f
DM
16263 "optional" : 1,
16264 "type" : "string"
56122987 16265 },
44660702
DM
16266 "macfilter" : {
16267 "description" : "Enable/disable MAC address filter.",
16268 "optional" : 1,
16269 "type" : "boolean"
7aacca6f 16270 },
44660702
DM
16271 "ndp" : {
16272 "description" : "Enable NDP.",
56122987 16273 "optional" : 1,
44660702 16274 "type" : "boolean"
56122987
DM
16275 },
16276 "policy_in" : {
7aacca6f 16277 "description" : "Input policy.",
56122987
DM
16278 "enum" : [
16279 "ACCEPT",
16280 "REJECT",
16281 "DROP"
16282 ],
7aacca6f 16283 "optional" : 1,
44660702 16284 "type" : "string"
56122987 16285 },
44660702
DM
16286 "policy_out" : {
16287 "description" : "Output policy.",
56122987 16288 "enum" : [
44660702
DM
16289 "ACCEPT",
16290 "REJECT",
16291 "DROP"
56122987 16292 ],
7aacca6f 16293 "optional" : 1,
56122987
DM
16294 "type" : "string"
16295 },
44660702
DM
16296 "radv" : {
16297 "description" : "Allow sending Router Advertisement.",
56122987 16298 "optional" : 1,
7aacca6f
DM
16299 "type" : "boolean"
16300 }
7aacca6f 16301 },
44660702
DM
16302 "type" : "object"
16303 }
7aacca6f
DM
16304 },
16305 "PUT" : {
44660702
DM
16306 "description" : "Set Firewall options.",
16307 "method" : "PUT",
7aacca6f
DM
16308 "name" : "set_options",
16309 "parameters" : {
44660702 16310 "additionalProperties" : 0,
7aacca6f 16311 "properties" : {
44660702
DM
16312 "delete" : {
16313 "description" : "A list of settings you want to delete.",
16314 "format" : "pve-configid-list",
16315 "optional" : 1,
013dc89f
DM
16316 "type" : "string",
16317 "typetext" : "<string>"
44660702
DM
16318 },
16319 "dhcp" : {
16320 "description" : "Enable DHCP.",
16321 "optional" : 1,
013dc89f
DM
16322 "type" : "boolean",
16323 "typetext" : "<boolean>"
44660702
DM
16324 },
16325 "digest" : {
16326 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16327 "maxLength" : 40,
16328 "optional" : 1,
013dc89f
DM
16329 "type" : "string",
16330 "typetext" : "<string>"
44660702 16331 },
7aacca6f
DM
16332 "enable" : {
16333 "description" : "Enable/disable firewall rules.",
56122987 16334 "optional" : 1,
013dc89f
DM
16335 "type" : "boolean",
16336 "typetext" : "<boolean>"
56122987 16337 },
44660702
DM
16338 "ipfilter" : {
16339 "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.",
16340 "optional" : 1,
013dc89f
DM
16341 "type" : "boolean",
16342 "typetext" : "<boolean>"
44660702
DM
16343 },
16344 "log_level_in" : {
16345 "description" : "Log level for incoming traffic.",
56122987
DM
16346 "enum" : [
16347 "emerg",
16348 "alert",
16349 "crit",
16350 "err",
16351 "warning",
16352 "notice",
16353 "info",
16354 "debug",
16355 "nolog"
16356 ],
56122987 16357 "optional" : 1,
44660702 16358 "type" : "string"
56122987 16359 },
44660702
DM
16360 "log_level_out" : {
16361 "description" : "Log level for outgoing traffic.",
56122987
DM
16362 "enum" : [
16363 "emerg",
16364 "alert",
16365 "crit",
16366 "err",
16367 "warning",
16368 "notice",
16369 "info",
16370 "debug",
16371 "nolog"
16372 ],
44660702
DM
16373 "optional" : 1,
16374 "type" : "string"
56122987 16375 },
44660702
DM
16376 "macfilter" : {
16377 "description" : "Enable/disable MAC address filter.",
16378 "optional" : 1,
013dc89f
DM
16379 "type" : "boolean",
16380 "typetext" : "<boolean>"
44660702
DM
16381 },
16382 "ndp" : {
16383 "description" : "Enable NDP.",
56122987 16384 "optional" : 1,
013dc89f
DM
16385 "type" : "boolean",
16386 "typetext" : "<boolean>"
56122987 16387 },
7aacca6f
DM
16388 "node" : {
16389 "description" : "The cluster node name.",
44660702 16390 "format" : "pve-node",
013dc89f
DM
16391 "type" : "string",
16392 "typetext" : "<string>"
7aacca6f 16393 },
44660702
DM
16394 "policy_in" : {
16395 "description" : "Input policy.",
16396 "enum" : [
16397 "ACCEPT",
16398 "REJECT",
16399 "DROP"
16400 ],
7aacca6f 16401 "optional" : 1,
44660702 16402 "type" : "string"
7aacca6f 16403 },
44660702
DM
16404 "policy_out" : {
16405 "description" : "Output policy.",
56122987 16406 "enum" : [
7aacca6f
DM
16407 "ACCEPT",
16408 "REJECT",
16409 "DROP"
56122987
DM
16410 ],
16411 "optional" : 1,
56122987 16412 "type" : "string"
7aacca6f 16413 },
44660702
DM
16414 "radv" : {
16415 "description" : "Allow sending Router Advertisement.",
7aacca6f 16416 "optional" : 1,
013dc89f
DM
16417 "type" : "boolean",
16418 "typetext" : "<boolean>"
44660702
DM
16419 },
16420 "vmid" : {
16421 "description" : "The (unique) ID of the VM.",
16422 "format" : "pve-vmid",
16423 "minimum" : 1,
4bd7df8b 16424 "type" : "integer",
013dc89f 16425 "typetext" : "<integer> (1 - N)"
56122987 16426 }
44660702 16427 }
56122987 16428 },
7aacca6f
DM
16429 "permissions" : {
16430 "check" : [
16431 "perm",
16432 "/vms/{vmid}",
16433 [
16434 "VM.Config.Network"
16435 ]
16436 ]
16437 },
44660702
DM
16438 "protected" : 1,
16439 "proxyto" : "node",
7aacca6f
DM
16440 "returns" : {
16441 "type" : "null"
56122987
DM
16442 }
16443 }
16444 },
44660702 16445 "leaf" : 1,
7aacca6f 16446 "path" : "/nodes/{node}/lxc/{vmid}/firewall/options",
44660702 16447 "text" : "options"
56122987
DM
16448 },
16449 {
56122987
DM
16450 "info" : {
16451 "GET" : {
44660702 16452 "description" : "Read firewall log",
56122987 16453 "method" : "GET",
7aacca6f 16454 "name" : "log",
56122987
DM
16455 "parameters" : {
16456 "additionalProperties" : 0,
16457 "properties" : {
44660702
DM
16458 "limit" : {
16459 "minimum" : 0,
16460 "optional" : 1,
4bd7df8b 16461 "type" : "integer",
013dc89f 16462 "typetext" : "<integer> (0 - N)"
44660702 16463 },
56122987
DM
16464 "node" : {
16465 "description" : "The cluster node name.",
44660702 16466 "format" : "pve-node",
013dc89f
DM
16467 "type" : "string",
16468 "typetext" : "<string>"
56122987 16469 },
44660702
DM
16470 "start" : {
16471 "minimum" : 0,
7aacca6f 16472 "optional" : 1,
4bd7df8b 16473 "type" : "integer",
013dc89f 16474 "typetext" : "<integer> (0 - N)"
56122987
DM
16475 },
16476 "vmid" : {
44660702 16477 "description" : "The (unique) ID of the VM.",
7aacca6f 16478 "format" : "pve-vmid",
56122987 16479 "minimum" : 1,
4bd7df8b 16480 "type" : "integer",
013dc89f 16481 "typetext" : "<integer> (1 - N)"
56122987
DM
16482 }
16483 }
16484 },
44660702
DM
16485 "permissions" : {
16486 "check" : [
16487 "perm",
16488 "/vms/{vmid}",
16489 [
16490 "VM.Console"
16491 ]
16492 ]
16493 },
56122987 16494 "protected" : 1,
44660702 16495 "proxyto" : "node",
7aacca6f
DM
16496 "returns" : {
16497 "items" : {
16498 "properties" : {
7aacca6f
DM
16499 "n" : {
16500 "description" : "Line number",
16501 "type" : "integer"
44660702
DM
16502 },
16503 "t" : {
16504 "description" : "Line text",
16505 "type" : "string"
7aacca6f
DM
16506 }
16507 },
16508 "type" : "object"
16509 },
16510 "type" : "array"
44660702 16511 }
56122987
DM
16512 }
16513 },
7aacca6f 16514 "leaf" : 1,
44660702
DM
16515 "path" : "/nodes/{node}/lxc/{vmid}/firewall/log",
16516 "text" : "log"
56122987
DM
16517 },
16518 {
56122987
DM
16519 "info" : {
16520 "GET" : {
7aacca6f 16521 "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
44660702
DM
16522 "method" : "GET",
16523 "name" : "refs",
56122987 16524 "parameters" : {
7aacca6f 16525 "additionalProperties" : 0,
56122987 16526 "properties" : {
44660702
DM
16527 "node" : {
16528 "description" : "The cluster node name.",
16529 "format" : "pve-node",
013dc89f
DM
16530 "type" : "string",
16531 "typetext" : "<string>"
7aacca6f 16532 },
56122987 16533 "type" : {
44660702 16534 "description" : "Only list references of specified type.",
56122987
DM
16535 "enum" : [
16536 "alias",
16537 "ipset"
16538 ],
44660702
DM
16539 "optional" : 1,
16540 "type" : "string"
56122987 16541 },
44660702
DM
16542 "vmid" : {
16543 "description" : "The (unique) ID of the VM.",
16544 "format" : "pve-vmid",
16545 "minimum" : 1,
4bd7df8b 16546 "type" : "integer",
013dc89f 16547 "typetext" : "<integer> (1 - N)"
56122987 16548 }
7aacca6f 16549 }
56122987 16550 },
44660702
DM
16551 "permissions" : {
16552 "check" : [
16553 "perm",
16554 "/vms/{vmid}",
16555 [
16556 "VM.Audit"
16557 ]
16558 ]
16559 },
56122987 16560 "returns" : {
56122987 16561 "items" : {
56122987 16562 "properties" : {
44660702
DM
16563 "comment" : {
16564 "optional" : 1,
16565 "type" : "string"
16566 },
16567 "name" : {
16568 "type" : "string"
16569 },
56122987 16570 "type" : {
56122987
DM
16571 "enum" : [
16572 "alias",
16573 "ipset"
44660702 16574 ],
7aacca6f 16575 "type" : "string"
56122987 16576 }
44660702
DM
16577 },
16578 "type" : "object"
16579 },
16580 "type" : "array"
56122987
DM
16581 }
16582 }
16583 },
44660702 16584 "leaf" : 1,
7aacca6f 16585 "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs",
44660702 16586 "text" : "refs"
56122987
DM
16587 }
16588 ],
56122987
DM
16589 "info" : {
16590 "GET" : {
7aacca6f 16591 "description" : "Directory index.",
44660702
DM
16592 "method" : "GET",
16593 "name" : "index",
56122987 16594 "parameters" : {
44660702 16595 "additionalProperties" : 0,
56122987 16596 "properties" : {
56122987 16597 "node" : {
44660702 16598 "description" : "The cluster node name.",
56122987 16599 "format" : "pve-node",
013dc89f
DM
16600 "type" : "string",
16601 "typetext" : "<string>"
44660702
DM
16602 },
16603 "vmid" : {
16604 "description" : "The (unique) ID of the VM.",
16605 "format" : "pve-vmid",
16606 "minimum" : 1,
4bd7df8b 16607 "type" : "integer",
013dc89f 16608 "typetext" : "<integer> (1 - N)"
56122987 16609 }
44660702
DM
16610 }
16611 },
16612 "permissions" : {
16613 "user" : "all"
56122987
DM
16614 },
16615 "returns" : {
7aacca6f 16616 "items" : {
44660702
DM
16617 "properties" : {},
16618 "type" : "object"
7aacca6f 16619 },
56122987
DM
16620 "links" : [
16621 {
44660702
DM
16622 "href" : "{name}",
16623 "rel" : "child"
56122987 16624 }
44660702
DM
16625 ],
16626 "type" : "array"
56122987
DM
16627 }
16628 }
16629 },
44660702 16630 "leaf" : 0,
7aacca6f 16631 "path" : "/nodes/{node}/lxc/{vmid}/firewall",
44660702 16632 "text" : "firewall"
56122987
DM
16633 },
16634 {
56122987
DM
16635 "info" : {
16636 "GET" : {
56122987 16637 "description" : "Read VM RRD statistics (returns PNG)",
44660702 16638 "method" : "GET",
7aacca6f 16639 "name" : "rrd",
56122987 16640 "parameters" : {
7aacca6f 16641 "additionalProperties" : 0,
56122987 16642 "properties" : {
44660702
DM
16643 "cf" : {
16644 "description" : "The RRD consolidation function",
16645 "enum" : [
16646 "AVERAGE",
16647 "MAX"
16648 ],
16649 "optional" : 1,
16650 "type" : "string"
16651 },
16652 "ds" : {
16653 "description" : "The list of datasources you want to display.",
16654 "format" : "pve-configid-list",
013dc89f
DM
16655 "type" : "string",
16656 "typetext" : "<string>"
44660702 16657 },
7aacca6f
DM
16658 "node" : {
16659 "description" : "The cluster node name.",
44660702 16660 "format" : "pve-node",
013dc89f
DM
16661 "type" : "string",
16662 "typetext" : "<string>"
56122987
DM
16663 },
16664 "timeframe" : {
16665 "description" : "Specify the time frame you are interested in.",
16666 "enum" : [
16667 "hour",
16668 "day",
16669 "week",
16670 "month",
16671 "year"
7aacca6f 16672 ],
44660702 16673 "type" : "string"
7aacca6f
DM
16674 },
16675 "vmid" : {
44660702 16676 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16677 "format" : "pve-vmid",
16678 "minimum" : 1,
4bd7df8b 16679 "type" : "integer",
013dc89f 16680 "typetext" : "<integer> (1 - N)"
56122987 16681 }
7aacca6f
DM
16682 }
16683 },
16684 "permissions" : {
16685 "check" : [
16686 "perm",
16687 "/vms/{vmid}",
16688 [
16689 "VM.Audit"
16690 ]
16691 ]
56122987 16692 },
44660702 16693 "protected" : 1,
7aacca6f
DM
16694 "returns" : {
16695 "properties" : {
16696 "filename" : {
16697 "type" : "string"
16698 }
16699 },
16700 "type" : "object"
16701 }
56122987 16702 }
7aacca6f 16703 },
44660702 16704 "leaf" : 1,
7aacca6f 16705 "path" : "/nodes/{node}/lxc/{vmid}/rrd",
44660702 16706 "text" : "rrd"
56122987
DM
16707 },
16708 {
56122987
DM
16709 "info" : {
16710 "GET" : {
44660702
DM
16711 "description" : "Read VM RRD statistics",
16712 "method" : "GET",
16713 "name" : "rrddata",
56122987 16714 "parameters" : {
7aacca6f 16715 "additionalProperties" : 0,
56122987 16716 "properties" : {
44660702
DM
16717 "cf" : {
16718 "description" : "The RRD consolidation function",
16719 "enum" : [
16720 "AVERAGE",
16721 "MAX"
16722 ],
16723 "optional" : 1,
16724 "type" : "string"
16725 },
7aacca6f 16726 "node" : {
44660702 16727 "description" : "The cluster node name.",
7aacca6f 16728 "format" : "pve-node",
013dc89f
DM
16729 "type" : "string",
16730 "typetext" : "<string>"
7aacca6f 16731 },
56122987
DM
16732 "timeframe" : {
16733 "description" : "Specify the time frame you are interested in.",
16734 "enum" : [
16735 "hour",
16736 "day",
16737 "week",
16738 "month",
16739 "year"
44660702
DM
16740 ],
16741 "type" : "string"
7aacca6f
DM
16742 },
16743 "vmid" : {
16744 "description" : "The (unique) ID of the VM.",
44660702 16745 "format" : "pve-vmid",
7aacca6f 16746 "minimum" : 1,
4bd7df8b 16747 "type" : "integer",
013dc89f 16748 "typetext" : "<integer> (1 - N)"
56122987 16749 }
56122987
DM
16750 }
16751 },
56122987
DM
16752 "permissions" : {
16753 "check" : [
16754 "perm",
16755 "/vms/{vmid}",
16756 [
16757 "VM.Audit"
16758 ]
16759 ]
16760 },
7aacca6f
DM
16761 "protected" : 1,
16762 "returns" : {
7aacca6f
DM
16763 "items" : {
16764 "properties" : {},
16765 "type" : "object"
44660702
DM
16766 },
16767 "type" : "array"
16768 }
56122987
DM
16769 }
16770 },
44660702 16771 "leaf" : 1,
7aacca6f 16772 "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
44660702 16773 "text" : "rrddata"
56122987
DM
16774 },
16775 {
16776 "info" : {
16777 "POST" : {
16778 "description" : "Creates a TCP VNC proxy connections.",
44660702
DM
16779 "method" : "POST",
16780 "name" : "vncproxy",
7aacca6f 16781 "parameters" : {
44660702 16782 "additionalProperties" : 0,
7aacca6f 16783 "properties" : {
5d9c884c
DM
16784 "height" : {
16785 "description" : "sets the height of the console in pixels.",
16786 "maximum" : 2160,
16787 "minimum" : 16,
16788 "optional" : 1,
16789 "type" : "integer",
16790 "typetext" : "<integer> (16 - 2160)"
16791 },
44660702
DM
16792 "node" : {
16793 "description" : "The cluster node name.",
16794 "format" : "pve-node",
013dc89f
DM
16795 "type" : "string",
16796 "typetext" : "<string>"
44660702 16797 },
7aacca6f 16798 "vmid" : {
44660702 16799 "description" : "The (unique) ID of the VM.",
7aacca6f
DM
16800 "format" : "pve-vmid",
16801 "minimum" : 1,
4bd7df8b 16802 "type" : "integer",
013dc89f 16803 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
16804 },
16805 "websocket" : {
44660702 16806 "description" : "use websocket instead of standard VNC.",
7aacca6f 16807 "optional" : 1,
013dc89f
DM
16808 "type" : "boolean",
16809 "typetext" : "<boolean>"
5d9c884c
DM
16810 },
16811 "width" : {
16812 "description" : "sets the width of the console in pixels.",
16813 "maximum" : 4096,
16814 "minimum" : 16,
16815 "optional" : 1,
16816 "type" : "integer",
16817 "typetext" : "<integer> (16 - 4096)"
7aacca6f 16818 }
44660702 16819 }
7aacca6f 16820 },
56122987
DM
16821 "permissions" : {
16822 "check" : [
16823 "perm",
16824 "/vms/{vmid}",
16825 [
16826 "VM.Console"
16827 ]
16828 ]
16829 },
44660702 16830 "protected" : 1,
56122987 16831 "returns" : {
7aacca6f 16832 "additionalProperties" : 0,
56122987 16833 "properties" : {
7aacca6f 16834 "cert" : {
56122987
DM
16835 "type" : "string"
16836 },
44660702
DM
16837 "port" : {
16838 "type" : "integer"
56122987 16839 },
44660702 16840 "ticket" : {
56122987
DM
16841 "type" : "string"
16842 },
44660702 16843 "upid" : {
56122987
DM
16844 "type" : "string"
16845 },
44660702
DM
16846 "user" : {
16847 "type" : "string"
56122987 16848 }
7aacca6f 16849 }
56122987
DM
16850 }
16851 }
16852 },
44660702 16853 "leaf" : 1,
56122987 16854 "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
44660702 16855 "text" : "vncproxy"
56122987
DM
16856 },
16857 {
56122987
DM
16858 "info" : {
16859 "GET" : {
44660702
DM
16860 "description" : "Opens a weksocket for VNC traffic.",
16861 "method" : "GET",
16862 "name" : "vncwebsocket",
56122987 16863 "parameters" : {
44660702 16864 "additionalProperties" : 0,
56122987 16865 "properties" : {
56122987
DM
16866 "node" : {
16867 "description" : "The cluster node name.",
44660702 16868 "format" : "pve-node",
013dc89f
DM
16869 "type" : "string",
16870 "typetext" : "<string>"
7aacca6f 16871 },
44660702
DM
16872 "port" : {
16873 "description" : "Port number returned by previous vncproxy call.",
16874 "maximum" : 5999,
16875 "minimum" : 5900,
4bd7df8b 16876 "type" : "integer",
013dc89f 16877 "typetext" : "<integer> (5900 - 5999)"
44660702 16878 },
7aacca6f
DM
16879 "vmid" : {
16880 "description" : "The (unique) ID of the VM.",
7aacca6f 16881 "format" : "pve-vmid",
44660702 16882 "minimum" : 1,
4bd7df8b 16883 "type" : "integer",
013dc89f 16884 "typetext" : "<integer> (1 - N)"
44660702
DM
16885 },
16886 "vncticket" : {
16887 "description" : "Ticket from previous call to vncproxy.",
16888 "maxLength" : 512,
013dc89f
DM
16889 "type" : "string",
16890 "typetext" : "<string>"
56122987 16891 }
44660702 16892 }
7aacca6f 16893 },
7aacca6f
DM
16894 "permissions" : {
16895 "check" : [
16896 "perm",
16897 "/vms/{vmid}",
16898 [
16899 "VM.Console"
16900 ]
16901 ],
16902 "description" : "You also need to pass a valid ticket (vncticket)."
56122987
DM
16903 },
16904 "returns" : {
56122987
DM
16905 "properties" : {
16906 "port" : {
16907 "type" : "string"
16908 }
44660702
DM
16909 },
16910 "type" : "object"
16911 }
56122987
DM
16912 }
16913 },
44660702 16914 "leaf" : 1,
7aacca6f 16915 "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket",
44660702 16916 "text" : "vncwebsocket"
56122987
DM
16917 },
16918 {
56122987
DM
16919 "info" : {
16920 "POST" : {
44660702
DM
16921 "description" : "Returns a SPICE configuration to connect to the CT.",
16922 "method" : "POST",
16923 "name" : "spiceproxy",
56122987
DM
16924 "parameters" : {
16925 "additionalProperties" : 0,
16926 "properties" : {
44660702
DM
16927 "node" : {
16928 "description" : "The cluster node name.",
16929 "format" : "pve-node",
013dc89f
DM
16930 "type" : "string",
16931 "typetext" : "<string>"
56122987
DM
16932 },
16933 "proxy" : {
7aacca6f 16934 "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
16935 "format" : "address",
16936 "optional" : 1,
013dc89f
DM
16937 "type" : "string",
16938 "typetext" : "<string>"
44660702
DM
16939 },
16940 "vmid" : {
16941 "description" : "The (unique) ID of the VM.",
16942 "format" : "pve-vmid",
16943 "minimum" : 1,
4bd7df8b 16944 "type" : "integer",
013dc89f 16945 "typetext" : "<integer> (1 - N)"
56122987
DM
16946 }
16947 }
16948 },
56122987
DM
16949 "permissions" : {
16950 "check" : [
16951 "perm",
16952 "/vms/{vmid}",
16953 [
16954 "VM.Console"
16955 ]
16956 ]
16957 },
44660702
DM
16958 "protected" : 1,
16959 "proxyto" : "node",
56122987 16960 "returns" : {
7aacca6f 16961 "additionalProperties" : 1,
44660702 16962 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
56122987 16963 "properties" : {
44660702 16964 "host" : {
56122987
DM
16965 "type" : "string"
16966 },
44660702 16967 "password" : {
56122987
DM
16968 "type" : "string"
16969 },
16970 "proxy" : {
16971 "type" : "string"
16972 },
56122987
DM
16973 "tls-port" : {
16974 "type" : "integer"
7aacca6f 16975 },
44660702 16976 "type" : {
7aacca6f 16977 "type" : "string"
56122987 16978 }
7aacca6f
DM
16979 }
16980 }
56122987 16981 }
44660702
DM
16982 },
16983 "leaf" : 1,
16984 "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
16985 "text" : "spiceproxy"
56122987
DM
16986 },
16987 {
56122987
DM
16988 "info" : {
16989 "POST" : {
44660702 16990 "description" : "Migrate the container to another node. Creates a new migration task.",
7aacca6f 16991 "method" : "POST",
44660702 16992 "name" : "migrate_vm",
56122987 16993 "parameters" : {
44660702 16994 "additionalProperties" : 0,
56122987 16995 "properties" : {
44660702 16996 "force" : {
de0983cb 16997 "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
44660702 16998 "optional" : 1,
013dc89f
DM
16999 "type" : "boolean",
17000 "typetext" : "<boolean>"
44660702
DM
17001 },
17002 "node" : {
17003 "description" : "The cluster node name.",
7aacca6f 17004 "format" : "pve-node",
013dc89f
DM
17005 "type" : "string",
17006 "typetext" : "<string>"
7aacca6f 17007 },
56122987 17008 "online" : {
56122987 17009 "description" : "Use online/live migration.",
44660702 17010 "optional" : 1,
013dc89f
DM
17011 "type" : "boolean",
17012 "typetext" : "<boolean>"
56122987 17013 },
6875b729
DM
17014 "restart" : {
17015 "description" : "Use restart migration",
17016 "optional" : 1,
17017 "type" : "boolean",
17018 "typetext" : "<boolean>"
17019 },
44660702
DM
17020 "target" : {
17021 "description" : "Target node.",
56122987 17022 "format" : "pve-node",
013dc89f
DM
17023 "type" : "string",
17024 "typetext" : "<string>"
56122987 17025 },
6875b729
DM
17026 "timeout" : {
17027 "default" : 180,
17028 "description" : "Timeout in seconds for shutdown for restart migration",
17029 "optional" : 1,
17030 "type" : "integer",
17031 "typetext" : "<integer>"
17032 },
44660702
DM
17033 "vmid" : {
17034 "description" : "The (unique) ID of the VM.",
17035 "format" : "pve-vmid",
17036 "minimum" : 1,
4bd7df8b 17037 "type" : "integer",
013dc89f 17038 "typetext" : "<integer> (1 - N)"
56122987 17039 }
44660702 17040 }
7aacca6f 17041 },
56122987
DM
17042 "permissions" : {
17043 "check" : [
17044 "perm",
17045 "/vms/{vmid}",
17046 [
17047 "VM.Migrate"
17048 ]
17049 ]
17050 },
44660702 17051 "protected" : 1,
7aacca6f 17052 "proxyto" : "node",
44660702
DM
17053 "returns" : {
17054 "description" : "the task ID.",
17055 "type" : "string"
17056 }
56122987
DM
17057 }
17058 },
44660702
DM
17059 "leaf" : 1,
17060 "path" : "/nodes/{node}/lxc/{vmid}/migrate",
7aacca6f 17061 "text" : "migrate"
56122987
DM
17062 },
17063 {
56122987
DM
17064 "info" : {
17065 "GET" : {
44660702
DM
17066 "description" : "Check if feature for virtual machine is available.",
17067 "method" : "GET",
56122987 17068 "name" : "vm_feature",
56122987 17069 "parameters" : {
7aacca6f 17070 "additionalProperties" : 0,
56122987 17071 "properties" : {
44660702
DM
17072 "feature" : {
17073 "description" : "Feature to check.",
17074 "enum" : [
17075 "snapshot"
17076 ],
17077 "type" : "string"
17078 },
7aacca6f 17079 "node" : {
44660702 17080 "description" : "The cluster node name.",
7aacca6f 17081 "format" : "pve-node",
013dc89f
DM
17082 "type" : "string",
17083 "typetext" : "<string>"
7aacca6f 17084 },
56122987 17085 "snapname" : {
7aacca6f
DM
17086 "description" : "The name of the snapshot.",
17087 "format" : "pve-configid",
44660702
DM
17088 "maxLength" : 40,
17089 "optional" : 1,
013dc89f
DM
17090 "type" : "string",
17091 "typetext" : "<string>"
56122987
DM
17092 },
17093 "vmid" : {
7aacca6f 17094 "description" : "The (unique) ID of the VM.",
44660702 17095 "format" : "pve-vmid",
7aacca6f 17096 "minimum" : 1,
4bd7df8b 17097 "type" : "integer",
013dc89f 17098 "typetext" : "<integer> (1 - N)"
56122987 17099 }
7aacca6f 17100 }
56122987
DM
17101 },
17102 "permissions" : {
17103 "check" : [
17104 "perm",
17105 "/vms/{vmid}",
17106 [
17107 "VM.Audit"
17108 ]
17109 ]
17110 },
44660702 17111 "protected" : 1,
7aacca6f 17112 "proxyto" : "node",
7aacca6f
DM
17113 "returns" : {
17114 "properties" : {
17115 "hasFeature" : {
17116 "type" : "boolean"
17117 }
17118 },
17119 "type" : "object"
17120 }
56122987
DM
17121 }
17122 },
7aacca6f 17123 "leaf" : 1,
44660702
DM
17124 "path" : "/nodes/{node}/lxc/{vmid}/feature",
17125 "text" : "feature"
56122987
DM
17126 },
17127 {
56122987
DM
17128 "info" : {
17129 "POST" : {
44660702
DM
17130 "description" : "Create a Template.",
17131 "method" : "POST",
56122987 17132 "name" : "template",
56122987
DM
17133 "parameters" : {
17134 "additionalProperties" : 0,
17135 "properties" : {
44660702
DM
17136 "experimental" : {
17137 "default" : 0,
17138 "description" : "The template feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
17139 "type" : "boolean",
17140 "typetext" : "<boolean>"
7aacca6f
DM
17141 },
17142 "node" : {
7aacca6f 17143 "description" : "The cluster node name.",
44660702 17144 "format" : "pve-node",
013dc89f
DM
17145 "type" : "string",
17146 "typetext" : "<string>"
56122987 17147 },
44660702
DM
17148 "vmid" : {
17149 "description" : "The (unique) ID of the VM.",
17150 "format" : "pve-vmid",
17151 "minimum" : 1,
4bd7df8b 17152 "type" : "integer",
013dc89f 17153 "typetext" : "<integer> (1 - N)"
56122987
DM
17154 }
17155 }
17156 },
56122987 17157 "permissions" : {
56122987
DM
17158 "check" : [
17159 "perm",
17160 "/vms/{vmid}",
17161 [
17162 "VM.Allocate"
17163 ]
44660702
DM
17164 ],
17165 "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
7aacca6f 17166 },
44660702 17167 "protected" : 1,
7aacca6f
DM
17168 "proxyto" : "node",
17169 "returns" : {
17170 "type" : "null"
56122987
DM
17171 }
17172 }
17173 },
44660702 17174 "leaf" : 1,
7aacca6f 17175 "path" : "/nodes/{node}/lxc/{vmid}/template",
44660702 17176 "text" : "template"
56122987
DM
17177 },
17178 {
56122987
DM
17179 "info" : {
17180 "POST" : {
44660702
DM
17181 "description" : "Create a container clone/copy",
17182 "method" : "POST",
56122987 17183 "name" : "clone_vm",
7aacca6f
DM
17184 "parameters" : {
17185 "additionalProperties" : 0,
17186 "properties" : {
44660702
DM
17187 "description" : {
17188 "description" : "Description for the new CT.",
7aacca6f 17189 "optional" : 1,
013dc89f
DM
17190 "type" : "string",
17191 "typetext" : "<string>"
7aacca6f
DM
17192 },
17193 "experimental" : {
7aacca6f 17194 "default" : 0,
44660702 17195 "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
013dc89f
DM
17196 "type" : "boolean",
17197 "typetext" : "<boolean>"
7aacca6f 17198 },
44660702
DM
17199 "full" : {
17200 "default" : 0,
17201 "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 17202 "optional" : 1,
013dc89f
DM
17203 "type" : "boolean",
17204 "typetext" : "<boolean>"
7aacca6f
DM
17205 },
17206 "hostname" : {
44660702 17207 "description" : "Set a hostname for the new CT.",
7aacca6f 17208 "format" : "dns-name",
7aacca6f 17209 "optional" : 1,
013dc89f
DM
17210 "type" : "string",
17211 "typetext" : "<string>"
7aacca6f 17212 },
44660702
DM
17213 "newid" : {
17214 "description" : "VMID for the clone.",
7aacca6f 17215 "format" : "pve-vmid",
44660702 17216 "minimum" : 1,
4bd7df8b 17217 "type" : "integer",
013dc89f 17218 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17219 },
17220 "node" : {
17221 "description" : "The cluster node name.",
44660702 17222 "format" : "pve-node",
013dc89f
DM
17223 "type" : "string",
17224 "typetext" : "<string>"
44660702
DM
17225 },
17226 "pool" : {
17227 "description" : "Add the new CT to the specified pool.",
17228 "format" : "pve-poolid",
17229 "optional" : 1,
013dc89f
DM
17230 "type" : "string",
17231 "typetext" : "<string>"
7aacca6f
DM
17232 },
17233 "snapname" : {
44660702 17234 "description" : "The name of the snapshot.",
7aacca6f
DM
17235 "format" : "pve-configid",
17236 "maxLength" : 40,
7aacca6f 17237 "optional" : 1,
013dc89f
DM
17238 "type" : "string",
17239 "typetext" : "<string>"
7aacca6f
DM
17240 },
17241 "storage" : {
44660702 17242 "description" : "Target storage for full clone.",
7aacca6f
DM
17243 "format" : "pve-storage-id",
17244 "optional" : 1,
7aacca6f 17245 "requires" : "full",
013dc89f
DM
17246 "type" : "string",
17247 "typetext" : "<string>"
44660702
DM
17248 },
17249 "vmid" : {
17250 "description" : "The (unique) ID of the VM.",
17251 "format" : "pve-vmid",
17252 "minimum" : 1,
4bd7df8b 17253 "type" : "integer",
013dc89f 17254 "typetext" : "<integer> (1 - N)"
7aacca6f
DM
17255 }
17256 }
56122987
DM
17257 },
17258 "permissions" : {
56122987
DM
17259 "check" : [
17260 "and",
17261 [
17262 "perm",
17263 "/vms/{vmid}",
17264 [
17265 "VM.Clone"
17266 ]
17267 ],
17268 [
17269 "or",
17270 [
17271 "perm",
17272 "/vms/{newid}",
17273 [
17274 "VM.Allocate"
17275 ]
17276 ],
17277 [
17278 "perm",
17279 "/pool/{pool}",
17280 [
17281 "VM.Allocate"
17282 ],
17283 "require_param",
17284 "pool"
17285 ]
17286 ]
7aacca6f
DM
17287 ],
17288 "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 17289 },
44660702 17290 "protected" : 1,
56122987 17291 "proxyto" : "node",
7aacca6f
DM
17292 "returns" : {
17293 "type" : "string"
56122987
DM
17294 }
17295 }
44660702
DM
17296 },
17297 "leaf" : 1,
17298 "path" : "/nodes/{node}/lxc/{vmid}/clone",
17299 "text" : "clone"
56122987
DM
17300 },
17301 {
56122987
DM
17302 "info" : {
17303 "PUT" : {
de0983cb 17304 "description" : "Resize a container mount point.",
44660702
DM
17305 "method" : "PUT",
17306 "name" : "resize_vm",
56122987 17307 "parameters" : {
44660702 17308 "additionalProperties" : 0,
56122987 17309 "properties" : {
44660702
DM
17310 "digest" : {
17311 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
17312 "maxLength" : 40,
17313 "optional" : 1,
013dc89f
DM
17314 "type" : "string",
17315 "typetext" : "<string>"
56122987
DM
17316 },
17317 "disk" : {
7aacca6f 17318 "description" : "The disk you want to resize.",
56122987
DM
17319 "enum" : [
17320 "rootfs",
17321 "mp0",
17322 "mp1",
17323 "mp2",
17324 "mp3",
17325 "mp4",
17326 "mp5",
17327 "mp6",
17328 "mp7",
17329 "mp8",
17330 "mp9"
17331 ],
7aacca6f
DM
17332 "type" : "string"
17333 },
44660702
DM
17334 "node" : {
17335 "description" : "The cluster node name.",
17336 "format" : "pve-node",
013dc89f
DM
17337 "type" : "string",
17338 "typetext" : "<string>"
44660702
DM
17339 },
17340 "size" : {
17341 "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.",
17342 "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
17343 "type" : "string"
17344 },
17345 "vmid" : {
17346 "description" : "The (unique) ID of the VM.",
17347 "format" : "pve-vmid",
17348 "minimum" : 1,
4bd7df8b 17349 "type" : "integer",
013dc89f 17350 "typetext" : "<integer> (1 - N)"
56122987 17351 }
44660702 17352 }
56122987 17353 },
7aacca6f
DM
17354 "permissions" : {
17355 "check" : [
17356 "perm",
17357 "/vms/{vmid}",
17358 [
17359 "VM.Config.Disk"
17360 ],
17361 "any",
17362 1
17363 ]
17364 },
44660702 17365 "protected" : 1,
7aacca6f
DM
17366 "proxyto" : "node",
17367 "returns" : {
17368 "description" : "the task ID.",
17369 "type" : "string"
17370 }
56122987
DM
17371 }
17372 },
44660702 17373 "leaf" : 1,
7aacca6f 17374 "path" : "/nodes/{node}/lxc/{vmid}/resize",
44660702 17375 "text" : "resize"
56122987
DM
17376 }
17377 ],
17378 "info" : {
17379 "DELETE" : {
7aacca6f 17380 "description" : "Destroy the container (also delete all uses files).",
44660702
DM
17381 "method" : "DELETE",
17382 "name" : "destroy_vm",
17383 "parameters" : {
17384 "additionalProperties" : 0,
17385 "properties" : {
17386 "node" : {
17387 "description" : "The cluster node name.",
17388 "format" : "pve-node",
013dc89f
DM
17389 "type" : "string",
17390 "typetext" : "<string>"
44660702
DM
17391 },
17392 "vmid" : {
17393 "description" : "The (unique) ID of the VM.",
17394 "format" : "pve-vmid",
17395 "minimum" : 1,
4bd7df8b 17396 "type" : "integer",
013dc89f 17397 "typetext" : "<integer> (1 - N)"
44660702
DM
17398 }
17399 }
17400 },
7aacca6f
DM
17401 "permissions" : {
17402 "check" : [
17403 "perm",
17404 "/vms/{vmid}",
17405 [
17406 "VM.Allocate"
17407 ]
17408 ]
17409 },
44660702
DM
17410 "protected" : 1,
17411 "proxyto" : "node",
56122987
DM
17412 "returns" : {
17413 "type" : "string"
44660702 17414 }
56122987
DM
17415 },
17416 "GET" : {
7aacca6f 17417 "description" : "Directory index",
44660702 17418 "method" : "GET",
7aacca6f 17419 "name" : "vmdiridx",
56122987 17420 "parameters" : {
7aacca6f 17421 "additionalProperties" : 0,
56122987
DM
17422 "properties" : {
17423 "node" : {
7aacca6f 17424 "description" : "The cluster node name.",
44660702 17425 "format" : "pve-node",
013dc89f
DM
17426 "type" : "string",
17427 "typetext" : "<string>"
56122987
DM
17428 },
17429 "vmid" : {
17430 "description" : "The (unique) ID of the VM.",
56122987 17431 "format" : "pve-vmid",
44660702 17432 "minimum" : 1,
4bd7df8b 17433 "type" : "integer",
013dc89f 17434 "typetext" : "<integer> (1 - N)"
56122987 17435 }
7aacca6f 17436 }
56122987 17437 },
56122987
DM
17438 "permissions" : {
17439 "user" : "all"
44660702
DM
17440 },
17441 "proxyto" : "node",
17442 "returns" : {
17443 "items" : {
17444 "properties" : {
17445 "subdir" : {
17446 "type" : "string"
17447 }
17448 },
17449 "type" : "object"
17450 },
17451 "links" : [
17452 {
17453 "href" : "{subdir}",
17454 "rel" : "child"
17455 }
17456 ],
17457 "type" : "array"
56122987
DM
17458 }
17459 }
44660702
DM
17460 },
17461 "leaf" : 0,
17462 "path" : "/nodes/{node}/lxc/{vmid}",
17463 "text" : "{vmid}"
56122987
DM
17464 }
17465 ],
56122987 17466 "info" : {
44660702
DM
17467 "GET" : {
17468 "description" : "LXC container index (per node).",
17469 "method" : "GET",
17470 "name" : "vmlist",
17471 "parameters" : {
17472 "additionalProperties" : 0,
17473 "properties" : {
17474 "node" : {
17475 "description" : "The cluster node name.",
17476 "format" : "pve-node",
013dc89f
DM
17477 "type" : "string",
17478 "typetext" : "<string>"
44660702
DM
17479 }
17480 }
17481 },
17482 "permissions" : {
17483 "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
17484 "user" : "all"
17485 },
17486 "protected" : 1,
17487 "proxyto" : "node",
17488 "returns" : {
17489 "items" : {
17490 "properties" : {},
17491 "type" : "object"
17492 },
17493 "links" : [
17494 {
17495 "href" : "{vmid}",
17496 "rel" : "child"
17497 }
17498 ],
17499 "type" : "array"
17500 }
17501 },
56122987 17502 "POST" : {
44660702 17503 "description" : "Create or restore a container.",
7aacca6f
DM
17504 "method" : "POST",
17505 "name" : "create_vm",
56122987 17506 "parameters" : {
7aacca6f 17507 "additionalProperties" : 0,
56122987 17508 "properties" : {
44660702
DM
17509 "arch" : {
17510 "default" : "amd64",
17511 "description" : "OS architecture type.",
17512 "enum" : [
17513 "amd64",
17514 "i386"
17515 ],
7aacca6f 17516 "optional" : 1,
44660702 17517 "type" : "string"
7aacca6f 17518 },
44660702
DM
17519 "cmode" : {
17520 "default" : "tty",
17521 "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).",
17522 "enum" : [
17523 "shell",
17524 "console",
17525 "tty"
17526 ],
7aacca6f 17527 "optional" : 1,
44660702 17528 "type" : "string"
7aacca6f
DM
17529 },
17530 "console" : {
7aacca6f 17531 "default" : 1,
44660702 17532 "description" : "Attach a console device (/dev/console) to the container.",
56122987 17533 "optional" : 1,
013dc89f
DM
17534 "type" : "boolean",
17535 "typetext" : "<boolean>"
56122987 17536 },
de0983cb
DM
17537 "cores" : {
17538 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
17539 "maximum" : 128,
17540 "minimum" : 1,
17541 "optional" : 1,
17542 "type" : "integer",
013dc89f 17543 "typetext" : "<integer> (1 - 128)"
de0983cb 17544 },
44660702
DM
17545 "cpulimit" : {
17546 "default" : 0,
17547 "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.",
17548 "maximum" : 128,
17549 "minimum" : 0,
56122987 17550 "optional" : 1,
4bd7df8b 17551 "type" : "number",
013dc89f 17552 "typetext" : "<number> (0 - 128)"
56122987 17553 },
44660702
DM
17554 "cpuunits" : {
17555 "default" : 1024,
17556 "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.",
17557 "maximum" : 500000,
17558 "minimum" : 0,
56122987 17559 "optional" : 1,
4bd7df8b 17560 "type" : "integer",
013dc89f 17561 "typetext" : "<integer> (0 - 500000)"
7aacca6f
DM
17562 },
17563 "description" : {
44660702 17564 "description" : "Container description. Only used on the configuration web interface.",
7aacca6f 17565 "optional" : 1,
013dc89f
DM
17566 "type" : "string",
17567 "typetext" : "<string>"
7aacca6f 17568 },
44660702
DM
17569 "force" : {
17570 "description" : "Allow to overwrite existing container.",
7aacca6f 17571 "optional" : 1,
013dc89f
DM
17572 "type" : "boolean",
17573 "typetext" : "<boolean>"
44660702
DM
17574 },
17575 "hostname" : {
17576 "description" : "Set a host name for the container.",
17577 "format" : "dns-name",
17578 "maxLength" : 255,
17579 "optional" : 1,
013dc89f
DM
17580 "type" : "string",
17581 "typetext" : "<string>"
44660702
DM
17582 },
17583 "ignore-unpack-errors" : {
17584 "description" : "Ignore errors when extracting the template.",
17585 "optional" : 1,
013dc89f
DM
17586 "type" : "boolean",
17587 "typetext" : "<boolean>"
44660702
DM
17588 },
17589 "lock" : {
17590 "description" : "Lock/unlock the VM.",
7aacca6f
DM
17591 "enum" : [
17592 "migrate",
17593 "backup",
17594 "snapshot",
17595 "rollback"
17596 ],
44660702
DM
17597 "optional" : 1,
17598 "type" : "string"
7aacca6f 17599 },
44660702
DM
17600 "memory" : {
17601 "default" : 512,
17602 "description" : "Amount of RAM for the VM in MB.",
17603 "minimum" : 16,
7aacca6f 17604 "optional" : 1,
4bd7df8b 17605 "type" : "integer",
013dc89f 17606 "typetext" : "<integer> (16 - N)"
44660702
DM
17607 },
17608 "mp[n]" : {
c2993fe5 17609 "description" : "Use volume as container mount point.",
56122987 17610 "format" : {
7aacca6f
DM
17611 "acl" : {
17612 "description" : "Explicitly enable or disable ACL support.",
17613 "optional" : 1,
44660702 17614 "type" : "boolean"
56122987
DM
17615 },
17616 "backup" : {
de0983cb 17617 "description" : "Whether to include the mount point in backups.",
44660702 17618 "optional" : 1,
4bd7df8b 17619 "type" : "boolean",
de0983cb 17620 "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
44660702
DM
17621 },
17622 "mp" : {
de0983cb 17623 "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
44660702
DM
17624 "format" : "pve-lxc-mp-string",
17625 "format_description" : "Path",
4bd7df8b 17626 "type" : "string",
de0983cb 17627 "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
17628 },
17629 "quota" : {
17630 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17631 "optional" : 1,
44660702
DM
17632 "type" : "boolean"
17633 },
5d9c884c
DM
17634 "replicate" : {
17635 "default" : 1,
17636 "description" : "Will include this volume to a storage replica job.",
17637 "optional" : 1,
17638 "type" : "boolean"
17639 },
44660702 17640 "ro" : {
de0983cb 17641 "description" : "Read-only mount point",
44660702
DM
17642 "optional" : 1,
17643 "type" : "boolean"
7aacca6f 17644 },
de0983cb
DM
17645 "shared" : {
17646 "default" : 0,
17647 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17648 "optional" : 1,
17649 "type" : "boolean",
17650 "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!"
17651 },
7aacca6f 17652 "size" : {
44660702 17653 "description" : "Volume size (read only value).",
7aacca6f
DM
17654 "format" : "disk-size",
17655 "format_description" : "DiskSize",
7aacca6f
DM
17656 "optional" : 1,
17657 "type" : "string"
56122987
DM
17658 },
17659 "volume" : {
7aacca6f 17660 "default_key" : 1,
44660702 17661 "description" : "Volume, device or directory to mount into the container.",
56122987 17662 "format" : "pve-lxc-mp-string",
56122987 17663 "format_description" : "volume",
44660702 17664 "type" : "string"
56122987 17665 }
44660702 17666 },
56122987 17667 "optional" : 1,
4bd7df8b 17668 "type" : "string",
5d9c884c 17669 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
56122987 17670 },
44660702
DM
17671 "nameserver" : {
17672 "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.",
17673 "format" : "address-list",
56122987 17674 "optional" : 1,
013dc89f
DM
17675 "type" : "string",
17676 "typetext" : "<string>"
56122987 17677 },
44660702
DM
17678 "net[n]" : {
17679 "description" : "Specifies network interfaces for the container.",
7aacca6f 17680 "format" : {
44660702
DM
17681 "bridge" : {
17682 "description" : "Bridge to attach the network device to.",
f004f5b9 17683 "format_description" : "bridge",
7aacca6f 17684 "optional" : 1,
44660702
DM
17685 "pattern" : "[-_.\\w\\d]+",
17686 "type" : "string"
7aacca6f 17687 },
44660702
DM
17688 "firewall" : {
17689 "description" : "Controls whether this interface's firewall rules should be used.",
7aacca6f 17690 "optional" : 1,
44660702 17691 "type" : "boolean"
7aacca6f 17692 },
44660702
DM
17693 "gw" : {
17694 "description" : "Default gateway for IPv4 traffic.",
17695 "format" : "ipv4",
17696 "format_description" : "GatewayIPv4",
7aacca6f 17697 "optional" : 1,
44660702 17698 "type" : "string"
7aacca6f 17699 },
44660702
DM
17700 "gw6" : {
17701 "description" : "Default gateway for IPv6 traffic.",
17702 "format" : "ipv6",
17703 "format_description" : "GatewayIPv6",
17704 "optional" : 1,
17705 "type" : "string"
7aacca6f 17706 },
44660702 17707 "hwaddr" : {
f004f5b9
DM
17708 "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)",
17709 "format_description" : "XX:XX:XX:XX:XX:XX",
44660702
DM
17710 "optional" : 1,
17711 "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
7aacca6f
DM
17712 "type" : "string"
17713 },
44660702
DM
17714 "ip" : {
17715 "description" : "IPv4 address in CIDR format.",
17716 "format" : "pve-ipv4-config",
17717 "format_description" : "IPv4Format/CIDR",
7aacca6f 17718 "optional" : 1,
44660702 17719 "type" : "string"
7aacca6f 17720 },
44660702
DM
17721 "ip6" : {
17722 "description" : "IPv6 address in CIDR format.",
17723 "format" : "pve-ipv6-config",
17724 "format_description" : "IPv6Format/CIDR",
17725 "optional" : 1,
17726 "type" : "string"
17727 },
17728 "mtu" : {
17729 "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
44660702
DM
17730 "minimum" : 64,
17731 "optional" : 1,
17732 "type" : "integer"
17733 },
17734 "name" : {
17735 "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
f004f5b9 17736 "format_description" : "string",
44660702
DM
17737 "pattern" : "[-_.\\w\\d]+",
17738 "type" : "string"
17739 },
17740 "rate" : {
17741 "description" : "Apply rate limiting to the interface",
17742 "format_description" : "mbps",
17743 "optional" : 1,
17744 "type" : "number"
17745 },
17746 "tag" : {
17747 "description" : "VLAN tag for this interface.",
4bd7df8b
DM
17748 "maximum" : 4094,
17749 "minimum" : 1,
44660702
DM
17750 "optional" : 1,
17751 "type" : "integer"
17752 },
17753 "trunks" : {
17754 "description" : "VLAN ids to pass through the interface",
17755 "format_description" : "vlanid[;vlanid...]",
17756 "optional" : 1,
17757 "pattern" : "(?^:\\d+(?:;\\d+)*)",
17758 "type" : "string"
17759 },
17760 "type" : {
17761 "description" : "Network interface type.",
17762 "enum" : [
17763 "veth"
17764 ],
17765 "optional" : 1,
17766 "type" : "string"
7aacca6f
DM
17767 }
17768 },
56122987 17769 "optional" : 1,
4bd7df8b
DM
17770 "type" : "string",
17771 "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 17772 },
44660702
DM
17773 "node" : {
17774 "description" : "The cluster node name.",
17775 "format" : "pve-node",
013dc89f
DM
17776 "type" : "string",
17777 "typetext" : "<string>"
56122987 17778 },
44660702
DM
17779 "onboot" : {
17780 "default" : 0,
17781 "description" : "Specifies whether a VM will be started during system bootup.",
56122987 17782 "optional" : 1,
013dc89f
DM
17783 "type" : "boolean",
17784 "typetext" : "<boolean>"
44660702
DM
17785 },
17786 "ostemplate" : {
17787 "description" : "The OS template or backup file.",
17788 "maxLength" : 255,
013dc89f
DM
17789 "type" : "string",
17790 "typetext" : "<string>"
56122987
DM
17791 },
17792 "ostype" : {
7aacca6f 17793 "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
17794 "enum" : [
17795 "debian",
17796 "ubuntu",
17797 "centos",
17798 "fedora",
17799 "opensuse",
17800 "archlinux",
17801 "alpine",
57b78691 17802 "gentoo",
56122987 17803 "unmanaged"
44660702 17804 ],
56122987 17805 "optional" : 1,
7aacca6f 17806 "type" : "string"
56122987 17807 },
44660702
DM
17808 "password" : {
17809 "description" : "Sets root password inside container.",
17810 "minLength" : 5,
7aacca6f 17811 "optional" : 1,
013dc89f
DM
17812 "type" : "string",
17813 "typetext" : "<string>"
7aacca6f 17814 },
44660702
DM
17815 "pool" : {
17816 "description" : "Add the VM to the specified pool.",
17817 "format" : "pve-poolid",
7aacca6f 17818 "optional" : 1,
013dc89f
DM
17819 "type" : "string",
17820 "typetext" : "<string>"
7aacca6f 17821 },
44660702
DM
17822 "protection" : {
17823 "default" : 0,
17824 "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
7aacca6f 17825 "optional" : 1,
013dc89f
DM
17826 "type" : "boolean",
17827 "typetext" : "<boolean>"
7aacca6f 17828 },
44660702
DM
17829 "restore" : {
17830 "description" : "Mark this as restore task.",
17831 "optional" : 1,
013dc89f
DM
17832 "type" : "boolean",
17833 "typetext" : "<boolean>"
7aacca6f 17834 },
44660702
DM
17835 "rootfs" : {
17836 "description" : "Use volume as container root.",
56122987 17837 "format" : {
44660702
DM
17838 "acl" : {
17839 "description" : "Explicitly enable or disable ACL support.",
56122987 17840 "optional" : 1,
44660702 17841 "type" : "boolean"
56122987 17842 },
44660702
DM
17843 "quota" : {
17844 "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
7aacca6f 17845 "optional" : 1,
44660702 17846 "type" : "boolean"
7aacca6f 17847 },
5d9c884c
DM
17848 "replicate" : {
17849 "default" : 1,
17850 "description" : "Will include this volume to a storage replica job.",
17851 "optional" : 1,
17852 "type" : "boolean"
17853 },
44660702 17854 "ro" : {
de0983cb 17855 "description" : "Read-only mount point",
7aacca6f 17856 "optional" : 1,
44660702 17857 "type" : "boolean"
7aacca6f 17858 },
de0983cb
DM
17859 "shared" : {
17860 "default" : 0,
17861 "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
17862 "optional" : 1,
17863 "type" : "boolean",
17864 "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!"
17865 },
44660702
DM
17866 "size" : {
17867 "description" : "Volume size (read only value).",
17868 "format" : "disk-size",
17869 "format_description" : "DiskSize",
7aacca6f
DM
17870 "optional" : 1,
17871 "type" : "string"
17872 },
44660702
DM
17873 "volume" : {
17874 "default_key" : 1,
17875 "description" : "Volume, device or directory to mount into the container.",
17876 "format" : "pve-lxc-mp-string",
17877 "format_description" : "volume",
17878 "type" : "string"
56122987 17879 }
7aacca6f 17880 },
7aacca6f 17881 "optional" : 1,
4bd7df8b 17882 "type" : "string",
5d9c884c 17883 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
44660702
DM
17884 },
17885 "searchdomain" : {
17886 "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
17887 "format" : "dns-name-list",
17888 "optional" : 1,
013dc89f
DM
17889 "type" : "string",
17890 "typetext" : "<string>"
44660702
DM
17891 },
17892 "ssh-public-keys" : {
17893 "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
17894 "optional" : 1,
013dc89f
DM
17895 "type" : "string",
17896 "typetext" : "<string>"
44660702
DM
17897 },
17898 "startup" : {
17899 "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.",
17900 "format" : "pve-startup-order",
17901 "optional" : 1,
7aacca6f 17902 "type" : "string",
44660702 17903 "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] "
7aacca6f 17904 },
44660702
DM
17905 "storage" : {
17906 "default" : "local",
17907 "description" : "Default Storage.",
17908 "format" : "pve-storage-id",
17909 "optional" : 1,
013dc89f
DM
17910 "type" : "string",
17911 "typetext" : "<string>"
7aacca6f 17912 },
44660702
DM
17913 "swap" : {
17914 "default" : 512,
17915 "description" : "Amount of SWAP for the VM in MB.",
17916 "minimum" : 0,
17917 "optional" : 1,
4bd7df8b 17918 "type" : "integer",
013dc89f 17919 "typetext" : "<integer> (0 - N)"
44660702
DM
17920 },
17921 "template" : {
17922 "default" : 0,
17923 "description" : "Enable/disable Template.",
17924 "optional" : 1,
013dc89f
DM
17925 "type" : "boolean",
17926 "typetext" : "<boolean>"
7aacca6f 17927 },
44660702
DM
17928 "tty" : {
17929 "default" : 2,
17930 "description" : "Specify the number of tty available to the container",
17931 "maximum" : 6,
17932 "minimum" : 0,
17933 "optional" : 1,
4bd7df8b 17934 "type" : "integer",
013dc89f 17935 "typetext" : "<integer> (0 - 6)"
7aacca6f 17936 },
44660702
DM
17937 "unprivileged" : {
17938 "default" : 0,
17939 "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
17940 "optional" : 1,
013dc89f
DM
17941 "type" : "boolean",
17942 "typetext" : "<boolean>"
44660702
DM
17943 },
17944 "unused[n]" : {
c2993fe5 17945 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
44660702
DM
17946 "format" : "pve-volume-id",
17947 "optional" : 1,
013dc89f
DM
17948 "type" : "string",
17949 "typetext" : "<string>"
44660702
DM
17950 },
17951 "vmid" : {
17952 "description" : "The (unique) ID of the VM.",
17953 "format" : "pve-vmid",
17954 "minimum" : 1,
4bd7df8b 17955 "type" : "integer",
013dc89f 17956 "typetext" : "<integer> (1 - N)"
44660702 17957 }
7aacca6f
DM
17958 }
17959 },
44660702
DM
17960 "permissions" : {
17961 "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.",
17962 "user" : "all"
17963 },
17964 "protected" : 1,
17965 "proxyto" : "node",
17966 "returns" : {
17967 "type" : "string"
17968 }
17969 }
17970 },
17971 "leaf" : 0,
17972 "path" : "/nodes/{node}/lxc",
17973 "text" : "lxc"
17974 },
17975 {
17976 "children" : [
17977 {
56122987
DM
17978 "children" : [
17979 {
7aacca6f
DM
17980 "children" : [
17981 {
7aacca6f
DM
17982 "info" : {
17983 "POST" : {
44660702
DM
17984 "description" : "ceph osd in",
17985 "method" : "POST",
17986 "name" : "in",
17987 "parameters" : {
17988 "additionalProperties" : 0,
17989 "properties" : {
17990 "node" : {
17991 "description" : "The cluster node name.",
17992 "format" : "pve-node",
013dc89f
DM
17993 "type" : "string",
17994 "typetext" : "<string>"
44660702
DM
17995 },
17996 "osdid" : {
17997 "description" : "OSD ID",
013dc89f
DM
17998 "type" : "integer",
17999 "typetext" : "<integer>"
44660702
DM
18000 }
18001 }
18002 },
56122987
DM
18003 "permissions" : {
18004 "check" : [
18005 "perm",
18006 "/",
18007 [
18008 "Sys.Modify"
18009 ]
18010 ]
7aacca6f 18011 },
44660702 18012 "protected" : 1,
7aacca6f
DM
18013 "proxyto" : "node",
18014 "returns" : {
18015 "type" : "null"
44660702 18016 }
56122987
DM
18017 }
18018 },
44660702 18019 "leaf" : 1,
7aacca6f 18020 "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
44660702 18021 "text" : "in"
56122987
DM
18022 },
18023 {
56122987
DM
18024 "info" : {
18025 "POST" : {
44660702
DM
18026 "description" : "ceph osd out",
18027 "method" : "POST",
18028 "name" : "out",
18029 "parameters" : {
18030 "additionalProperties" : 0,
18031 "properties" : {
18032 "node" : {
18033 "description" : "The cluster node name.",
18034 "format" : "pve-node",
013dc89f
DM
18035 "type" : "string",
18036 "typetext" : "<string>"
44660702
DM
18037 },
18038 "osdid" : {
18039 "description" : "OSD ID",
013dc89f
DM
18040 "type" : "integer",
18041 "typetext" : "<integer>"
44660702
DM
18042 }
18043 }
18044 },
56122987
DM
18045 "permissions" : {
18046 "check" : [
18047 "perm",
18048 "/",
18049 [
18050 "Sys.Modify"
18051 ]
18052 ]
18053 },
44660702 18054 "protected" : 1,
56122987 18055 "proxyto" : "node",
7aacca6f
DM
18056 "returns" : {
18057 "type" : "null"
44660702
DM
18058 }
18059 }
18060 },
18061 "leaf" : 1,
18062 "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
18063 "text" : "out"
18064 }
18065 ],
18066 "info" : {
18067 "DELETE" : {
18068 "description" : "Destroy OSD",
18069 "method" : "DELETE",
18070 "name" : "destroyosd",
18071 "parameters" : {
18072 "additionalProperties" : 0,
18073 "properties" : {
18074 "cleanup" : {
18075 "default" : 0,
18076 "description" : "If set, we remove partition table entries.",
18077 "optional" : 1,
013dc89f
DM
18078 "type" : "boolean",
18079 "typetext" : "<boolean>"
7aacca6f 18080 },
44660702
DM
18081 "node" : {
18082 "description" : "The cluster node name.",
18083 "format" : "pve-node",
013dc89f
DM
18084 "type" : "string",
18085 "typetext" : "<string>"
56122987 18086 },
44660702
DM
18087 "osdid" : {
18088 "description" : "OSD ID",
013dc89f
DM
18089 "type" : "integer",
18090 "typetext" : "<integer>"
44660702 18091 }
56122987
DM
18092 }
18093 },
44660702
DM
18094 "protected" : 1,
18095 "proxyto" : "node",
18096 "returns" : {
18097 "type" : "string"
18098 }
18099 }
18100 },
18101 "leaf" : 0,
18102 "path" : "/nodes/{node}/ceph/osd/{osdid}",
18103 "text" : "{osdid}"
18104 }
18105 ],
18106 "info" : {
18107 "GET" : {
18108 "description" : "Get Ceph osd list/tree.",
18109 "method" : "GET",
18110 "name" : "index",
18111 "parameters" : {
18112 "additionalProperties" : 0,
18113 "properties" : {
18114 "node" : {
18115 "description" : "The cluster node name.",
18116 "format" : "pve-node",
013dc89f
DM
18117 "type" : "string",
18118 "typetext" : "<string>"
44660702
DM
18119 }
18120 }
18121 },
18122 "permissions" : {
18123 "check" : [
18124 "perm",
18125 "/",
18126 [
18127 "Sys.Audit",
18128 "Datastore.Audit"
18129 ],
18130 "any",
18131 1
18132 ]
18133 },
18134 "protected" : 1,
18135 "proxyto" : "node",
18136 "returns" : {
18137 "type" : "object"
18138 }
18139 },
18140 "POST" : {
18141 "description" : "Create OSD",
18142 "method" : "POST",
18143 "name" : "createosd",
18144 "parameters" : {
18145 "additionalProperties" : 0,
18146 "properties" : {
5d9c884c
DM
18147 "bluestore" : {
18148 "default" : 0,
18149 "description" : "Use bluestore instead of filestore.",
18150 "optional" : 1,
18151 "type" : "boolean",
18152 "typetext" : "<boolean>"
18153 },
44660702
DM
18154 "dev" : {
18155 "description" : "Block device name.",
013dc89f
DM
18156 "type" : "string",
18157 "typetext" : "<string>"
44660702
DM
18158 },
18159 "fstype" : {
18160 "default" : "xfs",
5d9c884c 18161 "description" : "File system type (filestore only).",
44660702
DM
18162 "enum" : [
18163 "xfs",
18164 "ext4",
18165 "btrfs"
18166 ],
18167 "optional" : 1,
18168 "type" : "string"
18169 },
18170 "journal_dev" : {
18171 "description" : "Block device name for journal.",
18172 "optional" : 1,
013dc89f
DM
18173 "type" : "string",
18174 "typetext" : "<string>"
44660702
DM
18175 },
18176 "node" : {
18177 "description" : "The cluster node name.",
18178 "format" : "pve-node",
013dc89f
DM
18179 "type" : "string",
18180 "typetext" : "<string>"
44660702 18181 }
56122987 18182 }
44660702
DM
18183 },
18184 "protected" : 1,
18185 "proxyto" : "node",
18186 "returns" : {
18187 "type" : "string"
18188 }
56122987 18189 }
44660702 18190 },
7aacca6f 18191 "leaf" : 0,
44660702
DM
18192 "path" : "/nodes/{node}/ceph/osd",
18193 "text" : "osd"
7aacca6f
DM
18194 },
18195 {
56122987
DM
18196 "info" : {
18197 "GET" : {
7aacca6f 18198 "description" : "List local disks.",
44660702
DM
18199 "method" : "GET",
18200 "name" : "disks",
18201 "parameters" : {
18202 "additionalProperties" : 0,
18203 "properties" : {
18204 "node" : {
18205 "description" : "The cluster node name.",
18206 "format" : "pve-node",
013dc89f
DM
18207 "type" : "string",
18208 "typetext" : "<string>"
44660702
DM
18209 },
18210 "type" : {
18211 "description" : "Only list specific types of disks.",
18212 "enum" : [
18213 "unused",
18214 "journal_disks"
18215 ],
18216 "optional" : 1,
18217 "type" : "string"
18218 }
18219 }
18220 },
56122987
DM
18221 "permissions" : {
18222 "check" : [
18223 "perm",
18224 "/",
18225 [
18226 "Sys.Audit",
18227 "Datastore.Audit"
18228 ],
18229 "any",
18230 1
18231 ]
7aacca6f 18232 },
44660702
DM
18233 "protected" : 1,
18234 "proxyto" : "node",
56122987 18235 "returns" : {
7aacca6f
DM
18236 "items" : {
18237 "properties" : {
44660702
DM
18238 "dev" : {
18239 "type" : "string"
18240 },
18241 "gpt" : {
18242 "type" : "boolean"
18243 },
18244 "model" : {
18245 "optional" : 1,
18246 "type" : "string"
7aacca6f
DM
18247 },
18248 "osdid" : {
18249 "type" : "integer"
18250 },
18251 "serial" : {
7aacca6f
DM
18252 "optional" : 1,
18253 "type" : "string"
18254 },
18255 "size" : {
18256 "type" : "integer"
18257 },
44660702
DM
18258 "used" : {
18259 "optional" : 1,
7aacca6f
DM
18260 "type" : "string"
18261 },
44660702
DM
18262 "vendor" : {
18263 "optional" : 1,
18264 "type" : "string"
7aacca6f
DM
18265 }
18266 },
18267 "type" : "object"
44660702
DM
18268 },
18269 "type" : "array"
18270 }
56122987 18271 }
44660702
DM
18272 },
18273 "leaf" : 1,
18274 "path" : "/nodes/{node}/ceph/disks",
18275 "text" : "disks"
56122987
DM
18276 },
18277 {
56122987
DM
18278 "info" : {
18279 "GET" : {
7aacca6f 18280 "description" : "Get Ceph configuration.",
44660702
DM
18281 "method" : "GET",
18282 "name" : "config",
56122987 18283 "parameters" : {
7aacca6f 18284 "additionalProperties" : 0,
56122987 18285 "properties" : {
56122987 18286 "node" : {
7aacca6f 18287 "description" : "The cluster node name.",
44660702 18288 "format" : "pve-node",
013dc89f
DM
18289 "type" : "string",
18290 "typetext" : "<string>"
56122987 18291 }
7aacca6f 18292 }
56122987 18293 },
56122987
DM
18294 "permissions" : {
18295 "check" : [
18296 "perm",
18297 "/",
18298 [
18299 "Sys.Audit",
18300 "Datastore.Audit"
18301 ],
18302 "any",
18303 1
18304 ]
44660702
DM
18305 },
18306 "returns" : {
18307 "type" : "string"
7aacca6f
DM
18308 }
18309 }
44660702
DM
18310 },
18311 "leaf" : 1,
18312 "path" : "/nodes/{node}/ceph/config",
18313 "text" : "config"
7aacca6f
DM
18314 },
18315 {
7aacca6f
DM
18316 "children" : [
18317 {
7aacca6f
DM
18318 "info" : {
18319 "DELETE" : {
7aacca6f 18320 "description" : "Destroy Ceph monitor.",
44660702
DM
18321 "method" : "DELETE",
18322 "name" : "destroymon",
18323 "parameters" : {
18324 "additionalProperties" : 0,
18325 "properties" : {
18326 "monid" : {
18327 "description" : "Monitor ID",
013dc89f
DM
18328 "type" : "integer",
18329 "typetext" : "<integer>"
44660702
DM
18330 },
18331 "node" : {
18332 "description" : "The cluster node name.",
18333 "format" : "pve-node",
013dc89f
DM
18334 "type" : "string",
18335 "typetext" : "<string>"
44660702
DM
18336 }
18337 }
18338 },
7aacca6f
DM
18339 "permissions" : {
18340 "check" : [
18341 "perm",
18342 "/",
18343 [
18344 "Sys.Modify"
18345 ]
18346 ]
18347 },
44660702
DM
18348 "protected" : 1,
18349 "proxyto" : "node",
7aacca6f
DM
18350 "returns" : {
18351 "type" : "string"
44660702 18352 }
7aacca6f 18353 }
44660702
DM
18354 },
18355 "leaf" : 1,
18356 "path" : "/nodes/{node}/ceph/mon/{monid}",
18357 "text" : "{monid}"
7aacca6f
DM
18358 }
18359 ],
18360 "info" : {
18361 "GET" : {
44660702 18362 "description" : "Get Ceph monitor list.",
7aacca6f 18363 "method" : "GET",
44660702 18364 "name" : "listmon",
7aacca6f
DM
18365 "parameters" : {
18366 "additionalProperties" : 0,
18367 "properties" : {
18368 "node" : {
7aacca6f 18369 "description" : "The cluster node name.",
44660702 18370 "format" : "pve-node",
013dc89f
DM
18371 "type" : "string",
18372 "typetext" : "<string>"
7aacca6f
DM
18373 }
18374 }
18375 },
44660702
DM
18376 "permissions" : {
18377 "check" : [
18378 "perm",
18379 "/",
18380 [
18381 "Sys.Audit",
18382 "Datastore.Audit"
18383 ],
18384 "any",
18385 1
18386 ]
18387 },
7aacca6f 18388 "protected" : 1,
44660702 18389 "proxyto" : "node",
7aacca6f
DM
18390 "returns" : {
18391 "items" : {
18392 "properties" : {
44660702 18393 "addr" : {
7aacca6f 18394 "type" : "string"
56122987 18395 },
44660702 18396 "name" : {
56122987
DM
18397 "type" : "string"
18398 }
7aacca6f
DM
18399 },
18400 "type" : "object"
56122987 18401 },
7aacca6f
DM
18402 "links" : [
18403 {
18404 "href" : "{name}",
18405 "rel" : "child"
18406 }
18407 ],
56122987 18408 "type" : "array"
44660702 18409 }
7aacca6f
DM
18410 },
18411 "POST" : {
44660702
DM
18412 "description" : "Create Ceph Monitor",
18413 "method" : "POST",
18414 "name" : "createmon",
18415 "parameters" : {
18416 "additionalProperties" : 0,
18417 "properties" : {
18418 "node" : {
18419 "description" : "The cluster node name.",
18420 "format" : "pve-node",
013dc89f
DM
18421 "type" : "string",
18422 "typetext" : "<string>"
44660702
DM
18423 }
18424 }
18425 },
7aacca6f
DM
18426 "permissions" : {
18427 "check" : [
18428 "perm",
18429 "/",
18430 [
18431 "Sys.Modify"
18432 ]
18433 ]
18434 },
44660702 18435 "protected" : 1,
7aacca6f 18436 "proxyto" : "node",
56122987
DM
18437 "returns" : {
18438 "type" : "string"
44660702 18439 }
56122987 18440 }
44660702
DM
18441 },
18442 "leaf" : 0,
18443 "path" : "/nodes/{node}/ceph/mon",
18444 "text" : "mon"
56122987
DM
18445 },
18446 {
18447 "info" : {
18448 "POST" : {
44660702
DM
18449 "description" : "Create initial ceph default configuration and setup symlinks.",
18450 "method" : "POST",
18451 "name" : "init",
18452 "parameters" : {
18453 "additionalProperties" : 0,
18454 "properties" : {
5d9c884c
DM
18455 "disable_cephx" : {
18456 "default" : 0,
18457 "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
18458 "optional" : 1,
18459 "type" : "boolean",
18460 "typetext" : "<boolean>"
18461 },
18462 "min_size" : {
18463 "default" : 2,
18464 "description" : "Minimum number of available replicas per object to allow I/O",
18465 "maximum" : 7,
18466 "minimum" : 1,
18467 "optional" : 1,
18468 "type" : "integer",
18469 "typetext" : "<integer> (1 - 7)"
18470 },
44660702
DM
18471 "network" : {
18472 "description" : "Use specific network for all ceph related traffic",
18473 "format" : "CIDR",
18474 "maxLength" : 128,
18475 "optional" : 1,
013dc89f
DM
18476 "type" : "string",
18477 "typetext" : "<string>"
44660702
DM
18478 },
18479 "node" : {
18480 "description" : "The cluster node name.",
18481 "format" : "pve-node",
013dc89f
DM
18482 "type" : "string",
18483 "typetext" : "<string>"
44660702
DM
18484 },
18485 "pg_bits" : {
18486 "default" : 6,
18487 "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.",
18488 "maximum" : 14,
18489 "minimum" : 6,
18490 "optional" : 1,
4bd7df8b 18491 "type" : "integer",
013dc89f 18492 "typetext" : "<integer> (6 - 14)"
44660702
DM
18493 },
18494 "size" : {
5d9c884c
DM
18495 "default" : 3,
18496 "description" : "Targeted number of replicas per object",
18497 "maximum" : 7,
44660702
DM
18498 "minimum" : 1,
18499 "optional" : 1,
4bd7df8b 18500 "type" : "integer",
5d9c884c 18501 "typetext" : "<integer> (1 - 7)"
44660702
DM
18502 }
18503 }
7aacca6f 18504 },
56122987
DM
18505 "permissions" : {
18506 "check" : [
18507 "perm",
18508 "/",
18509 [
18510 "Sys.Modify"
18511 ]
18512 ]
18513 },
7aacca6f 18514 "protected" : 1,
44660702
DM
18515 "proxyto" : "node",
18516 "returns" : {
18517 "type" : "null"
7aacca6f
DM
18518 }
18519 }
18520 },
7aacca6f 18521 "leaf" : 1,
44660702
DM
18522 "path" : "/nodes/{node}/ceph/init",
18523 "text" : "init"
7aacca6f
DM
18524 },
18525 {
7aacca6f
DM
18526 "info" : {
18527 "POST" : {
44660702 18528 "description" : "Stop ceph services.",
7aacca6f
DM
18529 "method" : "POST",
18530 "name" : "stop",
18531 "parameters" : {
44660702 18532 "additionalProperties" : 0,
7aacca6f
DM
18533 "properties" : {
18534 "node" : {
7aacca6f 18535 "description" : "The cluster node name.",
44660702 18536 "format" : "pve-node",
013dc89f
DM
18537 "type" : "string",
18538 "typetext" : "<string>"
7aacca6f
DM
18539 },
18540 "service" : {
7aacca6f 18541 "description" : "Ceph service name.",
44660702
DM
18542 "optional" : 1,
18543 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
18544 "type" : "string"
56122987 18545 }
44660702 18546 }
7aacca6f
DM
18547 },
18548 "permissions" : {
18549 "check" : [
18550 "perm",
18551 "/",
18552 [
18553 "Sys.Modify"
18554 ]
18555 ]
18556 },
44660702
DM
18557 "protected" : 1,
18558 "proxyto" : "node",
18559 "returns" : {
18560 "type" : "string"
18561 }
7aacca6f 18562 }
44660702
DM
18563 },
18564 "leaf" : 1,
18565 "path" : "/nodes/{node}/ceph/stop",
18566 "text" : "stop"
7aacca6f
DM
18567 },
18568 {
7aacca6f
DM
18569 "info" : {
18570 "POST" : {
7aacca6f 18571 "description" : "Start ceph services.",
44660702 18572 "method" : "POST",
7aacca6f 18573 "name" : "start",
56122987
DM
18574 "parameters" : {
18575 "additionalProperties" : 0,
18576 "properties" : {
18577 "node" : {
7aacca6f 18578 "description" : "The cluster node name.",
44660702 18579 "format" : "pve-node",
013dc89f
DM
18580 "type" : "string",
18581 "typetext" : "<string>"
7aacca6f
DM
18582 },
18583 "service" : {
18584 "description" : "Ceph service name.",
44660702 18585 "optional" : 1,
7aacca6f 18586 "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
44660702 18587 "type" : "string"
7aacca6f
DM
18588 }
18589 }
18590 },
44660702
DM
18591 "permissions" : {
18592 "check" : [
18593 "perm",
18594 "/",
18595 [
18596 "Sys.Modify"
18597 ]
18598 ]
18599 },
7aacca6f 18600 "protected" : 1,
44660702
DM
18601 "proxyto" : "node",
18602 "returns" : {
18603 "type" : "string"
18604 }
7aacca6f 18605 }
44660702
DM
18606 },
18607 "leaf" : 1,
18608 "path" : "/nodes/{node}/ceph/start",
18609 "text" : "start"
7aacca6f
DM
18610 },
18611 {
7aacca6f
DM
18612 "info" : {
18613 "GET" : {
44660702
DM
18614 "description" : "Get ceph status.",
18615 "method" : "GET",
18616 "name" : "status",
7aacca6f
DM
18617 "parameters" : {
18618 "additionalProperties" : 0,
18619 "properties" : {
18620 "node" : {
7aacca6f 18621 "description" : "The cluster node name.",
44660702 18622 "format" : "pve-node",
013dc89f
DM
18623 "type" : "string",
18624 "typetext" : "<string>"
56122987
DM
18625 }
18626 }
18627 },
18628 "permissions" : {
18629 "check" : [
18630 "perm",
18631 "/",
18632 [
18633 "Sys.Audit",
18634 "Datastore.Audit"
18635 ],
18636 "any",
18637 1
18638 ]
18639 },
44660702
DM
18640 "protected" : 1,
18641 "proxyto" : "node",
56122987 18642 "returns" : {
7aacca6f
DM
18643 "type" : "object"
18644 }
18645 }
18646 },
44660702 18647 "leaf" : 1,
7aacca6f 18648 "path" : "/nodes/{node}/ceph/status",
44660702 18649 "text" : "status"
7aacca6f
DM
18650 },
18651 {
44660702
DM
18652 "children" : [
18653 {
18654 "info" : {
18655 "DELETE" : {
18656 "description" : "Destroy pool",
18657 "method" : "DELETE",
18658 "name" : "destroypool",
18659 "parameters" : {
18660 "additionalProperties" : 0,
18661 "properties" : {
4bd7df8b
DM
18662 "force" : {
18663 "default" : 0,
18664 "description" : "If true, destroys pool even if in use",
18665 "optional" : 1,
013dc89f
DM
18666 "type" : "boolean",
18667 "typetext" : "<boolean>"
4bd7df8b 18668 },
44660702
DM
18669 "name" : {
18670 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
18671 "type" : "string",
18672 "typetext" : "<string>"
44660702
DM
18673 },
18674 "node" : {
18675 "description" : "The cluster node name.",
18676 "format" : "pve-node",
013dc89f
DM
18677 "type" : "string",
18678 "typetext" : "<string>"
44660702
DM
18679 }
18680 }
18681 },
18682 "permissions" : {
18683 "check" : [
18684 "perm",
18685 "/",
18686 [
18687 "Sys.Modify"
18688 ]
18689 ]
18690 },
18691 "protected" : 1,
18692 "proxyto" : "node",
18693 "returns" : {
18694 "type" : "null"
18695 }
18696 }
18697 },
18698 "leaf" : 1,
18699 "path" : "/nodes/{node}/ceph/pools/{name}",
18700 "text" : "{name}"
18701 }
18702 ],
7aacca6f
DM
18703 "info" : {
18704 "GET" : {
44660702
DM
18705 "description" : "List all pools.",
18706 "method" : "GET",
18707 "name" : "lspools",
7aacca6f
DM
18708 "parameters" : {
18709 "additionalProperties" : 0,
18710 "properties" : {
18711 "node" : {
7aacca6f 18712 "description" : "The cluster node name.",
44660702 18713 "format" : "pve-node",
013dc89f
DM
18714 "type" : "string",
18715 "typetext" : "<string>"
7aacca6f
DM
18716 }
18717 }
18718 },
7aacca6f
DM
18719 "permissions" : {
18720 "check" : [
18721 "perm",
18722 "/",
18723 [
18724 "Sys.Audit",
18725 "Datastore.Audit"
18726 ],
18727 "any",
18728 1
18729 ]
18730 },
44660702
DM
18731 "protected" : 1,
18732 "proxyto" : "node",
7aacca6f 18733 "returns" : {
56122987 18734 "items" : {
56122987 18735 "properties" : {
7aacca6f
DM
18736 "pool" : {
18737 "type" : "integer"
18738 },
44660702
DM
18739 "pool_name" : {
18740 "type" : "string"
18741 },
7aacca6f
DM
18742 "size" : {
18743 "type" : "integer"
56122987 18744 }
44660702
DM
18745 },
18746 "type" : "object"
7aacca6f 18747 },
44660702
DM
18748 "links" : [
18749 {
18750 "href" : "{pool_name}",
18751 "rel" : "child"
18752 }
18753 ],
7aacca6f
DM
18754 "type" : "array"
18755 }
18756 },
18757 "POST" : {
7aacca6f 18758 "description" : "Create POOL",
7aacca6f 18759 "method" : "POST",
7aacca6f
DM
18760 "name" : "createpool",
18761 "parameters" : {
18762 "additionalProperties" : 0,
18763 "properties" : {
7aacca6f 18764 "crush_ruleset" : {
7aacca6f 18765 "default" : 0,
44660702 18766 "description" : "The ruleset to use for mapping object placement in the cluster.",
7aacca6f 18767 "maximum" : 32768,
44660702 18768 "minimum" : 0,
7aacca6f 18769 "optional" : 1,
4bd7df8b 18770 "type" : "integer",
013dc89f 18771 "typetext" : "<integer> (0 - 32768)"
56122987 18772 },
44660702
DM
18773 "min_size" : {
18774 "default" : 1,
18775 "description" : "Minimum number of replicas per object",
5d9c884c 18776 "maximum" : 7,
44660702
DM
18777 "minimum" : 1,
18778 "optional" : 1,
4bd7df8b 18779 "type" : "integer",
5d9c884c 18780 "typetext" : "<integer> (1 - 7)"
7aacca6f 18781 },
44660702
DM
18782 "name" : {
18783 "description" : "The name of the pool. It must be unique.",
013dc89f
DM
18784 "type" : "string",
18785 "typetext" : "<string>"
44660702
DM
18786 },
18787 "node" : {
18788 "description" : "The cluster node name.",
18789 "format" : "pve-node",
013dc89f
DM
18790 "type" : "string",
18791 "typetext" : "<string>"
44660702
DM
18792 },
18793 "pg_num" : {
18794 "default" : 64,
18795 "description" : "Number of placement groups.",
18796 "maximum" : 32768,
18797 "minimum" : 8,
18798 "optional" : 1,
4bd7df8b 18799 "type" : "integer",
013dc89f 18800 "typetext" : "<integer> (8 - 32768)"
44660702
DM
18801 },
18802 "size" : {
18803 "default" : 2,
18804 "description" : "Number of replicas per object",
5d9c884c 18805 "maximum" : 7,
44660702
DM
18806 "minimum" : 1,
18807 "optional" : 1,
4bd7df8b 18808 "type" : "integer",
5d9c884c 18809 "typetext" : "<integer> (1 - 7)"
56122987
DM
18810 }
18811 }
44660702
DM
18812 },
18813 "permissions" : {
18814 "check" : [
18815 "perm",
18816 "/",
18817 [
18818 "Sys.Modify"
18819 ]
18820 ]
18821 },
18822 "protected" : 1,
18823 "proxyto" : "node",
18824 "returns" : {
18825 "type" : "null"
7aacca6f 18826 }
56122987 18827 }
44660702 18828 },
56122987 18829 "leaf" : 0,
44660702
DM
18830 "path" : "/nodes/{node}/ceph/pools",
18831 "text" : "pools"
56122987 18832 },
32d876b5
DM
18833 {
18834 "children" : [
18835 {
18836 "info" : {
18837 "DELETE" : {
18838 "description" : "Unset a ceph flag",
18839 "method" : "DELETE",
18840 "name" : "unset_flag",
18841 "parameters" : {
18842 "additionalProperties" : 0,
18843 "properties" : {
18844 "flag" : {
18845 "description" : "The ceph flag to set/unset",
18846 "enum" : [
18847 "full",
18848 "pause",
18849 "noup",
18850 "nodown",
18851 "noout",
18852 "noin",
18853 "nobackfill",
18854 "norebalance",
18855 "norecover",
18856 "noscrub",
18857 "nodeep-scrub",
18858 "notieragent"
18859 ],
18860 "type" : "string"
18861 },
18862 "node" : {
18863 "description" : "The cluster node name.",
18864 "format" : "pve-node",
18865 "type" : "string",
18866 "typetext" : "<string>"
18867 }
18868 }
18869 },
18870 "permissions" : {
18871 "check" : [
18872 "perm",
18873 "/",
18874 [
18875 "Sys.Modify"
18876 ]
18877 ]
18878 },
18879 "protected" : 1,
18880 "proxyto" : "node",
18881 "returns" : {
18882 "type" : "null"
18883 }
18884 },
18885 "POST" : {
18886 "description" : "Set a ceph flag",
18887 "method" : "POST",
18888 "name" : "set_flag",
18889 "parameters" : {
18890 "additionalProperties" : 0,
18891 "properties" : {
18892 "flag" : {
18893 "description" : "The ceph flag to set/unset",
18894 "enum" : [
18895 "full",
18896 "pause",
18897 "noup",
18898 "nodown",
18899 "noout",
18900 "noin",
18901 "nobackfill",
18902 "norebalance",
18903 "norecover",
18904 "noscrub",
18905 "nodeep-scrub",
18906 "notieragent"
18907 ],
18908 "type" : "string"
18909 },
18910 "node" : {
18911 "description" : "The cluster node name.",
18912 "format" : "pve-node",
18913 "type" : "string",
18914 "typetext" : "<string>"
18915 }
18916 }
18917 },
18918 "permissions" : {
18919 "check" : [
18920 "perm",
18921 "/",
18922 [
18923 "Sys.Modify"
18924 ]
18925 ]
18926 },
18927 "protected" : 1,
18928 "proxyto" : "node",
18929 "returns" : {
18930 "type" : "null"
18931 }
18932 }
18933 },
18934 "leaf" : 1,
18935 "path" : "/nodes/{node}/ceph/flags/{flag}",
18936 "text" : "{flag}"
18937 }
18938 ],
18939 "info" : {
18940 "GET" : {
18941 "description" : "get all set ceph flags",
18942 "method" : "GET",
18943 "name" : "get_flags",
18944 "parameters" : {
18945 "additionalProperties" : 0,
18946 "properties" : {
18947 "node" : {
18948 "description" : "The cluster node name.",
18949 "format" : "pve-node",
18950 "type" : "string",
18951 "typetext" : "<string>"
18952 }
18953 }
18954 },
18955 "permissions" : {
18956 "check" : [
18957 "perm",
18958 "/",
18959 [
18960 "Sys.Audit"
18961 ]
18962 ]
18963 },
18964 "protected" : 1,
18965 "proxyto" : "node",
18966 "returns" : {
18967 "type" : "string"
18968 }
18969 }
18970 },
18971 "leaf" : 0,
18972 "path" : "/nodes/{node}/ceph/flags",
18973 "text" : "flags"
18974 },
56122987 18975 {
56122987 18976 "info" : {
7aacca6f 18977 "GET" : {
44660702
DM
18978 "description" : "Get OSD crush map",
18979 "method" : "GET",
18980 "name" : "crush",
18981 "parameters" : {
18982 "additionalProperties" : 0,
18983 "properties" : {
18984 "node" : {
18985 "description" : "The cluster node name.",
18986 "format" : "pve-node",
013dc89f
DM
18987 "type" : "string",
18988 "typetext" : "<string>"
44660702
DM
18989 }
18990 }
18991 },
7aacca6f
DM
18992 "permissions" : {
18993 "check" : [
18994 "perm",
18995 "/",
18996 [
18997 "Sys.Audit",
18998 "Datastore.Audit"
18999 ],
19000 "any",
19001 1
19002 ]
19003 },
44660702 19004 "protected" : 1,
7aacca6f 19005 "proxyto" : "node",
56122987 19006 "returns" : {
7aacca6f 19007 "type" : "string"
44660702 19008 }
56122987
DM
19009 }
19010 },
44660702
DM
19011 "leaf" : 1,
19012 "path" : "/nodes/{node}/ceph/crush",
7aacca6f 19013 "text" : "crush"
56122987
DM
19014 },
19015 {
56122987 19016 "info" : {
7aacca6f 19017 "GET" : {
44660702
DM
19018 "description" : "Read ceph log",
19019 "method" : "GET",
19020 "name" : "log",
19021 "parameters" : {
19022 "additionalProperties" : 0,
19023 "properties" : {
19024 "limit" : {
19025 "minimum" : 0,
19026 "optional" : 1,
4bd7df8b 19027 "type" : "integer",
013dc89f 19028 "typetext" : "<integer> (0 - N)"
7aacca6f 19029 },
44660702
DM
19030 "node" : {
19031 "description" : "The cluster node name.",
19032 "format" : "pve-node",
013dc89f
DM
19033 "type" : "string",
19034 "typetext" : "<string>"
44660702
DM
19035 },
19036 "start" : {
19037 "minimum" : 0,
19038 "optional" : 1,
4bd7df8b 19039 "type" : "integer",
013dc89f 19040 "typetext" : "<integer> (0 - N)"
44660702 19041 }
7aacca6f 19042 }
56122987 19043 },
56122987
DM
19044 "permissions" : {
19045 "check" : [
19046 "perm",
7aacca6f 19047 "/nodes/{node}",
56122987 19048 [
7aacca6f 19049 "Sys.Syslog"
56122987
DM
19050 ]
19051 ]
19052 },
7aacca6f 19053 "protected" : 1,
44660702
DM
19054 "proxyto" : "node",
19055 "returns" : {
19056 "items" : {
19057 "properties" : {
19058 "n" : {
19059 "description" : "Line number",
19060 "type" : "integer"
19061 },
19062 "t" : {
19063 "description" : "Line text",
19064 "type" : "string"
19065 }
56122987 19066 },
44660702 19067 "type" : "object"
56122987 19068 },
44660702 19069 "type" : "array"
7aacca6f 19070 }
56122987
DM
19071 }
19072 },
19073 "leaf" : 1,
44660702
DM
19074 "path" : "/nodes/{node}/ceph/log",
19075 "text" : "log"
7aacca6f
DM
19076 }
19077 ],
44660702
DM
19078 "info" : {
19079 "GET" : {
19080 "description" : "Directory index.",
19081 "method" : "GET",
19082 "name" : "index",
19083 "parameters" : {
19084 "additionalProperties" : 0,
19085 "properties" : {
19086 "node" : {
19087 "description" : "The cluster node name.",
19088 "format" : "pve-node",
013dc89f
DM
19089 "type" : "string",
19090 "typetext" : "<string>"
44660702
DM
19091 }
19092 }
19093 },
19094 "permissions" : {
19095 "check" : [
19096 "perm",
19097 "/",
19098 [
19099 "Sys.Audit",
19100 "Datastore.Audit"
19101 ],
19102 "any",
19103 1
19104 ]
19105 },
19106 "returns" : {
19107 "items" : {
19108 "properties" : {},
19109 "type" : "object"
19110 },
19111 "links" : [
19112 {
19113 "href" : "{name}",
19114 "rel" : "child"
19115 }
19116 ],
19117 "type" : "array"
19118 }
19119 }
19120 },
7aacca6f 19121 "leaf" : 0,
44660702
DM
19122 "path" : "/nodes/{node}/ceph",
19123 "text" : "ceph"
7aacca6f
DM
19124 },
19125 {
4bd7df8b
DM
19126 "children" : [
19127 {
19128 "info" : {
19129 "GET" : {
19130 "description" : "Extract configuration from vzdump backup archive.",
19131 "method" : "GET",
19132 "name" : "extractconfig",
19133 "parameters" : {
19134 "additionalProperties" : 0,
19135 "properties" : {
19136 "node" : {
19137 "description" : "The cluster node name.",
19138 "format" : "pve-node",
013dc89f
DM
19139 "type" : "string",
19140 "typetext" : "<string>"
4bd7df8b
DM
19141 },
19142 "volume" : {
19143 "description" : "Volume identifier",
013dc89f
DM
19144 "type" : "string",
19145 "typetext" : "<string>"
4bd7df8b
DM
19146 }
19147 }
19148 },
19149 "permissions" : {
19150 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
19151 "user" : "all"
19152 },
19153 "protected" : 1,
19154 "proxyto" : "node",
19155 "returns" : {
19156 "type" : "string"
19157 }
19158 }
19159 },
19160 "leaf" : 1,
19161 "path" : "/nodes/{node}/vzdump/extractconfig",
19162 "text" : "extractconfig"
19163 }
19164 ],
7aacca6f
DM
19165 "info" : {
19166 "POST" : {
7aacca6f 19167 "description" : "Create backup.",
44660702 19168 "method" : "POST",
7aacca6f
DM
19169 "name" : "vzdump",
19170 "parameters" : {
44660702 19171 "additionalProperties" : 0,
7aacca6f 19172 "properties" : {
44660702
DM
19173 "all" : {
19174 "default" : 0,
19175 "description" : "Backup all known guest systems on this host.",
7aacca6f 19176 "optional" : 1,
013dc89f
DM
19177 "type" : "boolean",
19178 "typetext" : "<boolean>"
56122987 19179 },
44660702 19180 "bwlimit" : {
7aacca6f 19181 "default" : 0,
44660702
DM
19182 "description" : "Limit I/O bandwidth (KBytes per second).",
19183 "minimum" : 0,
7aacca6f 19184 "optional" : 1,
4bd7df8b 19185 "type" : "integer",
013dc89f 19186 "typetext" : "<integer> (0 - N)"
56122987 19187 },
44660702
DM
19188 "compress" : {
19189 "default" : "0",
19190 "description" : "Compress dump file.",
19191 "enum" : [
19192 "0",
19193 "1",
19194 "gzip",
19195 "lzo"
19196 ],
7aacca6f 19197 "optional" : 1,
44660702 19198 "type" : "string"
56122987 19199 },
44660702
DM
19200 "dumpdir" : {
19201 "description" : "Store resulting files to specified directory.",
7aacca6f 19202 "optional" : 1,
013dc89f
DM
19203 "type" : "string",
19204 "typetext" : "<string>"
7aacca6f 19205 },
44660702
DM
19206 "exclude" : {
19207 "description" : "Exclude specified guest systems (assumes --all)",
19208 "format" : "pve-vmid-list",
7aacca6f 19209 "optional" : 1,
013dc89f
DM
19210 "type" : "string",
19211 "typetext" : "<string>"
7aacca6f 19212 },
44660702
DM
19213 "exclude-path" : {
19214 "description" : "Exclude certain files/directories (shell globs).",
19215 "format" : "string-alist",
7aacca6f 19216 "optional" : 1,
013dc89f
DM
19217 "type" : "string",
19218 "typetext" : "<string>"
7aacca6f 19219 },
44660702
DM
19220 "ionice" : {
19221 "default" : 7,
19222 "description" : "Set CFQ ionice priority.",
19223 "maximum" : 8,
19224 "minimum" : 0,
19225 "optional" : 1,
4bd7df8b 19226 "type" : "integer",
013dc89f 19227 "typetext" : "<integer> (0 - 8)"
7aacca6f 19228 },
44660702
DM
19229 "lockwait" : {
19230 "default" : 180,
19231 "description" : "Maximal time to wait for the global lock (minutes).",
19232 "minimum" : 0,
7aacca6f 19233 "optional" : 1,
4bd7df8b 19234 "type" : "integer",
013dc89f 19235 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
19236 },
19237 "mailnotification" : {
44660702 19238 "default" : "always",
7aacca6f
DM
19239 "description" : "Specify when to send an email",
19240 "enum" : [
19241 "always",
19242 "failure"
19243 ],
7aacca6f 19244 "optional" : 1,
44660702 19245 "type" : "string"
7aacca6f
DM
19246 },
19247 "mailto" : {
7aacca6f 19248 "description" : "Comma-separated list of email addresses that should receive email notifications.",
44660702 19249 "format" : "string-list",
7aacca6f 19250 "optional" : 1,
013dc89f
DM
19251 "type" : "string",
19252 "typetext" : "<string>"
56122987 19253 },
44660702
DM
19254 "maxfiles" : {
19255 "default" : 1,
19256 "description" : "Maximal number of backup files per guest system.",
19257 "minimum" : 1,
7aacca6f 19258 "optional" : 1,
4bd7df8b 19259 "type" : "integer",
013dc89f 19260 "typetext" : "<integer> (1 - N)"
56122987 19261 },
7aacca6f 19262 "mode" : {
44660702 19263 "default" : "snapshot",
7aacca6f
DM
19264 "description" : "Backup mode.",
19265 "enum" : [
19266 "snapshot",
19267 "suspend",
19268 "stop"
19269 ],
44660702
DM
19270 "optional" : 1,
19271 "type" : "string"
7aacca6f 19272 },
44660702
DM
19273 "node" : {
19274 "description" : "Only run if executed on this node.",
19275 "format" : "pve-node",
19276 "optional" : 1,
013dc89f
DM
19277 "type" : "string",
19278 "typetext" : "<string>"
44660702
DM
19279 },
19280 "pigz" : {
19281 "default" : 0,
19282 "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
19283 "optional" : 1,
013dc89f
DM
19284 "type" : "integer",
19285 "typetext" : "<integer>"
44660702
DM
19286 },
19287 "quiet" : {
19288 "default" : 0,
19289 "description" : "Be quiet.",
19290 "optional" : 1,
013dc89f
DM
19291 "type" : "boolean",
19292 "typetext" : "<boolean>"
44660702
DM
19293 },
19294 "remove" : {
7aacca6f 19295 "default" : 1,
44660702 19296 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
7aacca6f 19297 "optional" : 1,
013dc89f
DM
19298 "type" : "boolean",
19299 "typetext" : "<boolean>"
7aacca6f 19300 },
44660702
DM
19301 "script" : {
19302 "description" : "Use specified hook script.",
19303 "optional" : 1,
013dc89f
DM
19304 "type" : "string",
19305 "typetext" : "<string>"
44660702
DM
19306 },
19307 "size" : {
19308 "default" : 1024,
19309 "description" : "Unused, will be removed in a future release.",
19310 "minimum" : 500,
19311 "optional" : 1,
4bd7df8b 19312 "type" : "integer",
013dc89f 19313 "typetext" : "<integer> (500 - N)"
44660702
DM
19314 },
19315 "stdexcludes" : {
19316 "default" : 1,
19317 "description" : "Exclude temporary files and logs.",
19318 "optional" : 1,
013dc89f
DM
19319 "type" : "boolean",
19320 "typetext" : "<boolean>"
44660702
DM
19321 },
19322 "stdout" : {
19323 "description" : "Write tar to stdout, not to a file.",
7aacca6f 19324 "optional" : 1,
013dc89f
DM
19325 "type" : "boolean",
19326 "typetext" : "<boolean>"
44660702
DM
19327 },
19328 "stop" : {
7aacca6f 19329 "default" : 0,
44660702
DM
19330 "description" : "Stop runnig backup jobs on this host.",
19331 "optional" : 1,
013dc89f
DM
19332 "type" : "boolean",
19333 "typetext" : "<boolean>"
7aacca6f 19334 },
44660702
DM
19335 "stopwait" : {
19336 "default" : 10,
19337 "description" : "Maximal time to wait until a guest system is stopped (minutes).",
7aacca6f
DM
19338 "minimum" : 0,
19339 "optional" : 1,
4bd7df8b 19340 "type" : "integer",
013dc89f 19341 "typetext" : "<integer> (0 - N)"
7aacca6f 19342 },
44660702
DM
19343 "storage" : {
19344 "description" : "Store resulting file to this storage.",
19345 "format" : "pve-storage-id",
7aacca6f 19346 "optional" : 1,
013dc89f
DM
19347 "type" : "string",
19348 "typetext" : "<string>"
44660702
DM
19349 },
19350 "tmpdir" : {
19351 "description" : "Store temporary files to specified directory.",
19352 "optional" : 1,
013dc89f
DM
19353 "type" : "string",
19354 "typetext" : "<string>"
7aacca6f
DM
19355 },
19356 "vmid" : {
7aacca6f 19357 "description" : "The ID of the guest system you want to backup.",
44660702 19358 "format" : "pve-vmid-list",
7aacca6f 19359 "optional" : 1,
013dc89f
DM
19360 "type" : "string",
19361 "typetext" : "<string>"
7aacca6f 19362 }
7aacca6f
DM
19363 }
19364 },
7aacca6f 19365 "permissions" : {
de0983cb 19366 "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 19367 "user" : "all"
7aacca6f 19368 },
44660702 19369 "protected" : 1,
7aacca6f 19370 "proxyto" : "node",
7aacca6f 19371 "returns" : {
44660702 19372 "type" : "string"
7aacca6f
DM
19373 }
19374 }
19375 },
4bd7df8b 19376 "leaf" : 0,
44660702
DM
19377 "path" : "/nodes/{node}/vzdump",
19378 "text" : "vzdump"
19379 },
19380 {
7aacca6f
DM
19381 "children" : [
19382 {
7aacca6f
DM
19383 "children" : [
19384 {
7aacca6f
DM
19385 "info" : {
19386 "GET" : {
7aacca6f
DM
19387 "description" : "Read service properties",
19388 "method" : "GET",
19389 "name" : "service_state",
19390 "parameters" : {
44660702 19391 "additionalProperties" : 0,
7aacca6f
DM
19392 "properties" : {
19393 "node" : {
7aacca6f 19394 "description" : "The cluster node name.",
44660702 19395 "format" : "pve-node",
013dc89f
DM
19396 "type" : "string",
19397 "typetext" : "<string>"
7aacca6f
DM
19398 },
19399 "service" : {
44660702 19400 "description" : "Service ID",
7aacca6f
DM
19401 "enum" : [
19402 "pveproxy",
19403 "pvedaemon",
19404 "spiceproxy",
19405 "pvestatd",
19406 "pve-cluster",
19407 "corosync",
19408 "pve-firewall",
19409 "pvefw-logger",
19410 "pve-ha-crm",
19411 "pve-ha-lrm",
19412 "sshd",
19413 "syslog",
19414 "cron",
19415 "postfix",
19416 "ksmtuned",
19417 "systemd-timesyncd"
19418 ],
7aacca6f
DM
19419 "type" : "string"
19420 }
44660702 19421 }
56122987 19422 },
7aacca6f
DM
19423 "permissions" : {
19424 "check" : [
19425 "perm",
19426 "/nodes/{node}",
19427 [
44660702 19428 "Sys.Audit"
7aacca6f
DM
19429 ]
19430 ]
56122987 19431 },
44660702 19432 "protected" : 1,
7aacca6f 19433 "proxyto" : "node",
44660702
DM
19434 "returns" : {
19435 "properties" : {},
19436 "type" : "object"
19437 }
19438 }
19439 },
19440 "leaf" : 1,
19441 "path" : "/nodes/{node}/services/{service}/state",
19442 "text" : "state"
19443 },
19444 {
19445 "info" : {
19446 "POST" : {
19447 "description" : "Start service.",
7aacca6f
DM
19448 "method" : "POST",
19449 "name" : "service_start",
19450 "parameters" : {
44660702 19451 "additionalProperties" : 0,
7aacca6f 19452 "properties" : {
44660702
DM
19453 "node" : {
19454 "description" : "The cluster node name.",
19455 "format" : "pve-node",
013dc89f
DM
19456 "type" : "string",
19457 "typetext" : "<string>"
44660702 19458 },
7aacca6f 19459 "service" : {
44660702 19460 "description" : "Service ID",
7aacca6f
DM
19461 "enum" : [
19462 "pveproxy",
19463 "pvedaemon",
19464 "spiceproxy",
19465 "pvestatd",
19466 "pve-cluster",
19467 "corosync",
19468 "pve-firewall",
19469 "pvefw-logger",
19470 "pve-ha-crm",
19471 "pve-ha-lrm",
19472 "sshd",
19473 "syslog",
19474 "cron",
19475 "postfix",
19476 "ksmtuned",
19477 "systemd-timesyncd"
19478 ],
7aacca6f
DM
19479 "type" : "string"
19480 }
44660702 19481 }
56122987 19482 },
56122987
DM
19483 "permissions" : {
19484 "check" : [
19485 "perm",
19486 "/nodes/{node}",
19487 [
7aacca6f 19488 "Sys.Modify"
56122987
DM
19489 ]
19490 ]
7aacca6f 19491 },
7aacca6f 19492 "protected" : 1,
44660702
DM
19493 "proxyto" : "node",
19494 "returns" : {
19495 "type" : "string"
19496 }
19497 }
19498 },
19499 "leaf" : 1,
19500 "path" : "/nodes/{node}/services/{service}/start",
19501 "text" : "start"
19502 },
19503 {
19504 "info" : {
19505 "POST" : {
19506 "description" : "Stop service.",
19507 "method" : "POST",
7aacca6f 19508 "name" : "service_stop",
56122987 19509 "parameters" : {
7aacca6f 19510 "additionalProperties" : 0,
56122987
DM
19511 "properties" : {
19512 "node" : {
44660702 19513 "description" : "The cluster node name.",
56122987 19514 "format" : "pve-node",
013dc89f
DM
19515 "type" : "string",
19516 "typetext" : "<string>"
56122987
DM
19517 },
19518 "service" : {
44660702 19519 "description" : "Service ID",
56122987
DM
19520 "enum" : [
19521 "pveproxy",
19522 "pvedaemon",
19523 "spiceproxy",
19524 "pvestatd",
19525 "pve-cluster",
19526 "corosync",
19527 "pve-firewall",
19528 "pvefw-logger",
19529 "pve-ha-crm",
19530 "pve-ha-lrm",
19531 "sshd",
19532 "syslog",
19533 "cron",
19534 "postfix",
19535 "ksmtuned",
19536 "systemd-timesyncd"
19537 ],
56122987
DM
19538 "type" : "string"
19539 }
7aacca6f 19540 }
44660702 19541 },
56122987
DM
19542 "permissions" : {
19543 "check" : [
19544 "perm",
19545 "/nodes/{node}",
19546 [
19547 "Sys.Modify"
19548 ]
19549 ]
19550 },
44660702
DM
19551 "protected" : 1,
19552 "proxyto" : "node",
7aacca6f
DM
19553 "returns" : {
19554 "type" : "string"
44660702
DM
19555 }
19556 }
19557 },
19558 "leaf" : 1,
19559 "path" : "/nodes/{node}/services/{service}/stop",
19560 "text" : "stop"
19561 },
19562 {
19563 "info" : {
19564 "POST" : {
19565 "description" : "Restart service.",
19566 "method" : "POST",
19567 "name" : "service_restart",
56122987
DM
19568 "parameters" : {
19569 "additionalProperties" : 0,
19570 "properties" : {
7aacca6f
DM
19571 "node" : {
19572 "description" : "The cluster node name.",
44660702 19573 "format" : "pve-node",
013dc89f
DM
19574 "type" : "string",
19575 "typetext" : "<string>"
7aacca6f
DM
19576 },
19577 "service" : {
44660702 19578 "description" : "Service ID",
56122987
DM
19579 "enum" : [
19580 "pveproxy",
19581 "pvedaemon",
19582 "spiceproxy",
19583 "pvestatd",
19584 "pve-cluster",
19585 "corosync",
19586 "pve-firewall",
19587 "pvefw-logger",
19588 "pve-ha-crm",
19589 "pve-ha-lrm",
19590 "sshd",
19591 "syslog",
19592 "cron",
19593 "postfix",
19594 "ksmtuned",
19595 "systemd-timesyncd"
7aacca6f 19596 ],
7aacca6f 19597 "type" : "string"
56122987
DM
19598 }
19599 }
19600 },
44660702
DM
19601 "permissions" : {
19602 "check" : [
19603 "perm",
19604 "/nodes/{node}",
19605 [
19606 "Sys.Modify"
19607 ]
19608 ]
19609 },
19610 "protected" : 1,
19611 "proxyto" : "node",
19612 "returns" : {
19613 "type" : "string"
19614 }
56122987 19615 }
44660702
DM
19616 },
19617 "leaf" : 1,
19618 "path" : "/nodes/{node}/services/{service}/restart",
19619 "text" : "restart"
56122987
DM
19620 },
19621 {
56122987
DM
19622 "info" : {
19623 "POST" : {
44660702
DM
19624 "description" : "Reload service.",
19625 "method" : "POST",
7aacca6f 19626 "name" : "service_reload",
56122987
DM
19627 "parameters" : {
19628 "additionalProperties" : 0,
19629 "properties" : {
44660702
DM
19630 "node" : {
19631 "description" : "The cluster node name.",
19632 "format" : "pve-node",
013dc89f
DM
19633 "type" : "string",
19634 "typetext" : "<string>"
44660702 19635 },
56122987 19636 "service" : {
56122987
DM
19637 "description" : "Service ID",
19638 "enum" : [
19639 "pveproxy",
19640 "pvedaemon",
19641 "spiceproxy",
19642 "pvestatd",
19643 "pve-cluster",
19644 "corosync",
19645 "pve-firewall",
19646 "pvefw-logger",
19647 "pve-ha-crm",
19648 "pve-ha-lrm",
19649 "sshd",
19650 "syslog",
19651 "cron",
19652 "postfix",
19653 "ksmtuned",
19654 "systemd-timesyncd"
44660702
DM
19655 ],
19656 "type" : "string"
56122987
DM
19657 }
19658 }
19659 },
56122987
DM
19660 "permissions" : {
19661 "check" : [
19662 "perm",
19663 "/nodes/{node}",
19664 [
19665 "Sys.Modify"
19666 ]
19667 ]
19668 },
44660702 19669 "protected" : 1,
56122987 19670 "proxyto" : "node",
7aacca6f
DM
19671 "returns" : {
19672 "type" : "string"
56122987
DM
19673 }
19674 }
44660702
DM
19675 },
19676 "leaf" : 1,
19677 "path" : "/nodes/{node}/services/{service}/reload",
19678 "text" : "reload"
19679 }
19680 ],
19681 "info" : {
19682 "GET" : {
19683 "description" : "Directory index",
19684 "method" : "GET",
19685 "name" : "srvcmdidx",
19686 "parameters" : {
19687 "additionalProperties" : 0,
19688 "properties" : {
19689 "node" : {
19690 "description" : "The cluster node name.",
19691 "format" : "pve-node",
013dc89f
DM
19692 "type" : "string",
19693 "typetext" : "<string>"
44660702
DM
19694 },
19695 "service" : {
19696 "description" : "Service ID",
19697 "enum" : [
19698 "pveproxy",
19699 "pvedaemon",
19700 "spiceproxy",
19701 "pvestatd",
19702 "pve-cluster",
19703 "corosync",
19704 "pve-firewall",
19705 "pvefw-logger",
19706 "pve-ha-crm",
19707 "pve-ha-lrm",
19708 "sshd",
19709 "syslog",
19710 "cron",
19711 "postfix",
19712 "ksmtuned",
19713 "systemd-timesyncd"
19714 ],
19715 "type" : "string"
19716 }
19717 }
19718 },
19719 "permissions" : {
19720 "check" : [
19721 "perm",
19722 "/nodes/{node}",
19723 [
19724 "Sys.Audit"
19725 ]
19726 ]
19727 },
19728 "returns" : {
19729 "items" : {
19730 "properties" : {
19731 "subdir" : {
19732 "type" : "string"
19733 }
19734 },
19735 "type" : "object"
19736 },
19737 "links" : [
19738 {
19739 "href" : "{subdir}",
19740 "rel" : "child"
19741 }
19742 ],
19743 "type" : "array"
19744 }
19745 }
19746 },
19747 "leaf" : 0,
19748 "path" : "/nodes/{node}/services/{service}",
19749 "text" : "{service}"
19750 }
19751 ],
19752 "info" : {
19753 "GET" : {
19754 "description" : "Service list.",
19755 "method" : "GET",
19756 "name" : "index",
19757 "parameters" : {
19758 "additionalProperties" : 0,
19759 "properties" : {
19760 "node" : {
19761 "description" : "The cluster node name.",
19762 "format" : "pve-node",
013dc89f
DM
19763 "type" : "string",
19764 "typetext" : "<string>"
44660702
DM
19765 }
19766 }
19767 },
19768 "permissions" : {
19769 "check" : [
19770 "perm",
19771 "/nodes/{node}",
19772 [
19773 "Sys.Audit"
19774 ]
19775 ]
19776 },
19777 "protected" : 1,
19778 "proxyto" : "node",
19779 "returns" : {
19780 "items" : {
19781 "properties" : {},
19782 "type" : "object"
19783 },
19784 "links" : [
19785 {
19786 "href" : "{service}",
19787 "rel" : "child"
56122987 19788 }
44660702
DM
19789 ],
19790 "type" : "array"
19791 }
7aacca6f 19792 }
44660702 19793 },
7aacca6f 19794 "leaf" : 0,
44660702
DM
19795 "path" : "/nodes/{node}/services",
19796 "text" : "services"
7aacca6f
DM
19797 },
19798 {
7aacca6f
DM
19799 "info" : {
19800 "GET" : {
44660702
DM
19801 "description" : "Read subscription info.",
19802 "method" : "GET",
19803 "name" : "get",
7aacca6f 19804 "parameters" : {
44660702 19805 "additionalProperties" : 0,
7aacca6f
DM
19806 "properties" : {
19807 "node" : {
19808 "description" : "The cluster node name.",
44660702 19809 "format" : "pve-node",
013dc89f
DM
19810 "type" : "string",
19811 "typetext" : "<string>"
7aacca6f 19812 }
44660702
DM
19813 }
19814 },
19815 "permissions" : {
19816 "user" : "all"
7aacca6f 19817 },
7aacca6f
DM
19818 "proxyto" : "node",
19819 "returns" : {
19820 "type" : "object"
44660702 19821 }
7aacca6f 19822 },
44660702
DM
19823 "POST" : {
19824 "description" : "Update subscription info.",
19825 "method" : "POST",
19826 "name" : "update",
7aacca6f
DM
19827 "parameters" : {
19828 "additionalProperties" : 0,
19829 "properties" : {
44660702
DM
19830 "force" : {
19831 "default" : 0,
19832 "description" : "Always connect to server, even if we have up to date info inside local cache.",
19833 "optional" : 1,
013dc89f
DM
19834 "type" : "boolean",
19835 "typetext" : "<boolean>"
44660702 19836 },
7aacca6f 19837 "node" : {
7aacca6f 19838 "description" : "The cluster node name.",
44660702 19839 "format" : "pve-node",
013dc89f
DM
19840 "type" : "string",
19841 "typetext" : "<string>"
7aacca6f
DM
19842 }
19843 }
19844 },
7aacca6f 19845 "protected" : 1,
7aacca6f 19846 "proxyto" : "node",
44660702
DM
19847 "returns" : {
19848 "type" : "null"
19849 }
19850 },
19851 "PUT" : {
19852 "description" : "Set subscription key.",
19853 "method" : "PUT",
19854 "name" : "set",
7aacca6f
DM
19855 "parameters" : {
19856 "additionalProperties" : 0,
19857 "properties" : {
44660702
DM
19858 "key" : {
19859 "description" : "Proxmox VE subscription key",
013dc89f
DM
19860 "type" : "string",
19861 "typetext" : "<string>"
7aacca6f
DM
19862 },
19863 "node" : {
7aacca6f 19864 "description" : "The cluster node name.",
44660702 19865 "format" : "pve-node",
013dc89f
DM
19866 "type" : "string",
19867 "typetext" : "<string>"
7aacca6f
DM
19868 }
19869 }
19870 },
44660702
DM
19871 "protected" : 1,
19872 "proxyto" : "node",
7aacca6f
DM
19873 "returns" : {
19874 "type" : "null"
44660702 19875 }
7aacca6f
DM
19876 }
19877 },
44660702 19878 "leaf" : 1,
7aacca6f 19879 "path" : "/nodes/{node}/subscription",
44660702 19880 "text" : "subscription"
7aacca6f
DM
19881 },
19882 {
7aacca6f
DM
19883 "children" : [
19884 {
56122987 19885 "info" : {
7aacca6f 19886 "DELETE" : {
44660702
DM
19887 "description" : "Delete network device configuration",
19888 "method" : "DELETE",
19889 "name" : "delete_network",
19890 "parameters" : {
19891 "additionalProperties" : 0,
19892 "properties" : {
19893 "iface" : {
19894 "description" : "Network interface name.",
19895 "format" : "pve-iface",
19896 "maxLength" : 20,
19897 "minLength" : 2,
013dc89f
DM
19898 "type" : "string",
19899 "typetext" : "<string>"
44660702
DM
19900 },
19901 "node" : {
19902 "description" : "The cluster node name.",
19903 "format" : "pve-node",
013dc89f
DM
19904 "type" : "string",
19905 "typetext" : "<string>"
44660702
DM
19906 }
19907 }
7aacca6f
DM
19908 },
19909 "permissions" : {
19910 "check" : [
19911 "perm",
19912 "/nodes/{node}",
19913 [
19914 "Sys.Modify"
19915 ]
19916 ]
19917 },
44660702 19918 "protected" : 1,
7aacca6f 19919 "proxyto" : "node",
44660702
DM
19920 "returns" : {
19921 "type" : "null"
19922 }
19923 },
19924 "GET" : {
19925 "description" : "Read network device configuration",
19926 "method" : "GET",
19927 "name" : "network_config",
56122987 19928 "parameters" : {
44660702 19929 "additionalProperties" : 0,
56122987 19930 "properties" : {
7aacca6f 19931 "iface" : {
7aacca6f 19932 "description" : "Network interface name.",
44660702
DM
19933 "format" : "pve-iface",
19934 "maxLength" : 20,
7aacca6f 19935 "minLength" : 2,
013dc89f
DM
19936 "type" : "string",
19937 "typetext" : "<string>"
44660702
DM
19938 },
19939 "node" : {
19940 "description" : "The cluster node name.",
19941 "format" : "pve-node",
013dc89f
DM
19942 "type" : "string",
19943 "typetext" : "<string>"
56122987 19944 }
44660702 19945 }
7aacca6f
DM
19946 },
19947 "permissions" : {
19948 "check" : [
19949 "perm",
19950 "/nodes/{node}",
19951 [
44660702 19952 "Sys.Audit"
7aacca6f
DM
19953 ]
19954 ]
19955 },
19956 "proxyto" : "node",
44660702
DM
19957 "returns" : {
19958 "properties" : {
19959 "method" : {
19960 "type" : "string"
19961 },
19962 "type" : {
19963 "type" : "string"
19964 }
19965 },
19966 "type" : "object"
19967 }
19968 },
19969 "PUT" : {
7aacca6f
DM
19970 "description" : "Update network device configuration",
19971 "method" : "PUT",
19972 "name" : "update_network",
19973 "parameters" : {
19974 "additionalProperties" : 0,
19975 "properties" : {
7aacca6f 19976 "address" : {
44660702 19977 "description" : "IP address.",
7aacca6f 19978 "format" : "ipv4",
44660702 19979 "optional" : 1,
7aacca6f 19980 "requires" : "netmask",
013dc89f
DM
19981 "type" : "string",
19982 "typetext" : "<string>"
7aacca6f 19983 },
44660702
DM
19984 "address6" : {
19985 "description" : "IP address.",
19986 "format" : "ipv6",
19987 "optional" : 1,
19988 "requires" : "netmask6",
013dc89f
DM
19989 "type" : "string",
19990 "typetext" : "<string>"
7aacca6f
DM
19991 },
19992 "autostart" : {
44660702 19993 "description" : "Automatically start interface on boot.",
7aacca6f 19994 "optional" : 1,
013dc89f
DM
19995 "type" : "boolean",
19996 "typetext" : "<boolean>"
7aacca6f 19997 },
44660702
DM
19998 "bond_mode" : {
19999 "description" : "Bonding mode.",
7aacca6f 20000 "enum" : [
44660702
DM
20001 "balance-rr",
20002 "active-backup",
20003 "balance-xor",
20004 "broadcast",
20005 "802.3ad",
20006 "balance-tlb",
20007 "balance-alb",
20008 "balance-slb",
20009 "lacp-balance-slb",
20010 "lacp-balance-tcp"
20011 ],
7aacca6f 20012 "optional" : 1,
44660702 20013 "type" : "string"
7aacca6f 20014 },
44660702
DM
20015 "bond_xmit_hash_policy" : {
20016 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
20017 "enum" : [
20018 "layer2",
20019 "layer2+3",
20020 "layer3+4"
20021 ],
7aacca6f 20022 "optional" : 1,
44660702 20023 "type" : "string"
7aacca6f 20024 },
44660702
DM
20025 "bridge_ports" : {
20026 "description" : "Specify the iterfaces you want to add to your bridge.",
20027 "format" : "pve-iface-list",
7aacca6f 20028 "optional" : 1,
013dc89f
DM
20029 "type" : "string",
20030 "typetext" : "<string>"
7aacca6f 20031 },
44660702
DM
20032 "bridge_vlan_aware" : {
20033 "description" : "Enable bridge vlan support.",
7aacca6f 20034 "optional" : 1,
013dc89f
DM
20035 "type" : "boolean",
20036 "typetext" : "<boolean>"
7aacca6f
DM
20037 },
20038 "comments" : {
44660702 20039 "description" : "Comments",
7aacca6f 20040 "optional" : 1,
013dc89f
DM
20041 "type" : "string",
20042 "typetext" : "<string>"
7aacca6f 20043 },
44660702
DM
20044 "comments6" : {
20045 "description" : "Comments",
7aacca6f 20046 "optional" : 1,
013dc89f
DM
20047 "type" : "string",
20048 "typetext" : "<string>"
7aacca6f 20049 },
44660702
DM
20050 "delete" : {
20051 "description" : "A list of settings you want to delete.",
20052 "format" : "pve-configid-list",
7aacca6f 20053 "optional" : 1,
013dc89f
DM
20054 "type" : "string",
20055 "typetext" : "<string>"
7aacca6f 20056 },
44660702
DM
20057 "gateway" : {
20058 "description" : "Default gateway address.",
20059 "format" : "ipv4",
7aacca6f 20060 "optional" : 1,
013dc89f
DM
20061 "type" : "string",
20062 "typetext" : "<string>"
7aacca6f 20063 },
44660702
DM
20064 "gateway6" : {
20065 "description" : "Default ipv6 gateway address.",
20066 "format" : "ipv6",
7aacca6f 20067 "optional" : 1,
013dc89f
DM
20068 "type" : "string",
20069 "typetext" : "<string>"
7aacca6f
DM
20070 },
20071 "iface" : {
44660702 20072 "description" : "Network interface name.",
7aacca6f
DM
20073 "format" : "pve-iface",
20074 "maxLength" : 20,
20075 "minLength" : 2,
013dc89f
DM
20076 "type" : "string",
20077 "typetext" : "<string>"
7aacca6f 20078 },
44660702
DM
20079 "netmask" : {
20080 "description" : "Network mask.",
20081 "format" : "ipv4mask",
7aacca6f 20082 "optional" : 1,
44660702 20083 "requires" : "address",
013dc89f
DM
20084 "type" : "string",
20085 "typetext" : "<string>"
7aacca6f
DM
20086 },
20087 "netmask6" : {
44660702 20088 "description" : "Network mask.",
7aacca6f 20089 "maximum" : 128,
44660702 20090 "minimum" : 0,
7aacca6f
DM
20091 "optional" : 1,
20092 "requires" : "address6",
4bd7df8b 20093 "type" : "integer",
013dc89f 20094 "typetext" : "<integer> (0 - 128)"
44660702 20095 },
7aacca6f 20096 "node" : {
44660702 20097 "description" : "The cluster node name.",
7aacca6f 20098 "format" : "pve-node",
013dc89f
DM
20099 "type" : "string",
20100 "typetext" : "<string>"
7aacca6f 20101 },
44660702
DM
20102 "ovs_bonds" : {
20103 "description" : "Specify the interfaces used by the bonding device.",
20104 "format" : "pve-iface-list",
20105 "optional" : 1,
013dc89f
DM
20106 "type" : "string",
20107 "typetext" : "<string>"
44660702
DM
20108 },
20109 "ovs_bridge" : {
20110 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
20111 "format" : "pve-iface",
20112 "optional" : 1,
013dc89f
DM
20113 "type" : "string",
20114 "typetext" : "<string>"
44660702
DM
20115 },
20116 "ovs_options" : {
20117 "description" : "OVS interface options.",
20118 "maxLength" : 1024,
20119 "optional" : 1,
013dc89f
DM
20120 "type" : "string",
20121 "typetext" : "<string>"
44660702
DM
20122 },
20123 "ovs_ports" : {
20124 "description" : "Specify the iterfaces you want to add to your bridge.",
20125 "format" : "pve-iface-list",
20126 "optional" : 1,
013dc89f
DM
20127 "type" : "string",
20128 "typetext" : "<string>"
44660702
DM
20129 },
20130 "ovs_tag" : {
20131 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
20132 "maximum" : 4094,
20133 "minimum" : 1,
20134 "optional" : 1,
4bd7df8b 20135 "type" : "integer",
013dc89f 20136 "typetext" : "<integer> (1 - 4094)"
44660702
DM
20137 },
20138 "slaves" : {
20139 "description" : "Specify the interfaces used by the bonding device.",
20140 "format" : "pve-iface-list",
20141 "optional" : 1,
013dc89f
DM
20142 "type" : "string",
20143 "typetext" : "<string>"
44660702
DM
20144 },
20145 "type" : {
20146 "description" : "Network interface type",
20147 "enum" : [
20148 "bridge",
20149 "bond",
20150 "eth",
20151 "alias",
20152 "vlan",
20153 "OVSBridge",
20154 "OVSBond",
20155 "OVSPort",
20156 "OVSIntPort",
20157 "unknown"
20158 ],
20159 "type" : "string"
7aacca6f
DM
20160 }
20161 }
20162 },
7aacca6f
DM
20163 "permissions" : {
20164 "check" : [
20165 "perm",
20166 "/nodes/{node}",
20167 [
44660702 20168 "Sys.Modify"
7aacca6f
DM
20169 ]
20170 ]
20171 },
44660702
DM
20172 "protected" : 1,
20173 "proxyto" : "node",
7aacca6f 20174 "returns" : {
44660702
DM
20175 "type" : "null"
20176 }
7aacca6f
DM
20177 }
20178 },
7aacca6f 20179 "leaf" : 1,
44660702
DM
20180 "path" : "/nodes/{node}/network/{iface}",
20181 "text" : "{iface}"
7aacca6f
DM
20182 }
20183 ],
7aacca6f 20184 "info" : {
44660702
DM
20185 "DELETE" : {
20186 "description" : "Revert network configuration changes.",
20187 "method" : "DELETE",
20188 "name" : "revert_network_changes",
7aacca6f
DM
20189 "parameters" : {
20190 "additionalProperties" : 0,
20191 "properties" : {
7aacca6f 20192 "node" : {
7aacca6f 20193 "description" : "The cluster node name.",
44660702 20194 "format" : "pve-node",
013dc89f
DM
20195 "type" : "string",
20196 "typetext" : "<string>"
7aacca6f
DM
20197 }
20198 }
44660702 20199 },
7aacca6f
DM
20200 "permissions" : {
20201 "check" : [
20202 "perm",
20203 "/nodes/{node}",
20204 [
20205 "Sys.Modify"
20206 ]
20207 ]
20208 },
44660702
DM
20209 "protected" : 1,
20210 "proxyto" : "node",
7aacca6f
DM
20211 "returns" : {
20212 "type" : "null"
44660702 20213 }
7aacca6f 20214 },
44660702
DM
20215 "GET" : {
20216 "description" : "List available networks",
20217 "method" : "GET",
20218 "name" : "index",
7aacca6f 20219 "parameters" : {
44660702 20220 "additionalProperties" : 0,
7aacca6f 20221 "properties" : {
7aacca6f 20222 "node" : {
44660702
DM
20223 "description" : "The cluster node name.",
20224 "format" : "pve-node",
013dc89f
DM
20225 "type" : "string",
20226 "typetext" : "<string>"
7aacca6f
DM
20227 },
20228 "type" : {
44660702 20229 "description" : "Only list specific interface types.",
7aacca6f
DM
20230 "enum" : [
20231 "bridge",
20232 "bond",
20233 "eth",
20234 "alias",
20235 "vlan",
20236 "OVSBridge",
20237 "OVSBond",
20238 "OVSPort",
20239 "OVSIntPort",
44660702 20240 "any_bridge"
7aacca6f 20241 ],
7aacca6f 20242 "optional" : 1,
44660702
DM
20243 "type" : "string"
20244 }
20245 }
20246 },
20247 "permissions" : {
20248 "user" : "all"
20249 },
20250 "proxyto" : "node",
20251 "returns" : {
20252 "items" : {
20253 "properties" : {},
20254 "type" : "object"
20255 },
20256 "links" : [
20257 {
20258 "href" : "{iface}",
20259 "rel" : "child"
20260 }
20261 ],
20262 "type" : "array"
20263 }
20264 },
20265 "POST" : {
20266 "description" : "Create network device configuration",
20267 "method" : "POST",
20268 "name" : "create_network",
20269 "parameters" : {
20270 "additionalProperties" : 0,
20271 "properties" : {
7aacca6f 20272 "address" : {
44660702
DM
20273 "description" : "IP address.",
20274 "format" : "ipv4",
20275 "optional" : 1,
7aacca6f 20276 "requires" : "netmask",
013dc89f
DM
20277 "type" : "string",
20278 "typetext" : "<string>"
44660702
DM
20279 },
20280 "address6" : {
7aacca6f 20281 "description" : "IP address.",
44660702
DM
20282 "format" : "ipv6",
20283 "optional" : 1,
20284 "requires" : "netmask6",
013dc89f
DM
20285 "type" : "string",
20286 "typetext" : "<string>"
44660702
DM
20287 },
20288 "autostart" : {
20289 "description" : "Automatically start interface on boot.",
7aacca6f 20290 "optional" : 1,
013dc89f
DM
20291 "type" : "boolean",
20292 "typetext" : "<boolean>"
7aacca6f
DM
20293 },
20294 "bond_mode" : {
20295 "description" : "Bonding mode.",
20296 "enum" : [
20297 "balance-rr",
20298 "active-backup",
20299 "balance-xor",
20300 "broadcast",
20301 "802.3ad",
20302 "balance-tlb",
20303 "balance-alb",
20304 "balance-slb",
20305 "lacp-balance-slb",
20306 "lacp-balance-tcp"
20307 ],
20308 "optional" : 1,
20309 "type" : "string"
20310 },
44660702
DM
20311 "bond_xmit_hash_policy" : {
20312 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
20313 "enum" : [
20314 "layer2",
20315 "layer2+3",
20316 "layer3+4"
20317 ],
20318 "optional" : 1,
20319 "type" : "string"
20320 },
20321 "bridge_ports" : {
20322 "description" : "Specify the iterfaces you want to add to your bridge.",
7aacca6f 20323 "format" : "pve-iface-list",
7aacca6f 20324 "optional" : 1,
013dc89f
DM
20325 "type" : "string",
20326 "typetext" : "<string>"
7aacca6f 20327 },
44660702
DM
20328 "bridge_vlan_aware" : {
20329 "description" : "Enable bridge vlan support.",
7aacca6f 20330 "optional" : 1,
013dc89f
DM
20331 "type" : "boolean",
20332 "typetext" : "<boolean>"
7aacca6f 20333 },
44660702
DM
20334 "comments" : {
20335 "description" : "Comments",
7aacca6f 20336 "optional" : 1,
013dc89f
DM
20337 "type" : "string",
20338 "typetext" : "<string>"
44660702
DM
20339 },
20340 "comments6" : {
20341 "description" : "Comments",
20342 "optional" : 1,
013dc89f
DM
20343 "type" : "string",
20344 "typetext" : "<string>"
44660702
DM
20345 },
20346 "gateway" : {
20347 "description" : "Default gateway address.",
20348 "format" : "ipv4",
20349 "optional" : 1,
013dc89f
DM
20350 "type" : "string",
20351 "typetext" : "<string>"
44660702
DM
20352 },
20353 "gateway6" : {
20354 "description" : "Default ipv6 gateway address.",
20355 "format" : "ipv6",
20356 "optional" : 1,
013dc89f
DM
20357 "type" : "string",
20358 "typetext" : "<string>"
56122987 20359 },
7aacca6f 20360 "iface" : {
44660702 20361 "description" : "Network interface name.",
7aacca6f
DM
20362 "format" : "pve-iface",
20363 "maxLength" : 20,
44660702 20364 "minLength" : 2,
013dc89f
DM
20365 "type" : "string",
20366 "typetext" : "<string>"
56122987 20367 },
44660702
DM
20368 "netmask" : {
20369 "description" : "Network mask.",
20370 "format" : "ipv4mask",
7aacca6f 20371 "optional" : 1,
44660702 20372 "requires" : "address",
013dc89f
DM
20373 "type" : "string",
20374 "typetext" : "<string>"
7aacca6f 20375 },
44660702
DM
20376 "netmask6" : {
20377 "description" : "Network mask.",
20378 "maximum" : 128,
20379 "minimum" : 0,
7aacca6f 20380 "optional" : 1,
44660702 20381 "requires" : "address6",
4bd7df8b 20382 "type" : "integer",
013dc89f 20383 "typetext" : "<integer> (0 - 128)"
7aacca6f 20384 },
44660702
DM
20385 "node" : {
20386 "description" : "The cluster node name.",
20387 "format" : "pve-node",
013dc89f
DM
20388 "type" : "string",
20389 "typetext" : "<string>"
44660702
DM
20390 },
20391 "ovs_bonds" : {
20392 "description" : "Specify the interfaces used by the bonding device.",
20393 "format" : "pve-iface-list",
7aacca6f 20394 "optional" : 1,
013dc89f
DM
20395 "type" : "string",
20396 "typetext" : "<string>"
7aacca6f 20397 },
44660702
DM
20398 "ovs_bridge" : {
20399 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
20400 "format" : "pve-iface",
20401 "optional" : 1,
013dc89f
DM
20402 "type" : "string",
20403 "typetext" : "<string>"
44660702
DM
20404 },
20405 "ovs_options" : {
20406 "description" : "OVS interface options.",
20407 "maxLength" : 1024,
20408 "optional" : 1,
013dc89f
DM
20409 "type" : "string",
20410 "typetext" : "<string>"
44660702
DM
20411 },
20412 "ovs_ports" : {
20413 "description" : "Specify the iterfaces you want to add to your bridge.",
20414 "format" : "pve-iface-list",
20415 "optional" : 1,
013dc89f
DM
20416 "type" : "string",
20417 "typetext" : "<string>"
44660702
DM
20418 },
20419 "ovs_tag" : {
20420 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
20421 "maximum" : 4094,
20422 "minimum" : 1,
20423 "optional" : 1,
4bd7df8b 20424 "type" : "integer",
013dc89f 20425 "typetext" : "<integer> (1 - 4094)"
44660702
DM
20426 },
20427 "slaves" : {
20428 "description" : "Specify the interfaces used by the bonding device.",
20429 "format" : "pve-iface-list",
7aacca6f 20430 "optional" : 1,
013dc89f
DM
20431 "type" : "string",
20432 "typetext" : "<string>"
44660702
DM
20433 },
20434 "type" : {
20435 "description" : "Network interface type",
7aacca6f 20436 "enum" : [
44660702
DM
20437 "bridge",
20438 "bond",
20439 "eth",
20440 "alias",
20441 "vlan",
20442 "OVSBridge",
20443 "OVSBond",
20444 "OVSPort",
20445 "OVSIntPort",
20446 "unknown"
7aacca6f 20447 ],
44660702 20448 "type" : "string"
56122987 20449 }
44660702 20450 }
56122987 20451 },
56122987
DM
20452 "permissions" : {
20453 "check" : [
20454 "perm",
20455 "/nodes/{node}",
20456 [
7aacca6f 20457 "Sys.Modify"
44660702
DM
20458 ]
20459 ]
7aacca6f 20460 },
44660702
DM
20461 "protected" : 1,
20462 "proxyto" : "node",
20463 "returns" : {
20464 "type" : "null"
20465 }
20466 }
20467 },
20468 "leaf" : 0,
20469 "path" : "/nodes/{node}/network",
20470 "text" : "network"
20471 },
20472 {
20473 "children" : [
20474 {
7aacca6f
DM
20475 "children" : [
20476 {
20477 "info" : {
20478 "GET" : {
44660702 20479 "description" : "Read task log.",
7aacca6f
DM
20480 "method" : "GET",
20481 "name" : "read_task_log",
20482 "parameters" : {
44660702 20483 "additionalProperties" : 0,
7aacca6f 20484 "properties" : {
44660702
DM
20485 "limit" : {
20486 "minimum" : 0,
7aacca6f 20487 "optional" : 1,
4bd7df8b 20488 "type" : "integer",
013dc89f 20489 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
20490 },
20491 "node" : {
20492 "description" : "The cluster node name.",
44660702 20493 "format" : "pve-node",
013dc89f
DM
20494 "type" : "string",
20495 "typetext" : "<string>"
7aacca6f 20496 },
44660702
DM
20497 "start" : {
20498 "minimum" : 0,
7aacca6f 20499 "optional" : 1,
4bd7df8b 20500 "type" : "integer",
013dc89f 20501 "typetext" : "<integer> (0 - N)"
44660702
DM
20502 },
20503 "upid" : {
013dc89f
DM
20504 "type" : "string",
20505 "typetext" : "<string>"
7aacca6f 20506 }
44660702
DM
20507 }
20508 },
20509 "permissions" : {
20510 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
20511 "user" : "all"
7aacca6f
DM
20512 },
20513 "protected" : 1,
44660702 20514 "proxyto" : "node",
7aacca6f 20515 "returns" : {
7aacca6f 20516 "items" : {
7aacca6f
DM
20517 "properties" : {
20518 "n" : {
44660702
DM
20519 "description" : "Line number",
20520 "type" : "integer"
7aacca6f
DM
20521 },
20522 "t" : {
44660702
DM
20523 "description" : "Line text",
20524 "type" : "string"
7aacca6f 20525 }
44660702
DM
20526 },
20527 "type" : "object"
20528 },
20529 "type" : "array"
20530 }
7aacca6f 20531 }
56122987 20532 },
7aacca6f 20533 "leaf" : 1,
44660702
DM
20534 "path" : "/nodes/{node}/tasks/{upid}/log",
20535 "text" : "log"
7aacca6f
DM
20536 },
20537 {
7aacca6f
DM
20538 "info" : {
20539 "GET" : {
44660702
DM
20540 "description" : "Read task status.",
20541 "method" : "GET",
7aacca6f
DM
20542 "name" : "read_task_status",
20543 "parameters" : {
20544 "additionalProperties" : 0,
20545 "properties" : {
20546 "node" : {
7aacca6f 20547 "description" : "The cluster node name.",
44660702 20548 "format" : "pve-node",
013dc89f
DM
20549 "type" : "string",
20550 "typetext" : "<string>"
7aacca6f
DM
20551 },
20552 "upid" : {
013dc89f
DM
20553 "type" : "string",
20554 "typetext" : "<string>"
7aacca6f
DM
20555 }
20556 }
20557 },
7aacca6f
DM
20558 "permissions" : {
20559 "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
20560 "user" : "all"
56122987 20561 },
44660702 20562 "protected" : 1,
7aacca6f 20563 "proxyto" : "node",
7aacca6f
DM
20564 "returns" : {
20565 "properties" : {
20566 "pid" : {
20567 "type" : "integer"
20568 },
20569 "status" : {
7aacca6f
DM
20570 "enum" : [
20571 "running",
20572 "stopped"
44660702
DM
20573 ],
20574 "type" : "string"
7aacca6f
DM
20575 }
20576 },
20577 "type" : "object"
56122987 20578 }
7aacca6f 20579 }
44660702
DM
20580 },
20581 "leaf" : 1,
20582 "path" : "/nodes/{node}/tasks/{upid}/status",
20583 "text" : "status"
56122987 20584 }
7aacca6f 20585 ],
44660702
DM
20586 "info" : {
20587 "DELETE" : {
20588 "description" : "Stop a task.",
20589 "method" : "DELETE",
20590 "name" : "stop_task",
20591 "parameters" : {
20592 "additionalProperties" : 0,
20593 "properties" : {
20594 "node" : {
20595 "description" : "The cluster node name.",
20596 "format" : "pve-node",
013dc89f
DM
20597 "type" : "string",
20598 "typetext" : "<string>"
44660702
DM
20599 },
20600 "upid" : {
013dc89f
DM
20601 "type" : "string",
20602 "typetext" : "<string>"
44660702 20603 }
7aacca6f 20604 }
44660702
DM
20605 },
20606 "permissions" : {
20607 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
20608 "user" : "all"
20609 },
20610 "protected" : 1,
20611 "proxyto" : "node",
20612 "returns" : {
20613 "type" : "null"
7aacca6f 20614 }
56122987 20615 },
44660702
DM
20616 "GET" : {
20617 "description" : "",
20618 "method" : "GET",
20619 "name" : "upid_index",
20620 "parameters" : {
20621 "additionalProperties" : 0,
20622 "properties" : {
20623 "node" : {
20624 "description" : "The cluster node name.",
20625 "format" : "pve-node",
013dc89f
DM
20626 "type" : "string",
20627 "typetext" : "<string>"
44660702
DM
20628 },
20629 "upid" : {
013dc89f
DM
20630 "type" : "string",
20631 "typetext" : "<string>"
44660702
DM
20632 }
20633 }
20634 },
20635 "permissions" : {
20636 "user" : "all"
20637 },
20638 "returns" : {
20639 "items" : {
20640 "properties" : {},
20641 "type" : "object"
20642 },
20643 "links" : [
20644 {
20645 "href" : "{name}",
20646 "rel" : "child"
20647 }
20648 ],
20649 "type" : "array"
56122987 20650 }
44660702 20651 }
56122987 20652 },
44660702
DM
20653 "leaf" : 0,
20654 "path" : "/nodes/{node}/tasks/{upid}",
20655 "text" : "{upid}"
20656 }
20657 ],
20658 "info" : {
20659 "GET" : {
7aacca6f 20660 "description" : "Read task list for one node (finished tasks).",
44660702
DM
20661 "method" : "GET",
20662 "name" : "node_tasks",
56122987 20663 "parameters" : {
7aacca6f 20664 "additionalProperties" : 0,
56122987 20665 "properties" : {
44660702 20666 "errors" : {
56122987 20667 "optional" : 1,
013dc89f
DM
20668 "type" : "boolean",
20669 "typetext" : "<boolean>"
56122987 20670 },
44660702 20671 "limit" : {
56122987 20672 "minimum" : 0,
56122987 20673 "optional" : 1,
4bd7df8b 20674 "type" : "integer",
013dc89f 20675 "typetext" : "<integer> (0 - N)"
56122987 20676 },
56122987
DM
20677 "node" : {
20678 "description" : "The cluster node name.",
44660702 20679 "format" : "pve-node",
013dc89f
DM
20680 "type" : "string",
20681 "typetext" : "<string>"
56122987 20682 },
44660702 20683 "start" : {
7aacca6f 20684 "minimum" : 0,
44660702 20685 "optional" : 1,
4bd7df8b 20686 "type" : "integer",
013dc89f 20687 "typetext" : "<integer> (0 - N)"
56122987 20688 },
7aacca6f 20689 "userfilter" : {
44660702 20690 "optional" : 1,
013dc89f
DM
20691 "type" : "string",
20692 "typetext" : "<string>"
44660702
DM
20693 },
20694 "vmid" : {
20695 "description" : "Only list tasks for this VM.",
20696 "format" : "pve-vmid",
20697 "minimum" : 1,
20698 "optional" : 1,
4bd7df8b 20699 "type" : "integer",
013dc89f 20700 "typetext" : "<integer> (1 - N)"
56122987
DM
20701 }
20702 }
20703 },
7aacca6f 20704 "permissions" : {
44660702 20705 "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
20706 "user" : "all"
20707 },
44660702 20708 "proxyto" : "node",
56122987
DM
20709 "returns" : {
20710 "items" : {
20711 "properties" : {
44660702 20712 "upid" : {
56122987
DM
20713 "type" : "string"
20714 }
20715 },
20716 "type" : "object"
20717 },
56122987
DM
20718 "links" : [
20719 {
44660702
DM
20720 "href" : "{upid}",
20721 "rel" : "child"
56122987 20722 }
44660702
DM
20723 ],
20724 "type" : "array"
56122987
DM
20725 }
20726 }
20727 },
44660702
DM
20728 "leaf" : 0,
20729 "path" : "/nodes/{node}/tasks",
20730 "text" : "tasks"
20731 },
20732 {
56122987
DM
20733 "children" : [
20734 {
56122987
DM
20735 "info" : {
20736 "GET" : {
7aacca6f 20737 "description" : "Scan zfs pool list on local node.",
44660702
DM
20738 "method" : "GET",
20739 "name" : "zfsscan",
56122987 20740 "parameters" : {
44660702 20741 "additionalProperties" : 0,
56122987 20742 "properties" : {
56122987
DM
20743 "node" : {
20744 "description" : "The cluster node name.",
44660702 20745 "format" : "pve-node",
013dc89f
DM
20746 "type" : "string",
20747 "typetext" : "<string>"
56122987 20748 }
44660702
DM
20749 }
20750 },
7aacca6f
DM
20751 "permissions" : {
20752 "check" : [
20753 "perm",
20754 "/storage",
20755 [
20756 "Datastore.Allocate"
20757 ]
20758 ]
20759 },
44660702
DM
20760 "protected" : 1,
20761 "proxyto" : "node",
56122987 20762 "returns" : {
56122987
DM
20763 "items" : {
20764 "properties" : {
44660702 20765 "pool" : {
56122987
DM
20766 "type" : "string"
20767 }
44660702
DM
20768 },
20769 "type" : "object"
20770 },
20771 "type" : "array"
20772 }
20773 }
20774 },
20775 "leaf" : 1,
20776 "path" : "/nodes/{node}/scan/zfs",
20777 "text" : "zfs"
20778 },
20779 {
20780 "info" : {
20781 "GET" : {
20782 "description" : "Scan remote NFS server.",
20783 "method" : "GET",
7aacca6f 20784 "name" : "nfsscan",
56122987 20785 "parameters" : {
44660702 20786 "additionalProperties" : 0,
56122987
DM
20787 "properties" : {
20788 "node" : {
7aacca6f 20789 "description" : "The cluster node name.",
44660702 20790 "format" : "pve-node",
013dc89f
DM
20791 "type" : "string",
20792 "typetext" : "<string>"
7aacca6f
DM
20793 },
20794 "server" : {
20795 "format" : "pve-storage-server",
013dc89f
DM
20796 "type" : "string",
20797 "typetext" : "<string>"
56122987 20798 }
44660702 20799 }
56122987 20800 },
56122987
DM
20801 "permissions" : {
20802 "check" : [
20803 "perm",
20804 "/storage",
20805 [
20806 "Datastore.Allocate"
20807 ]
20808 ]
20809 },
44660702 20810 "protected" : 1,
56122987 20811 "proxyto" : "node",
44660702
DM
20812 "returns" : {
20813 "items" : {
20814 "properties" : {
20815 "options" : {
20816 "type" : "string"
20817 },
20818 "path" : {
20819 "type" : "string"
20820 }
20821 },
20822 "type" : "object"
20823 },
20824 "type" : "array"
20825 }
20826 }
20827 },
20828 "leaf" : 1,
20829 "path" : "/nodes/{node}/scan/nfs",
20830 "text" : "nfs"
20831 },
20832 {
20833 "info" : {
20834 "GET" : {
20835 "description" : "Scan remote GlusterFS server.",
7aacca6f
DM
20836 "method" : "GET",
20837 "name" : "glusterfsscan",
56122987 20838 "parameters" : {
44660702 20839 "additionalProperties" : 0,
56122987 20840 "properties" : {
56122987 20841 "node" : {
44660702 20842 "description" : "The cluster node name.",
56122987 20843 "format" : "pve-node",
013dc89f
DM
20844 "type" : "string",
20845 "typetext" : "<string>"
7aacca6f
DM
20846 },
20847 "server" : {
20848 "format" : "pve-storage-server",
013dc89f
DM
20849 "type" : "string",
20850 "typetext" : "<string>"
56122987 20851 }
44660702
DM
20852 }
20853 },
20854 "permissions" : {
20855 "check" : [
20856 "perm",
20857 "/storage",
20858 [
20859 "Datastore.Allocate"
20860 ]
20861 ]
7aacca6f 20862 },
44660702
DM
20863 "protected" : 1,
20864 "proxyto" : "node",
20865 "returns" : {
20866 "items" : {
20867 "properties" : {
20868 "volname" : {
20869 "type" : "string"
20870 }
20871 },
20872 "type" : "object"
20873 },
20874 "type" : "array"
20875 }
56122987
DM
20876 }
20877 },
44660702
DM
20878 "leaf" : 1,
20879 "path" : "/nodes/{node}/scan/glusterfs",
7aacca6f 20880 "text" : "glusterfs"
56122987
DM
20881 },
20882 {
56122987
DM
20883 "info" : {
20884 "GET" : {
7aacca6f 20885 "description" : "Scan remote iSCSI server.",
44660702
DM
20886 "method" : "GET",
20887 "name" : "iscsiscan",
20888 "parameters" : {
20889 "additionalProperties" : 0,
20890 "properties" : {
20891 "node" : {
20892 "description" : "The cluster node name.",
20893 "format" : "pve-node",
013dc89f
DM
20894 "type" : "string",
20895 "typetext" : "<string>"
44660702
DM
20896 },
20897 "portal" : {
20898 "format" : "pve-storage-portal-dns",
013dc89f
DM
20899 "type" : "string",
20900 "typetext" : "<string>"
44660702
DM
20901 }
20902 }
20903 },
56122987
DM
20904 "permissions" : {
20905 "check" : [
20906 "perm",
20907 "/storage",
20908 [
20909 "Datastore.Allocate"
20910 ]
20911 ]
20912 },
44660702
DM
20913 "protected" : 1,
20914 "proxyto" : "node",
56122987 20915 "returns" : {
56122987
DM
20916 "items" : {
20917 "properties" : {
44660702 20918 "portal" : {
56122987
DM
20919 "type" : "string"
20920 },
44660702 20921 "target" : {
56122987
DM
20922 "type" : "string"
20923 }
20924 },
20925 "type" : "object"
56122987 20926 },
44660702
DM
20927 "type" : "array"
20928 }
56122987
DM
20929 }
20930 },
44660702 20931 "leaf" : 1,
7aacca6f 20932 "path" : "/nodes/{node}/scan/iscsi",
44660702 20933 "text" : "iscsi"
56122987
DM
20934 },
20935 {
56122987
DM
20936 "info" : {
20937 "GET" : {
44660702
DM
20938 "description" : "List local LVM volume groups.",
20939 "method" : "GET",
20940 "name" : "lvmscan",
20941 "parameters" : {
20942 "additionalProperties" : 0,
20943 "properties" : {
20944 "node" : {
20945 "description" : "The cluster node name.",
20946 "format" : "pve-node",
013dc89f
DM
20947 "type" : "string",
20948 "typetext" : "<string>"
56122987 20949 }
7aacca6f 20950 }
56122987 20951 },
56122987
DM
20952 "permissions" : {
20953 "check" : [
20954 "perm",
20955 "/storage",
20956 [
20957 "Datastore.Allocate"
20958 ]
20959 ]
20960 },
7aacca6f 20961 "protected" : 1,
44660702
DM
20962 "proxyto" : "node",
20963 "returns" : {
20964 "items" : {
20965 "properties" : {
20966 "vg" : {
20967 "type" : "string"
20968 }
20969 },
20970 "type" : "object"
20971 },
20972 "type" : "array"
7aacca6f 20973 }
56122987
DM
20974 }
20975 },
20976 "leaf" : 1,
44660702
DM
20977 "path" : "/nodes/{node}/scan/lvm",
20978 "text" : "lvm"
56122987
DM
20979 },
20980 {
56122987
DM
20981 "info" : {
20982 "GET" : {
44660702
DM
20983 "description" : "List local LVM Thin Pools.",
20984 "method" : "GET",
20985 "name" : "lvmthinscan",
56122987 20986 "parameters" : {
44660702 20987 "additionalProperties" : 0,
56122987
DM
20988 "properties" : {
20989 "node" : {
44660702 20990 "description" : "The cluster node name.",
56122987 20991 "format" : "pve-node",
013dc89f
DM
20992 "type" : "string",
20993 "typetext" : "<string>"
56122987
DM
20994 },
20995 "vg" : {
44660702 20996 "maxLength" : 100,
56122987 20997 "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+",
44660702 20998 "type" : "string"
56122987 20999 }
44660702 21000 }
56122987 21001 },
7aacca6f
DM
21002 "permissions" : {
21003 "check" : [
21004 "perm",
21005 "/storage",
21006 [
21007 "Datastore.Allocate"
21008 ]
21009 ]
21010 },
44660702 21011 "protected" : 1,
7aacca6f 21012 "proxyto" : "node",
56122987 21013 "returns" : {
56122987
DM
21014 "items" : {
21015 "properties" : {
21016 "lv" : {
21017 "type" : "string"
21018 }
21019 },
21020 "type" : "object"
44660702
DM
21021 },
21022 "type" : "array"
7aacca6f 21023 }
56122987
DM
21024 }
21025 },
7aacca6f 21026 "leaf" : 1,
44660702
DM
21027 "path" : "/nodes/{node}/scan/lvmthin",
21028 "text" : "lvmthin"
56122987
DM
21029 },
21030 {
56122987
DM
21031 "info" : {
21032 "GET" : {
44660702
DM
21033 "description" : "List local USB devices.",
21034 "method" : "GET",
21035 "name" : "usbscan",
21036 "parameters" : {
21037 "additionalProperties" : 0,
21038 "properties" : {
21039 "node" : {
21040 "description" : "The cluster node name.",
21041 "format" : "pve-node",
013dc89f
DM
21042 "type" : "string",
21043 "typetext" : "<string>"
44660702
DM
21044 }
21045 }
21046 },
7aacca6f
DM
21047 "permissions" : {
21048 "check" : [
21049 "perm",
21050 "/",
21051 [
21052 "Sys.Modify"
21053 ]
21054 ]
21055 },
44660702 21056 "protected" : 1,
7aacca6f 21057 "proxyto" : "node",
56122987
DM
21058 "returns" : {
21059 "items" : {
21060 "properties" : {
44660702
DM
21061 "busnum" : {
21062 "type" : "integer"
56122987 21063 },
44660702
DM
21064 "class" : {
21065 "type" : "integer"
56122987 21066 },
7aacca6f 21067 "devnum" : {
56122987
DM
21068 "type" : "integer"
21069 },
44660702
DM
21070 "level" : {
21071 "type" : "integer"
21072 },
21073 "manufacturer" : {
21074 "optional" : 1,
7aacca6f
DM
21075 "type" : "string"
21076 },
44660702 21077 "port" : {
56122987
DM
21078 "type" : "integer"
21079 },
44660702
DM
21080 "prodid" : {
21081 "type" : "string"
56122987 21082 },
44660702
DM
21083 "product" : {
21084 "optional" : 1,
21085 "type" : "string"
21086 },
21087 "serial" : {
7aacca6f 21088 "optional" : 1,
56122987
DM
21089 "type" : "string"
21090 },
44660702 21091 "speed" : {
7aacca6f 21092 "type" : "string"
56122987 21093 },
44660702 21094 "usbpath" : {
56122987
DM
21095 "optional" : 1,
21096 "type" : "string"
21097 },
44660702
DM
21098 "vendid" : {
21099 "type" : "string"
56122987
DM
21100 }
21101 },
21102 "type" : "object"
7aacca6f
DM
21103 },
21104 "type" : "array"
44660702
DM
21105 }
21106 }
21107 },
21108 "leaf" : 1,
21109 "path" : "/nodes/{node}/scan/usb",
21110 "text" : "usb"
21111 }
21112 ],
21113 "info" : {
21114 "GET" : {
21115 "description" : "Index of available scan methods",
21116 "method" : "GET",
21117 "name" : "index",
21118 "parameters" : {
21119 "additionalProperties" : 0,
21120 "properties" : {
21121 "node" : {
21122 "description" : "The cluster node name.",
21123 "format" : "pve-node",
013dc89f
DM
21124 "type" : "string",
21125 "typetext" : "<string>"
44660702
DM
21126 }
21127 }
21128 },
21129 "permissions" : {
21130 "user" : "all"
21131 },
21132 "returns" : {
21133 "items" : {
21134 "properties" : {
21135 "method" : {
21136 "type" : "string"
56122987
DM
21137 }
21138 },
44660702
DM
21139 "type" : "object"
21140 },
21141 "links" : [
21142 {
21143 "href" : "{method}",
21144 "rel" : "child"
21145 }
21146 ],
21147 "type" : "array"
56122987
DM
21148 }
21149 }
44660702
DM
21150 },
21151 "leaf" : 0,
21152 "path" : "/nodes/{node}/scan",
7aacca6f 21153 "text" : "scan"
56122987
DM
21154 },
21155 {
56122987
DM
21156 "children" : [
21157 {
56122987
DM
21158 "children" : [
21159 {
7aacca6f
DM
21160 "children" : [
21161 {
21162 "info" : {
44660702
DM
21163 "DELETE" : {
21164 "description" : "Delete volume",
21165 "method" : "DELETE",
21166 "name" : "delete",
7aacca6f
DM
21167 "parameters" : {
21168 "additionalProperties" : 0,
21169 "properties" : {
7aacca6f
DM
21170 "node" : {
21171 "description" : "The cluster node name.",
44660702 21172 "format" : "pve-node",
013dc89f
DM
21173 "type" : "string",
21174 "typetext" : "<string>"
44660702
DM
21175 },
21176 "storage" : {
21177 "description" : "The storage identifier.",
21178 "format" : "pve-storage-id",
21179 "optional" : 1,
013dc89f
DM
21180 "type" : "string",
21181 "typetext" : "<string>"
7aacca6f
DM
21182 },
21183 "volume" : {
21184 "description" : "Volume identifier",
013dc89f
DM
21185 "type" : "string",
21186 "typetext" : "<string>"
7aacca6f
DM
21187 }
21188 }
21189 },
44660702
DM
21190 "permissions" : {
21191 "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
21192 "user" : "all"
21193 },
21194 "protected" : 1,
21195 "proxyto" : "node",
21196 "returns" : {
21197 "type" : "null"
21198 }
7aacca6f 21199 },
44660702
DM
21200 "GET" : {
21201 "description" : "Get volume attributes",
21202 "method" : "GET",
21203 "name" : "info",
7aacca6f
DM
21204 "parameters" : {
21205 "additionalProperties" : 0,
21206 "properties" : {
7aacca6f
DM
21207 "node" : {
21208 "description" : "The cluster node name.",
44660702 21209 "format" : "pve-node",
013dc89f
DM
21210 "type" : "string",
21211 "typetext" : "<string>"
7aacca6f
DM
21212 },
21213 "storage" : {
7aacca6f 21214 "description" : "The storage identifier.",
44660702 21215 "format" : "pve-storage-id",
7aacca6f 21216 "optional" : 1,
013dc89f
DM
21217 "type" : "string",
21218 "typetext" : "<string>"
44660702
DM
21219 },
21220 "volume" : {
21221 "description" : "Volume identifier",
013dc89f
DM
21222 "type" : "string",
21223 "typetext" : "<string>"
7aacca6f
DM
21224 }
21225 }
21226 },
7aacca6f 21227 "permissions" : {
44660702 21228 "description" : "You need read access for the volume.",
7aacca6f
DM
21229 "user" : "all"
21230 },
44660702 21231 "protected" : 1,
7aacca6f 21232 "proxyto" : "node",
7aacca6f 21233 "returns" : {
44660702 21234 "type" : "object"
7aacca6f
DM
21235 }
21236 },
21237 "POST" : {
44660702
DM
21238 "description" : "Copy a volume. This is experimental code - do not use.",
21239 "method" : "POST",
21240 "name" : "copy",
7aacca6f
DM
21241 "parameters" : {
21242 "additionalProperties" : 0,
21243 "properties" : {
44660702
DM
21244 "node" : {
21245 "description" : "The cluster node name.",
21246 "format" : "pve-node",
013dc89f
DM
21247 "type" : "string",
21248 "typetext" : "<string>"
44660702
DM
21249 },
21250 "storage" : {
21251 "description" : "The storage identifier.",
21252 "format" : "pve-storage-id",
21253 "optional" : 1,
013dc89f
DM
21254 "type" : "string",
21255 "typetext" : "<string>"
44660702 21256 },
7aacca6f 21257 "target" : {
44660702 21258 "description" : "Target volume identifier",
013dc89f
DM
21259 "type" : "string",
21260 "typetext" : "<string>"
7aacca6f
DM
21261 },
21262 "target_node" : {
7aacca6f 21263 "description" : "Target node. Default is local node.",
44660702
DM
21264 "format" : "pve-node",
21265 "optional" : 1,
013dc89f
DM
21266 "type" : "string",
21267 "typetext" : "<string>"
7aacca6f
DM
21268 },
21269 "volume" : {
44660702 21270 "description" : "Source volume identifier",
013dc89f
DM
21271 "type" : "string",
21272 "typetext" : "<string>"
7aacca6f
DM
21273 }
21274 }
21275 },
7aacca6f
DM
21276 "protected" : 1,
21277 "proxyto" : "node",
21278 "returns" : {
21279 "type" : "string"
44660702 21280 }
7aacca6f
DM
21281 }
21282 },
7aacca6f 21283 "leaf" : 1,
44660702
DM
21284 "path" : "/nodes/{node}/storage/{storage}/content/{volume}",
21285 "text" : "{volume}"
7aacca6f
DM
21286 }
21287 ],
56122987
DM
21288 "info" : {
21289 "GET" : {
44660702
DM
21290 "description" : "List storage content.",
21291 "method" : "GET",
21292 "name" : "index",
21293 "parameters" : {
21294 "additionalProperties" : 0,
21295 "properties" : {
21296 "content" : {
21297 "description" : "Only list content of this type.",
21298 "format" : "pve-storage-content",
21299 "optional" : 1,
013dc89f
DM
21300 "type" : "string",
21301 "typetext" : "<string>"
44660702
DM
21302 },
21303 "node" : {
21304 "description" : "The cluster node name.",
21305 "format" : "pve-node",
013dc89f
DM
21306 "type" : "string",
21307 "typetext" : "<string>"
44660702
DM
21308 },
21309 "storage" : {
21310 "description" : "The storage identifier.",
21311 "format" : "pve-storage-id",
013dc89f
DM
21312 "type" : "string",
21313 "typetext" : "<string>"
44660702
DM
21314 },
21315 "vmid" : {
21316 "description" : "Only list images for this VM",
21317 "format" : "pve-vmid",
21318 "minimum" : 1,
21319 "optional" : 1,
4bd7df8b 21320 "type" : "integer",
013dc89f 21321 "typetext" : "<integer> (1 - N)"
44660702
DM
21322 }
21323 }
21324 },
7aacca6f
DM
21325 "permissions" : {
21326 "check" : [
21327 "perm",
21328 "/storage/{storage}",
21329 [
21330 "Datastore.Audit",
21331 "Datastore.AllocateSpace"
21332 ],
21333 "any",
21334 1
21335 ]
21336 },
44660702 21337 "protected" : 1,
7aacca6f 21338 "proxyto" : "node",
56122987 21339 "returns" : {
44660702
DM
21340 "items" : {
21341 "properties" : {
21342 "volid" : {
21343 "type" : "string"
21344 }
21345 },
21346 "type" : "object"
21347 },
21348 "links" : [
21349 {
21350 "href" : "{volid}",
21351 "rel" : "child"
21352 }
21353 ],
21354 "type" : "array"
21355 }
21356 },
21357 "POST" : {
21358 "description" : "Allocate disk images.",
21359 "method" : "POST",
21360 "name" : "create",
56122987 21361 "parameters" : {
44660702 21362 "additionalProperties" : 0,
56122987 21363 "properties" : {
44660702
DM
21364 "filename" : {
21365 "description" : "The name of the file to create.",
013dc89f
DM
21366 "type" : "string",
21367 "typetext" : "<string>"
44660702
DM
21368 },
21369 "format" : {
21370 "enum" : [
21371 "raw",
21372 "qcow2",
21373 "subvol"
21374 ],
21375 "optional" : 1,
21376 "requires" : "size",
21377 "type" : "string"
21378 },
21379 "node" : {
21380 "description" : "The cluster node name.",
21381 "format" : "pve-node",
013dc89f
DM
21382 "type" : "string",
21383 "typetext" : "<string>"
44660702
DM
21384 },
21385 "size" : {
21386 "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
21387 "pattern" : "\\d+[MG]?",
21388 "type" : "string"
21389 },
56122987
DM
21390 "storage" : {
21391 "description" : "The storage identifier.",
44660702 21392 "format" : "pve-storage-id",
013dc89f
DM
21393 "type" : "string",
21394 "typetext" : "<string>"
56122987 21395 },
44660702
DM
21396 "vmid" : {
21397 "description" : "Specify owner VM",
21398 "format" : "pve-vmid",
21399 "minimum" : 1,
4bd7df8b 21400 "type" : "integer",
013dc89f 21401 "typetext" : "<integer> (1 - N)"
44660702
DM
21402 }
21403 }
21404 },
21405 "permissions" : {
21406 "check" : [
21407 "perm",
21408 "/storage/{storage}",
21409 [
21410 "Datastore.AllocateSpace"
21411 ]
21412 ]
21413 },
21414 "protected" : 1,
21415 "proxyto" : "node",
21416 "returns" : {
21417 "description" : "Volume identifier",
21418 "type" : "string"
21419 }
21420 }
21421 },
21422 "leaf" : 0,
21423 "path" : "/nodes/{node}/storage/{storage}/content",
21424 "text" : "content"
21425 },
21426 {
21427 "info" : {
21428 "GET" : {
21429 "description" : "Read storage status.",
21430 "method" : "GET",
21431 "name" : "read_status",
21432 "parameters" : {
21433 "additionalProperties" : 0,
21434 "properties" : {
56122987
DM
21435 "node" : {
21436 "description" : "The cluster node name.",
44660702 21437 "format" : "pve-node",
013dc89f
DM
21438 "type" : "string",
21439 "typetext" : "<string>"
44660702
DM
21440 },
21441 "storage" : {
21442 "description" : "The storage identifier.",
21443 "format" : "pve-storage-id",
013dc89f
DM
21444 "type" : "string",
21445 "typetext" : "<string>"
56122987 21446 }
44660702
DM
21447 }
21448 },
21449 "permissions" : {
21450 "check" : [
21451 "perm",
21452 "/storage/{storage}",
21453 [
21454 "Datastore.Audit",
21455 "Datastore.AllocateSpace"
21456 ],
21457 "any",
21458 1
21459 ]
56122987
DM
21460 },
21461 "protected" : 1,
44660702
DM
21462 "proxyto" : "node",
21463 "returns" : {
21464 "properties" : {},
21465 "type" : "object"
21466 }
56122987
DM
21467 }
21468 },
44660702
DM
21469 "leaf" : 1,
21470 "path" : "/nodes/{node}/storage/{storage}/status",
7aacca6f 21471 "text" : "status"
56122987
DM
21472 },
21473 {
56122987
DM
21474 "info" : {
21475 "GET" : {
44660702
DM
21476 "description" : "Read storage RRD statistics (returns PNG).",
21477 "method" : "GET",
21478 "name" : "rrd",
56122987 21479 "parameters" : {
44660702 21480 "additionalProperties" : 0,
56122987 21481 "properties" : {
44660702
DM
21482 "cf" : {
21483 "description" : "The RRD consolidation function",
21484 "enum" : [
21485 "AVERAGE",
21486 "MAX"
21487 ],
21488 "optional" : 1,
21489 "type" : "string"
21490 },
7aacca6f 21491 "ds" : {
7aacca6f 21492 "description" : "The list of datasources you want to display.",
44660702 21493 "format" : "pve-configid-list",
013dc89f
DM
21494 "type" : "string",
21495 "typetext" : "<string>"
56122987 21496 },
7aacca6f
DM
21497 "node" : {
21498 "description" : "The cluster node name.",
44660702 21499 "format" : "pve-node",
013dc89f
DM
21500 "type" : "string",
21501 "typetext" : "<string>"
56122987 21502 },
7aacca6f 21503 "storage" : {
7aacca6f 21504 "description" : "The storage identifier.",
44660702 21505 "format" : "pve-storage-id",
013dc89f
DM
21506 "type" : "string",
21507 "typetext" : "<string>"
44660702
DM
21508 },
21509 "timeframe" : {
21510 "description" : "Specify the time frame you are interested in.",
7aacca6f 21511 "enum" : [
44660702
DM
21512 "hour",
21513 "day",
21514 "week",
21515 "month",
21516 "year"
7aacca6f 21517 ],
44660702 21518 "type" : "string"
56122987 21519 }
44660702 21520 }
56122987
DM
21521 },
21522 "permissions" : {
21523 "check" : [
21524 "perm",
21525 "/storage/{storage}",
21526 [
21527 "Datastore.Audit",
21528 "Datastore.AllocateSpace"
21529 ],
21530 "any",
21531 1
21532 ]
21533 },
44660702
DM
21534 "protected" : 1,
21535 "proxyto" : "node",
7aacca6f
DM
21536 "returns" : {
21537 "properties" : {
21538 "filename" : {
21539 "type" : "string"
21540 }
21541 },
21542 "type" : "object"
21543 }
56122987
DM
21544 }
21545 },
21546 "leaf" : 1,
44660702
DM
21547 "path" : "/nodes/{node}/storage/{storage}/rrd",
21548 "text" : "rrd"
56122987
DM
21549 },
21550 {
56122987
DM
21551 "info" : {
21552 "GET" : {
44660702
DM
21553 "description" : "Read storage RRD statistics.",
21554 "method" : "GET",
21555 "name" : "rrddata",
56122987 21556 "parameters" : {
44660702 21557 "additionalProperties" : 0,
56122987 21558 "properties" : {
44660702
DM
21559 "cf" : {
21560 "description" : "The RRD consolidation function",
21561 "enum" : [
21562 "AVERAGE",
21563 "MAX"
21564 ],
21565 "optional" : 1,
21566 "type" : "string"
21567 },
7aacca6f 21568 "node" : {
7aacca6f 21569 "description" : "The cluster node name.",
44660702 21570 "format" : "pve-node",
013dc89f
DM
21571 "type" : "string",
21572 "typetext" : "<string>"
44660702
DM
21573 },
21574 "storage" : {
21575 "description" : "The storage identifier.",
21576 "format" : "pve-storage-id",
013dc89f
DM
21577 "type" : "string",
21578 "typetext" : "<string>"
7aacca6f 21579 },
56122987 21580 "timeframe" : {
7aacca6f 21581 "description" : "Specify the time frame you are interested in.",
56122987
DM
21582 "enum" : [
21583 "hour",
21584 "day",
21585 "week",
21586 "month",
21587 "year"
56122987 21588 ],
44660702 21589 "type" : "string"
56122987 21590 }
44660702 21591 }
7aacca6f 21592 },
7aacca6f
DM
21593 "permissions" : {
21594 "check" : [
21595 "perm",
21596 "/storage/{storage}",
21597 [
21598 "Datastore.Audit",
21599 "Datastore.AllocateSpace"
21600 ],
21601 "any",
21602 1
21603 ]
21604 },
44660702
DM
21605 "protected" : 1,
21606 "proxyto" : "node",
7aacca6f
DM
21607 "returns" : {
21608 "items" : {
44660702
DM
21609 "properties" : {},
21610 "type" : "object"
7aacca6f
DM
21611 },
21612 "type" : "array"
56122987
DM
21613 }
21614 }
7aacca6f 21615 },
7aacca6f 21616 "leaf" : 1,
44660702
DM
21617 "path" : "/nodes/{node}/storage/{storage}/rrddata",
21618 "text" : "rrddata"
56122987
DM
21619 },
21620 {
56122987
DM
21621 "info" : {
21622 "POST" : {
7aacca6f 21623 "description" : "Upload templates and ISO images.",
44660702
DM
21624 "method" : "POST",
21625 "name" : "upload",
56122987 21626 "parameters" : {
7aacca6f 21627 "additionalProperties" : 0,
56122987 21628 "properties" : {
56122987 21629 "content" : {
7aacca6f 21630 "description" : "Content type.",
44660702 21631 "format" : "pve-storage-content",
013dc89f
DM
21632 "type" : "string",
21633 "typetext" : "<string>"
56122987
DM
21634 },
21635 "filename" : {
44660702 21636 "description" : "The name of the file to create.",
013dc89f
DM
21637 "type" : "string",
21638 "typetext" : "<string>"
56122987
DM
21639 },
21640 "node" : {
21641 "description" : "The cluster node name.",
44660702 21642 "format" : "pve-node",
013dc89f
DM
21643 "type" : "string",
21644 "typetext" : "<string>"
44660702
DM
21645 },
21646 "storage" : {
21647 "description" : "The storage identifier.",
21648 "format" : "pve-storage-id",
013dc89f
DM
21649 "type" : "string",
21650 "typetext" : "<string>"
44660702
DM
21651 },
21652 "tmpfilename" : {
21653 "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.",
21654 "optional" : 1,
013dc89f
DM
21655 "type" : "string",
21656 "typetext" : "<string>"
56122987 21657 }
7aacca6f 21658 }
56122987 21659 },
56122987
DM
21660 "permissions" : {
21661 "check" : [
21662 "perm",
21663 "/storage/{storage}",
21664 [
21665 "Datastore.AllocateTemplate"
21666 ]
21667 ]
44660702
DM
21668 },
21669 "protected" : 1,
21670 "returns" : {
21671 "type" : "string"
21672 }
21673 }
21674 },
21675 "leaf" : 1,
21676 "path" : "/nodes/{node}/storage/{storage}/upload",
21677 "text" : "upload"
21678 }
21679 ],
21680 "info" : {
21681 "GET" : {
21682 "description" : "",
21683 "method" : "GET",
21684 "name" : "diridx",
21685 "parameters" : {
21686 "additionalProperties" : 0,
21687 "properties" : {
21688 "node" : {
21689 "description" : "The cluster node name.",
21690 "format" : "pve-node",
013dc89f
DM
21691 "type" : "string",
21692 "typetext" : "<string>"
44660702
DM
21693 },
21694 "storage" : {
21695 "description" : "The storage identifier.",
21696 "format" : "pve-storage-id",
013dc89f
DM
21697 "type" : "string",
21698 "typetext" : "<string>"
56122987
DM
21699 }
21700 }
44660702
DM
21701 },
21702 "permissions" : {
21703 "check" : [
21704 "perm",
21705 "/storage/{storage}",
21706 [
21707 "Datastore.Audit",
21708 "Datastore.AllocateSpace"
21709 ],
21710 "any",
21711 1
21712 ]
21713 },
21714 "returns" : {
21715 "items" : {
21716 "properties" : {
21717 "subdir" : {
21718 "type" : "string"
21719 }
21720 },
21721 "type" : "object"
21722 },
21723 "links" : [
21724 {
21725 "href" : "{subdir}",
21726 "rel" : "child"
21727 }
21728 ],
21729 "type" : "array"
56122987
DM
21730 }
21731 }
44660702
DM
21732 },
21733 "leaf" : 0,
21734 "path" : "/nodes/{node}/storage/{storage}",
21735 "text" : "{storage}"
56122987
DM
21736 }
21737 ],
56122987
DM
21738 "info" : {
21739 "GET" : {
44660702
DM
21740 "description" : "Get status for all datastores.",
21741 "method" : "GET",
21742 "name" : "index",
21743 "parameters" : {
21744 "additionalProperties" : 0,
21745 "properties" : {
21746 "content" : {
21747 "description" : "Only list stores which support this content type.",
21748 "format" : "pve-storage-content-list",
21749 "optional" : 1,
013dc89f
DM
21750 "type" : "string",
21751 "typetext" : "<string>"
44660702
DM
21752 },
21753 "enabled" : {
21754 "default" : 0,
21755 "description" : "Only list stores which are enabled (not disabled in config).",
21756 "optional" : 1,
013dc89f
DM
21757 "type" : "boolean",
21758 "typetext" : "<boolean>"
44660702
DM
21759 },
21760 "node" : {
21761 "description" : "The cluster node name.",
21762 "format" : "pve-node",
013dc89f
DM
21763 "type" : "string",
21764 "typetext" : "<string>"
44660702
DM
21765 },
21766 "storage" : {
21767 "description" : "Only list status for specified storage",
21768 "format" : "pve-storage-id",
21769 "optional" : 1,
013dc89f
DM
21770 "type" : "string",
21771 "typetext" : "<string>"
44660702
DM
21772 },
21773 "target" : {
21774 "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
21775 "format" : "pve-node",
21776 "optional" : 1,
013dc89f
DM
21777 "type" : "string",
21778 "typetext" : "<string>"
44660702
DM
21779 }
21780 }
21781 },
7aacca6f
DM
21782 "permissions" : {
21783 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
21784 "user" : "all"
21785 },
44660702 21786 "protected" : 1,
7aacca6f 21787 "proxyto" : "node",
56122987
DM
21788 "returns" : {
21789 "items" : {
56122987
DM
21790 "properties" : {
21791 "storage" : {
21792 "type" : "string"
21793 }
44660702
DM
21794 },
21795 "type" : "object"
56122987 21796 },
56122987
DM
21797 "links" : [
21798 {
7aacca6f
DM
21799 "href" : "{storage}",
21800 "rel" : "child"
56122987 21801 }
44660702
DM
21802 ],
21803 "type" : "array"
21804 }
56122987 21805 }
44660702
DM
21806 },
21807 "leaf" : 0,
21808 "path" : "/nodes/{node}/storage",
21809 "text" : "storage"
56122987 21810 },
2c0dde61
DM
21811 {
21812 "children" : [
21813 {
21814 "info" : {
21815 "GET" : {
21816 "description" : "List local disks.",
21817 "method" : "GET",
21818 "name" : "list",
21819 "parameters" : {
21820 "additionalProperties" : 0,
21821 "properties" : {
21822 "node" : {
21823 "description" : "The cluster node name.",
21824 "format" : "pve-node",
013dc89f
DM
21825 "type" : "string",
21826 "typetext" : "<string>"
2c0dde61
DM
21827 }
21828 }
21829 },
21830 "permissions" : {
21831 "check" : [
21832 "perm",
21833 "/",
21834 [
21835 "Sys.Audit",
21836 "Datastore.Audit"
21837 ],
21838 "any",
21839 1
21840 ]
21841 },
21842 "protected" : 1,
21843 "proxyto" : "node",
21844 "returns" : {
21845 "items" : {
21846 "properties" : {
21847 "devpath" : {
21848 "description" : "The device path",
21849 "type" : "string"
21850 },
21851 "gpt" : {
21852 "type" : "boolean"
21853 },
21854 "health" : {
21855 "optional" : 1,
21856 "type" : "string"
21857 },
21858 "model" : {
21859 "optional" : 1,
21860 "type" : "string"
21861 },
21862 "osdid" : {
21863 "type" : "integer"
21864 },
21865 "serial" : {
21866 "optional" : 1,
21867 "type" : "string"
21868 },
21869 "size" : {
21870 "type" : "integer"
21871 },
21872 "used" : {
21873 "optional" : 1,
21874 "type" : "string"
21875 },
21876 "vendor" : {
21877 "optional" : 1,
21878 "type" : "string"
21879 },
21880 "wwn" : {
21881 "optional" : 1,
21882 "type" : "string"
21883 }
21884 },
21885 "type" : "object"
21886 },
21887 "type" : "array"
21888 }
21889 }
21890 },
21891 "leaf" : 1,
21892 "path" : "/nodes/{node}/disks/list",
21893 "text" : "list"
21894 },
21895 {
21896 "info" : {
21897 "GET" : {
21898 "description" : "Get SMART Health of a disk.",
21899 "method" : "GET",
21900 "name" : "smart",
21901 "parameters" : {
21902 "additionalProperties" : 0,
21903 "properties" : {
21904 "disk" : {
21905 "description" : "Block device name",
21906 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21907 "type" : "string"
21908 },
21909 "healthonly" : {
21910 "description" : "If true returns only the health status",
21911 "optional" : 1,
013dc89f
DM
21912 "type" : "boolean",
21913 "typetext" : "<boolean>"
2c0dde61
DM
21914 },
21915 "node" : {
21916 "description" : "The cluster node name.",
21917 "format" : "pve-node",
013dc89f
DM
21918 "type" : "string",
21919 "typetext" : "<string>"
2c0dde61
DM
21920 }
21921 }
21922 },
21923 "permissions" : {
21924 "check" : [
21925 "perm",
21926 "/",
21927 [
21928 "Sys.Audit",
21929 "Datastore.Audit"
21930 ],
21931 "any",
21932 1
21933 ]
21934 },
21935 "protected" : 1,
21936 "proxyto" : "node",
21937 "returns" : {
de0983cb
DM
21938 "properties" : {
21939 "attributes" : {
21940 "optional" : 1,
21941 "type" : "array"
21942 },
21943 "health" : {
21944 "type" : "string"
21945 },
21946 "text" : {
21947 "optional" : 1,
21948 "type" : "string"
21949 },
21950 "type" : {
21951 "optional" : 1,
21952 "type" : "string"
21953 }
21954 },
2c0dde61
DM
21955 "type" : "object"
21956 }
21957 }
21958 },
21959 "leaf" : 1,
21960 "path" : "/nodes/{node}/disks/smart",
21961 "text" : "smart"
21962 },
21963 {
21964 "info" : {
21965 "POST" : {
21966 "description" : "Initialize Disk with GPT",
21967 "method" : "POST",
21968 "name" : "initgpt",
21969 "parameters" : {
21970 "additionalProperties" : 0,
21971 "properties" : {
21972 "disk" : {
21973 "description" : "Block device name",
21974 "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
21975 "type" : "string"
21976 },
21977 "node" : {
21978 "description" : "The cluster node name.",
21979 "format" : "pve-node",
013dc89f
DM
21980 "type" : "string",
21981 "typetext" : "<string>"
2c0dde61
DM
21982 },
21983 "uuid" : {
21984 "description" : "UUID for the GPT table",
21985 "maxLength" : 36,
21986 "optional" : 1,
21987 "pattern" : "[a-fA-F0-9\\-]+",
21988 "type" : "string"
21989 }
21990 }
21991 },
21992 "permissions" : {
21993 "check" : [
21994 "perm",
21995 "/",
21996 [
21997 "Sys.Modify"
21998 ]
21999 ]
22000 },
22001 "protected" : 1,
22002 "proxyto" : "node",
22003 "returns" : {
22004 "type" : "string"
22005 }
22006 }
22007 },
22008 "leaf" : 1,
22009 "path" : "/nodes/{node}/disks/initgpt",
22010 "text" : "initgpt"
22011 }
22012 ],
22013 "info" : {
22014 "GET" : {
22015 "description" : "Node index.",
22016 "method" : "GET",
22017 "name" : "index",
22018 "parameters" : {
22019 "additionalProperties" : 0,
22020 "properties" : {
22021 "node" : {
22022 "description" : "The cluster node name.",
22023 "format" : "pve-node",
013dc89f
DM
22024 "type" : "string",
22025 "typetext" : "<string>"
2c0dde61
DM
22026 }
22027 }
22028 },
22029 "permissions" : {
22030 "user" : "all"
22031 },
22032 "proxyto" : "node",
22033 "returns" : {
22034 "items" : {
22035 "properties" : {},
22036 "type" : "object"
22037 },
22038 "links" : [
22039 {
22040 "href" : "{name}",
22041 "rel" : "child"
22042 }
22043 ],
22044 "type" : "array"
22045 }
22046 }
22047 },
22048 "leaf" : 0,
22049 "path" : "/nodes/{node}/disks",
22050 "text" : "disks"
22051 },
56122987 22052 {
56122987
DM
22053 "children" : [
22054 {
22055 "info" : {
44660702
DM
22056 "GET" : {
22057 "description" : "List available updates.",
22058 "method" : "GET",
22059 "name" : "list_updates",
22060 "parameters" : {
22061 "additionalProperties" : 0,
22062 "properties" : {
22063 "node" : {
22064 "description" : "The cluster node name.",
22065 "format" : "pve-node",
013dc89f
DM
22066 "type" : "string",
22067 "typetext" : "<string>"
44660702
DM
22068 }
22069 }
7aacca6f
DM
22070 },
22071 "permissions" : {
22072 "check" : [
22073 "perm",
22074 "/nodes/{node}",
22075 [
22076 "Sys.Modify"
22077 ]
22078 ]
22079 },
44660702 22080 "protected" : 1,
56122987 22081 "proxyto" : "node",
44660702
DM
22082 "returns" : {
22083 "items" : {
22084 "properties" : {},
22085 "type" : "object"
22086 },
22087 "type" : "array"
22088 }
22089 },
22090 "POST" : {
22091 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
7aacca6f
DM
22092 "method" : "POST",
22093 "name" : "update_database",
56122987
DM
22094 "parameters" : {
22095 "additionalProperties" : 0,
22096 "properties" : {
44660702
DM
22097 "node" : {
22098 "description" : "The cluster node name.",
22099 "format" : "pve-node",
013dc89f
DM
22100 "type" : "string",
22101 "typetext" : "<string>"
44660702 22102 },
56122987 22103 "notify" : {
56122987 22104 "default" : 0,
44660702
DM
22105 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
22106 "optional" : 1,
013dc89f
DM
22107 "type" : "boolean",
22108 "typetext" : "<boolean>"
56122987
DM
22109 },
22110 "quiet" : {
56122987 22111 "default" : 0,
44660702 22112 "description" : "Only produces output suitable for logging, omitting progress indicators.",
56122987 22113 "optional" : 1,
013dc89f
DM
22114 "type" : "boolean",
22115 "typetext" : "<boolean>"
56122987 22116 }
7aacca6f
DM
22117 }
22118 },
22119 "permissions" : {
22120 "check" : [
22121 "perm",
22122 "/nodes/{node}",
22123 [
22124 "Sys.Modify"
22125 ]
22126 ]
22127 },
44660702
DM
22128 "protected" : 1,
22129 "proxyto" : "node",
22130 "returns" : {
22131 "type" : "string"
22132 }
56122987
DM
22133 }
22134 },
7aacca6f 22135 "leaf" : 1,
44660702
DM
22136 "path" : "/nodes/{node}/apt/update",
22137 "text" : "update"
56122987
DM
22138 },
22139 {
56122987
DM
22140 "info" : {
22141 "GET" : {
44660702 22142 "description" : "Get package changelogs.",
56122987 22143 "method" : "GET",
7aacca6f 22144 "name" : "changelog",
56122987 22145 "parameters" : {
44660702 22146 "additionalProperties" : 0,
56122987
DM
22147 "properties" : {
22148 "name" : {
22149 "description" : "Package name.",
013dc89f
DM
22150 "type" : "string",
22151 "typetext" : "<string>"
56122987 22152 },
44660702
DM
22153 "node" : {
22154 "description" : "The cluster node name.",
22155 "format" : "pve-node",
013dc89f
DM
22156 "type" : "string",
22157 "typetext" : "<string>"
44660702 22158 },
56122987 22159 "version" : {
7aacca6f 22160 "description" : "Package version.",
44660702 22161 "optional" : 1,
013dc89f
DM
22162 "type" : "string",
22163 "typetext" : "<string>"
56122987 22164 }
44660702 22165 }
56122987 22166 },
44660702
DM
22167 "permissions" : {
22168 "check" : [
22169 "perm",
22170 "/nodes/{node}",
22171 [
22172 "Sys.Modify"
22173 ]
22174 ]
22175 },
22176 "proxyto" : "node",
22177 "returns" : {
22178 "type" : "string"
22179 }
56122987
DM
22180 }
22181 },
44660702
DM
22182 "leaf" : 1,
22183 "path" : "/nodes/{node}/apt/changelog",
7aacca6f 22184 "text" : "changelog"
56122987
DM
22185 },
22186 {
56122987
DM
22187 "info" : {
22188 "GET" : {
44660702
DM
22189 "description" : "Get package information for important Proxmox packages.",
22190 "method" : "GET",
7aacca6f
DM
22191 "name" : "versions",
22192 "parameters" : {
44660702 22193 "additionalProperties" : 0,
7aacca6f
DM
22194 "properties" : {
22195 "node" : {
44660702 22196 "description" : "The cluster node name.",
7aacca6f 22197 "format" : "pve-node",
013dc89f
DM
22198 "type" : "string",
22199 "typetext" : "<string>"
7aacca6f 22200 }
44660702 22201 }
7aacca6f 22202 },
56122987
DM
22203 "permissions" : {
22204 "check" : [
22205 "perm",
22206 "/nodes/{node}",
22207 [
22208 "Sys.Audit"
22209 ]
22210 ]
22211 },
7aacca6f 22212 "proxyto" : "node",
56122987
DM
22213 "returns" : {
22214 "items" : {
7aacca6f
DM
22215 "properties" : {},
22216 "type" : "object"
44660702
DM
22217 },
22218 "type" : "array"
56122987
DM
22219 }
22220 }
22221 },
44660702 22222 "leaf" : 1,
7aacca6f 22223 "path" : "/nodes/{node}/apt/versions",
44660702 22224 "text" : "versions"
56122987
DM
22225 }
22226 ],
56122987
DM
22227 "info" : {
22228 "GET" : {
44660702 22229 "description" : "Directory index for apt (Advanced Package Tool).",
7aacca6f 22230 "method" : "GET",
44660702 22231 "name" : "index",
7aacca6f
DM
22232 "parameters" : {
22233 "additionalProperties" : 0,
22234 "properties" : {
22235 "node" : {
44660702 22236 "description" : "The cluster node name.",
7aacca6f 22237 "format" : "pve-node",
013dc89f
DM
22238 "type" : "string",
22239 "typetext" : "<string>"
7aacca6f
DM
22240 }
22241 }
22242 },
7aacca6f
DM
22243 "permissions" : {
22244 "user" : "all"
22245 },
44660702
DM
22246 "returns" : {
22247 "items" : {
22248 "properties" : {
22249 "id" : {
22250 "type" : "string"
22251 }
22252 },
22253 "type" : "object"
22254 },
22255 "links" : [
22256 {
22257 "href" : "{id}",
22258 "rel" : "child"
22259 }
22260 ],
22261 "type" : "array"
22262 }
56122987 22263 }
7aacca6f 22264 },
44660702 22265 "leaf" : 0,
7aacca6f 22266 "path" : "/nodes/{node}/apt",
44660702 22267 "text" : "apt"
56122987
DM
22268 },
22269 {
56122987
DM
22270 "children" : [
22271 {
22272 "children" : [
22273 {
56122987
DM
22274 "info" : {
22275 "DELETE" : {
44660702 22276 "description" : "Delete rule.",
7aacca6f 22277 "method" : "DELETE",
44660702 22278 "name" : "delete_rule",
56122987
DM
22279 "parameters" : {
22280 "additionalProperties" : 0,
22281 "properties" : {
56122987
DM
22282 "digest" : {
22283 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
44660702 22284 "maxLength" : 40,
56122987 22285 "optional" : 1,
013dc89f
DM
22286 "type" : "string",
22287 "typetext" : "<string>"
56122987 22288 },
44660702
DM
22289 "node" : {
22290 "description" : "The cluster node name.",
22291 "format" : "pve-node",
013dc89f
DM
22292 "type" : "string",
22293 "typetext" : "<string>"
44660702 22294 },
7aacca6f 22295 "pos" : {
7aacca6f 22296 "description" : "Update rule at position <pos>.",
44660702
DM
22297 "minimum" : 0,
22298 "optional" : 1,
4bd7df8b 22299 "type" : "integer",
013dc89f 22300 "typetext" : "<integer> (0 - N)"
56122987
DM
22301 }
22302 }
22303 },
44660702
DM
22304 "permissions" : {
22305 "check" : [
22306 "perm",
22307 "/nodes/{node}",
22308 [
22309 "Sys.Modify"
22310 ]
22311 ]
22312 },
22313 "protected" : 1,
22314 "proxyto" : "node",
56122987
DM
22315 "returns" : {
22316 "type" : "null"
44660702
DM
22317 }
22318 },
22319 "GET" : {
22320 "description" : "Get single rule data.",
22321 "method" : "GET",
22322 "name" : "get_rule",
22323 "parameters" : {
22324 "additionalProperties" : 0,
22325 "properties" : {
22326 "node" : {
22327 "description" : "The cluster node name.",
22328 "format" : "pve-node",
013dc89f
DM
22329 "type" : "string",
22330 "typetext" : "<string>"
44660702
DM
22331 },
22332 "pos" : {
22333 "description" : "Update rule at position <pos>.",
22334 "minimum" : 0,
22335 "optional" : 1,
4bd7df8b 22336 "type" : "integer",
013dc89f 22337 "typetext" : "<integer> (0 - N)"
44660702
DM
22338 }
22339 }
56122987 22340 },
56122987
DM
22341 "permissions" : {
22342 "check" : [
22343 "perm",
22344 "/nodes/{node}",
22345 [
44660702 22346 "Sys.Audit"
56122987
DM
22347 ]
22348 ]
44660702
DM
22349 },
22350 "proxyto" : "node",
22351 "returns" : {
22352 "properties" : {
22353 "pos" : {
22354 "type" : "integer"
22355 }
22356 },
22357 "type" : "object"
7aacca6f 22358 }
56122987
DM
22359 },
22360 "PUT" : {
44660702
DM
22361 "description" : "Modify rule data.",
22362 "method" : "PUT",
56122987 22363 "name" : "update_rule",
56122987 22364 "parameters" : {
44660702 22365 "additionalProperties" : 0,
56122987 22366 "properties" : {
44660702
DM
22367 "action" : {
22368 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
22369 "maxLength" : 20,
22370 "minLength" : 2,
56122987 22371 "optional" : 1,
44660702
DM
22372 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22373 "type" : "string"
56122987 22374 },
7aacca6f 22375 "comment" : {
e94f0d56 22376 "description" : "Descriptive comment.",
56122987 22377 "optional" : 1,
013dc89f
DM
22378 "type" : "string",
22379 "typetext" : "<string>"
56122987 22380 },
44660702
DM
22381 "delete" : {
22382 "description" : "A list of settings you want to delete.",
22383 "format" : "pve-configid-list",
56122987 22384 "optional" : 1,
013dc89f
DM
22385 "type" : "string",
22386 "typetext" : "<string>"
56122987 22387 },
44660702
DM
22388 "dest" : {
22389 "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.",
22390 "format" : "pve-fw-addr-spec",
56122987 22391 "optional" : 1,
013dc89f
DM
22392 "type" : "string",
22393 "typetext" : "<string>"
56122987 22394 },
44660702
DM
22395 "digest" : {
22396 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22397 "maxLength" : 40,
56122987 22398 "optional" : 1,
013dc89f
DM
22399 "type" : "string",
22400 "typetext" : "<string>"
56122987 22401 },
7aacca6f 22402 "dport" : {
7aacca6f 22403 "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
22404 "format" : "pve-fw-dport-spec",
22405 "optional" : 1,
013dc89f
DM
22406 "type" : "string",
22407 "typetext" : "<string>"
7aacca6f 22408 },
44660702 22409 "enable" : {
e94f0d56 22410 "description" : "Flag to enable/disable a rule.",
44660702 22411 "minimum" : 0,
56122987 22412 "optional" : 1,
4bd7df8b 22413 "type" : "integer",
013dc89f 22414 "typetext" : "<integer> (0 - N)"
56122987 22415 },
7aacca6f 22416 "iface" : {
44660702 22417 "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 22418 "format" : "pve-iface",
44660702 22419 "maxLength" : 20,
56122987 22420 "minLength" : 2,
44660702 22421 "optional" : 1,
013dc89f
DM
22422 "type" : "string",
22423 "typetext" : "<string>"
56122987 22424 },
44660702 22425 "macro" : {
e94f0d56 22426 "description" : "Use predefined standard macro.",
44660702
DM
22427 "maxLength" : 128,
22428 "optional" : 1,
013dc89f
DM
22429 "type" : "string",
22430 "typetext" : "<string>"
44660702
DM
22431 },
22432 "moveto" : {
22433 "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
22434 "minimum" : 0,
7aacca6f 22435 "optional" : 1,
4bd7df8b 22436 "type" : "integer",
013dc89f 22437 "typetext" : "<integer> (0 - N)"
44660702
DM
22438 },
22439 "node" : {
22440 "description" : "The cluster node name.",
22441 "format" : "pve-node",
013dc89f
DM
22442 "type" : "string",
22443 "typetext" : "<string>"
56122987
DM
22444 },
22445 "pos" : {
44660702 22446 "description" : "Update rule at position <pos>.",
7aacca6f 22447 "minimum" : 0,
7aacca6f 22448 "optional" : 1,
4bd7df8b 22449 "type" : "integer",
013dc89f 22450 "typetext" : "<integer> (0 - N)"
7aacca6f 22451 },
44660702
DM
22452 "proto" : {
22453 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22454 "format" : "pve-fw-protocol-spec",
7aacca6f 22455 "optional" : 1,
013dc89f
DM
22456 "type" : "string",
22457 "typetext" : "<string>"
7aacca6f 22458 },
44660702
DM
22459 "source" : {
22460 "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.",
22461 "format" : "pve-fw-addr-spec",
56122987 22462 "optional" : 1,
013dc89f
DM
22463 "type" : "string",
22464 "typetext" : "<string>"
7aacca6f 22465 },
44660702
DM
22466 "sport" : {
22467 "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.",
22468 "format" : "pve-fw-sport-spec",
22469 "optional" : 1,
013dc89f
DM
22470 "type" : "string",
22471 "typetext" : "<string>"
44660702
DM
22472 },
22473 "type" : {
e94f0d56 22474 "description" : "Rule type.",
44660702
DM
22475 "enum" : [
22476 "in",
22477 "out",
22478 "group"
22479 ],
22480 "optional" : 1,
22481 "type" : "string"
56122987 22482 }
44660702 22483 }
56122987 22484 },
56122987
DM
22485 "permissions" : {
22486 "check" : [
22487 "perm",
22488 "/nodes/{node}",
22489 [
22490 "Sys.Modify"
22491 ]
22492 ]
7aacca6f 22493 },
44660702 22494 "protected" : 1,
7aacca6f 22495 "proxyto" : "node",
7aacca6f
DM
22496 "returns" : {
22497 "type" : "null"
56122987
DM
22498 }
22499 }
7aacca6f 22500 },
44660702 22501 "leaf" : 1,
7aacca6f 22502 "path" : "/nodes/{node}/firewall/rules/{pos}",
44660702 22503 "text" : "{pos}"
56122987
DM
22504 }
22505 ],
56122987
DM
22506 "info" : {
22507 "GET" : {
44660702
DM
22508 "description" : "List rules.",
22509 "method" : "GET",
22510 "name" : "get_rules",
22511 "parameters" : {
22512 "additionalProperties" : 0,
22513 "properties" : {
22514 "node" : {
22515 "description" : "The cluster node name.",
22516 "format" : "pve-node",
013dc89f
DM
22517 "type" : "string",
22518 "typetext" : "<string>"
44660702
DM
22519 }
22520 }
22521 },
22522 "permissions" : {
22523 "check" : [
22524 "perm",
22525 "/nodes/{node}",
22526 [
22527 "Sys.Audit"
22528 ]
22529 ]
22530 },
22531 "proxyto" : "node",
56122987 22532 "returns" : {
56122987
DM
22533 "items" : {
22534 "properties" : {
22535 "pos" : {
22536 "type" : "integer"
22537 }
44660702
DM
22538 },
22539 "type" : "object"
56122987 22540 },
7aacca6f
DM
22541 "links" : [
22542 {
22543 "href" : "{pos}",
22544 "rel" : "child"
22545 }
22546 ],
22547 "type" : "array"
44660702 22548 }
56122987
DM
22549 },
22550 "POST" : {
44660702 22551 "description" : "Create new rule.",
7aacca6f
DM
22552 "method" : "POST",
22553 "name" : "create_rule",
56122987 22554 "parameters" : {
44660702 22555 "additionalProperties" : 0,
56122987 22556 "properties" : {
7aacca6f 22557 "action" : {
7aacca6f 22558 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
44660702 22559 "maxLength" : 20,
7aacca6f
DM
22560 "minLength" : 2,
22561 "optional" : 0,
44660702
DM
22562 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
22563 "type" : "string"
56122987 22564 },
44660702 22565 "comment" : {
e94f0d56 22566 "description" : "Descriptive comment.",
56122987 22567 "optional" : 1,
013dc89f
DM
22568 "type" : "string",
22569 "typetext" : "<string>"
56122987 22570 },
44660702
DM
22571 "dest" : {
22572 "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.",
22573 "format" : "pve-fw-addr-spec",
7aacca6f 22574 "optional" : 1,
013dc89f
DM
22575 "type" : "string",
22576 "typetext" : "<string>"
56122987 22577 },
44660702
DM
22578 "digest" : {
22579 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22580 "maxLength" : 40,
22581 "optional" : 1,
013dc89f
DM
22582 "type" : "string",
22583 "typetext" : "<string>"
56122987 22584 },
44660702
DM
22585 "dport" : {
22586 "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.",
22587 "format" : "pve-fw-dport-spec",
7aacca6f 22588 "optional" : 1,
013dc89f
DM
22589 "type" : "string",
22590 "typetext" : "<string>"
56122987 22591 },
44660702 22592 "enable" : {
e94f0d56 22593 "description" : "Flag to enable/disable a rule.",
44660702
DM
22594 "minimum" : 0,
22595 "optional" : 1,
4bd7df8b 22596 "type" : "integer",
013dc89f 22597 "typetext" : "<integer> (0 - N)"
44660702 22598 },
7aacca6f 22599 "iface" : {
44660702 22600 "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 22601 "format" : "pve-iface",
56122987 22602 "maxLength" : 20,
7aacca6f 22603 "minLength" : 2,
7aacca6f 22604 "optional" : 1,
013dc89f
DM
22605 "type" : "string",
22606 "typetext" : "<string>"
56122987 22607 },
44660702 22608 "macro" : {
e94f0d56 22609 "description" : "Use predefined standard macro.",
44660702 22610 "maxLength" : 128,
7aacca6f 22611 "optional" : 1,
013dc89f
DM
22612 "type" : "string",
22613 "typetext" : "<string>"
56122987 22614 },
44660702
DM
22615 "node" : {
22616 "description" : "The cluster node name.",
22617 "format" : "pve-node",
013dc89f
DM
22618 "type" : "string",
22619 "typetext" : "<string>"
44660702
DM
22620 },
22621 "pos" : {
22622 "description" : "Update rule at position <pos>.",
22623 "minimum" : 0,
22624 "optional" : 1,
4bd7df8b 22625 "type" : "integer",
013dc89f 22626 "typetext" : "<integer> (0 - N)"
44660702
DM
22627 },
22628 "proto" : {
22629 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
22630 "format" : "pve-fw-protocol-spec",
56122987 22631 "optional" : 1,
013dc89f
DM
22632 "type" : "string",
22633 "typetext" : "<string>"
56122987 22634 },
7aacca6f 22635 "source" : {
7aacca6f 22636 "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
22637 "format" : "pve-fw-addr-spec",
22638 "optional" : 1,
013dc89f
DM
22639 "type" : "string",
22640 "typetext" : "<string>"
7aacca6f 22641 },
44660702
DM
22642 "sport" : {
22643 "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.",
22644 "format" : "pve-fw-sport-spec",
7aacca6f 22645 "optional" : 1,
013dc89f
DM
22646 "type" : "string",
22647 "typetext" : "<string>"
44660702
DM
22648 },
22649 "type" : {
e94f0d56 22650 "description" : "Rule type.",
44660702
DM
22651 "enum" : [
22652 "in",
22653 "out",
22654 "group"
22655 ],
22656 "optional" : 0,
22657 "type" : "string"
56122987 22658 }
44660702 22659 }
7aacca6f 22660 },
56122987
DM
22661 "permissions" : {
22662 "check" : [
22663 "perm",
22664 "/nodes/{node}",
22665 [
22666 "Sys.Modify"
22667 ]
22668 ]
22669 },
44660702
DM
22670 "protected" : 1,
22671 "proxyto" : "node",
22672 "returns" : {
22673 "type" : "null"
22674 }
56122987
DM
22675 }
22676 },
44660702 22677 "leaf" : 0,
7aacca6f 22678 "path" : "/nodes/{node}/firewall/rules",
44660702 22679 "text" : "rules"
56122987
DM
22680 },
22681 {
56122987 22682 "info" : {
44660702
DM
22683 "GET" : {
22684 "description" : "Get host firewall options.",
22685 "method" : "GET",
22686 "name" : "get_options",
56122987 22687 "parameters" : {
7aacca6f 22688 "additionalProperties" : 0,
56122987 22689 "properties" : {
44660702
DM
22690 "node" : {
22691 "description" : "The cluster node name.",
22692 "format" : "pve-node",
013dc89f
DM
22693 "type" : "string",
22694 "typetext" : "<string>"
44660702
DM
22695 }
22696 }
22697 },
22698 "permissions" : {
22699 "check" : [
22700 "perm",
22701 "/nodes/{node}",
22702 [
22703 "Sys.Audit"
22704 ]
22705 ]
22706 },
22707 "proxyto" : "node",
22708 "returns" : {
22709 "properties" : {
22710 "enable" : {
22711 "description" : "Enable host firewall rules.",
7aacca6f 22712 "optional" : 1,
44660702 22713 "type" : "boolean"
7aacca6f 22714 },
44660702
DM
22715 "log_level_in" : {
22716 "description" : "Log level for incoming traffic.",
56122987
DM
22717 "enum" : [
22718 "emerg",
22719 "alert",
22720 "crit",
22721 "err",
22722 "warning",
22723 "notice",
22724 "info",
22725 "debug",
22726 "nolog"
22727 ],
56122987 22728 "optional" : 1,
44660702
DM
22729 "type" : "string"
22730 },
22731 "log_level_out" : {
22732 "description" : "Log level for outgoing traffic.",
56122987
DM
22733 "enum" : [
22734 "emerg",
22735 "alert",
22736 "crit",
22737 "err",
22738 "warning",
22739 "notice",
22740 "info",
22741 "debug",
22742 "nolog"
22743 ],
44660702
DM
22744 "optional" : 1,
22745 "type" : "string"
22746 },
22747 "ndp" : {
22748 "description" : "Enable NDP.",
22749 "optional" : 1,
22750 "type" : "boolean"
22751 },
22752 "nf_conntrack_max" : {
22753 "description" : "Maximum number of tracked connections.",
22754 "minimum" : 32768,
22755 "optional" : 1,
22756 "type" : "integer"
22757 },
22758 "nf_conntrack_tcp_timeout_established" : {
22759 "description" : "Conntrack established timeout.",
22760 "minimum" : 7875,
22761 "optional" : 1,
22762 "type" : "integer"
22763 },
22764 "nosmurfs" : {
22765 "description" : "Enable SMURFS filter.",
22766 "optional" : 1,
22767 "type" : "boolean"
56122987 22768 },
7aacca6f 22769 "smurf_log_level" : {
44660702 22770 "description" : "Log level for SMURFS filter.",
56122987
DM
22771 "enum" : [
22772 "emerg",
22773 "alert",
22774 "crit",
22775 "err",
22776 "warning",
22777 "notice",
22778 "info",
22779 "debug",
22780 "nolog"
7aacca6f 22781 ],
7aacca6f
DM
22782 "optional" : 1,
22783 "type" : "string"
56122987 22784 },
44660702
DM
22785 "tcp_flags_log_level" : {
22786 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
22787 "enum" : [
22788 "emerg",
22789 "alert",
22790 "crit",
22791 "err",
22792 "warning",
22793 "notice",
22794 "info",
22795 "debug",
22796 "nolog"
22797 ],
44660702
DM
22798 "optional" : 1,
22799 "type" : "string"
7aacca6f 22800 },
44660702
DM
22801 "tcpflags" : {
22802 "description" : "Filter illegal combinations of TCP flags.",
56122987 22803 "optional" : 1,
44660702 22804 "type" : "boolean"
56122987 22805 }
44660702
DM
22806 },
22807 "type" : "object"
7aacca6f 22808 }
56122987 22809 },
44660702
DM
22810 "PUT" : {
22811 "description" : "Set Firewall options.",
22812 "method" : "PUT",
22813 "name" : "set_options",
7aacca6f 22814 "parameters" : {
44660702 22815 "additionalProperties" : 0,
7aacca6f 22816 "properties" : {
44660702
DM
22817 "delete" : {
22818 "description" : "A list of settings you want to delete.",
22819 "format" : "pve-configid-list",
7aacca6f 22820 "optional" : 1,
013dc89f
DM
22821 "type" : "string",
22822 "typetext" : "<string>"
56122987 22823 },
44660702
DM
22824 "digest" : {
22825 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
22826 "maxLength" : 40,
22827 "optional" : 1,
013dc89f
DM
22828 "type" : "string",
22829 "typetext" : "<string>"
56122987 22830 },
44660702
DM
22831 "enable" : {
22832 "description" : "Enable host firewall rules.",
7aacca6f 22833 "optional" : 1,
013dc89f
DM
22834 "type" : "boolean",
22835 "typetext" : "<boolean>"
44660702
DM
22836 },
22837 "log_level_in" : {
22838 "description" : "Log level for incoming traffic.",
56122987
DM
22839 "enum" : [
22840 "emerg",
22841 "alert",
22842 "crit",
22843 "err",
22844 "warning",
22845 "notice",
22846 "info",
22847 "debug",
22848 "nolog"
44660702 22849 ],
7aacca6f 22850 "optional" : 1,
44660702 22851 "type" : "string"
7aacca6f 22852 },
44660702
DM
22853 "log_level_out" : {
22854 "description" : "Log level for outgoing traffic.",
56122987
DM
22855 "enum" : [
22856 "emerg",
22857 "alert",
22858 "crit",
22859 "err",
22860 "warning",
22861 "notice",
22862 "info",
22863 "debug",
22864 "nolog"
22865 ],
22866 "optional" : 1,
7aacca6f 22867 "type" : "string"
56122987 22868 },
44660702
DM
22869 "ndp" : {
22870 "description" : "Enable NDP.",
7aacca6f 22871 "optional" : 1,
013dc89f
DM
22872 "type" : "boolean",
22873 "typetext" : "<boolean>"
44660702
DM
22874 },
22875 "nf_conntrack_max" : {
22876 "description" : "Maximum number of tracked connections.",
22877 "minimum" : 32768,
22878 "optional" : 1,
4bd7df8b 22879 "type" : "integer",
013dc89f 22880 "typetext" : "<integer> (32768 - N)"
44660702
DM
22881 },
22882 "nf_conntrack_tcp_timeout_established" : {
22883 "description" : "Conntrack established timeout.",
22884 "minimum" : 7875,
22885 "optional" : 1,
4bd7df8b 22886 "type" : "integer",
013dc89f 22887 "typetext" : "<integer> (7875 - N)"
44660702
DM
22888 },
22889 "node" : {
22890 "description" : "The cluster node name.",
22891 "format" : "pve-node",
013dc89f
DM
22892 "type" : "string",
22893 "typetext" : "<string>"
44660702
DM
22894 },
22895 "nosmurfs" : {
22896 "description" : "Enable SMURFS filter.",
22897 "optional" : 1,
013dc89f
DM
22898 "type" : "boolean",
22899 "typetext" : "<boolean>"
44660702
DM
22900 },
22901 "smurf_log_level" : {
22902 "description" : "Log level for SMURFS filter.",
56122987
DM
22903 "enum" : [
22904 "emerg",
22905 "alert",
22906 "crit",
22907 "err",
22908 "warning",
22909 "notice",
22910 "info",
22911 "debug",
22912 "nolog"
44660702
DM
22913 ],
22914 "optional" : 1,
22915 "type" : "string"
56122987 22916 },
44660702
DM
22917 "tcp_flags_log_level" : {
22918 "description" : "Log level for illegal tcp flags filter.",
56122987
DM
22919 "enum" : [
22920 "emerg",
22921 "alert",
22922 "crit",
22923 "err",
22924 "warning",
22925 "notice",
22926 "info",
22927 "debug",
22928 "nolog"
22929 ],
44660702
DM
22930 "optional" : 1,
22931 "type" : "string"
7aacca6f 22932 },
44660702
DM
22933 "tcpflags" : {
22934 "description" : "Filter illegal combinations of TCP flags.",
56122987 22935 "optional" : 1,
013dc89f
DM
22936 "type" : "boolean",
22937 "typetext" : "<boolean>"
56122987 22938 }
7aacca6f 22939 }
56122987 22940 },
44660702
DM
22941 "permissions" : {
22942 "check" : [
22943 "perm",
22944 "/nodes/{node}",
22945 [
22946 "Sys.Modify"
22947 ]
22948 ]
22949 },
22950 "protected" : 1,
22951 "proxyto" : "node",
22952 "returns" : {
22953 "type" : "null"
22954 }
7aacca6f
DM
22955 }
22956 },
44660702
DM
22957 "leaf" : 1,
22958 "path" : "/nodes/{node}/firewall/options",
7aacca6f
DM
22959 "text" : "options"
22960 },
22961 {
7aacca6f
DM
22962 "info" : {
22963 "GET" : {
44660702
DM
22964 "description" : "Read firewall log",
22965 "method" : "GET",
7aacca6f 22966 "name" : "log",
56122987 22967 "parameters" : {
44660702 22968 "additionalProperties" : 0,
56122987 22969 "properties" : {
7aacca6f 22970 "limit" : {
44660702 22971 "minimum" : 0,
7aacca6f 22972 "optional" : 1,
4bd7df8b 22973 "type" : "integer",
013dc89f 22974 "typetext" : "<integer> (0 - N)"
7aacca6f 22975 },
56122987 22976 "node" : {
7aacca6f 22977 "description" : "The cluster node name.",
44660702 22978 "format" : "pve-node",
013dc89f
DM
22979 "type" : "string",
22980 "typetext" : "<string>"
44660702
DM
22981 },
22982 "start" : {
22983 "minimum" : 0,
22984 "optional" : 1,
4bd7df8b 22985 "type" : "integer",
013dc89f 22986 "typetext" : "<integer> (0 - N)"
56122987 22987 }
44660702 22988 }
7aacca6f 22989 },
56122987
DM
22990 "permissions" : {
22991 "check" : [
22992 "perm",
22993 "/nodes/{node}",
22994 [
22995 "Sys.Syslog"
22996 ]
22997 ]
22998 },
44660702
DM
22999 "protected" : 1,
23000 "proxyto" : "node",
56122987
DM
23001 "returns" : {
23002 "items" : {
56122987 23003 "properties" : {
56122987 23004 "n" : {
44660702
DM
23005 "description" : "Line number",
23006 "type" : "integer"
7aacca6f
DM
23007 },
23008 "t" : {
44660702
DM
23009 "description" : "Line text",
23010 "type" : "string"
56122987 23011 }
44660702
DM
23012 },
23013 "type" : "object"
56122987
DM
23014 },
23015 "type" : "array"
7aacca6f 23016 }
56122987
DM
23017 }
23018 },
44660702
DM
23019 "leaf" : 1,
23020 "path" : "/nodes/{node}/firewall/log",
7aacca6f 23021 "text" : "log"
56122987
DM
23022 }
23023 ],
23024 "info" : {
23025 "GET" : {
44660702
DM
23026 "description" : "Directory index.",
23027 "method" : "GET",
23028 "name" : "index",
56122987 23029 "parameters" : {
44660702 23030 "additionalProperties" : 0,
56122987
DM
23031 "properties" : {
23032 "node" : {
23033 "description" : "The cluster node name.",
44660702 23034 "format" : "pve-node",
013dc89f
DM
23035 "type" : "string",
23036 "typetext" : "<string>"
56122987 23037 }
44660702 23038 }
56122987 23039 },
7aacca6f
DM
23040 "permissions" : {
23041 "user" : "all"
23042 },
56122987
DM
23043 "returns" : {
23044 "items" : {
23045 "properties" : {},
23046 "type" : "object"
23047 },
56122987
DM
23048 "links" : [
23049 {
44660702
DM
23050 "href" : "{name}",
23051 "rel" : "child"
56122987 23052 }
44660702
DM
23053 ],
23054 "type" : "array"
23055 }
56122987 23056 }
7aacca6f 23057 },
44660702 23058 "leaf" : 0,
7aacca6f 23059 "path" : "/nodes/{node}/firewall",
44660702 23060 "text" : "firewall"
56122987 23061 },
5d9c884c
DM
23062 {
23063 "children" : [
23064 {
23065 "children" : [
23066 {
23067 "info" : {
23068 "GET" : {
23069 "description" : "Get replication job status.",
23070 "method" : "GET",
23071 "name" : "job_status",
23072 "parameters" : {
23073 "additionalProperties" : 0,
23074 "properties" : {
23075 "id" : {
23076 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23077 "format" : "pve-replication-job-id",
23078 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23079 "type" : "string"
23080 },
23081 "node" : {
23082 "description" : "The cluster node name.",
23083 "format" : "pve-node",
23084 "type" : "string",
23085 "typetext" : "<string>"
23086 }
23087 }
23088 },
23089 "permissions" : {
23090 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
23091 "user" : "all"
23092 },
23093 "protected" : 1,
23094 "proxyto" : "node",
23095 "returns" : {
23096 "properties" : {},
23097 "type" : "object"
23098 }
23099 }
23100 },
23101 "leaf" : 1,
23102 "path" : "/nodes/{node}/replication/{id}/status",
23103 "text" : "status"
23104 },
23105 {
23106 "info" : {
23107 "GET" : {
23108 "description" : "Read replication job log.",
23109 "method" : "GET",
23110 "name" : "read_job_log",
23111 "parameters" : {
23112 "additionalProperties" : 0,
23113 "properties" : {
23114 "id" : {
23115 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23116 "format" : "pve-replication-job-id",
23117 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23118 "type" : "string"
23119 },
23120 "limit" : {
23121 "minimum" : 0,
23122 "optional" : 1,
23123 "type" : "integer",
23124 "typetext" : "<integer> (0 - N)"
23125 },
23126 "node" : {
23127 "description" : "The cluster node name.",
23128 "format" : "pve-node",
23129 "type" : "string",
23130 "typetext" : "<string>"
23131 },
23132 "start" : {
23133 "minimum" : 0,
23134 "optional" : 1,
23135 "type" : "integer",
23136 "typetext" : "<integer> (0 - N)"
23137 }
23138 }
23139 },
23140 "permissions" : {
23141 "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
23142 "user" : "all"
23143 },
23144 "protected" : 1,
23145 "proxyto" : "node",
23146 "returns" : {
23147 "items" : {
23148 "properties" : {
23149 "n" : {
23150 "description" : "Line number",
23151 "type" : "integer"
23152 },
23153 "t" : {
23154 "description" : "Line text",
23155 "type" : "string"
23156 }
23157 },
23158 "type" : "object"
23159 },
23160 "type" : "array"
23161 }
23162 }
23163 },
23164 "leaf" : 1,
23165 "path" : "/nodes/{node}/replication/{id}/log",
23166 "text" : "log"
23167 },
23168 {
23169 "info" : {
23170 "POST" : {
23171 "description" : "Schedule replication job to start as soon as possible.",
23172 "method" : "POST",
23173 "name" : "schedule_now",
23174 "parameters" : {
23175 "additionalProperties" : 0,
23176 "properties" : {
23177 "id" : {
23178 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23179 "format" : "pve-replication-job-id",
23180 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23181 "type" : "string"
23182 },
23183 "node" : {
23184 "description" : "The cluster node name.",
23185 "format" : "pve-node",
23186 "type" : "string",
23187 "typetext" : "<string>"
23188 }
23189 }
23190 },
23191 "permissions" : {
23192 "check" : [
23193 "perm",
23194 "/storage",
23195 [
23196 "Datastore.Allocate"
23197 ]
23198 ]
23199 },
23200 "protected" : 1,
23201 "proxyto" : "node",
23202 "returns" : {
23203 "type" : "string"
23204 }
23205 }
23206 },
23207 "leaf" : 1,
23208 "path" : "/nodes/{node}/replication/{id}/schedule_now",
23209 "text" : "schedule_now"
23210 }
23211 ],
23212 "info" : {
23213 "GET" : {
23214 "description" : "Directory index.",
23215 "method" : "GET",
23216 "name" : "index",
23217 "parameters" : {
23218 "additionalProperties" : 0,
23219 "properties" : {
23220 "id" : {
23221 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
23222 "format" : "pve-replication-job-id",
23223 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
23224 "type" : "string"
23225 },
23226 "node" : {
23227 "description" : "The cluster node name.",
23228 "format" : "pve-node",
23229 "type" : "string",
23230 "typetext" : "<string>"
23231 }
23232 }
23233 },
23234 "permissions" : {
23235 "user" : "all"
23236 },
23237 "returns" : {
23238 "items" : {
23239 "properties" : {},
23240 "type" : "object"
23241 },
23242 "links" : [
23243 {
23244 "href" : "{name}",
23245 "rel" : "child"
23246 }
23247 ],
23248 "type" : "array"
23249 }
23250 }
23251 },
23252 "leaf" : 0,
23253 "path" : "/nodes/{node}/replication/{id}",
23254 "text" : "{id}"
23255 }
23256 ],
23257 "info" : {
23258 "GET" : {
23259 "description" : "List status of all replication jobs on this node.",
23260 "method" : "GET",
23261 "name" : "status",
23262 "parameters" : {
23263 "additionalProperties" : 0,
23264 "properties" : {
23265 "guest" : {
23266 "description" : "Only list replication jobs for this guest.",
23267 "format" : "pve-vmid",
23268 "minimum" : 1,
23269 "optional" : 1,
23270 "type" : "integer",
23271 "typetext" : "<integer> (1 - N)"
23272 },
23273 "node" : {
23274 "description" : "The cluster node name.",
23275 "format" : "pve-node",
23276 "type" : "string",
23277 "typetext" : "<string>"
23278 }
23279 }
23280 },
23281 "permissions" : {
23282 "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
23283 "user" : "all"
23284 },
23285 "protected" : 1,
23286 "proxyto" : "node",
23287 "returns" : {
23288 "items" : {
23289 "properties" : {
23290 "id" : {
23291 "type" : "string"
23292 }
23293 },
23294 "type" : "object"
23295 },
23296 "links" : [
23297 {
23298 "href" : "{id}",
23299 "rel" : "child"
23300 }
23301 ],
23302 "type" : "array"
23303 }
23304 }
23305 },
23306 "leaf" : 0,
23307 "path" : "/nodes/{node}/replication",
23308 "text" : "replication"
23309 },
56122987 23310 {
56122987
DM
23311 "info" : {
23312 "GET" : {
44660702
DM
23313 "description" : "API version details",
23314 "method" : "GET",
23315 "name" : "version",
56122987 23316 "parameters" : {
44660702 23317 "additionalProperties" : 0,
56122987
DM
23318 "properties" : {
23319 "node" : {
56122987 23320 "description" : "The cluster node name.",
44660702 23321 "format" : "pve-node",
013dc89f
DM
23322 "type" : "string",
23323 "typetext" : "<string>"
56122987 23324 }
44660702 23325 }
56122987 23326 },
56122987 23327 "permissions" : {
7aacca6f 23328 "user" : "all"
56122987 23329 },
56122987 23330 "proxyto" : "node",
56122987 23331 "returns" : {
56122987 23332 "properties" : {
44660702 23333 "release" : {
56122987
DM
23334 "type" : "string"
23335 },
44660702 23336 "repoid" : {
7aacca6f
DM
23337 "type" : "string"
23338 },
23339 "version" : {
23340 "type" : "string"
23341 }
44660702
DM
23342 },
23343 "type" : "object"
7aacca6f 23344 }
56122987
DM
23345 }
23346 },
56122987 23347 "leaf" : 1,
44660702
DM
23348 "path" : "/nodes/{node}/version",
23349 "text" : "version"
56122987
DM
23350 },
23351 {
56122987
DM
23352 "info" : {
23353 "GET" : {
7aacca6f 23354 "description" : "Read node status",
44660702 23355 "method" : "GET",
7aacca6f 23356 "name" : "status",
56122987 23357 "parameters" : {
44660702 23358 "additionalProperties" : 0,
56122987
DM
23359 "properties" : {
23360 "node" : {
7aacca6f 23361 "description" : "The cluster node name.",
44660702 23362 "format" : "pve-node",
013dc89f
DM
23363 "type" : "string",
23364 "typetext" : "<string>"
56122987 23365 }
44660702 23366 }
56122987 23367 },
56122987
DM
23368 "permissions" : {
23369 "check" : [
23370 "perm",
23371 "/nodes/{node}",
23372 [
23373 "Sys.Audit"
23374 ]
23375 ]
44660702
DM
23376 },
23377 "proxyto" : "node",
23378 "returns" : {
23379 "properties" : {},
23380 "type" : "object"
7aacca6f
DM
23381 }
23382 },
23383 "POST" : {
44660702
DM
23384 "description" : "Reboot or shutdown a node.",
23385 "method" : "POST",
7aacca6f 23386 "name" : "node_cmd",
56122987 23387 "parameters" : {
44660702 23388 "additionalProperties" : 0,
56122987 23389 "properties" : {
7aacca6f
DM
23390 "command" : {
23391 "description" : "Specify the command.",
56122987 23392 "enum" : [
7aacca6f
DM
23393 "reboot",
23394 "shutdown"
56122987
DM
23395 ],
23396 "type" : "string"
44660702
DM
23397 },
23398 "node" : {
23399 "description" : "The cluster node name.",
23400 "format" : "pve-node",
013dc89f
DM
23401 "type" : "string",
23402 "typetext" : "<string>"
56122987 23403 }
44660702 23404 }
7aacca6f 23405 },
7aacca6f
DM
23406 "permissions" : {
23407 "check" : [
23408 "perm",
23409 "/nodes/{node}",
23410 [
23411 "Sys.PowerMgmt"
23412 ]
23413 ]
23414 },
44660702 23415 "protected" : 1,
7aacca6f 23416 "proxyto" : "node",
7aacca6f
DM
23417 "returns" : {
23418 "type" : "null"
56122987
DM
23419 }
23420 }
23421 },
7aacca6f 23422 "leaf" : 1,
44660702
DM
23423 "path" : "/nodes/{node}/status",
23424 "text" : "status"
56122987
DM
23425 },
23426 {
56122987
DM
23427 "info" : {
23428 "GET" : {
44660702
DM
23429 "description" : "Read tap/vm network device interface counters",
23430 "method" : "GET",
23431 "name" : "netstat",
23432 "parameters" : {
23433 "additionalProperties" : 0,
23434 "properties" : {
23435 "node" : {
23436 "description" : "The cluster node name.",
23437 "format" : "pve-node",
013dc89f
DM
23438 "type" : "string",
23439 "typetext" : "<string>"
44660702 23440 }
56122987
DM
23441 }
23442 },
23443 "permissions" : {
23444 "check" : [
23445 "perm",
23446 "/nodes/{node}",
23447 [
7aacca6f 23448 "Sys.Audit"
56122987
DM
23449 ]
23450 ]
23451 },
7aacca6f 23452 "proxyto" : "node",
44660702
DM
23453 "returns" : {
23454 "items" : {
23455 "properties" : {},
23456 "type" : "object"
23457 },
23458 "type" : "array"
23459 }
7aacca6f
DM
23460 }
23461 },
44660702
DM
23462 "leaf" : 1,
23463 "path" : "/nodes/{node}/netstat",
7aacca6f
DM
23464 "text" : "netstat"
23465 },
23466 {
23467 "info" : {
23468 "POST" : {
7aacca6f 23469 "description" : "Execute multiple commands in order.",
7aacca6f 23470 "method" : "POST",
7aacca6f 23471 "name" : "execute",
56122987
DM
23472 "parameters" : {
23473 "additionalProperties" : 0,
23474 "properties" : {
7aacca6f
DM
23475 "commands" : {
23476 "description" : "JSON encoded array of commands.",
013dc89f
DM
23477 "type" : "string",
23478 "typetext" : "<string>"
56122987
DM
23479 },
23480 "node" : {
44660702 23481 "description" : "The cluster node name.",
56122987 23482 "format" : "pve-node",
013dc89f
DM
23483 "type" : "string",
23484 "typetext" : "<string>"
56122987
DM
23485 }
23486 }
44660702
DM
23487 },
23488 "permissions" : {
23489 "check" : [
23490 "perm",
23491 "/nodes/{node}",
23492 [
23493 "Sys.Audit"
23494 ]
23495 ]
23496 },
23497 "protected" : 1,
23498 "proxyto" : "node",
23499 "returns" : {
23500 "properties" : {},
23501 "type" : "array"
56122987
DM
23502 }
23503 }
23504 },
56122987 23505 "leaf" : 1,
44660702
DM
23506 "path" : "/nodes/{node}/execute",
23507 "text" : "execute"
56122987
DM
23508 },
23509 {
23510 "info" : {
7aacca6f 23511 "GET" : {
44660702
DM
23512 "description" : "Read node RRD statistics (returns PNG)",
23513 "method" : "GET",
7aacca6f 23514 "name" : "rrd",
56122987 23515 "parameters" : {
7aacca6f 23516 "additionalProperties" : 0,
56122987 23517 "properties" : {
44660702
DM
23518 "cf" : {
23519 "description" : "The RRD consolidation function",
23520 "enum" : [
23521 "AVERAGE",
23522 "MAX"
23523 ],
23524 "optional" : 1,
23525 "type" : "string"
23526 },
7aacca6f 23527 "ds" : {
7aacca6f 23528 "description" : "The list of datasources you want to display.",
44660702 23529 "format" : "pve-configid-list",
013dc89f
DM
23530 "type" : "string",
23531 "typetext" : "<string>"
44660702
DM
23532 },
23533 "node" : {
23534 "description" : "The cluster node name.",
23535 "format" : "pve-node",
013dc89f
DM
23536 "type" : "string",
23537 "typetext" : "<string>"
7aacca6f
DM
23538 },
23539 "timeframe" : {
23540 "description" : "Specify the time frame you are interested in.",
23541 "enum" : [
23542 "hour",
23543 "day",
23544 "week",
23545 "month",
23546 "year"
23547 ],
23548 "type" : "string"
56122987 23549 }
7aacca6f 23550 }
56122987 23551 },
56122987 23552 "permissions" : {
56122987
DM
23553 "check" : [
23554 "perm",
23555 "/nodes/{node}",
23556 [
7aacca6f 23557 "Sys.Audit"
56122987
DM
23558 ]
23559 ]
23560 },
7aacca6f 23561 "protected" : 1,
56122987 23562 "returns" : {
56122987 23563 "properties" : {
7aacca6f 23564 "filename" : {
56122987
DM
23565 "type" : "string"
23566 }
44660702
DM
23567 },
23568 "type" : "object"
23569 }
56122987
DM
23570 }
23571 },
44660702 23572 "leaf" : 1,
7aacca6f 23573 "path" : "/nodes/{node}/rrd",
44660702 23574 "text" : "rrd"
56122987
DM
23575 },
23576 {
23577 "info" : {
7aacca6f 23578 "GET" : {
44660702
DM
23579 "description" : "Read node RRD statistics",
23580 "method" : "GET",
7aacca6f 23581 "name" : "rrddata",
56122987 23582 "parameters" : {
44660702 23583 "additionalProperties" : 0,
56122987 23584 "properties" : {
7aacca6f 23585 "cf" : {
7aacca6f
DM
23586 "description" : "The RRD consolidation function",
23587 "enum" : [
23588 "AVERAGE",
23589 "MAX"
44660702
DM
23590 ],
23591 "optional" : 1,
23592 "type" : "string"
56122987
DM
23593 },
23594 "node" : {
44660702 23595 "description" : "The cluster node name.",
56122987 23596 "format" : "pve-node",
013dc89f
DM
23597 "type" : "string",
23598 "typetext" : "<string>"
56122987 23599 },
7aacca6f 23600 "timeframe" : {
7aacca6f
DM
23601 "description" : "Specify the time frame you are interested in.",
23602 "enum" : [
23603 "hour",
23604 "day",
23605 "week",
23606 "month",
23607 "year"
44660702
DM
23608 ],
23609 "type" : "string"
56122987 23610 }
56122987
DM
23611 }
23612 },
56122987
DM
23613 "permissions" : {
23614 "check" : [
23615 "perm",
23616 "/nodes/{node}",
23617 [
44660702 23618 "Sys.Audit"
56122987
DM
23619 ]
23620 ]
7aacca6f 23621 },
44660702 23622 "protected" : 1,
56122987 23623 "returns" : {
7aacca6f 23624 "items" : {
44660702 23625 "properties" : {},
7aacca6f
DM
23626 "type" : "object"
23627 },
23628 "type" : "array"
44660702
DM
23629 }
23630 }
23631 },
23632 "leaf" : 1,
23633 "path" : "/nodes/{node}/rrddata",
23634 "text" : "rrddata"
23635 },
23636 {
23637 "info" : {
23638 "GET" : {
23639 "description" : "Read system log",
23640 "method" : "GET",
23641 "name" : "syslog",
56122987 23642 "parameters" : {
44660702 23643 "additionalProperties" : 0,
56122987 23644 "properties" : {
44660702
DM
23645 "limit" : {
23646 "minimum" : 0,
7aacca6f 23647 "optional" : 1,
4bd7df8b 23648 "type" : "integer",
013dc89f 23649 "typetext" : "<integer> (0 - N)"
7aacca6f 23650 },
56122987 23651 "node" : {
7aacca6f 23652 "description" : "The cluster node name.",
44660702 23653 "format" : "pve-node",
013dc89f
DM
23654 "type" : "string",
23655 "typetext" : "<string>"
56122987 23656 },
44660702
DM
23657 "since" : {
23658 "description" : "Display all log since this date-time string.",
23659 "optional" : 1,
23660 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
23661 "type" : "string"
23662 },
23663 "start" : {
7aacca6f
DM
23664 "minimum" : 0,
23665 "optional" : 1,
4bd7df8b 23666 "type" : "integer",
013dc89f 23667 "typetext" : "<integer> (0 - N)"
7aacca6f
DM
23668 },
23669 "until" : {
23670 "description" : "Display all log until this date-time string.",
7aacca6f 23671 "optional" : 1,
44660702 23672 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
56122987
DM
23673 "type" : "string"
23674 }
44660702 23675 }
56122987 23676 },
44660702
DM
23677 "permissions" : {
23678 "check" : [
23679 "perm",
23680 "/nodes/{node}",
23681 [
23682 "Sys.Syslog"
23683 ]
23684 ]
23685 },
23686 "protected" : 1,
23687 "proxyto" : "node",
23688 "returns" : {
23689 "items" : {
23690 "properties" : {
23691 "n" : {
23692 "description" : "Line number",
23693 "type" : "integer"
23694 },
23695 "t" : {
23696 "description" : "Line text",
23697 "type" : "string"
23698 }
23699 },
23700 "type" : "object"
23701 },
23702 "type" : "array"
23703 }
56122987
DM
23704 }
23705 },
44660702
DM
23706 "leaf" : 1,
23707 "path" : "/nodes/{node}/syslog",
7aacca6f 23708 "text" : "syslog"
56122987
DM
23709 },
23710 {
56122987
DM
23711 "info" : {
23712 "POST" : {
44660702
DM
23713 "description" : "Creates a VNC Shell proxy.",
23714 "method" : "POST",
23715 "name" : "vncshell",
23716 "parameters" : {
23717 "additionalProperties" : 0,
56122987 23718 "properties" : {
5d9c884c
DM
23719 "height" : {
23720 "description" : "sets the height of the console in pixels.",
23721 "maximum" : 2160,
23722 "minimum" : 16,
23723 "optional" : 1,
23724 "type" : "integer",
23725 "typetext" : "<integer> (16 - 2160)"
23726 },
44660702
DM
23727 "node" : {
23728 "description" : "The cluster node name.",
23729 "format" : "pve-node",
013dc89f
DM
23730 "type" : "string",
23731 "typetext" : "<string>"
7aacca6f 23732 },
44660702
DM
23733 "upgrade" : {
23734 "default" : 0,
23735 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
23736 "optional" : 1,
013dc89f
DM
23737 "type" : "boolean",
23738 "typetext" : "<boolean>"
7aacca6f 23739 },
44660702
DM
23740 "websocket" : {
23741 "description" : "use websocket instead of standard vnc.",
23742 "optional" : 1,
013dc89f
DM
23743 "type" : "boolean",
23744 "typetext" : "<boolean>"
5d9c884c
DM
23745 },
23746 "width" : {
23747 "description" : "sets the width of the console in pixels.",
23748 "maximum" : 4096,
23749 "minimum" : 16,
23750 "optional" : 1,
23751 "type" : "integer",
23752 "typetext" : "<integer> (16 - 4096)"
56122987 23753 }
44660702 23754 }
56122987 23755 },
56122987
DM
23756 "permissions" : {
23757 "check" : [
23758 "perm",
7aacca6f 23759 "/nodes/{node}",
56122987 23760 [
7aacca6f 23761 "Sys.Console"
56122987 23762 ]
44660702
DM
23763 ],
23764 "description" : "Restricted to users on realm 'pam'"
56122987 23765 },
44660702
DM
23766 "protected" : 1,
23767 "returns" : {
23768 "additionalProperties" : 0,
56122987 23769 "properties" : {
44660702
DM
23770 "cert" : {
23771 "type" : "string"
7aacca6f 23772 },
44660702
DM
23773 "port" : {
23774 "type" : "integer"
7aacca6f 23775 },
44660702
DM
23776 "ticket" : {
23777 "type" : "string"
23778 },
23779 "upid" : {
23780 "type" : "string"
23781 },
23782 "user" : {
23783 "type" : "string"
56122987 23784 }
44660702
DM
23785 }
23786 }
56122987
DM
23787 }
23788 },
7aacca6f 23789 "leaf" : 1,
44660702
DM
23790 "path" : "/nodes/{node}/vncshell",
23791 "text" : "vncshell"
56122987
DM
23792 },
23793 {
23794 "info" : {
23795 "GET" : {
7aacca6f 23796 "description" : "Opens a weksocket for VNC traffic.",
44660702
DM
23797 "method" : "GET",
23798 "name" : "vncwebsocket",
56122987 23799 "parameters" : {
44660702 23800 "additionalProperties" : 0,
56122987
DM
23801 "properties" : {
23802 "node" : {
23803 "description" : "The cluster node name.",
44660702 23804 "format" : "pve-node",
013dc89f
DM
23805 "type" : "string",
23806 "typetext" : "<string>"
7aacca6f
DM
23807 },
23808 "port" : {
7aacca6f
DM
23809 "description" : "Port number returned by previous vncproxy call.",
23810 "maximum" : 5999,
44660702 23811 "minimum" : 5900,
4bd7df8b 23812 "type" : "integer",
013dc89f 23813 "typetext" : "<integer> (5900 - 5999)"
44660702
DM
23814 },
23815 "vncticket" : {
23816 "description" : "Ticket from previous call to vncproxy.",
23817 "maxLength" : 512,
013dc89f
DM
23818 "type" : "string",
23819 "typetext" : "<string>"
56122987 23820 }
44660702 23821 }
56122987 23822 },
56122987
DM
23823 "permissions" : {
23824 "check" : [
23825 "perm",
23826 "/nodes/{node}",
23827 [
7aacca6f 23828 "Sys.Console"
56122987 23829 ]
44660702
DM
23830 ],
23831 "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
23832 },
23833 "returns" : {
23834 "properties" : {
23835 "port" : {
23836 "type" : "string"
23837 }
23838 },
23839 "type" : "object"
7aacca6f 23840 }
56122987
DM
23841 }
23842 },
44660702 23843 "leaf" : 1,
7aacca6f 23844 "path" : "/nodes/{node}/vncwebsocket",
44660702 23845 "text" : "vncwebsocket"
56122987
DM
23846 },
23847 {
23848 "info" : {
23849 "POST" : {
44660702 23850 "description" : "Creates a SPICE shell.",
7aacca6f 23851 "method" : "POST",
44660702 23852 "name" : "spiceshell",
56122987 23853 "parameters" : {
7aacca6f 23854 "additionalProperties" : 0,
56122987 23855 "properties" : {
7aacca6f 23856 "node" : {
44660702 23857 "description" : "The cluster node name.",
56122987 23858 "format" : "pve-node",
013dc89f
DM
23859 "type" : "string",
23860 "typetext" : "<string>"
7aacca6f 23861 },
44660702
DM
23862 "proxy" : {
23863 "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).",
23864 "format" : "address",
23865 "optional" : 1,
013dc89f
DM
23866 "type" : "string",
23867 "typetext" : "<string>"
7aacca6f 23868 },
44660702
DM
23869 "upgrade" : {
23870 "default" : 0,
23871 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
23872 "optional" : 1,
013dc89f
DM
23873 "type" : "boolean",
23874 "typetext" : "<boolean>"
56122987 23875 }
7aacca6f 23876 }
56122987 23877 },
56122987
DM
23878 "permissions" : {
23879 "check" : [
23880 "perm",
7aacca6f 23881 "/nodes/{node}",
56122987 23882 [
7aacca6f 23883 "Sys.Console"
56122987 23884 ]
7aacca6f
DM
23885 ],
23886 "description" : "Restricted to users on realm 'pam'"
44660702
DM
23887 },
23888 "protected" : 1,
23889 "proxyto" : "node",
23890 "returns" : {
23891 "additionalProperties" : 1,
23892 "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
23893 "properties" : {
23894 "host" : {
23895 "type" : "string"
23896 },
23897 "password" : {
23898 "type" : "string"
23899 },
23900 "proxy" : {
23901 "type" : "string"
23902 },
23903 "tls-port" : {
23904 "type" : "integer"
23905 },
23906 "type" : {
23907 "type" : "string"
23908 }
23909 }
7aacca6f 23910 }
56122987
DM
23911 }
23912 },
56122987 23913 "leaf" : 1,
44660702
DM
23914 "path" : "/nodes/{node}/spiceshell",
23915 "text" : "spiceshell"
56122987
DM
23916 },
23917 {
56122987 23918 "info" : {
7aacca6f 23919 "GET" : {
44660702 23920 "description" : "Read DNS settings.",
7aacca6f 23921 "method" : "GET",
44660702
DM
23922 "name" : "dns",
23923 "parameters" : {
7aacca6f
DM
23924 "additionalProperties" : 0,
23925 "properties" : {
44660702
DM
23926 "node" : {
23927 "description" : "The cluster node name.",
23928 "format" : "pve-node",
013dc89f
DM
23929 "type" : "string",
23930 "typetext" : "<string>"
7aacca6f
DM
23931 }
23932 }
23933 },
7aacca6f
DM
23934 "permissions" : {
23935 "check" : [
23936 "perm",
23937 "/nodes/{node}",
23938 [
23939 "Sys.Audit"
23940 ]
23941 ]
23942 },
44660702
DM
23943 "proxyto" : "node",
23944 "returns" : {
56122987
DM
23945 "additionalProperties" : 0,
23946 "properties" : {
44660702
DM
23947 "dns1" : {
23948 "description" : "First name server IP address.",
23949 "optional" : 1,
23950 "type" : "string"
23951 },
23952 "dns2" : {
23953 "description" : "Second name server IP address.",
23954 "optional" : 1,
23955 "type" : "string"
23956 },
23957 "dns3" : {
23958 "description" : "Third name server IP address.",
23959 "optional" : 1,
23960 "type" : "string"
23961 },
23962 "search" : {
23963 "description" : "Search domain for host-name lookup.",
23964 "optional" : 1,
23965 "type" : "string"
7aacca6f 23966 }
44660702
DM
23967 },
23968 "type" : "object"
23969 }
7aacca6f
DM
23970 },
23971 "PUT" : {
44660702
DM
23972 "description" : "Write DNS settings.",
23973 "method" : "PUT",
7aacca6f
DM
23974 "name" : "update_dns",
23975 "parameters" : {
23976 "additionalProperties" : 0,
23977 "properties" : {
44660702
DM
23978 "dns1" : {
23979 "description" : "First name server IP address.",
23980 "format" : "ip",
23981 "optional" : 1,
013dc89f
DM
23982 "type" : "string",
23983 "typetext" : "<string>"
7aacca6f 23984 },
44660702
DM
23985 "dns2" : {
23986 "description" : "Second name server IP address.",
23987 "format" : "ip",
7aacca6f 23988 "optional" : 1,
013dc89f
DM
23989 "type" : "string",
23990 "typetext" : "<string>"
7aacca6f 23991 },
44660702
DM
23992 "dns3" : {
23993 "description" : "Third name server IP address.",
23994 "format" : "ip",
7aacca6f 23995 "optional" : 1,
013dc89f
DM
23996 "type" : "string",
23997 "typetext" : "<string>"
7aacca6f
DM
23998 },
23999 "node" : {
44660702 24000 "description" : "The cluster node name.",
56122987 24001 "format" : "pve-node",
013dc89f
DM
24002 "type" : "string",
24003 "typetext" : "<string>"
7aacca6f 24004 },
44660702
DM
24005 "search" : {
24006 "description" : "Search domain for host-name lookup.",
013dc89f
DM
24007 "type" : "string",
24008 "typetext" : "<string>"
56122987
DM
24009 }
24010 }
24011 },
24012 "permissions" : {
24013 "check" : [
24014 "perm",
7aacca6f 24015 "/nodes/{node}",
56122987 24016 [
7aacca6f 24017 "Sys.Modify"
56122987
DM
24018 ]
24019 ]
24020 },
44660702 24021 "protected" : 1,
7aacca6f 24022 "proxyto" : "node",
56122987 24023 "returns" : {
7aacca6f
DM
24024 "type" : "null"
24025 }
56122987 24026 }
44660702
DM
24027 },
24028 "leaf" : 1,
24029 "path" : "/nodes/{node}/dns",
24030 "text" : "dns"
56122987
DM
24031 },
24032 {
24033 "info" : {
7aacca6f 24034 "GET" : {
7aacca6f 24035 "description" : "Read server time and time zone settings.",
44660702
DM
24036 "method" : "GET",
24037 "name" : "time",
56122987 24038 "parameters" : {
44660702 24039 "additionalProperties" : 0,
56122987
DM
24040 "properties" : {
24041 "node" : {
44660702 24042 "description" : "The cluster node name.",
56122987 24043 "format" : "pve-node",
013dc89f
DM
24044 "type" : "string",
24045 "typetext" : "<string>"
56122987 24046 }
44660702 24047 }
56122987
DM
24048 },
24049 "permissions" : {
24050 "check" : [
24051 "perm",
7aacca6f 24052 "/nodes/{node}",
56122987 24053 [
7aacca6f 24054 "Sys.Audit"
56122987
DM
24055 ]
24056 ]
44660702
DM
24057 },
24058 "proxyto" : "node",
24059 "returns" : {
24060 "additionalProperties" : 0,
24061 "properties" : {
24062 "localtime" : {
24063 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
24064 "minimum" : 1297163644,
24065 "type" : "integer"
24066 },
24067 "time" : {
24068 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
24069 "minimum" : 1297163644,
24070 "type" : "integer"
24071 },
24072 "timezone" : {
24073 "description" : "Time zone",
24074 "type" : "string"
24075 }
24076 },
24077 "type" : "object"
7aacca6f
DM
24078 }
24079 },
24080 "PUT" : {
7aacca6f 24081 "description" : "Set time zone.",
44660702
DM
24082 "method" : "PUT",
24083 "name" : "set_timezone",
24084 "parameters" : {
24085 "additionalProperties" : 0,
24086 "properties" : {
24087 "node" : {
24088 "description" : "The cluster node name.",
24089 "format" : "pve-node",
013dc89f
DM
24090 "type" : "string",
24091 "typetext" : "<string>"
44660702
DM
24092 },
24093 "timezone" : {
24094 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
013dc89f
DM
24095 "type" : "string",
24096 "typetext" : "<string>"
44660702
DM
24097 }
24098 }
24099 },
7aacca6f
DM
24100 "permissions" : {
24101 "check" : [
24102 "perm",
24103 "/nodes/{node}",
24104 [
24105 "Sys.Modify"
24106 ]
24107 ]
56122987 24108 },
7aacca6f 24109 "protected" : 1,
44660702
DM
24110 "proxyto" : "node",
24111 "returns" : {
24112 "type" : "null"
24113 }
7aacca6f
DM
24114 }
24115 },
7aacca6f 24116 "leaf" : 1,
44660702
DM
24117 "path" : "/nodes/{node}/time",
24118 "text" : "time"
7aacca6f
DM
24119 },
24120 {
24121 "info" : {
44660702
DM
24122 "GET" : {
24123 "description" : "Get list of appliances.",
24124 "method" : "GET",
24125 "name" : "aplinfo",
7aacca6f
DM
24126 "parameters" : {
24127 "additionalProperties" : 0,
24128 "properties" : {
7aacca6f 24129 "node" : {
44660702 24130 "description" : "The cluster node name.",
7aacca6f 24131 "format" : "pve-node",
013dc89f
DM
24132 "type" : "string",
24133 "typetext" : "<string>"
7aacca6f
DM
24134 }
24135 }
56122987 24136 },
7aacca6f 24137 "permissions" : {
44660702 24138 "user" : "all"
56122987 24139 },
44660702 24140 "proxyto" : "node",
7aacca6f
DM
24141 "returns" : {
24142 "items" : {
44660702
DM
24143 "properties" : {},
24144 "type" : "object"
7aacca6f
DM
24145 },
24146 "type" : "array"
44660702
DM
24147 }
24148 },
24149 "POST" : {
24150 "description" : "Download appliance templates.",
24151 "method" : "POST",
24152 "name" : "apl_download",
7aacca6f
DM
24153 "parameters" : {
24154 "additionalProperties" : 0,
24155 "properties" : {
24156 "node" : {
7aacca6f 24157 "description" : "The cluster node name.",
44660702 24158 "format" : "pve-node",
013dc89f
DM
24159 "type" : "string",
24160 "typetext" : "<string>"
44660702
DM
24161 },
24162 "storage" : {
4bd7df8b 24163 "description" : "The storage where the template will be stored",
44660702 24164 "format" : "pve-storage-id",
013dc89f
DM
24165 "type" : "string",
24166 "typetext" : "<string>"
44660702
DM
24167 },
24168 "template" : {
24169 "description" : "The template wich will downloaded",
24170 "maxLength" : 255,
013dc89f
DM
24171 "type" : "string",
24172 "typetext" : "<string>"
7aacca6f
DM
24173 }
24174 }
56122987 24175 },
7aacca6f 24176 "permissions" : {
44660702
DM
24177 "check" : [
24178 "perm",
24179 "/storage/{storage}",
24180 [
24181 "Datastore.AllocateTemplate"
24182 ]
24183 ]
24184 },
24185 "protected" : 1,
24186 "proxyto" : "node",
24187 "returns" : {
24188 "type" : "string"
7aacca6f
DM
24189 }
24190 }
24191 },
7aacca6f 24192 "leaf" : 1,
44660702
DM
24193 "path" : "/nodes/{node}/aplinfo",
24194 "text" : "aplinfo"
7aacca6f
DM
24195 },
24196 {
24197 "info" : {
24198 "GET" : {
44660702
DM
24199 "description" : "Gather various systems information about a node",
24200 "method" : "GET",
24201 "name" : "report",
7aacca6f 24202 "parameters" : {
44660702 24203 "additionalProperties" : 0,
7aacca6f
DM
24204 "properties" : {
24205 "node" : {
7aacca6f 24206 "description" : "The cluster node name.",
44660702 24207 "format" : "pve-node",
013dc89f
DM
24208 "type" : "string",
24209 "typetext" : "<string>"
7aacca6f 24210 }
44660702 24211 }
56122987 24212 },
7aacca6f
DM
24213 "permissions" : {
24214 "check" : [
24215 "perm",
24216 "/nodes/{node}",
24217 [
24218 "Sys.Audit"
24219 ]
24220 ]
56122987 24221 },
44660702 24222 "protected" : 1,
7aacca6f
DM
24223 "proxyto" : "node",
24224 "returns" : {
56122987 24225 "type" : "string"
7aacca6f
DM
24226 }
24227 }
24228 },
7aacca6f 24229 "leaf" : 1,
44660702
DM
24230 "path" : "/nodes/{node}/report",
24231 "text" : "report"
7aacca6f
DM
24232 },
24233 {
7aacca6f
DM
24234 "info" : {
24235 "POST" : {
44660702 24236 "description" : "Start all VMs and containers (when onboot=1).",
7aacca6f 24237 "method" : "POST",
44660702 24238 "name" : "startall",
7aacca6f 24239 "parameters" : {
44660702 24240 "additionalProperties" : 0,
7aacca6f
DM
24241 "properties" : {
24242 "force" : {
44660702 24243 "description" : "force if onboot=0.",
7aacca6f 24244 "optional" : 1,
013dc89f
DM
24245 "type" : "boolean",
24246 "typetext" : "<boolean>"
7aacca6f
DM
24247 },
24248 "node" : {
7aacca6f 24249 "description" : "The cluster node name.",
44660702 24250 "format" : "pve-node",
013dc89f
DM
24251 "type" : "string",
24252 "typetext" : "<string>"
52e44c50
FG
24253 },
24254 "vms" : {
24255 "description" : "Only consider Guests with these IDs.",
24256 "format" : "pve-vmid-list",
24257 "optional" : 1,
24258 "type" : "string",
24259 "typetext" : "<string>"
7aacca6f 24260 }
44660702 24261 }
56122987 24262 },
7aacca6f
DM
24263 "permissions" : {
24264 "check" : [
24265 "perm",
24266 "/",
24267 [
24268 "VM.PowerMgmt"
24269 ]
24270 ]
44660702
DM
24271 },
24272 "protected" : 1,
24273 "proxyto" : "node",
24274 "returns" : {
24275 "type" : "string"
7aacca6f
DM
24276 }
24277 }
24278 },
44660702 24279 "leaf" : 1,
7aacca6f 24280 "path" : "/nodes/{node}/startall",
44660702 24281 "text" : "startall"
7aacca6f
DM
24282 },
24283 {
7aacca6f
DM
24284 "info" : {
24285 "POST" : {
24286 "description" : "Stop all VMs and Containers.",
44660702
DM
24287 "method" : "POST",
24288 "name" : "stopall",
7aacca6f 24289 "parameters" : {
44660702 24290 "additionalProperties" : 0,
7aacca6f
DM
24291 "properties" : {
24292 "node" : {
44660702 24293 "description" : "The cluster node name.",
7aacca6f 24294 "format" : "pve-node",
013dc89f
DM
24295 "type" : "string",
24296 "typetext" : "<string>"
52e44c50
FG
24297 },
24298 "vms" : {
24299 "description" : "Only consider Guests with these IDs.",
24300 "format" : "pve-vmid-list",
24301 "optional" : 1,
24302 "type" : "string",
24303 "typetext" : "<string>"
7aacca6f 24304 }
44660702 24305 }
56122987 24306 },
7aacca6f
DM
24307 "permissions" : {
24308 "check" : [
24309 "perm",
24310 "/",
24311 [
44660702 24312 "VM.PowerMgmt"
7aacca6f
DM
24313 ]
24314 ]
56122987 24315 },
44660702 24316 "protected" : 1,
7aacca6f 24317 "proxyto" : "node",
44660702
DM
24318 "returns" : {
24319 "type" : "string"
24320 }
24321 }
56122987 24322 },
44660702
DM
24323 "leaf" : 1,
24324 "path" : "/nodes/{node}/stopall",
24325 "text" : "stopall"
24326 },
24327 {
24328 "info" : {
24329 "POST" : {
24330 "description" : "Migrate all VMs and Containers.",
24331 "method" : "POST",
24332 "name" : "migrateall",
24333 "parameters" : {
24334 "additionalProperties" : 0,
24335 "properties" : {
24336 "maxworkers" : {
24337 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
24338 "minimum" : 1,
24339 "optional" : 1,
4bd7df8b 24340 "type" : "integer",
013dc89f 24341 "typetext" : "<integer> (1 - N)"
44660702
DM
24342 },
24343 "node" : {
24344 "description" : "The cluster node name.",
24345 "format" : "pve-node",
013dc89f
DM
24346 "type" : "string",
24347 "typetext" : "<string>"
44660702
DM
24348 },
24349 "target" : {
24350 "description" : "Target node.",
24351 "format" : "pve-node",
013dc89f
DM
24352 "type" : "string",
24353 "typetext" : "<string>"
52e44c50
FG
24354 },
24355 "vms" : {
24356 "description" : "Only consider Guests with these IDs.",
24357 "format" : "pve-vmid-list",
24358 "optional" : 1,
24359 "type" : "string",
24360 "typetext" : "<string>"
44660702
DM
24361 }
24362 }
24363 },
24364 "permissions" : {
24365 "check" : [
24366 "perm",
24367 "/",
24368 [
24369 "VM.Migrate"
24370 ]
24371 ]
24372 },
24373 "protected" : 1,
24374 "proxyto" : "node",
24375 "returns" : {
24376 "type" : "string"
24377 }
24378 }
56122987 24379 },
44660702
DM
24380 "leaf" : 1,
24381 "path" : "/nodes/{node}/migrateall",
24382 "text" : "migrateall"
24383 }
24384 ],
24385 "info" : {
24386 "GET" : {
24387 "description" : "Node index.",
24388 "method" : "GET",
24389 "name" : "index",
24390 "parameters" : {
24391 "additionalProperties" : 0,
24392 "properties" : {
24393 "node" : {
24394 "description" : "The cluster node name.",
24395 "format" : "pve-node",
013dc89f
DM
24396 "type" : "string",
24397 "typetext" : "<string>"
44660702
DM
24398 }
24399 }
56122987 24400 },
44660702
DM
24401 "permissions" : {
24402 "user" : "all"
56122987 24403 },
44660702
DM
24404 "returns" : {
24405 "items" : {
24406 "properties" : {},
24407 "type" : "object"
24408 },
24409 "links" : [
24410 {
24411 "href" : "{name}",
24412 "rel" : "child"
24413 }
56122987 24414 ],
44660702 24415 "type" : "array"
7aacca6f
DM
24416 }
24417 }
24418 },
44660702
DM
24419 "leaf" : 0,
24420 "path" : "/nodes/{node}",
24421 "text" : "{node}"
24422 }
24423 ],
24424 "info" : {
7aacca6f 24425 "GET" : {
44660702 24426 "description" : "Cluster node index.",
7aacca6f 24427 "method" : "GET",
44660702 24428 "name" : "index",
7aacca6f 24429 "parameters" : {
7aacca6f
DM
24430 "additionalProperties" : 0
24431 },
24432 "permissions" : {
7aacca6f
DM
24433 "user" : "all"
24434 },
44660702
DM
24435 "returns" : {
24436 "items" : {
24437 "properties" : {},
24438 "type" : "object"
24439 },
24440 "links" : [
24441 {
24442 "href" : "{node}",
24443 "rel" : "child"
24444 }
24445 ],
24446 "type" : "array"
24447 }
7aacca6f
DM
24448 }
24449 },
44660702
DM
24450 "leaf" : 0,
24451 "path" : "/nodes",
24452 "text" : "nodes"
24453 },
24454 {
7aacca6f
DM
24455 "children" : [
24456 {
7aacca6f 24457 "info" : {
44660702
DM
24458 "DELETE" : {
24459 "description" : "Delete storage configuration.",
24460 "method" : "DELETE",
24461 "name" : "delete",
7aacca6f
DM
24462 "parameters" : {
24463 "additionalProperties" : 0,
24464 "properties" : {
24465 "storage" : {
7aacca6f 24466 "description" : "The storage identifier.",
44660702 24467 "format" : "pve-storage-id",
013dc89f
DM
24468 "type" : "string",
24469 "typetext" : "<string>"
7aacca6f
DM
24470 }
24471 }
56122987 24472 },
7aacca6f
DM
24473 "permissions" : {
24474 "check" : [
24475 "perm",
24476 "/storage",
24477 [
24478 "Datastore.Allocate"
24479 ]
24480 ]
56122987 24481 },
44660702
DM
24482 "protected" : 1,
24483 "returns" : {
24484 "type" : "null"
24485 }
24486 },
24487 "GET" : {
24488 "description" : "Read storage configuration.",
24489 "method" : "GET",
24490 "name" : "read",
7aacca6f
DM
24491 "parameters" : {
24492 "additionalProperties" : 0,
24493 "properties" : {
24494 "storage" : {
44660702 24495 "description" : "The storage identifier.",
7aacca6f 24496 "format" : "pve-storage-id",
013dc89f
DM
24497 "type" : "string",
24498 "typetext" : "<string>"
7aacca6f
DM
24499 }
24500 }
24501 },
44660702
DM
24502 "permissions" : {
24503 "check" : [
24504 "perm",
24505 "/storage/{storage}",
24506 [
24507 "Datastore.Allocate"
24508 ]
24509 ]
24510 },
24511 "returns" : {}
7aacca6f
DM
24512 },
24513 "PUT" : {
44660702
DM
24514 "description" : "Update storage configuration.",
24515 "method" : "PUT",
24516 "name" : "update",
24517 "parameters" : {
24518 "additionalProperties" : 0,
24519 "properties" : {
24520 "blocksize" : {
24521 "description" : "block size",
7aacca6f 24522 "optional" : 1,
013dc89f
DM
24523 "type" : "string",
24524 "typetext" : "<string>"
7aacca6f 24525 },
44660702
DM
24526 "comstar_hg" : {
24527 "description" : "host group for comstar views",
24528 "optional" : 1,
013dc89f
DM
24529 "type" : "string",
24530 "typetext" : "<string>"
7aacca6f 24531 },
44660702
DM
24532 "comstar_tg" : {
24533 "description" : "target group for comstar views",
7aacca6f 24534 "optional" : 1,
013dc89f
DM
24535 "type" : "string",
24536 "typetext" : "<string>"
7aacca6f 24537 },
44660702
DM
24538 "content" : {
24539 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
24540 "format" : "pve-storage-content-list",
7aacca6f 24541 "optional" : 1,
013dc89f
DM
24542 "type" : "string",
24543 "typetext" : "<string>"
7aacca6f 24544 },
44660702
DM
24545 "delete" : {
24546 "description" : "A list of settings you want to delete.",
24547 "format" : "pve-configid-list",
24548 "maxLength" : 4096,
7aacca6f 24549 "optional" : 1,
013dc89f
DM
24550 "type" : "string",
24551 "typetext" : "<string>"
7aacca6f
DM
24552 },
24553 "digest" : {
44660702 24554 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
7aacca6f 24555 "maxLength" : 40,
7aacca6f 24556 "optional" : 1,
013dc89f
DM
24557 "type" : "string",
24558 "typetext" : "<string>"
7aacca6f 24559 },
44660702
DM
24560 "disable" : {
24561 "description" : "Flag to disable the storage.",
24562 "optional" : 1,
013dc89f
DM
24563 "type" : "boolean",
24564 "typetext" : "<boolean>"
7aacca6f
DM
24565 },
24566 "format" : {
24567 "description" : "Default image format.",
44660702 24568 "format" : "pve-storage-format",
7aacca6f 24569 "optional" : 1,
013dc89f
DM
24570 "type" : "string",
24571 "typetext" : "<string>"
7aacca6f 24572 },
2c0dde61
DM
24573 "is_mountpoint" : {
24574 "default" : "no",
24575 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
24576 "optional" : 1,
013dc89f
DM
24577 "type" : "boolean",
24578 "typetext" : "<boolean>"
2c0dde61 24579 },
44660702
DM
24580 "krbd" : {
24581 "description" : "Access rbd through krbd kernel module.",
7aacca6f 24582 "optional" : 1,
013dc89f
DM
24583 "type" : "boolean",
24584 "typetext" : "<boolean>"
7aacca6f 24585 },
44660702
DM
24586 "maxfiles" : {
24587 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
24588 "minimum" : 0,
24589 "optional" : 1,
4bd7df8b 24590 "type" : "integer",
013dc89f 24591 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
24592 },
24593 "mkdir" : {
24594 "default" : "yes",
24595 "description" : "Create the directory if it doesn't exist.",
24596 "optional" : 1,
013dc89f
DM
24597 "type" : "boolean",
24598 "typetext" : "<boolean>"
7aacca6f
DM
24599 },
24600 "nodes" : {
44660702 24601 "description" : "List of cluster node names.",
7aacca6f
DM
24602 "format" : "pve-node-list",
24603 "optional" : 1,
013dc89f
DM
24604 "type" : "string",
24605 "typetext" : "<string>"
7aacca6f 24606 },
44660702
DM
24607 "nowritecache" : {
24608 "description" : "disable write caching on the target",
7aacca6f 24609 "optional" : 1,
013dc89f
DM
24610 "type" : "boolean",
24611 "typetext" : "<boolean>"
7aacca6f
DM
24612 },
24613 "options" : {
7aacca6f 24614 "description" : "NFS mount options (see 'man nfs')",
44660702
DM
24615 "format" : "pve-storage-options",
24616 "optional" : 1,
013dc89f
DM
24617 "type" : "string",
24618 "typetext" : "<string>"
44660702
DM
24619 },
24620 "pool" : {
24621 "description" : "Pool.",
24622 "optional" : 1,
013dc89f
DM
24623 "type" : "string",
24624 "typetext" : "<string>"
44660702
DM
24625 },
24626 "redundancy" : {
24627 "default" : 2,
24628 "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.",
24629 "maximum" : 16,
24630 "minimum" : 1,
24631 "optional" : 1,
4bd7df8b 24632 "type" : "integer",
013dc89f 24633 "typetext" : "<integer> (1 - 16)"
44660702
DM
24634 },
24635 "saferemove" : {
24636 "description" : "Zero-out data when removing LVs.",
24637 "optional" : 1,
013dc89f
DM
24638 "type" : "boolean",
24639 "typetext" : "<boolean>"
7aacca6f
DM
24640 },
24641 "saferemove_throughput" : {
44660702 24642 "description" : "Wipe throughput (cstream -t parameter value).",
7aacca6f 24643 "optional" : 1,
013dc89f
DM
24644 "type" : "string",
24645 "typetext" : "<string>"
7aacca6f 24646 },
44660702
DM
24647 "server" : {
24648 "description" : "Server IP or DNS name.",
24649 "format" : "pve-storage-server",
7aacca6f 24650 "optional" : 1,
013dc89f
DM
24651 "type" : "string",
24652 "typetext" : "<string>"
7aacca6f 24653 },
44660702
DM
24654 "server2" : {
24655 "description" : "Backup volfile server IP or DNS name.",
24656 "format" : "pve-storage-server",
7aacca6f 24657 "optional" : 1,
44660702 24658 "requires" : "server",
013dc89f
DM
24659 "type" : "string",
24660 "typetext" : "<string>"
44660702
DM
24661 },
24662 "shared" : {
24663 "description" : "Mark storage as shared.",
24664 "optional" : 1,
013dc89f
DM
24665 "type" : "boolean",
24666 "typetext" : "<boolean>"
44660702
DM
24667 },
24668 "sparse" : {
24669 "description" : "use sparse volumes",
24670 "optional" : 1,
013dc89f
DM
24671 "type" : "boolean",
24672 "typetext" : "<boolean>"
44660702
DM
24673 },
24674 "storage" : {
24675 "description" : "The storage identifier.",
24676 "format" : "pve-storage-id",
013dc89f
DM
24677 "type" : "string",
24678 "typetext" : "<string>"
44660702 24679 },
4bd7df8b
DM
24680 "tagged_only" : {
24681 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
24682 "optional" : 1,
013dc89f
DM
24683 "type" : "boolean",
24684 "typetext" : "<boolean>"
4bd7df8b 24685 },
44660702
DM
24686 "transport" : {
24687 "description" : "Gluster transport: tcp or rdma",
24688 "enum" : [
24689 "tcp",
24690 "rdma",
24691 "unix"
24692 ],
24693 "optional" : 1,
24694 "type" : "string"
7aacca6f
DM
24695 },
24696 "username" : {
24697 "description" : "RBD Id.",
44660702 24698 "optional" : 1,
013dc89f
DM
24699 "type" : "string",
24700 "typetext" : "<string>"
7aacca6f 24701 }
44660702
DM
24702 },
24703 "type" : "object"
24704 },
24705 "permissions" : {
24706 "check" : [
24707 "perm",
24708 "/storage",
24709 [
24710 "Datastore.Allocate"
24711 ]
24712 ]
24713 },
24714 "protected" : 1,
24715 "returns" : {
24716 "type" : "null"
24717 }
24718 }
24719 },
24720 "leaf" : 1,
24721 "path" : "/storage/{storage}",
24722 "text" : "{storage}"
24723 }
24724 ],
24725 "info" : {
24726 "GET" : {
24727 "description" : "Storage index.",
24728 "method" : "GET",
24729 "name" : "index",
24730 "parameters" : {
24731 "additionalProperties" : 0,
24732 "properties" : {
24733 "type" : {
24734 "description" : "Only list storage of specific type",
24735 "enum" : [
24736 "dir",
24737 "drbd",
24738 "glusterfs",
24739 "iscsi",
24740 "iscsidirect",
24741 "lvm",
24742 "lvmthin",
24743 "nfs",
24744 "rbd",
24745 "sheepdog",
24746 "zfs",
24747 "zfspool"
24748 ],
24749 "optional" : 1,
24750 "type" : "string"
24751 }
24752 }
24753 },
24754 "permissions" : {
24755 "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
24756 "user" : "all"
24757 },
24758 "returns" : {
24759 "items" : {
24760 "properties" : {
24761 "storage" : {
24762 "type" : "string"
7aacca6f 24763 }
56122987 24764 },
44660702
DM
24765 "type" : "object"
24766 },
24767 "links" : [
24768 {
24769 "href" : "{storage}",
24770 "rel" : "child"
24771 }
24772 ],
24773 "type" : "array"
24774 }
24775 },
24776 "POST" : {
24777 "description" : "Create a new storage.",
24778 "method" : "POST",
24779 "name" : "create",
24780 "parameters" : {
24781 "additionalProperties" : 0,
24782 "properties" : {
24783 "authsupported" : {
24784 "description" : "Authsupported.",
24785 "optional" : 1,
013dc89f
DM
24786 "type" : "string",
24787 "typetext" : "<string>"
44660702
DM
24788 },
24789 "base" : {
24790 "description" : "Base volume. This volume is automatically activated.",
24791 "format" : "pve-volume-id",
24792 "optional" : 1,
013dc89f
DM
24793 "type" : "string",
24794 "typetext" : "<string>"
44660702
DM
24795 },
24796 "blocksize" : {
24797 "description" : "block size",
24798 "optional" : 1,
013dc89f
DM
24799 "type" : "string",
24800 "typetext" : "<string>"
44660702
DM
24801 },
24802 "comstar_hg" : {
24803 "description" : "host group for comstar views",
24804 "optional" : 1,
013dc89f
DM
24805 "type" : "string",
24806 "typetext" : "<string>"
44660702
DM
24807 },
24808 "comstar_tg" : {
24809 "description" : "target group for comstar views",
24810 "optional" : 1,
013dc89f
DM
24811 "type" : "string",
24812 "typetext" : "<string>"
44660702
DM
24813 },
24814 "content" : {
24815 "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
24816 "format" : "pve-storage-content-list",
24817 "optional" : 1,
013dc89f
DM
24818 "type" : "string",
24819 "typetext" : "<string>"
44660702
DM
24820 },
24821 "disable" : {
24822 "description" : "Flag to disable the storage.",
24823 "optional" : 1,
013dc89f
DM
24824 "type" : "boolean",
24825 "typetext" : "<boolean>"
44660702
DM
24826 },
24827 "export" : {
24828 "description" : "NFS export path.",
24829 "format" : "pve-storage-path",
24830 "optional" : 1,
013dc89f
DM
24831 "type" : "string",
24832 "typetext" : "<string>"
44660702
DM
24833 },
24834 "format" : {
24835 "description" : "Default image format.",
24836 "format" : "pve-storage-format",
24837 "optional" : 1,
013dc89f
DM
24838 "type" : "string",
24839 "typetext" : "<string>"
44660702 24840 },
2c0dde61
DM
24841 "is_mountpoint" : {
24842 "default" : "no",
24843 "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
24844 "optional" : 1,
013dc89f
DM
24845 "type" : "boolean",
24846 "typetext" : "<boolean>"
2c0dde61 24847 },
44660702
DM
24848 "iscsiprovider" : {
24849 "description" : "iscsi provider",
24850 "optional" : 1,
013dc89f
DM
24851 "type" : "string",
24852 "typetext" : "<string>"
44660702
DM
24853 },
24854 "krbd" : {
24855 "description" : "Access rbd through krbd kernel module.",
24856 "optional" : 1,
013dc89f
DM
24857 "type" : "boolean",
24858 "typetext" : "<boolean>"
56122987 24859 },
44660702
DM
24860 "maxfiles" : {
24861 "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
24862 "minimum" : 0,
24863 "optional" : 1,
4bd7df8b 24864 "type" : "integer",
013dc89f 24865 "typetext" : "<integer> (0 - N)"
4bd7df8b
DM
24866 },
24867 "mkdir" : {
24868 "default" : "yes",
24869 "description" : "Create the directory if it doesn't exist.",
24870 "optional" : 1,
013dc89f
DM
24871 "type" : "boolean",
24872 "typetext" : "<boolean>"
7aacca6f 24873 },
44660702
DM
24874 "monhost" : {
24875 "description" : "Monitors daemon ips.",
4bd7df8b 24876 "format" : "pve-storage-portal-dns-list",
44660702 24877 "optional" : 1,
013dc89f
DM
24878 "type" : "string",
24879 "typetext" : "<string>"
7aacca6f 24880 },
44660702
DM
24881 "nodes" : {
24882 "description" : "List of cluster node names.",
24883 "format" : "pve-node-list",
24884 "optional" : 1,
013dc89f
DM
24885 "type" : "string",
24886 "typetext" : "<string>"
7aacca6f 24887 },
44660702
DM
24888 "nowritecache" : {
24889 "description" : "disable write caching on the target",
24890 "optional" : 1,
013dc89f
DM
24891 "type" : "boolean",
24892 "typetext" : "<boolean>"
44660702
DM
24893 },
24894 "options" : {
24895 "description" : "NFS mount options (see 'man nfs')",
24896 "format" : "pve-storage-options",
24897 "optional" : 1,
013dc89f
DM
24898 "type" : "string",
24899 "typetext" : "<string>"
44660702
DM
24900 },
24901 "path" : {
24902 "description" : "File system path.",
24903 "format" : "pve-storage-path",
24904 "optional" : 1,
013dc89f
DM
24905 "type" : "string",
24906 "typetext" : "<string>"
44660702
DM
24907 },
24908 "pool" : {
24909 "description" : "Pool.",
24910 "optional" : 1,
013dc89f
DM
24911 "type" : "string",
24912 "typetext" : "<string>"
44660702
DM
24913 },
24914 "portal" : {
24915 "description" : "iSCSI portal (IP or DNS name with optional port).",
24916 "format" : "pve-storage-portal-dns",
24917 "optional" : 1,
013dc89f
DM
24918 "type" : "string",
24919 "typetext" : "<string>"
44660702
DM
24920 },
24921 "redundancy" : {
24922 "default" : 2,
24923 "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.",
24924 "maximum" : 16,
24925 "minimum" : 1,
24926 "optional" : 1,
4bd7df8b 24927 "type" : "integer",
013dc89f 24928 "typetext" : "<integer> (1 - 16)"
44660702
DM
24929 },
24930 "saferemove" : {
24931 "description" : "Zero-out data when removing LVs.",
24932 "optional" : 1,
013dc89f
DM
24933 "type" : "boolean",
24934 "typetext" : "<boolean>"
44660702
DM
24935 },
24936 "saferemove_throughput" : {
24937 "description" : "Wipe throughput (cstream -t parameter value).",
24938 "optional" : 1,
013dc89f
DM
24939 "type" : "string",
24940 "typetext" : "<string>"
44660702
DM
24941 },
24942 "server" : {
24943 "description" : "Server IP or DNS name.",
24944 "format" : "pve-storage-server",
24945 "optional" : 1,
013dc89f
DM
24946 "type" : "string",
24947 "typetext" : "<string>"
44660702
DM
24948 },
24949 "server2" : {
24950 "description" : "Backup volfile server IP or DNS name.",
24951 "format" : "pve-storage-server",
24952 "optional" : 1,
24953 "requires" : "server",
013dc89f
DM
24954 "type" : "string",
24955 "typetext" : "<string>"
44660702
DM
24956 },
24957 "shared" : {
24958 "description" : "Mark storage as shared.",
24959 "optional" : 1,
013dc89f
DM
24960 "type" : "boolean",
24961 "typetext" : "<boolean>"
44660702
DM
24962 },
24963 "sparse" : {
24964 "description" : "use sparse volumes",
24965 "optional" : 1,
013dc89f
DM
24966 "type" : "boolean",
24967 "typetext" : "<boolean>"
44660702
DM
24968 },
24969 "storage" : {
24970 "description" : "The storage identifier.",
24971 "format" : "pve-storage-id",
013dc89f
DM
24972 "type" : "string",
24973 "typetext" : "<string>"
44660702 24974 },
4bd7df8b
DM
24975 "tagged_only" : {
24976 "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
24977 "optional" : 1,
013dc89f
DM
24978 "type" : "boolean",
24979 "typetext" : "<boolean>"
4bd7df8b 24980 },
44660702
DM
24981 "target" : {
24982 "description" : "iSCSI target.",
24983 "optional" : 1,
013dc89f
DM
24984 "type" : "string",
24985 "typetext" : "<string>"
44660702
DM
24986 },
24987 "thinpool" : {
24988 "description" : "LVM thin pool LV name.",
24989 "format" : "pve-storage-vgname",
24990 "optional" : 1,
013dc89f
DM
24991 "type" : "string",
24992 "typetext" : "<string>"
44660702
DM
24993 },
24994 "transport" : {
24995 "description" : "Gluster transport: tcp or rdma",
24996 "enum" : [
24997 "tcp",
24998 "rdma",
24999 "unix"
7aacca6f 25000 ],
44660702
DM
25001 "optional" : 1,
25002 "type" : "string"
56122987 25003 },
44660702
DM
25004 "type" : {
25005 "description" : "Storage type.",
25006 "enum" : [
25007 "dir",
25008 "drbd",
25009 "glusterfs",
25010 "iscsi",
25011 "iscsidirect",
25012 "lvm",
25013 "lvmthin",
25014 "nfs",
25015 "rbd",
25016 "sheepdog",
25017 "zfs",
25018 "zfspool"
25019 ],
25020 "type" : "string"
56122987 25021 },
44660702
DM
25022 "username" : {
25023 "description" : "RBD Id.",
25024 "optional" : 1,
013dc89f
DM
25025 "type" : "string",
25026 "typetext" : "<string>"
7aacca6f 25027 },
44660702
DM
25028 "vgname" : {
25029 "description" : "Volume group name.",
25030 "format" : "pve-storage-vgname",
25031 "optional" : 1,
013dc89f
DM
25032 "type" : "string",
25033 "typetext" : "<string>"
44660702
DM
25034 },
25035 "volume" : {
25036 "description" : "Glusterfs Volume.",
25037 "optional" : 1,
013dc89f
DM
25038 "type" : "string",
25039 "typetext" : "<string>"
44660702
DM
25040 }
25041 },
25042 "type" : "object"
25043 },
25044 "permissions" : {
25045 "check" : [
25046 "perm",
25047 "/storage",
25048 [
25049 "Datastore.Allocate"
25050 ]
25051 ]
56122987 25052 },
44660702
DM
25053 "protected" : 1,
25054 "returns" : {
25055 "type" : "null"
25056 }
25057 }
25058 },
25059 "leaf" : 0,
25060 "path" : "/storage",
25061 "text" : "storage"
25062 },
25063 {
25064 "children" : [
25065 {
56122987
DM
25066 "children" : [
25067 {
56122987 25068 "info" : {
44660702
DM
25069 "DELETE" : {
25070 "description" : "Delete user.",
25071 "method" : "DELETE",
25072 "name" : "delete_user",
56122987 25073 "parameters" : {
7aacca6f 25074 "additionalProperties" : 0,
56122987 25075 "properties" : {
56122987 25076 "userid" : {
56122987
DM
25077 "description" : "User ID",
25078 "format" : "pve-userid",
44660702 25079 "maxLength" : 64,
013dc89f
DM
25080 "type" : "string",
25081 "typetext" : "<string>"
56122987 25082 }
7aacca6f 25083 }
56122987 25084 },
56122987
DM
25085 "permissions" : {
25086 "check" : [
44660702 25087 "and",
56122987 25088 [
44660702
DM
25089 "userid-param",
25090 "Realm.AllocateUser"
56122987 25091 ],
44660702
DM
25092 [
25093 "userid-group",
25094 [
25095 "User.Modify"
25096 ]
25097 ]
56122987 25098 ]
7aacca6f 25099 },
44660702 25100 "protected" : 1,
56122987
DM
25101 "returns" : {
25102 "type" : "null"
44660702 25103 }
7aacca6f 25104 },
44660702
DM
25105 "GET" : {
25106 "description" : "Get user configuration.",
25107 "method" : "GET",
25108 "name" : "read_user",
56122987
DM
25109 "parameters" : {
25110 "additionalProperties" : 0,
25111 "properties" : {
25112 "userid" : {
44660702 25113 "description" : "User ID",
56122987 25114 "format" : "pve-userid",
44660702 25115 "maxLength" : 64,
013dc89f
DM
25116 "type" : "string",
25117 "typetext" : "<string>"
56122987
DM
25118 }
25119 }
25120 },
56122987
DM
25121 "permissions" : {
25122 "check" : [
44660702 25123 "userid-group",
56122987 25124 [
44660702
DM
25125 "User.Modify",
25126 "Sys.Audit"
56122987
DM
25127 ]
25128 ]
25129 },
56122987 25130 "returns" : {
7aacca6f 25131 "additionalProperties" : 0,
56122987 25132 "properties" : {
44660702
DM
25133 "comment" : {
25134 "optional" : 1,
25135 "type" : "string"
56122987 25136 },
44660702
DM
25137 "email" : {
25138 "optional" : 1,
25139 "type" : "string"
7aacca6f
DM
25140 },
25141 "enable" : {
25142 "type" : "boolean"
25143 },
44660702
DM
25144 "expire" : {
25145 "optional" : 1,
25146 "type" : "integer"
25147 },
25148 "firstname" : {
56122987
DM
25149 "optional" : 1,
25150 "type" : "string"
25151 },
44660702
DM
25152 "groups" : {
25153 "type" : "array"
56122987 25154 },
44660702
DM
25155 "keys" : {
25156 "optional" : 1,
25157 "type" : "string"
7aacca6f 25158 },
44660702
DM
25159 "lastname" : {
25160 "optional" : 1,
25161 "type" : "string"
56122987 25162 }
7aacca6f 25163 }
44660702
DM
25164 }
25165 },
25166 "PUT" : {
25167 "description" : "Update user configuration.",
25168 "method" : "PUT",
25169 "name" : "update_user",
56122987 25170 "parameters" : {
44660702 25171 "additionalProperties" : 0,
56122987 25172 "properties" : {
44660702
DM
25173 "append" : {
25174 "optional" : 1,
25175 "requires" : "groups",
013dc89f
DM
25176 "type" : "boolean",
25177 "typetext" : "<boolean>"
44660702
DM
25178 },
25179 "comment" : {
25180 "optional" : 1,
013dc89f
DM
25181 "type" : "string",
25182 "typetext" : "<string>"
44660702
DM
25183 },
25184 "email" : {
25185 "format" : "email-opt",
25186 "optional" : 1,
013dc89f
DM
25187 "type" : "string",
25188 "typetext" : "<string>"
44660702
DM
25189 },
25190 "enable" : {
25191 "description" : "Enable/disable the account.",
25192 "optional" : 1,
013dc89f
DM
25193 "type" : "boolean",
25194 "typetext" : "<boolean>"
44660702
DM
25195 },
25196 "expire" : {
25197 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
25198 "minimum" : 0,
25199 "optional" : 1,
4bd7df8b 25200 "type" : "integer",
013dc89f 25201 "typetext" : "<integer> (0 - N)"
44660702
DM
25202 },
25203 "firstname" : {
25204 "optional" : 1,
013dc89f
DM
25205 "type" : "string",
25206 "typetext" : "<string>"
44660702
DM
25207 },
25208 "groups" : {
25209 "format" : "pve-groupid-list",
25210 "optional" : 1,
013dc89f
DM
25211 "type" : "string",
25212 "typetext" : "<string>"
44660702
DM
25213 },
25214 "keys" : {
25215 "description" : "Keys for two factor auth (yubico).",
25216 "optional" : 1,
013dc89f
DM
25217 "type" : "string",
25218 "typetext" : "<string>"
44660702
DM
25219 },
25220 "lastname" : {
25221 "optional" : 1,
013dc89f
DM
25222 "type" : "string",
25223 "typetext" : "<string>"
44660702 25224 },
56122987 25225 "userid" : {
56122987
DM
25226 "description" : "User ID",
25227 "format" : "pve-userid",
44660702 25228 "maxLength" : 64,
013dc89f
DM
25229 "type" : "string",
25230 "typetext" : "<string>"
56122987 25231 }
44660702 25232 }
56122987 25233 },
56122987
DM
25234 "permissions" : {
25235 "check" : [
25236 "userid-group",
25237 [
44660702
DM
25238 "User.Modify"
25239 ],
25240 "groups_param",
25241 1
56122987
DM
25242 ]
25243 },
44660702
DM
25244 "protected" : 1,
25245 "returns" : {
25246 "type" : "null"
25247 }
56122987
DM
25248 }
25249 },
44660702
DM
25250 "leaf" : 1,
25251 "path" : "/access/users/{userid}",
7aacca6f 25252 "text" : "{userid}"
56122987 25253 }
7aacca6f 25254 ],
56122987 25255 "info" : {
7aacca6f 25256 "GET" : {
44660702
DM
25257 "description" : "User index.",
25258 "method" : "GET",
7aacca6f 25259 "name" : "index",
56122987 25260 "parameters" : {
44660702
DM
25261 "additionalProperties" : 0,
25262 "properties" : {
25263 "enabled" : {
25264 "description" : "Optional filter for enable property.",
25265 "optional" : 1,
013dc89f
DM
25266 "type" : "boolean",
25267 "typetext" : "<boolean>"
44660702
DM
25268 }
25269 }
25270 },
25271 "permissions" : {
25272 "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.",
25273 "user" : "all"
56122987 25274 },
7aacca6f 25275 "returns" : {
7aacca6f
DM
25276 "items" : {
25277 "properties" : {
44660702 25278 "userid" : {
7aacca6f
DM
25279 "type" : "string"
25280 }
25281 },
25282 "type" : "object"
25283 },
44660702
DM
25284 "links" : [
25285 {
25286 "href" : "{userid}",
25287 "rel" : "child"
25288 }
25289 ],
7aacca6f
DM
25290 "type" : "array"
25291 }
25292 },
25293 "POST" : {
44660702 25294 "description" : "Create new user.",
7aacca6f 25295 "method" : "POST",
44660702 25296 "name" : "create_user",
56122987 25297 "parameters" : {
7aacca6f
DM
25298 "additionalProperties" : 0,
25299 "properties" : {
44660702
DM
25300 "comment" : {
25301 "optional" : 1,
013dc89f
DM
25302 "type" : "string",
25303 "typetext" : "<string>"
7aacca6f 25304 },
44660702
DM
25305 "email" : {
25306 "format" : "email-opt",
25307 "optional" : 1,
013dc89f
DM
25308 "type" : "string",
25309 "typetext" : "<string>"
44660702
DM
25310 },
25311 "enable" : {
25312 "default" : 1,
25313 "description" : "Enable the account (default). You can set this to '0' to disable the accout",
25314 "optional" : 1,
013dc89f
DM
25315 "type" : "boolean",
25316 "typetext" : "<boolean>"
44660702
DM
25317 },
25318 "expire" : {
25319 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
25320 "minimum" : 0,
25321 "optional" : 1,
4bd7df8b 25322 "type" : "integer",
013dc89f 25323 "typetext" : "<integer> (0 - N)"
44660702
DM
25324 },
25325 "firstname" : {
25326 "optional" : 1,
013dc89f
DM
25327 "type" : "string",
25328 "typetext" : "<string>"
44660702
DM
25329 },
25330 "groups" : {
25331 "format" : "pve-groupid-list",
25332 "optional" : 1,
013dc89f
DM
25333 "type" : "string",
25334 "typetext" : "<string>"
44660702
DM
25335 },
25336 "keys" : {
25337 "description" : "Keys for two factor auth (yubico).",
25338 "optional" : 1,
013dc89f
DM
25339 "type" : "string",
25340 "typetext" : "<string>"
44660702
DM
25341 },
25342 "lastname" : {
7aacca6f 25343 "optional" : 1,
013dc89f
DM
25344 "type" : "string",
25345 "typetext" : "<string>"
44660702
DM
25346 },
25347 "password" : {
25348 "description" : "Initial password.",
25349 "maxLength" : 64,
25350 "minLength" : 5,
25351 "optional" : 1,
013dc89f
DM
25352 "type" : "string",
25353 "typetext" : "<string>"
44660702
DM
25354 },
25355 "userid" : {
25356 "description" : "User ID",
25357 "format" : "pve-userid",
25358 "maxLength" : 64,
013dc89f
DM
25359 "type" : "string",
25360 "typetext" : "<string>"
56122987 25361 }
7aacca6f 25362 }
56122987 25363 },
44660702
DM
25364 "permissions" : {
25365 "check" : [
25366 "and",
25367 [
25368 "userid-param",
25369 "Realm.AllocateUser"
25370 ],
25371 [
25372 "userid-group",
25373 [
25374 "User.Modify"
25375 ],
25376 "groups_param",
25377 1
25378 ]
25379 ],
25380 "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."
25381 },
25382 "protected" : 1,
25383 "returns" : {
25384 "type" : "null"
25385 }
56122987
DM
25386 }
25387 },
44660702
DM
25388 "leaf" : 0,
25389 "path" : "/access/users",
25390 "text" : "users"
25391 },
25392 {
56122987
DM
25393 "children" : [
25394 {
56122987
DM
25395 "info" : {
25396 "DELETE" : {
44660702
DM
25397 "description" : "Delete group.",
25398 "method" : "DELETE",
25399 "name" : "delete_group",
25400 "parameters" : {
25401 "additionalProperties" : 0,
25402 "properties" : {
25403 "groupid" : {
25404 "format" : "pve-groupid",
013dc89f
DM
25405 "type" : "string",
25406 "typetext" : "<string>"
44660702
DM
25407 }
25408 }
25409 },
7aacca6f
DM
25410 "permissions" : {
25411 "check" : [
25412 "perm",
25413 "/access/groups",
25414 [
25415 "Group.Allocate"
25416 ]
25417 ]
25418 },
7aacca6f 25419 "protected" : 1,
7aacca6f
DM
25420 "returns" : {
25421 "type" : "null"
44660702 25422 }
7aacca6f 25423 },
44660702
DM
25424 "GET" : {
25425 "description" : "Get group configuration.",
25426 "method" : "GET",
25427 "name" : "read_group",
25428 "parameters" : {
25429 "additionalProperties" : 0,
25430 "properties" : {
25431 "groupid" : {
25432 "format" : "pve-groupid",
013dc89f
DM
25433 "type" : "string",
25434 "typetext" : "<string>"
44660702
DM
25435 }
25436 }
56122987 25437 },
7aacca6f
DM
25438 "permissions" : {
25439 "check" : [
25440 "perm",
25441 "/access/groups",
25442 [
44660702 25443 "Sys.Audit",
7aacca6f 25444 "Group.Allocate"
44660702
DM
25445 ],
25446 "any",
25447 1
7aacca6f
DM
25448 ]
25449 },
7aacca6f 25450 "returns" : {
44660702 25451 "additionalProperties" : 0,
7aacca6f
DM
25452 "properties" : {
25453 "comment" : {
44660702
DM
25454 "optional" : 1,
25455 "type" : "string"
7aacca6f
DM
25456 },
25457 "members" : {
25458 "items" : {
25459 "type" : "string"
25460 },
25461 "type" : "array"
25462 }
25463 },
44660702
DM
25464 "type" : "object"
25465 }
25466 },
25467 "PUT" : {
25468 "description" : "Update group data.",
25469 "method" : "PUT",
25470 "name" : "update_group",
56122987 25471 "parameters" : {
44660702 25472 "additionalProperties" : 0,
56122987 25473 "properties" : {
44660702
DM
25474 "comment" : {
25475 "optional" : 1,
013dc89f
DM
25476 "type" : "string",
25477 "typetext" : "<string>"
44660702 25478 },
56122987
DM
25479 "groupid" : {
25480 "format" : "pve-groupid",
013dc89f
DM
25481 "type" : "string",
25482 "typetext" : "<string>"
56122987 25483 }
44660702 25484 }
56122987 25485 },
56122987
DM
25486 "permissions" : {
25487 "check" : [
25488 "perm",
25489 "/access/groups",
25490 [
25491 "Group.Allocate"
44660702 25492 ]
56122987
DM
25493 ]
25494 },
44660702
DM
25495 "protected" : 1,
25496 "returns" : {
25497 "type" : "null"
25498 }
7aacca6f
DM
25499 }
25500 },
7aacca6f 25501 "leaf" : 1,
44660702
DM
25502 "path" : "/access/groups/{groupid}",
25503 "text" : "{groupid}"
25504 }
25505 ],
25506 "info" : {
25507 "GET" : {
25508 "description" : "Group index.",
25509 "method" : "GET",
25510 "name" : "index",
25511 "parameters" : {
25512 "additionalProperties" : 0
25513 },
25514 "permissions" : {
25515 "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.",
25516 "user" : "all"
25517 },
25518 "returns" : {
25519 "items" : {
25520 "properties" : {
25521 "groupid" : {
25522 "type" : "string"
25523 }
25524 },
25525 "type" : "object"
25526 },
25527 "links" : [
25528 {
25529 "href" : "{groupid}",
25530 "rel" : "child"
25531 }
25532 ],
25533 "type" : "array"
25534 }
25535 },
25536 "POST" : {
25537 "description" : "Create new group.",
25538 "method" : "POST",
25539 "name" : "create_group",
25540 "parameters" : {
25541 "additionalProperties" : 0,
25542 "properties" : {
25543 "comment" : {
25544 "optional" : 1,
013dc89f
DM
25545 "type" : "string",
25546 "typetext" : "<string>"
44660702
DM
25547 },
25548 "groupid" : {
25549 "format" : "pve-groupid",
013dc89f
DM
25550 "type" : "string",
25551 "typetext" : "<string>"
44660702
DM
25552 }
25553 }
25554 },
25555 "permissions" : {
25556 "check" : [
25557 "perm",
25558 "/access/groups",
25559 [
25560 "Group.Allocate"
25561 ]
25562 ]
25563 },
25564 "protected" : 1,
25565 "returns" : {
25566 "type" : "null"
25567 }
7aacca6f 25568 }
44660702 25569 },
7aacca6f 25570 "leaf" : 0,
44660702
DM
25571 "path" : "/access/groups",
25572 "text" : "groups"
7aacca6f
DM
25573 },
25574 {
25575 "children" : [
25576 {
7aacca6f 25577 "info" : {
7aacca6f 25578 "DELETE" : {
7aacca6f 25579 "description" : "Delete role.",
44660702 25580 "method" : "DELETE",
7aacca6f 25581 "name" : "delete_role",
56122987
DM
25582 "parameters" : {
25583 "additionalProperties" : 0,
25584 "properties" : {
7aacca6f
DM
25585 "roleid" : {
25586 "format" : "pve-roleid",
013dc89f
DM
25587 "type" : "string",
25588 "typetext" : "<string>"
56122987
DM
25589 }
25590 }
25591 },
56122987
DM
25592 "permissions" : {
25593 "check" : [
25594 "perm",
7aacca6f 25595 "/access",
56122987 25596 [
7aacca6f
DM
25597 "Sys.Modify"
25598 ]
56122987 25599 ]
44660702
DM
25600 },
25601 "protected" : 1,
25602 "returns" : {
25603 "type" : "null"
56122987
DM
25604 }
25605 },
44660702
DM
25606 "GET" : {
25607 "description" : "Get role configuration.",
25608 "method" : "GET",
25609 "name" : "read_role",
25610 "parameters" : {
25611 "additionalProperties" : 0,
25612 "properties" : {
25613 "roleid" : {
25614 "format" : "pve-roleid",
013dc89f
DM
25615 "type" : "string",
25616 "typetext" : "<string>"
44660702
DM
25617 }
25618 }
25619 },
7aacca6f 25620 "permissions" : {
44660702 25621 "user" : "all"
56122987 25622 },
44660702
DM
25623 "returns" : {}
25624 },
25625 "PUT" : {
25626 "description" : "Create new role.",
25627 "method" : "PUT",
25628 "name" : "update_role",
56122987
DM
25629 "parameters" : {
25630 "additionalProperties" : 0,
25631 "properties" : {
7aacca6f 25632 "append" : {
44660702 25633 "optional" : 1,
7aacca6f 25634 "requires" : "privs",
013dc89f
DM
25635 "type" : "boolean",
25636 "typetext" : "<boolean>"
7aacca6f
DM
25637 },
25638 "privs" : {
25639 "format" : "pve-priv-list",
013dc89f
DM
25640 "type" : "string",
25641 "typetext" : "<string>"
44660702
DM
25642 },
25643 "roleid" : {
25644 "format" : "pve-roleid",
013dc89f
DM
25645 "type" : "string",
25646 "typetext" : "<string>"
56122987
DM
25647 }
25648 }
25649 },
44660702
DM
25650 "permissions" : {
25651 "check" : [
25652 "perm",
25653 "/access",
25654 [
25655 "Sys.Modify"
25656 ]
25657 ]
25658 },
56122987 25659 "protected" : 1,
7aacca6f
DM
25660 "returns" : {
25661 "type" : "null"
56122987
DM
25662 }
25663 }
25664 },
44660702 25665 "leaf" : 1,
7aacca6f 25666 "path" : "/access/roles/{roleid}",
44660702 25667 "text" : "{roleid}"
56122987
DM
25668 }
25669 ],
56122987 25670 "info" : {
7aacca6f
DM
25671 "GET" : {
25672 "description" : "Role index.",
44660702 25673 "method" : "GET",
7aacca6f 25674 "name" : "index",
56122987 25675 "parameters" : {
56122987
DM
25676 "additionalProperties" : 0
25677 },
7aacca6f
DM
25678 "permissions" : {
25679 "user" : "all"
25680 },
56122987 25681 "returns" : {
7aacca6f 25682 "items" : {
7aacca6f
DM
25683 "properties" : {
25684 "roleid" : {
25685 "type" : "string"
25686 }
44660702
DM
25687 },
25688 "type" : "object"
25689 },
25690 "links" : [
25691 {
25692 "href" : "{roleid}",
25693 "rel" : "child"
7aacca6f 25694 }
44660702
DM
25695 ],
25696 "type" : "array"
25697 }
7aacca6f
DM
25698 },
25699 "POST" : {
25700 "description" : "Create new role.",
44660702
DM
25701 "method" : "POST",
25702 "name" : "create_role",
7aacca6f
DM
25703 "parameters" : {
25704 "additionalProperties" : 0,
25705 "properties" : {
7aacca6f
DM
25706 "privs" : {
25707 "format" : "pve-priv-list",
25708 "optional" : 1,
013dc89f
DM
25709 "type" : "string",
25710 "typetext" : "<string>"
44660702
DM
25711 },
25712 "roleid" : {
25713 "format" : "pve-roleid",
013dc89f
DM
25714 "type" : "string",
25715 "typetext" : "<string>"
7aacca6f
DM
25716 }
25717 }
25718 },
44660702
DM
25719 "permissions" : {
25720 "check" : [
25721 "perm",
25722 "/access",
25723 [
25724 "Sys.Modify"
25725 ]
25726 ]
25727 },
25728 "protected" : 1,
7aacca6f
DM
25729 "returns" : {
25730 "type" : "null"
25731 }
25732 }
25733 },
44660702 25734 "leaf" : 0,
7aacca6f 25735 "path" : "/access/roles",
44660702 25736 "text" : "roles"
7aacca6f
DM
25737 },
25738 {
25739 "info" : {
56122987 25740 "GET" : {
44660702
DM
25741 "description" : "Get Access Control List (ACLs).",
25742 "method" : "GET",
25743 "name" : "read_acl",
7aacca6f
DM
25744 "parameters" : {
25745 "additionalProperties" : 0
25746 },
44660702
DM
25747 "permissions" : {
25748 "description" : "The returned list is restricted to objects where you have rights to modify permissions.",
25749 "user" : "all"
25750 },
56122987 25751 "returns" : {
56122987 25752 "items" : {
44660702 25753 "additionalProperties" : 0,
56122987 25754 "properties" : {
7aacca6f
DM
25755 "path" : {
25756 "type" : "string"
25757 },
44660702
DM
25758 "propagate" : {
25759 "type" : "boolean"
25760 },
25761 "roleid" : {
25762 "type" : "string"
25763 },
7aacca6f
DM
25764 "type" : {
25765 "enum" : [
25766 "user",
25767 "group"
25768 ],
25769 "type" : "string"
25770 },
7aacca6f
DM
25771 "ugid" : {
25772 "type" : "string"
56122987 25773 }
7aacca6f 25774 },
44660702 25775 "type" : "object"
7aacca6f
DM
25776 },
25777 "type" : "array"
44660702 25778 }
7aacca6f
DM
25779 },
25780 "PUT" : {
44660702
DM
25781 "description" : "Update Access Control List (add or remove permissions).",
25782 "method" : "PUT",
7aacca6f
DM
25783 "name" : "update_acl",
25784 "parameters" : {
25785 "additionalProperties" : 0,
25786 "properties" : {
25787 "delete" : {
44660702 25788 "description" : "Remove permissions (instead of adding it).",
7aacca6f 25789 "optional" : 1,
013dc89f
DM
25790 "type" : "boolean",
25791 "typetext" : "<boolean>"
7aacca6f 25792 },
44660702
DM
25793 "groups" : {
25794 "description" : "List of groups.",
25795 "format" : "pve-groupid-list",
7aacca6f 25796 "optional" : 1,
013dc89f
DM
25797 "type" : "string",
25798 "typetext" : "<string>"
7aacca6f
DM
25799 },
25800 "path" : {
25801 "description" : "Access control path",
013dc89f
DM
25802 "type" : "string",
25803 "typetext" : "<string>"
7aacca6f 25804 },
7aacca6f 25805 "propagate" : {
44660702 25806 "default" : 1,
7aacca6f 25807 "description" : "Allow to propagate (inherit) permissions.",
7aacca6f 25808 "optional" : 1,
013dc89f
DM
25809 "type" : "boolean",
25810 "typetext" : "<boolean>"
7aacca6f 25811 },
44660702
DM
25812 "roles" : {
25813 "description" : "List of roles.",
25814 "format" : "pve-roleid-list",
013dc89f
DM
25815 "type" : "string",
25816 "typetext" : "<string>"
44660702
DM
25817 },
25818 "users" : {
25819 "description" : "List of users.",
25820 "format" : "pve-userid-list",
7aacca6f 25821 "optional" : 1,
013dc89f
DM
25822 "type" : "string",
25823 "typetext" : "<string>"
56122987
DM
25824 }
25825 }
25826 },
56122987 25827 "permissions" : {
7aacca6f
DM
25828 "check" : [
25829 "perm-modify",
25830 "{path}"
25831 ]
25832 },
7aacca6f
DM
25833 "protected" : 1,
25834 "returns" : {
25835 "type" : "null"
44660702 25836 }
56122987
DM
25837 }
25838 },
7aacca6f 25839 "leaf" : 1,
44660702
DM
25840 "path" : "/access/acl",
25841 "text" : "acl"
7aacca6f
DM
25842 },
25843 {
56122987
DM
25844 "children" : [
25845 {
56122987 25846 "info" : {
44660702
DM
25847 "DELETE" : {
25848 "description" : "Delete an authentication server.",
25849 "method" : "DELETE",
25850 "name" : "delete",
25851 "parameters" : {
25852 "additionalProperties" : 0,
25853 "properties" : {
25854 "realm" : {
25855 "description" : "Authentication domain ID",
25856 "format" : "pve-realm",
25857 "maxLength" : 32,
013dc89f
DM
25858 "type" : "string",
25859 "typetext" : "<string>"
56122987 25860 }
44660702 25861 }
56122987 25862 },
56122987
DM
25863 "permissions" : {
25864 "check" : [
25865 "perm",
7aacca6f 25866 "/access/realm",
56122987 25867 [
7aacca6f 25868 "Realm.Allocate"
56122987
DM
25869 ]
25870 ]
25871 },
7aacca6f 25872 "protected" : 1,
7aacca6f
DM
25873 "returns" : {
25874 "type" : "null"
44660702 25875 }
7aacca6f 25876 },
44660702
DM
25877 "GET" : {
25878 "description" : "Get auth server configuration.",
25879 "method" : "GET",
25880 "name" : "read",
56122987 25881 "parameters" : {
44660702 25882 "additionalProperties" : 0,
56122987 25883 "properties" : {
7aacca6f 25884 "realm" : {
44660702 25885 "description" : "Authentication domain ID",
7aacca6f
DM
25886 "format" : "pve-realm",
25887 "maxLength" : 32,
013dc89f
DM
25888 "type" : "string",
25889 "typetext" : "<string>"
56122987 25890 }
44660702 25891 }
7aacca6f 25892 },
7aacca6f
DM
25893 "permissions" : {
25894 "check" : [
25895 "perm",
25896 "/access/realm",
25897 [
44660702
DM
25898 "Realm.Allocate",
25899 "Sys.Audit"
25900 ],
25901 "any",
25902 1
7aacca6f 25903 ]
44660702
DM
25904 },
25905 "returns" : {}
7aacca6f 25906 },
44660702
DM
25907 "PUT" : {
25908 "description" : "Update authentication server settings.",
25909 "method" : "PUT",
25910 "name" : "update",
7aacca6f 25911 "parameters" : {
44660702 25912 "additionalProperties" : 0,
7aacca6f 25913 "properties" : {
44660702
DM
25914 "base_dn" : {
25915 "description" : "LDAP base domain name",
25916 "maxLength" : 256,
25917 "optional" : 1,
25918 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
25919 "type" : "string"
25920 },
4bd7df8b
DM
25921 "bind_dn" : {
25922 "description" : "LDAP bind domain name",
25923 "maxLength" : 256,
25924 "optional" : 1,
25925 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
25926 "type" : "string"
25927 },
44660702
DM
25928 "comment" : {
25929 "description" : "Description.",
25930 "maxLength" : 4096,
25931 "optional" : 1,
013dc89f
DM
25932 "type" : "string",
25933 "typetext" : "<string>"
44660702
DM
25934 },
25935 "default" : {
25936 "description" : "Use this as default realm",
25937 "optional" : 1,
013dc89f
DM
25938 "type" : "boolean",
25939 "typetext" : "<boolean>"
44660702
DM
25940 },
25941 "delete" : {
25942 "description" : "A list of settings you want to delete.",
25943 "format" : "pve-configid-list",
25944 "maxLength" : 4096,
25945 "optional" : 1,
013dc89f
DM
25946 "type" : "string",
25947 "typetext" : "<string>"
44660702
DM
25948 },
25949 "digest" : {
25950 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
25951 "maxLength" : 40,
25952 "optional" : 1,
013dc89f
DM
25953 "type" : "string",
25954 "typetext" : "<string>"
44660702
DM
25955 },
25956 "domain" : {
25957 "description" : "AD domain name",
25958 "maxLength" : 256,
25959 "optional" : 1,
25960 "pattern" : "\\S+",
25961 "type" : "string"
25962 },
25963 "port" : {
25964 "description" : "Server port.",
25965 "maximum" : 65535,
25966 "minimum" : 1,
25967 "optional" : 1,
4bd7df8b 25968 "type" : "integer",
013dc89f 25969 "typetext" : "<integer> (1 - 65535)"
44660702 25970 },
7aacca6f 25971 "realm" : {
7aacca6f
DM
25972 "description" : "Authentication domain ID",
25973 "format" : "pve-realm",
44660702 25974 "maxLength" : 32,
013dc89f
DM
25975 "type" : "string",
25976 "typetext" : "<string>"
44660702
DM
25977 },
25978 "secure" : {
25979 "description" : "Use secure LDAPS protocol.",
25980 "optional" : 1,
013dc89f
DM
25981 "type" : "boolean",
25982 "typetext" : "<boolean>"
44660702
DM
25983 },
25984 "server1" : {
25985 "description" : "Server IP address (or DNS name)",
25986 "format" : "address",
25987 "maxLength" : 256,
25988 "optional" : 1,
013dc89f
DM
25989 "type" : "string",
25990 "typetext" : "<string>"
44660702
DM
25991 },
25992 "server2" : {
25993 "description" : "Fallback Server IP address (or DNS name)",
25994 "format" : "address",
25995 "maxLength" : 256,
25996 "optional" : 1,
013dc89f
DM
25997 "type" : "string",
25998 "typetext" : "<string>"
44660702
DM
25999 },
26000 "tfa" : {
26001 "description" : "Use Two-factor authentication.",
26002 "format" : "pve-tfa-config",
26003 "maxLength" : 128,
26004 "optional" : 1,
013dc89f
DM
26005 "type" : "string",
26006 "typetext" : "<string>"
44660702
DM
26007 },
26008 "user_attr" : {
26009 "description" : "LDAP user attribute name",
26010 "maxLength" : 256,
26011 "optional" : 1,
26012 "pattern" : "\\S{2,}",
26013 "type" : "string"
7aacca6f 26014 }
56122987 26015 },
44660702 26016 "type" : "object"
56122987 26017 },
7aacca6f
DM
26018 "permissions" : {
26019 "check" : [
26020 "perm",
26021 "/access/realm",
26022 [
44660702
DM
26023 "Realm.Allocate"
26024 ]
7aacca6f
DM
26025 ]
26026 },
44660702
DM
26027 "protected" : 1,
26028 "returns" : {
26029 "type" : "null"
26030 }
56122987 26031 }
44660702
DM
26032 },
26033 "leaf" : 1,
26034 "path" : "/access/domains/{realm}",
26035 "text" : "{realm}"
56122987 26036 }
7aacca6f 26037 ],
56122987
DM
26038 "info" : {
26039 "GET" : {
44660702
DM
26040 "description" : "Authentication domain index.",
26041 "method" : "GET",
26042 "name" : "index",
26043 "parameters" : {
26044 "additionalProperties" : 0
26045 },
26046 "permissions" : {
26047 "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
26048 "user" : "world"
26049 },
56122987 26050 "returns" : {
56122987
DM
26051 "items" : {
26052 "properties" : {
7aacca6f 26053 "comment" : {
52e44c50 26054 "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
7aacca6f
DM
26055 "optional" : 1,
26056 "type" : "string"
26057 },
56122987
DM
26058 "realm" : {
26059 "type" : "string"
26060 },
26061 "tfa" : {
7aacca6f 26062 "description" : "Two-factor authentication provider.",
56122987
DM
26063 "enum" : [
26064 "yubico",
26065 "oath"
26066 ],
44660702
DM
26067 "optional" : 1,
26068 "type" : "string"
56122987
DM
26069 }
26070 },
26071 "type" : "object"
44660702
DM
26072 },
26073 "links" : [
26074 {
26075 "href" : "{realm}",
26076 "rel" : "child"
26077 }
26078 ],
26079 "type" : "array"
26080 }
56122987
DM
26081 },
26082 "POST" : {
7aacca6f 26083 "description" : "Add an authentication server.",
44660702 26084 "method" : "POST",
7aacca6f 26085 "name" : "create",
56122987 26086 "parameters" : {
44660702 26087 "additionalProperties" : 0,
56122987 26088 "properties" : {
44660702
DM
26089 "base_dn" : {
26090 "description" : "LDAP base domain name",
56122987 26091 "maxLength" : 256,
44660702
DM
26092 "optional" : 1,
26093 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
7aacca6f 26094 "type" : "string"
56122987 26095 },
4bd7df8b
DM
26096 "bind_dn" : {
26097 "description" : "LDAP bind domain name",
26098 "maxLength" : 256,
26099 "optional" : 1,
26100 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
26101 "type" : "string"
26102 },
44660702
DM
26103 "comment" : {
26104 "description" : "Description.",
26105 "maxLength" : 4096,
56122987 26106 "optional" : 1,
013dc89f
DM
26107 "type" : "string",
26108 "typetext" : "<string>"
56122987 26109 },
44660702
DM
26110 "default" : {
26111 "description" : "Use this as default realm",
7aacca6f 26112 "optional" : 1,
013dc89f
DM
26113 "type" : "boolean",
26114 "typetext" : "<boolean>"
56122987 26115 },
44660702
DM
26116 "domain" : {
26117 "description" : "AD domain name",
26118 "maxLength" : 256,
7aacca6f 26119 "optional" : 1,
44660702
DM
26120 "pattern" : "\\S+",
26121 "type" : "string"
56122987 26122 },
7aacca6f 26123 "port" : {
44660702 26124 "description" : "Server port.",
7aacca6f 26125 "maximum" : 65535,
44660702 26126 "minimum" : 1,
7aacca6f 26127 "optional" : 1,
4bd7df8b 26128 "type" : "integer",
013dc89f 26129 "typetext" : "<integer> (1 - 65535)"
56122987 26130 },
44660702
DM
26131 "realm" : {
26132 "description" : "Authentication domain ID",
26133 "format" : "pve-realm",
26134 "maxLength" : 32,
013dc89f
DM
26135 "type" : "string",
26136 "typetext" : "<string>"
44660702
DM
26137 },
26138 "secure" : {
26139 "description" : "Use secure LDAPS protocol.",
7aacca6f 26140 "optional" : 1,
013dc89f
DM
26141 "type" : "boolean",
26142 "typetext" : "<boolean>"
56122987 26143 },
44660702
DM
26144 "server1" : {
26145 "description" : "Server IP address (or DNS name)",
26146 "format" : "address",
26147 "maxLength" : 256,
26148 "optional" : 1,
013dc89f
DM
26149 "type" : "string",
26150 "typetext" : "<string>"
56122987 26151 },
44660702
DM
26152 "server2" : {
26153 "description" : "Fallback Server IP address (or DNS name)",
26154 "format" : "address",
7aacca6f 26155 "maxLength" : 256,
7aacca6f 26156 "optional" : 1,
013dc89f
DM
26157 "type" : "string",
26158 "typetext" : "<string>"
7aacca6f 26159 },
44660702
DM
26160 "tfa" : {
26161 "description" : "Use Two-factor authentication.",
26162 "format" : "pve-tfa-config",
26163 "maxLength" : 128,
26164 "optional" : 1,
013dc89f
DM
26165 "type" : "string",
26166 "typetext" : "<string>"
44660702
DM
26167 },
26168 "type" : {
26169 "description" : "Realm type.",
26170 "enum" : [
26171 "ad",
26172 "ldap",
26173 "pam",
26174 "pve"
26175 ],
26176 "type" : "string"
26177 },
26178 "user_attr" : {
26179 "description" : "LDAP user attribute name",
7aacca6f 26180 "maxLength" : 256,
7aacca6f 26181 "optional" : 1,
44660702
DM
26182 "pattern" : "\\S{2,}",
26183 "type" : "string"
7aacca6f
DM
26184 }
26185 },
7aacca6f 26186 "type" : "object"
56122987 26187 },
7aacca6f
DM
26188 "permissions" : {
26189 "check" : [
26190 "perm",
26191 "/access/realm",
26192 [
26193 "Realm.Allocate"
26194 ]
26195 ]
44660702
DM
26196 },
26197 "protected" : 1,
26198 "returns" : {
26199 "type" : "null"
7aacca6f 26200 }
56122987 26201 }
7aacca6f 26202 },
44660702 26203 "leaf" : 0,
56122987 26204 "path" : "/access/domains",
44660702 26205 "text" : "domains"
56122987
DM
26206 },
26207 {
56122987 26208 "info" : {
44660702
DM
26209 "GET" : {
26210 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
26211 "method" : "GET",
26212 "name" : "get_ticket",
26213 "parameters" : {
26214 "additionalProperties" : 0
26215 },
26216 "permissions" : {
26217 "user" : "world"
26218 },
26219 "returns" : {
26220 "type" : "null"
26221 }
26222 },
56122987 26223 "POST" : {
44660702 26224 "description" : "Create or verify authentication ticket.",
56122987 26225 "method" : "POST",
44660702
DM
26226 "name" : "create_ticket",
26227 "parameters" : {
26228 "additionalProperties" : 0,
56122987 26229 "properties" : {
44660702
DM
26230 "otp" : {
26231 "description" : "One-time password for Two-factor authentication.",
7aacca6f 26232 "optional" : 1,
013dc89f
DM
26233 "type" : "string",
26234 "typetext" : "<string>"
56122987 26235 },
7aacca6f
DM
26236 "password" : {
26237 "description" : "The secret password. This can also be a valid ticket.",
013dc89f
DM
26238 "type" : "string",
26239 "typetext" : "<string>"
7aacca6f 26240 },
44660702
DM
26241 "path" : {
26242 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
7aacca6f 26243 "maxLength" : 64,
56122987 26244 "optional" : 1,
56122987 26245 "requires" : "privs",
013dc89f
DM
26246 "type" : "string",
26247 "typetext" : "<string>"
44660702
DM
26248 },
26249 "privs" : {
7aacca6f 26250 "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
44660702
DM
26251 "format" : "pve-priv-list",
26252 "maxLength" : 64,
56122987 26253 "optional" : 1,
44660702 26254 "requires" : "path",
013dc89f
DM
26255 "type" : "string",
26256 "typetext" : "<string>"
56122987
DM
26257 },
26258 "realm" : {
56122987 26259 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
44660702 26260 "format" : "pve-realm",
7aacca6f 26261 "maxLength" : 32,
44660702 26262 "optional" : 1,
013dc89f
DM
26263 "type" : "string",
26264 "typetext" : "<string>"
56122987
DM
26265 },
26266 "username" : {
26267 "description" : "User name",
44660702 26268 "maxLength" : 64,
013dc89f
DM
26269 "type" : "string",
26270 "typetext" : "<string>"
56122987 26271 }
44660702 26272 }
7aacca6f 26273 },
56122987 26274 "permissions" : {
44660702 26275 "description" : "You need to pass valid credientials.",
56122987
DM
26276 "user" : "world"
26277 },
44660702 26278 "protected" : 1,
7aacca6f 26279 "returns" : {
56122987 26280 "properties" : {
44660702
DM
26281 "CSRFPreventionToken" : {
26282 "optional" : 1,
26283 "type" : "string"
56122987 26284 },
44660702
DM
26285 "ticket" : {
26286 "optional" : 1,
26287 "type" : "string"
26288 },
26289 "username" : {
56122987
DM
26290 "type" : "string"
26291 }
26292 },
44660702 26293 "type" : "object"
7aacca6f 26294 }
7aacca6f
DM
26295 }
26296 },
44660702
DM
26297 "leaf" : 1,
26298 "path" : "/access/ticket",
26299 "text" : "ticket"
7aacca6f 26300 },
56122987 26301 {
56122987 26302 "info" : {
7aacca6f 26303 "PUT" : {
44660702 26304 "description" : "Change user password.",
7aacca6f 26305 "method" : "PUT",
44660702 26306 "name" : "change_passsword",
56122987
DM
26307 "parameters" : {
26308 "additionalProperties" : 0,
26309 "properties" : {
44660702
DM
26310 "password" : {
26311 "description" : "The new password.",
26312 "maxLength" : 64,
26313 "minLength" : 5,
013dc89f
DM
26314 "type" : "string",
26315 "typetext" : "<string>"
7aacca6f 26316 },
44660702
DM
26317 "userid" : {
26318 "description" : "User ID",
26319 "format" : "pve-userid",
26320 "maxLength" : 64,
013dc89f
DM
26321 "type" : "string",
26322 "typetext" : "<string>"
56122987 26323 }
7aacca6f 26324 }
56122987
DM
26325 },
26326 "permissions" : {
26327 "check" : [
44660702 26328 "or",
56122987 26329 [
44660702
DM
26330 "userid-param",
26331 "self"
26332 ],
26333 [
26334 "and",
26335 [
26336 "userid-param",
26337 "Realm.AllocateUser"
26338 ],
26339 [
26340 "userid-group",
26341 [
26342 "User.Modify"
26343 ]
26344 ]
56122987 26345 ]
7aacca6f 26346 ],
44660702 26347 "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 26348 },
44660702 26349 "protected" : 1,
7aacca6f
DM
26350 "returns" : {
26351 "type" : "null"
44660702
DM
26352 }
26353 }
26354 },
26355 "leaf" : 1,
26356 "path" : "/access/password",
26357 "text" : "password"
26358 }
26359 ],
26360 "info" : {
26361 "GET" : {
26362 "description" : "Directory index.",
26363 "method" : "GET",
26364 "name" : "index",
26365 "parameters" : {
26366 "additionalProperties" : 0
26367 },
26368 "permissions" : {
26369 "user" : "all"
26370 },
26371 "returns" : {
26372 "items" : {
26373 "properties" : {
26374 "subdir" : {
26375 "type" : "string"
26376 }
7aacca6f 26377 },
44660702
DM
26378 "type" : "object"
26379 },
26380 "links" : [
26381 {
26382 "href" : "{subdir}",
26383 "rel" : "child"
26384 }
26385 ],
26386 "type" : "array"
26387 }
26388 }
26389 },
26390 "leaf" : 0,
26391 "path" : "/access",
26392 "text" : "access"
26393 },
26394 {
26395 "children" : [
26396 {
26397 "info" : {
26398 "DELETE" : {
7aacca6f 26399 "description" : "Delete pool.",
44660702
DM
26400 "method" : "DELETE",
26401 "name" : "delete_pool",
7aacca6f
DM
26402 "parameters" : {
26403 "additionalProperties" : 0,
26404 "properties" : {
26405 "poolid" : {
26406 "format" : "pve-poolid",
013dc89f
DM
26407 "type" : "string",
26408 "typetext" : "<string>"
7aacca6f
DM
26409 }
26410 }
26411 },
56122987
DM
26412 "permissions" : {
26413 "check" : [
26414 "perm",
26415 "/pool/{poolid}",
26416 [
26417 "Pool.Allocate"
26418 ]
44660702
DM
26419 ],
26420 "description" : "You can only delete empty pools (no members)."
26421 },
26422 "protected" : 1,
26423 "returns" : {
26424 "type" : "null"
7aacca6f
DM
26425 }
26426 },
26427 "GET" : {
26428 "description" : "Get pool configuration.",
44660702 26429 "method" : "GET",
7aacca6f 26430 "name" : "read_pool",
56122987 26431 "parameters" : {
44660702 26432 "additionalProperties" : 0,
56122987
DM
26433 "properties" : {
26434 "poolid" : {
44660702 26435 "format" : "pve-poolid",
013dc89f
DM
26436 "type" : "string",
26437 "typetext" : "<string>"
56122987 26438 }
44660702 26439 }
56122987 26440 },
56122987 26441 "permissions" : {
56122987
DM
26442 "check" : [
26443 "perm",
26444 "/pool/{poolid}",
26445 [
26446 "Pool.Allocate"
26447 ]
26448 ]
26449 },
7aacca6f 26450 "returns" : {
44660702 26451 "additionalProperties" : 0,
56122987 26452 "properties" : {
44660702
DM
26453 "comment" : {
26454 "optional" : 1,
26455 "type" : "string"
26456 },
7aacca6f 26457 "members" : {
7aacca6f
DM
26458 "items" : {
26459 "additionalProperties" : 1,
7aacca6f 26460 "properties" : {
7aacca6f
DM
26461 "id" : {
26462 "type" : "string"
26463 },
26464 "node" : {
26465 "type" : "string"
26466 },
44660702
DM
26467 "storage" : {
26468 "optional" : 1,
26469 "type" : "string"
26470 },
7aacca6f 26471 "type" : {
7aacca6f
DM
26472 "enum" : [
26473 "qemu",
26474 "lxc",
26475 "openvz",
26476 "storage"
44660702
DM
26477 ],
26478 "type" : "string"
26479 },
26480 "vmid" : {
26481 "optional" : 1,
26482 "type" : "integer"
7aacca6f 26483 }
44660702
DM
26484 },
26485 "type" : "object"
26486 },
26487 "type" : "array"
26488 }
26489 },
26490 "type" : "object"
26491 }
26492 },
26493 "PUT" : {
26494 "description" : "Update pool data.",
26495 "method" : "PUT",
26496 "name" : "update_pool",
26497 "parameters" : {
26498 "additionalProperties" : 0,
26499 "properties" : {
56122987
DM
26500 "comment" : {
26501 "optional" : 1,
013dc89f
DM
26502 "type" : "string",
26503 "typetext" : "<string>"
44660702
DM
26504 },
26505 "delete" : {
26506 "description" : "Remove vms/storage (instead of adding it).",
26507 "optional" : 1,
013dc89f
DM
26508 "type" : "boolean",
26509 "typetext" : "<boolean>"
44660702
DM
26510 },
26511 "poolid" : {
26512 "format" : "pve-poolid",
013dc89f
DM
26513 "type" : "string",
26514 "typetext" : "<string>"
44660702
DM
26515 },
26516 "storage" : {
26517 "description" : "List of storage IDs.",
26518 "format" : "pve-storage-id-list",
26519 "optional" : 1,
013dc89f
DM
26520 "type" : "string",
26521 "typetext" : "<string>"
44660702
DM
26522 },
26523 "vms" : {
26524 "description" : "List of virtual machines.",
26525 "format" : "pve-vmid-list",
26526 "optional" : 1,
013dc89f
DM
26527 "type" : "string",
26528 "typetext" : "<string>"
56122987 26529 }
44660702
DM
26530 }
26531 },
26532 "permissions" : {
26533 "check" : [
26534 "perm",
26535 "/pool/{poolid}",
26536 [
26537 "Pool.Allocate"
26538 ]
26539 ],
26540 "description" : "You also need the right to modify permissions on any object you add/delete."
26541 },
26542 "protected" : 1,
26543 "returns" : {
26544 "type" : "null"
56122987
DM
26545 }
26546 }
26547 },
44660702
DM
26548 "leaf" : 1,
26549 "path" : "/pools/{poolid}",
7aacca6f 26550 "text" : "{poolid}"
56122987 26551 }
7aacca6f 26552 ],
56122987
DM
26553 "info" : {
26554 "GET" : {
44660702
DM
26555 "description" : "Pool index.",
26556 "method" : "GET",
26557 "name" : "index",
26558 "parameters" : {
26559 "additionalProperties" : 0
26560 },
26561 "permissions" : {
26562 "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
26563 "user" : "all"
26564 },
56122987 26565 "returns" : {
44660702
DM
26566 "items" : {
26567 "properties" : {
26568 "poolid" : {
26569 "type" : "string"
26570 }
56122987 26571 },
44660702
DM
26572 "type" : "object"
26573 },
26574 "links" : [
26575 {
26576 "href" : "{poolid}",
26577 "rel" : "child"
26578 }
26579 ],
26580 "type" : "array"
26581 }
26582 },
26583 "POST" : {
26584 "description" : "Create new pool.",
26585 "method" : "POST",
26586 "name" : "create_pool",
26587 "parameters" : {
26588 "additionalProperties" : 0,
26589 "properties" : {
26590 "comment" : {
26591 "optional" : 1,
013dc89f
DM
26592 "type" : "string",
26593 "typetext" : "<string>"
7aacca6f 26594 },
44660702
DM
26595 "poolid" : {
26596 "format" : "pve-poolid",
013dc89f
DM
26597 "type" : "string",
26598 "typetext" : "<string>"
56122987
DM
26599 }
26600 }
26601 },
56122987 26602 "permissions" : {
44660702
DM
26603 "check" : [
26604 "perm",
26605 "/pool/{poolid}",
26606 [
26607 "Pool.Allocate"
26608 ]
26609 ]
56122987 26610 },
44660702
DM
26611 "protected" : 1,
26612 "returns" : {
26613 "type" : "null"
26614 }
26615 }
26616 },
26617 "leaf" : 0,
26618 "path" : "/pools",
26619 "text" : "pools"
26620 },
26621 {
26622 "info" : {
26623 "GET" : {
26624 "description" : "API version details. The result also includes the global datacenter confguration.",
26625 "method" : "GET",
26626 "name" : "version",
7aacca6f
DM
26627 "parameters" : {
26628 "additionalProperties" : 0
26629 },
44660702
DM
26630 "permissions" : {
26631 "user" : "all"
26632 },
26633 "returns" : {
26634 "properties" : {
26635 "release" : {
26636 "type" : "string"
26637 },
26638 "repoid" : {
26639 "type" : "string"
26640 },
26641 "version" : {
26642 "type" : "string"
26643 }
26644 },
26645 "type" : "object"
26646 }
56122987
DM
26647 }
26648 },
44660702
DM
26649 "leaf" : 1,
26650 "path" : "/version",
56122987
DM
26651 "text" : "version"
26652 }
26653]
26654;
26655