]>
Commit | Line | Data |
---|---|---|
56122987 DM |
1 | var pveapi = [ |
2 | { | |
56122987 DM |
3 | "children" : [ |
4 | { | |
56122987 DM |
5 | "children" : [ |
6 | { | |
56122987 DM |
7 | "children" : [ |
8 | { | |
44660702 DM |
9 | "children" : [ |
10 | { | |
11 | "info" : { | |
12 | "DELETE" : { | |
13 | "description" : "Delete rule.", | |
14 | "method" : "DELETE", | |
15 | "name" : "delete_rule", | |
16 | "parameters" : { | |
17 | "additionalProperties" : 0, | |
18 | "properties" : { | |
19 | "digest" : { | |
20 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
21 | "maxLength" : 40, | |
22 | "optional" : 1, | |
013dc89f DM |
23 | "type" : "string", |
24 | "typetext" : "<string>" | |
44660702 DM |
25 | }, |
26 | "group" : { | |
27 | "description" : "Security Group name.", | |
4bd7df8b | 28 | "maxLength" : 18, |
44660702 DM |
29 | "minLength" : 2, |
30 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
31 | "type" : "string" | |
32 | }, | |
33 | "pos" : { | |
34 | "description" : "Update rule at position <pos>.", | |
35 | "minimum" : 0, | |
36 | "optional" : 1, | |
4bd7df8b | 37 | "type" : "integer", |
013dc89f | 38 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
39 | } |
40 | } | |
41 | }, | |
42 | "permissions" : { | |
43 | "check" : [ | |
44 | "perm", | |
45 | "/", | |
46 | [ | |
47 | "Sys.Modify" | |
48 | ] | |
49 | ] | |
50 | }, | |
51 | "protected" : 1, | |
52 | "proxyto" : null, | |
53 | "returns" : { | |
54 | "type" : "null" | |
7aacca6f DM |
55 | } |
56 | }, | |
44660702 DM |
57 | "GET" : { |
58 | "description" : "Get single rule data.", | |
59 | "method" : "GET", | |
60 | "name" : "get_rule", | |
61 | "parameters" : { | |
62 | "additionalProperties" : 0, | |
63 | "properties" : { | |
64 | "group" : { | |
65 | "description" : "Security Group name.", | |
4bd7df8b | 66 | "maxLength" : 18, |
44660702 DM |
67 | "minLength" : 2, |
68 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
69 | "type" : "string" | |
70 | }, | |
71 | "pos" : { | |
72 | "description" : "Update rule at position <pos>.", | |
73 | "minimum" : 0, | |
74 | "optional" : 1, | |
4bd7df8b | 75 | "type" : "integer", |
013dc89f | 76 | "typetext" : "<integer> (0 - N)" |
44660702 | 77 | } |
7aacca6f | 78 | } |
56122987 | 79 | }, |
44660702 DM |
80 | "permissions" : { |
81 | "check" : [ | |
82 | "perm", | |
83 | "/", | |
84 | [ | |
85 | "Sys.Audit" | |
86 | ] | |
87 | ] | |
88 | }, | |
89 | "proxyto" : null, | |
90 | "returns" : { | |
91 | "properties" : { | |
92 | "pos" : { | |
93 | "type" : "integer" | |
94 | } | |
95 | }, | |
96 | "type" : "object" | |
56122987 | 97 | } |
44660702 | 98 | }, |
7aacca6f | 99 | "PUT" : { |
44660702 DM |
100 | "description" : "Modify rule data.", |
101 | "method" : "PUT", | |
102 | "name" : "update_rule", | |
7aacca6f DM |
103 | "parameters" : { |
104 | "additionalProperties" : 0, | |
105 | "properties" : { | |
44660702 DM |
106 | "action" : { |
107 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
7aacca6f | 108 | "maxLength" : 20, |
44660702 | 109 | "minLength" : 2, |
7aacca6f | 110 | "optional" : 1, |
44660702 | 111 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7aacca6f DM |
112 | "type" : "string" |
113 | }, | |
44660702 | 114 | "comment" : { |
e94f0d56 | 115 | "description" : "Descriptive comment.", |
7aacca6f | 116 | "optional" : 1, |
013dc89f DM |
117 | "type" : "string", |
118 | "typetext" : "<string>" | |
7aacca6f | 119 | }, |
44660702 DM |
120 | "delete" : { |
121 | "description" : "A list of settings you want to delete.", | |
122 | "format" : "pve-configid-list", | |
7aacca6f | 123 | "optional" : 1, |
013dc89f DM |
124 | "type" : "string", |
125 | "typetext" : "<string>" | |
7aacca6f | 126 | }, |
44660702 DM |
127 | "dest" : { |
128 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
129 | "format" : "pve-fw-addr-spec", | |
7aacca6f | 130 | "optional" : 1, |
013dc89f DM |
131 | "type" : "string", |
132 | "typetext" : "<string>" | |
7aacca6f DM |
133 | }, |
134 | "digest" : { | |
135 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 136 | "maxLength" : 40, |
7aacca6f | 137 | "optional" : 1, |
013dc89f DM |
138 | "type" : "string", |
139 | "typetext" : "<string>" | |
7aacca6f | 140 | }, |
44660702 DM |
141 | "dport" : { |
142 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
143 | "format" : "pve-fw-dport-spec", | |
7aacca6f | 144 | "optional" : 1, |
013dc89f DM |
145 | "type" : "string", |
146 | "typetext" : "<string>" | |
7aacca6f | 147 | }, |
44660702 | 148 | "enable" : { |
e94f0d56 | 149 | "description" : "Flag to enable/disable a rule.", |
44660702 | 150 | "minimum" : 0, |
7aacca6f | 151 | "optional" : 1, |
4bd7df8b | 152 | "type" : "integer", |
013dc89f | 153 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 154 | }, |
44660702 DM |
155 | "group" : { |
156 | "description" : "Security Group name.", | |
4bd7df8b | 157 | "maxLength" : 18, |
44660702 DM |
158 | "minLength" : 2, |
159 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
160 | "type" : "string" | |
161 | }, | |
162 | "iface" : { | |
163 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
164 | "format" : "pve-iface", | |
165 | "maxLength" : 20, | |
166 | "minLength" : 2, | |
7aacca6f | 167 | "optional" : 1, |
013dc89f DM |
168 | "type" : "string", |
169 | "typetext" : "<string>" | |
7aacca6f | 170 | }, |
44660702 | 171 | "macro" : { |
e94f0d56 | 172 | "description" : "Use predefined standard macro.", |
44660702 DM |
173 | "maxLength" : 128, |
174 | "optional" : 1, | |
013dc89f DM |
175 | "type" : "string", |
176 | "typetext" : "<string>" | |
7aacca6f DM |
177 | }, |
178 | "moveto" : { | |
179 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
44660702 | 180 | "minimum" : 0, |
7aacca6f | 181 | "optional" : 1, |
4bd7df8b | 182 | "type" : "integer", |
013dc89f | 183 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 184 | }, |
44660702 DM |
185 | "pos" : { |
186 | "description" : "Update rule at position <pos>.", | |
187 | "minimum" : 0, | |
188 | "optional" : 1, | |
4bd7df8b | 189 | "type" : "integer", |
013dc89f | 190 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 191 | }, |
44660702 DM |
192 | "proto" : { |
193 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
194 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 195 | "optional" : 1, |
013dc89f DM |
196 | "type" : "string", |
197 | "typetext" : "<string>" | |
44660702 DM |
198 | }, |
199 | "source" : { | |
200 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
201 | "format" : "pve-fw-addr-spec", | |
202 | "optional" : 1, | |
013dc89f DM |
203 | "type" : "string", |
204 | "typetext" : "<string>" | |
44660702 DM |
205 | }, |
206 | "sport" : { | |
207 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
208 | "format" : "pve-fw-sport-spec", | |
209 | "optional" : 1, | |
013dc89f DM |
210 | "type" : "string", |
211 | "typetext" : "<string>" | |
7aacca6f DM |
212 | }, |
213 | "type" : { | |
e94f0d56 | 214 | "description" : "Rule type.", |
7aacca6f DM |
215 | "enum" : [ |
216 | "in", | |
217 | "out", | |
218 | "group" | |
219 | ], | |
220 | "optional" : 1, | |
221 | "type" : "string" | |
222 | } | |
223 | } | |
224 | }, | |
7aacca6f DM |
225 | "permissions" : { |
226 | "check" : [ | |
227 | "perm", | |
228 | "/", | |
229 | [ | |
230 | "Sys.Modify" | |
231 | ] | |
232 | ] | |
233 | }, | |
44660702 | 234 | "protected" : 1, |
7aacca6f DM |
235 | "proxyto" : null, |
236 | "returns" : { | |
237 | "type" : "null" | |
238 | } | |
7aacca6f DM |
239 | } |
240 | }, | |
44660702 | 241 | "leaf" : 1, |
7aacca6f | 242 | "path" : "/cluster/firewall/groups/{group}/{pos}", |
44660702 | 243 | "text" : "{pos}" |
7aacca6f DM |
244 | } |
245 | ], | |
44660702 DM |
246 | "info" : { |
247 | "DELETE" : { | |
248 | "description" : "Delete security group.", | |
249 | "method" : "DELETE", | |
250 | "name" : "delete_security_group", | |
251 | "parameters" : { | |
252 | "additionalProperties" : 0, | |
253 | "properties" : { | |
254 | "group" : { | |
255 | "description" : "Security Group name.", | |
4bd7df8b | 256 | "maxLength" : 18, |
44660702 DM |
257 | "minLength" : 2, |
258 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
259 | "type" : "string" | |
260 | } | |
56122987 | 261 | } |
7aacca6f | 262 | }, |
44660702 DM |
263 | "permissions" : { |
264 | "check" : [ | |
265 | "perm", | |
266 | "/", | |
267 | [ | |
268 | "Sys.Modify" | |
269 | ] | |
7aacca6f | 270 | ] |
56122987 | 271 | }, |
44660702 DM |
272 | "protected" : 1, |
273 | "returns" : { | |
274 | "type" : "null" | |
56122987 | 275 | } |
7aacca6f | 276 | }, |
7aacca6f | 277 | "GET" : { |
44660702 | 278 | "description" : "List rules.", |
7aacca6f | 279 | "method" : "GET", |
44660702 DM |
280 | "name" : "get_rules", |
281 | "parameters" : { | |
282 | "additionalProperties" : 0, | |
7aacca6f | 283 | "properties" : { |
44660702 DM |
284 | "group" : { |
285 | "description" : "Security Group name.", | |
4bd7df8b | 286 | "maxLength" : 18, |
44660702 DM |
287 | "minLength" : 2, |
288 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
289 | "type" : "string" | |
7aacca6f | 290 | } |
44660702 | 291 | } |
7aacca6f DM |
292 | }, |
293 | "permissions" : { | |
294 | "check" : [ | |
295 | "perm", | |
296 | "/", | |
297 | [ | |
298 | "Sys.Audit" | |
299 | ] | |
300 | ] | |
301 | }, | |
44660702 DM |
302 | "proxyto" : null, |
303 | "returns" : { | |
304 | "items" : { | |
305 | "properties" : { | |
306 | "pos" : { | |
307 | "type" : "integer" | |
308 | } | |
309 | }, | |
310 | "type" : "object" | |
311 | }, | |
312 | "links" : [ | |
313 | { | |
314 | "href" : "{pos}", | |
315 | "rel" : "child" | |
316 | } | |
317 | ], | |
318 | "type" : "array" | |
319 | } | |
320 | }, | |
321 | "POST" : { | |
322 | "description" : "Create new rule.", | |
323 | "method" : "POST", | |
324 | "name" : "create_rule", | |
7aacca6f DM |
325 | "parameters" : { |
326 | "additionalProperties" : 0, | |
327 | "properties" : { | |
44660702 DM |
328 | "action" : { |
329 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
330 | "maxLength" : 20, | |
56122987 | 331 | "minLength" : 2, |
44660702 DM |
332 | "optional" : 0, |
333 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7aacca6f | 334 | "type" : "string" |
56122987 | 335 | }, |
44660702 | 336 | "comment" : { |
e94f0d56 | 337 | "description" : "Descriptive comment.", |
56122987 | 338 | "optional" : 1, |
013dc89f DM |
339 | "type" : "string", |
340 | "typetext" : "<string>" | |
56122987 | 341 | }, |
44660702 DM |
342 | "dest" : { |
343 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
56122987 DM |
344 | "format" : "pve-fw-addr-spec", |
345 | "optional" : 1, | |
013dc89f DM |
346 | "type" : "string", |
347 | "typetext" : "<string>" | |
56122987 | 348 | }, |
44660702 DM |
349 | "digest" : { |
350 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
351 | "maxLength" : 40, | |
7aacca6f | 352 | "optional" : 1, |
013dc89f DM |
353 | "type" : "string", |
354 | "typetext" : "<string>" | |
56122987 | 355 | }, |
44660702 DM |
356 | "dport" : { |
357 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
358 | "format" : "pve-fw-dport-spec", | |
56122987 | 359 | "optional" : 1, |
013dc89f DM |
360 | "type" : "string", |
361 | "typetext" : "<string>" | |
56122987 | 362 | }, |
7aacca6f | 363 | "enable" : { |
e94f0d56 | 364 | "description" : "Flag to enable/disable a rule.", |
44660702 | 365 | "minimum" : 0, |
7aacca6f | 366 | "optional" : 1, |
4bd7df8b | 367 | "type" : "integer", |
013dc89f | 368 | "typetext" : "<integer> (0 - N)" |
56122987 | 369 | }, |
44660702 DM |
370 | "group" : { |
371 | "description" : "Security Group name.", | |
4bd7df8b | 372 | "maxLength" : 18, |
44660702 | 373 | "minLength" : 2, |
7aacca6f | 374 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 DM |
375 | "type" : "string" |
376 | }, | |
377 | "iface" : { | |
378 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
379 | "format" : "pve-iface", | |
380 | "maxLength" : 20, | |
7aacca6f | 381 | "minLength" : 2, |
44660702 | 382 | "optional" : 1, |
013dc89f DM |
383 | "type" : "string", |
384 | "typetext" : "<string>" | |
56122987 | 385 | }, |
7aacca6f | 386 | "macro" : { |
e94f0d56 | 387 | "description" : "Use predefined standard macro.", |
44660702 | 388 | "maxLength" : 128, |
7aacca6f | 389 | "optional" : 1, |
013dc89f DM |
390 | "type" : "string", |
391 | "typetext" : "<string>" | |
7aacca6f DM |
392 | }, |
393 | "pos" : { | |
394 | "description" : "Update rule at position <pos>.", | |
44660702 | 395 | "minimum" : 0, |
56122987 | 396 | "optional" : 1, |
4bd7df8b | 397 | "type" : "integer", |
013dc89f | 398 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
399 | }, |
400 | "proto" : { | |
401 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
44660702 | 402 | "format" : "pve-fw-protocol-spec", |
7aacca6f | 403 | "optional" : 1, |
013dc89f DM |
404 | "type" : "string", |
405 | "typetext" : "<string>" | |
44660702 DM |
406 | }, |
407 | "source" : { | |
408 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
409 | "format" : "pve-fw-addr-spec", | |
410 | "optional" : 1, | |
013dc89f DM |
411 | "type" : "string", |
412 | "typetext" : "<string>" | |
44660702 DM |
413 | }, |
414 | "sport" : { | |
415 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
416 | "format" : "pve-fw-sport-spec", | |
417 | "optional" : 1, | |
013dc89f DM |
418 | "type" : "string", |
419 | "typetext" : "<string>" | |
44660702 DM |
420 | }, |
421 | "type" : { | |
e94f0d56 | 422 | "description" : "Rule type.", |
44660702 DM |
423 | "enum" : [ |
424 | "in", | |
425 | "out", | |
426 | "group" | |
427 | ], | |
428 | "optional" : 0, | |
429 | "type" : "string" | |
56122987 | 430 | } |
44660702 | 431 | } |
56122987 | 432 | }, |
56122987 DM |
433 | "permissions" : { |
434 | "check" : [ | |
435 | "perm", | |
436 | "/", | |
437 | [ | |
438 | "Sys.Modify" | |
439 | ] | |
440 | ] | |
441 | }, | |
44660702 DM |
442 | "protected" : 1, |
443 | "proxyto" : null, | |
56122987 DM |
444 | "returns" : { |
445 | "type" : "null" | |
7aacca6f | 446 | } |
44660702 DM |
447 | } |
448 | }, | |
449 | "leaf" : 0, | |
450 | "path" : "/cluster/firewall/groups/{group}", | |
451 | "text" : "{group}" | |
452 | } | |
453 | ], | |
454 | "info" : { | |
455 | "GET" : { | |
456 | "description" : "List security groups.", | |
457 | "method" : "GET", | |
458 | "name" : "list_security_groups", | |
459 | "parameters" : { | |
460 | "additionalProperties" : 0 | |
461 | }, | |
462 | "permissions" : { | |
463 | "user" : "all" | |
464 | }, | |
465 | "returns" : { | |
466 | "items" : { | |
467 | "properties" : { | |
468 | "comment" : { | |
469 | "optional" : 1, | |
470 | "type" : "string" | |
471 | }, | |
472 | "digest" : { | |
473 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
474 | "maxLength" : 40, | |
475 | "optional" : 0, | |
476 | "type" : "string" | |
477 | }, | |
478 | "group" : { | |
479 | "description" : "Security Group name.", | |
4bd7df8b | 480 | "maxLength" : 18, |
44660702 DM |
481 | "minLength" : 2, |
482 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
483 | "type" : "string" | |
484 | } | |
485 | }, | |
486 | "type" : "object" | |
56122987 | 487 | }, |
44660702 DM |
488 | "links" : [ |
489 | { | |
490 | "href" : "{group}", | |
491 | "rel" : "child" | |
492 | } | |
493 | ], | |
494 | "type" : "array" | |
495 | } | |
496 | }, | |
497 | "POST" : { | |
498 | "description" : "Create new security group.", | |
499 | "method" : "POST", | |
500 | "name" : "create_security_group", | |
501 | "parameters" : { | |
502 | "additionalProperties" : 0, | |
503 | "properties" : { | |
504 | "comment" : { | |
505 | "optional" : 1, | |
013dc89f DM |
506 | "type" : "string", |
507 | "typetext" : "<string>" | |
44660702 DM |
508 | }, |
509 | "digest" : { | |
510 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
511 | "maxLength" : 40, | |
512 | "optional" : 1, | |
013dc89f DM |
513 | "type" : "string", |
514 | "typetext" : "<string>" | |
44660702 DM |
515 | }, |
516 | "group" : { | |
517 | "description" : "Security Group name.", | |
4bd7df8b | 518 | "maxLength" : 18, |
44660702 DM |
519 | "minLength" : 2, |
520 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
521 | "type" : "string" | |
522 | }, | |
523 | "rename" : { | |
524 | "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.", | |
4bd7df8b | 525 | "maxLength" : 18, |
44660702 DM |
526 | "minLength" : 2, |
527 | "optional" : 1, | |
528 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
529 | "type" : "string" | |
530 | } | |
531 | } | |
532 | }, | |
533 | "permissions" : { | |
534 | "check" : [ | |
535 | "perm", | |
536 | "/", | |
537 | [ | |
538 | "Sys.Modify" | |
539 | ] | |
540 | ] | |
541 | }, | |
542 | "protected" : 1, | |
543 | "returns" : { | |
544 | "type" : "null" | |
545 | } | |
546 | } | |
547 | }, | |
548 | "leaf" : 0, | |
549 | "path" : "/cluster/firewall/groups", | |
550 | "text" : "groups" | |
551 | }, | |
552 | { | |
553 | "children" : [ | |
554 | { | |
555 | "info" : { | |
7aacca6f | 556 | "DELETE" : { |
44660702 DM |
557 | "description" : "Delete rule.", |
558 | "method" : "DELETE", | |
559 | "name" : "delete_rule", | |
560 | "parameters" : { | |
561 | "additionalProperties" : 0, | |
562 | "properties" : { | |
563 | "digest" : { | |
564 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
565 | "maxLength" : 40, | |
566 | "optional" : 1, | |
013dc89f DM |
567 | "type" : "string", |
568 | "typetext" : "<string>" | |
44660702 DM |
569 | }, |
570 | "pos" : { | |
571 | "description" : "Update rule at position <pos>.", | |
572 | "minimum" : 0, | |
573 | "optional" : 1, | |
4bd7df8b | 574 | "type" : "integer", |
013dc89f | 575 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
576 | } |
577 | } | |
578 | }, | |
56122987 DM |
579 | "permissions" : { |
580 | "check" : [ | |
581 | "perm", | |
582 | "/", | |
583 | [ | |
7aacca6f | 584 | "Sys.Modify" |
56122987 DM |
585 | ] |
586 | ] | |
587 | }, | |
44660702 | 588 | "protected" : 1, |
56122987 DM |
589 | "proxyto" : null, |
590 | "returns" : { | |
7aacca6f | 591 | "type" : "null" |
44660702 DM |
592 | } |
593 | }, | |
594 | "GET" : { | |
595 | "description" : "Get single rule data.", | |
596 | "method" : "GET", | |
597 | "name" : "get_rule", | |
56122987 DM |
598 | "parameters" : { |
599 | "additionalProperties" : 0, | |
600 | "properties" : { | |
601 | "pos" : { | |
7aacca6f | 602 | "description" : "Update rule at position <pos>.", |
44660702 | 603 | "minimum" : 0, |
56122987 | 604 | "optional" : 1, |
4bd7df8b | 605 | "type" : "integer", |
013dc89f | 606 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
607 | } |
608 | } | |
609 | }, | |
7aacca6f DM |
610 | "permissions" : { |
611 | "check" : [ | |
612 | "perm", | |
613 | "/", | |
614 | [ | |
615 | "Sys.Audit" | |
616 | ] | |
617 | ] | |
56122987 | 618 | }, |
44660702 DM |
619 | "proxyto" : null, |
620 | "returns" : { | |
7aacca6f | 621 | "properties" : { |
44660702 DM |
622 | "pos" : { |
623 | "type" : "integer" | |
7aacca6f | 624 | } |
44660702 DM |
625 | }, |
626 | "type" : "object" | |
627 | } | |
56122987 | 628 | }, |
44660702 DM |
629 | "PUT" : { |
630 | "description" : "Modify rule data.", | |
631 | "method" : "PUT", | |
632 | "name" : "update_rule", | |
7aacca6f DM |
633 | "parameters" : { |
634 | "additionalProperties" : 0, | |
635 | "properties" : { | |
44660702 DM |
636 | "action" : { |
637 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
638 | "maxLength" : 20, | |
639 | "minLength" : 2, | |
640 | "optional" : 1, | |
641 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
642 | "type" : "string" | |
7aacca6f | 643 | }, |
44660702 | 644 | "comment" : { |
e94f0d56 | 645 | "description" : "Descriptive comment.", |
44660702 | 646 | "optional" : 1, |
013dc89f DM |
647 | "type" : "string", |
648 | "typetext" : "<string>" | |
7aacca6f | 649 | }, |
44660702 DM |
650 | "delete" : { |
651 | "description" : "A list of settings you want to delete.", | |
652 | "format" : "pve-configid-list", | |
653 | "optional" : 1, | |
013dc89f DM |
654 | "type" : "string", |
655 | "typetext" : "<string>" | |
44660702 DM |
656 | }, |
657 | "dest" : { | |
658 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
659 | "format" : "pve-fw-addr-spec", | |
660 | "optional" : 1, | |
013dc89f DM |
661 | "type" : "string", |
662 | "typetext" : "<string>" | |
44660702 DM |
663 | }, |
664 | "digest" : { | |
665 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
666 | "maxLength" : 40, | |
667 | "optional" : 1, | |
013dc89f DM |
668 | "type" : "string", |
669 | "typetext" : "<string>" | |
44660702 DM |
670 | }, |
671 | "dport" : { | |
672 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
673 | "format" : "pve-fw-dport-spec", | |
674 | "optional" : 1, | |
013dc89f DM |
675 | "type" : "string", |
676 | "typetext" : "<string>" | |
44660702 DM |
677 | }, |
678 | "enable" : { | |
e94f0d56 | 679 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
680 | "minimum" : 0, |
681 | "optional" : 1, | |
4bd7df8b | 682 | "type" : "integer", |
013dc89f | 683 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
684 | }, |
685 | "iface" : { | |
686 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
687 | "format" : "pve-iface", | |
688 | "maxLength" : 20, | |
7aacca6f | 689 | "minLength" : 2, |
44660702 | 690 | "optional" : 1, |
013dc89f DM |
691 | "type" : "string", |
692 | "typetext" : "<string>" | |
7aacca6f | 693 | }, |
44660702 | 694 | "macro" : { |
e94f0d56 | 695 | "description" : "Use predefined standard macro.", |
44660702 DM |
696 | "maxLength" : 128, |
697 | "optional" : 1, | |
013dc89f DM |
698 | "type" : "string", |
699 | "typetext" : "<string>" | |
44660702 DM |
700 | }, |
701 | "moveto" : { | |
702 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
703 | "minimum" : 0, | |
704 | "optional" : 1, | |
4bd7df8b | 705 | "type" : "integer", |
013dc89f | 706 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
707 | }, |
708 | "pos" : { | |
709 | "description" : "Update rule at position <pos>.", | |
710 | "minimum" : 0, | |
711 | "optional" : 1, | |
4bd7df8b | 712 | "type" : "integer", |
013dc89f | 713 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
714 | }, |
715 | "proto" : { | |
716 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
717 | "format" : "pve-fw-protocol-spec", | |
718 | "optional" : 1, | |
013dc89f DM |
719 | "type" : "string", |
720 | "typetext" : "<string>" | |
44660702 DM |
721 | }, |
722 | "source" : { | |
723 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
724 | "format" : "pve-fw-addr-spec", | |
725 | "optional" : 1, | |
013dc89f DM |
726 | "type" : "string", |
727 | "typetext" : "<string>" | |
44660702 DM |
728 | }, |
729 | "sport" : { | |
730 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
731 | "format" : "pve-fw-sport-spec", | |
732 | "optional" : 1, | |
013dc89f DM |
733 | "type" : "string", |
734 | "typetext" : "<string>" | |
44660702 DM |
735 | }, |
736 | "type" : { | |
e94f0d56 | 737 | "description" : "Rule type.", |
44660702 DM |
738 | "enum" : [ |
739 | "in", | |
740 | "out", | |
741 | "group" | |
742 | ], | |
743 | "optional" : 1, | |
744 | "type" : "string" | |
7aacca6f | 745 | } |
56122987 DM |
746 | } |
747 | }, | |
7aacca6f DM |
748 | "permissions" : { |
749 | "check" : [ | |
750 | "perm", | |
751 | "/", | |
752 | [ | |
753 | "Sys.Modify" | |
754 | ] | |
755 | ] | |
756 | }, | |
44660702 DM |
757 | "protected" : 1, |
758 | "proxyto" : null, | |
759 | "returns" : { | |
760 | "type" : "null" | |
761 | } | |
7aacca6f | 762 | } |
56122987 | 763 | }, |
44660702 DM |
764 | "leaf" : 1, |
765 | "path" : "/cluster/firewall/rules/{pos}", | |
766 | "text" : "{pos}" | |
7aacca6f DM |
767 | } |
768 | ], | |
7aacca6f | 769 | "info" : { |
44660702 DM |
770 | "GET" : { |
771 | "description" : "List rules.", | |
772 | "method" : "GET", | |
773 | "name" : "get_rules", | |
7aacca6f | 774 | "parameters" : { |
44660702 | 775 | "additionalProperties" : 0 |
7aacca6f DM |
776 | }, |
777 | "permissions" : { | |
778 | "check" : [ | |
779 | "perm", | |
780 | "/", | |
781 | [ | |
44660702 | 782 | "Sys.Audit" |
7aacca6f DM |
783 | ] |
784 | ] | |
785 | }, | |
44660702 | 786 | "proxyto" : null, |
7aacca6f | 787 | "returns" : { |
7aacca6f DM |
788 | "items" : { |
789 | "properties" : { | |
44660702 DM |
790 | "pos" : { |
791 | "type" : "integer" | |
7aacca6f DM |
792 | } |
793 | }, | |
794 | "type" : "object" | |
56122987 | 795 | }, |
7aacca6f DM |
796 | "links" : [ |
797 | { | |
44660702 | 798 | "href" : "{pos}", |
7aacca6f DM |
799 | "rel" : "child" |
800 | } | |
44660702 DM |
801 | ], |
802 | "type" : "array" | |
7aacca6f | 803 | } |
44660702 | 804 | }, |
7aacca6f | 805 | "POST" : { |
44660702 | 806 | "description" : "Create new rule.", |
7aacca6f | 807 | "method" : "POST", |
44660702 | 808 | "name" : "create_rule", |
7aacca6f DM |
809 | "parameters" : { |
810 | "additionalProperties" : 0, | |
811 | "properties" : { | |
44660702 DM |
812 | "action" : { |
813 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
814 | "maxLength" : 20, | |
7aacca6f | 815 | "minLength" : 2, |
44660702 DM |
816 | "optional" : 0, |
817 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
818 | "type" : "string" | |
7aacca6f DM |
819 | }, |
820 | "comment" : { | |
e94f0d56 | 821 | "description" : "Descriptive comment.", |
7aacca6f | 822 | "optional" : 1, |
013dc89f DM |
823 | "type" : "string", |
824 | "typetext" : "<string>" | |
44660702 DM |
825 | }, |
826 | "dest" : { | |
827 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
828 | "format" : "pve-fw-addr-spec", | |
829 | "optional" : 1, | |
013dc89f DM |
830 | "type" : "string", |
831 | "typetext" : "<string>" | |
44660702 DM |
832 | }, |
833 | "digest" : { | |
834 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
835 | "maxLength" : 40, | |
836 | "optional" : 1, | |
013dc89f DM |
837 | "type" : "string", |
838 | "typetext" : "<string>" | |
44660702 DM |
839 | }, |
840 | "dport" : { | |
841 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
842 | "format" : "pve-fw-dport-spec", | |
843 | "optional" : 1, | |
013dc89f DM |
844 | "type" : "string", |
845 | "typetext" : "<string>" | |
44660702 DM |
846 | }, |
847 | "enable" : { | |
e94f0d56 | 848 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
849 | "minimum" : 0, |
850 | "optional" : 1, | |
4bd7df8b | 851 | "type" : "integer", |
013dc89f | 852 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
853 | }, |
854 | "iface" : { | |
855 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
856 | "format" : "pve-iface", | |
857 | "maxLength" : 20, | |
858 | "minLength" : 2, | |
859 | "optional" : 1, | |
013dc89f DM |
860 | "type" : "string", |
861 | "typetext" : "<string>" | |
44660702 DM |
862 | }, |
863 | "macro" : { | |
e94f0d56 | 864 | "description" : "Use predefined standard macro.", |
44660702 DM |
865 | "maxLength" : 128, |
866 | "optional" : 1, | |
013dc89f DM |
867 | "type" : "string", |
868 | "typetext" : "<string>" | |
44660702 DM |
869 | }, |
870 | "pos" : { | |
871 | "description" : "Update rule at position <pos>.", | |
872 | "minimum" : 0, | |
873 | "optional" : 1, | |
4bd7df8b | 874 | "type" : "integer", |
013dc89f | 875 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
876 | }, |
877 | "proto" : { | |
878 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
879 | "format" : "pve-fw-protocol-spec", | |
880 | "optional" : 1, | |
013dc89f DM |
881 | "type" : "string", |
882 | "typetext" : "<string>" | |
44660702 DM |
883 | }, |
884 | "source" : { | |
885 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
886 | "format" : "pve-fw-addr-spec", | |
887 | "optional" : 1, | |
013dc89f DM |
888 | "type" : "string", |
889 | "typetext" : "<string>" | |
44660702 DM |
890 | }, |
891 | "sport" : { | |
892 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
893 | "format" : "pve-fw-sport-spec", | |
894 | "optional" : 1, | |
013dc89f DM |
895 | "type" : "string", |
896 | "typetext" : "<string>" | |
44660702 DM |
897 | }, |
898 | "type" : { | |
e94f0d56 | 899 | "description" : "Rule type.", |
44660702 DM |
900 | "enum" : [ |
901 | "in", | |
902 | "out", | |
903 | "group" | |
904 | ], | |
905 | "optional" : 0, | |
906 | "type" : "string" | |
7aacca6f DM |
907 | } |
908 | } | |
909 | }, | |
910 | "permissions" : { | |
911 | "check" : [ | |
912 | "perm", | |
913 | "/", | |
914 | [ | |
915 | "Sys.Modify" | |
916 | ] | |
917 | ] | |
918 | }, | |
44660702 DM |
919 | "protected" : 1, |
920 | "proxyto" : null, | |
7aacca6f | 921 | "returns" : { |
44660702 DM |
922 | "type" : "null" |
923 | } | |
924 | } | |
925 | }, | |
926 | "leaf" : 0, | |
927 | "path" : "/cluster/firewall/rules", | |
928 | "text" : "rules" | |
929 | }, | |
930 | { | |
931 | "children" : [ | |
932 | { | |
933 | "children" : [ | |
934 | { | |
935 | "info" : { | |
936 | "DELETE" : { | |
937 | "description" : "Remove IP or Network from IPSet.", | |
938 | "method" : "DELETE", | |
939 | "name" : "remove_ip", | |
940 | "parameters" : { | |
941 | "additionalProperties" : 0, | |
942 | "properties" : { | |
943 | "cidr" : { | |
944 | "description" : "Network/IP specification in CIDR format.", | |
945 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
946 | "type" : "string", |
947 | "typetext" : "<string>" | |
44660702 DM |
948 | }, |
949 | "digest" : { | |
950 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
951 | "maxLength" : 40, | |
952 | "optional" : 1, | |
013dc89f DM |
953 | "type" : "string", |
954 | "typetext" : "<string>" | |
44660702 DM |
955 | }, |
956 | "name" : { | |
957 | "description" : "IP set name.", | |
958 | "maxLength" : 64, | |
959 | "minLength" : 2, | |
960 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
961 | "type" : "string" | |
962 | } | |
963 | } | |
964 | }, | |
965 | "permissions" : { | |
966 | "check" : [ | |
967 | "perm", | |
968 | "/", | |
969 | [ | |
970 | "Sys.Modify" | |
971 | ] | |
972 | ] | |
973 | }, | |
974 | "protected" : 1, | |
975 | "returns" : { | |
976 | "type" : "null" | |
977 | } | |
7aacca6f | 978 | }, |
44660702 DM |
979 | "GET" : { |
980 | "description" : "Read IP or Network settings from IPSet.", | |
981 | "method" : "GET", | |
982 | "name" : "read_ip", | |
983 | "parameters" : { | |
984 | "additionalProperties" : 0, | |
985 | "properties" : { | |
986 | "cidr" : { | |
987 | "description" : "Network/IP specification in CIDR format.", | |
988 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
989 | "type" : "string", |
990 | "typetext" : "<string>" | |
44660702 DM |
991 | }, |
992 | "name" : { | |
993 | "description" : "IP set name.", | |
994 | "maxLength" : 64, | |
995 | "minLength" : 2, | |
996 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
997 | "type" : "string" | |
998 | } | |
999 | } | |
1000 | }, | |
1001 | "permissions" : { | |
1002 | "check" : [ | |
1003 | "perm", | |
1004 | "/", | |
1005 | [ | |
1006 | "Sys.Audit" | |
1007 | ] | |
1008 | ] | |
1009 | }, | |
1010 | "protected" : 1, | |
1011 | "returns" : { | |
1012 | "type" : "object" | |
1013 | } | |
7aacca6f | 1014 | }, |
44660702 DM |
1015 | "PUT" : { |
1016 | "description" : "Update IP or Network settings", | |
1017 | "method" : "PUT", | |
1018 | "name" : "update_ip", | |
1019 | "parameters" : { | |
1020 | "additionalProperties" : 0, | |
1021 | "properties" : { | |
1022 | "cidr" : { | |
1023 | "description" : "Network/IP specification in CIDR format.", | |
1024 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
1025 | "type" : "string", |
1026 | "typetext" : "<string>" | |
44660702 DM |
1027 | }, |
1028 | "comment" : { | |
1029 | "optional" : 1, | |
013dc89f DM |
1030 | "type" : "string", |
1031 | "typetext" : "<string>" | |
44660702 DM |
1032 | }, |
1033 | "digest" : { | |
1034 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1035 | "maxLength" : 40, | |
1036 | "optional" : 1, | |
013dc89f DM |
1037 | "type" : "string", |
1038 | "typetext" : "<string>" | |
44660702 DM |
1039 | }, |
1040 | "name" : { | |
1041 | "description" : "IP set name.", | |
1042 | "maxLength" : 64, | |
1043 | "minLength" : 2, | |
1044 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1045 | "type" : "string" | |
1046 | }, | |
1047 | "nomatch" : { | |
1048 | "optional" : 1, | |
013dc89f DM |
1049 | "type" : "boolean", |
1050 | "typetext" : "<boolean>" | |
44660702 DM |
1051 | } |
1052 | } | |
1053 | }, | |
1054 | "permissions" : { | |
1055 | "check" : [ | |
1056 | "perm", | |
1057 | "/", | |
1058 | [ | |
1059 | "Sys.Modify" | |
1060 | ] | |
1061 | ] | |
1062 | }, | |
1063 | "protected" : 1, | |
1064 | "returns" : { | |
1065 | "type" : "null" | |
1066 | } | |
7aacca6f DM |
1067 | } |
1068 | }, | |
44660702 DM |
1069 | "leaf" : 1, |
1070 | "path" : "/cluster/firewall/ipset/{name}/{cidr}", | |
1071 | "text" : "{cidr}" | |
7aacca6f | 1072 | } |
44660702 | 1073 | ], |
7aacca6f DM |
1074 | "info" : { |
1075 | "DELETE" : { | |
44660702 DM |
1076 | "description" : "Delete IPSet", |
1077 | "method" : "DELETE", | |
1078 | "name" : "delete_ipset", | |
56122987 | 1079 | "parameters" : { |
44660702 | 1080 | "additionalProperties" : 0, |
56122987 DM |
1081 | "properties" : { |
1082 | "name" : { | |
44660702 | 1083 | "description" : "IP set name.", |
56122987 | 1084 | "maxLength" : 64, |
44660702 | 1085 | "minLength" : 2, |
56122987 | 1086 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 1087 | "type" : "string" |
56122987 | 1088 | } |
44660702 | 1089 | } |
7aacca6f | 1090 | }, |
56122987 DM |
1091 | "permissions" : { |
1092 | "check" : [ | |
1093 | "perm", | |
1094 | "/", | |
1095 | [ | |
1096 | "Sys.Modify" | |
1097 | ] | |
1098 | ] | |
1099 | }, | |
7aacca6f DM |
1100 | "protected" : 1, |
1101 | "returns" : { | |
1102 | "type" : "null" | |
44660702 | 1103 | } |
7aacca6f | 1104 | }, |
44660702 DM |
1105 | "GET" : { |
1106 | "description" : "List IPSet content", | |
1107 | "method" : "GET", | |
1108 | "name" : "get_ipset", | |
56122987 DM |
1109 | "parameters" : { |
1110 | "additionalProperties" : 0, | |
1111 | "properties" : { | |
7aacca6f | 1112 | "name" : { |
44660702 | 1113 | "description" : "IP set name.", |
7aacca6f | 1114 | "maxLength" : 64, |
7aacca6f | 1115 | "minLength" : 2, |
44660702 | 1116 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 | 1117 | "type" : "string" |
56122987 | 1118 | } |
7aacca6f | 1119 | } |
56122987 | 1120 | }, |
56122987 DM |
1121 | "permissions" : { |
1122 | "check" : [ | |
1123 | "perm", | |
1124 | "/", | |
1125 | [ | |
44660702 | 1126 | "Sys.Audit" |
56122987 DM |
1127 | ] |
1128 | ] | |
44660702 DM |
1129 | }, |
1130 | "returns" : { | |
1131 | "items" : { | |
1132 | "properties" : { | |
1133 | "cidr" : { | |
1134 | "type" : "string" | |
1135 | }, | |
1136 | "comment" : { | |
1137 | "optional" : 1, | |
1138 | "type" : "string" | |
1139 | }, | |
1140 | "digest" : { | |
1141 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1142 | "maxLength" : 40, | |
1143 | "optional" : 0, | |
1144 | "type" : "string" | |
1145 | }, | |
1146 | "nomatch" : { | |
1147 | "optional" : 1, | |
1148 | "type" : "boolean" | |
1149 | } | |
1150 | }, | |
1151 | "type" : "object" | |
1152 | }, | |
1153 | "links" : [ | |
1154 | { | |
1155 | "href" : "{cidr}", | |
1156 | "rel" : "child" | |
1157 | } | |
1158 | ], | |
1159 | "type" : "array" | |
7aacca6f DM |
1160 | } |
1161 | }, | |
44660702 DM |
1162 | "POST" : { |
1163 | "description" : "Add IP or Network to IPSet.", | |
1164 | "method" : "POST", | |
1165 | "name" : "create_ip", | |
56122987 DM |
1166 | "parameters" : { |
1167 | "additionalProperties" : 0, | |
1168 | "properties" : { | |
44660702 DM |
1169 | "cidr" : { |
1170 | "description" : "Network/IP specification in CIDR format.", | |
1171 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
1172 | "type" : "string", |
1173 | "typetext" : "<string>" | |
44660702 DM |
1174 | }, |
1175 | "comment" : { | |
1176 | "optional" : 1, | |
013dc89f DM |
1177 | "type" : "string", |
1178 | "typetext" : "<string>" | |
44660702 DM |
1179 | }, |
1180 | "name" : { | |
1181 | "description" : "IP set name.", | |
1182 | "maxLength" : 64, | |
1183 | "minLength" : 2, | |
1184 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1185 | "type" : "string" | |
1186 | }, | |
1187 | "nomatch" : { | |
1188 | "optional" : 1, | |
013dc89f DM |
1189 | "type" : "boolean", |
1190 | "typetext" : "<boolean>" | |
56122987 DM |
1191 | } |
1192 | } | |
1193 | }, | |
56122987 DM |
1194 | "permissions" : { |
1195 | "check" : [ | |
1196 | "perm", | |
1197 | "/", | |
1198 | [ | |
44660702 | 1199 | "Sys.Modify" |
56122987 DM |
1200 | ] |
1201 | ] | |
1202 | }, | |
44660702 | 1203 | "protected" : 1, |
56122987 | 1204 | "returns" : { |
44660702 DM |
1205 | "type" : "null" |
1206 | } | |
56122987 DM |
1207 | } |
1208 | }, | |
44660702 DM |
1209 | "leaf" : 0, |
1210 | "path" : "/cluster/firewall/ipset/{name}", | |
1211 | "text" : "{name}" | |
56122987 DM |
1212 | } |
1213 | ], | |
56122987 | 1214 | "info" : { |
44660702 DM |
1215 | "GET" : { |
1216 | "description" : "List IPSets", | |
1217 | "method" : "GET", | |
1218 | "name" : "ipset_index", | |
56122987 | 1219 | "parameters" : { |
7aacca6f | 1220 | "additionalProperties" : 0 |
56122987 | 1221 | }, |
56122987 DM |
1222 | "permissions" : { |
1223 | "check" : [ | |
1224 | "perm", | |
1225 | "/", | |
1226 | [ | |
7aacca6f | 1227 | "Sys.Audit" |
56122987 DM |
1228 | ] |
1229 | ] | |
1230 | }, | |
56122987 DM |
1231 | "returns" : { |
1232 | "items" : { | |
1233 | "properties" : { | |
44660702 DM |
1234 | "comment" : { |
1235 | "optional" : 1, | |
1236 | "type" : "string" | |
56122987 | 1237 | }, |
44660702 DM |
1238 | "digest" : { |
1239 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1240 | "maxLength" : 40, | |
1241 | "optional" : 0, | |
1242 | "type" : "string" | |
1243 | }, | |
1244 | "name" : { | |
1245 | "description" : "IP set name.", | |
1246 | "maxLength" : 64, | |
1247 | "minLength" : 2, | |
1248 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
7aacca6f | 1249 | "type" : "string" |
56122987 DM |
1250 | } |
1251 | }, | |
1252 | "type" : "object" | |
44660702 DM |
1253 | }, |
1254 | "links" : [ | |
1255 | { | |
1256 | "href" : "{name}", | |
1257 | "rel" : "child" | |
1258 | } | |
1259 | ], | |
1260 | "type" : "array" | |
56122987 | 1261 | } |
44660702 DM |
1262 | }, |
1263 | "POST" : { | |
1264 | "description" : "Create new IPSet", | |
1265 | "method" : "POST", | |
1266 | "name" : "create_ipset", | |
7aacca6f DM |
1267 | "parameters" : { |
1268 | "additionalProperties" : 0, | |
1269 | "properties" : { | |
44660702 DM |
1270 | "comment" : { |
1271 | "optional" : 1, | |
013dc89f DM |
1272 | "type" : "string", |
1273 | "typetext" : "<string>" | |
44660702 DM |
1274 | }, |
1275 | "digest" : { | |
1276 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1277 | "maxLength" : 40, | |
1278 | "optional" : 1, | |
013dc89f DM |
1279 | "type" : "string", |
1280 | "typetext" : "<string>" | |
44660702 DM |
1281 | }, |
1282 | "name" : { | |
1283 | "description" : "IP set name.", | |
1284 | "maxLength" : 64, | |
1285 | "minLength" : 2, | |
1286 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1287 | "type" : "string" | |
1288 | }, | |
1289 | "rename" : { | |
1290 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
1291 | "maxLength" : 64, | |
1292 | "minLength" : 2, | |
1293 | "optional" : 1, | |
1294 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1295 | "type" : "string" | |
7aacca6f DM |
1296 | } |
1297 | } | |
1298 | }, | |
56122987 DM |
1299 | "permissions" : { |
1300 | "check" : [ | |
1301 | "perm", | |
1302 | "/", | |
1303 | [ | |
44660702 | 1304 | "Sys.Modify" |
56122987 DM |
1305 | ] |
1306 | ] | |
1307 | }, | |
44660702 | 1308 | "protected" : 1, |
56122987 | 1309 | "returns" : { |
44660702 DM |
1310 | "type" : "null" |
1311 | } | |
56122987 | 1312 | } |
7aacca6f | 1313 | }, |
44660702 DM |
1314 | "leaf" : 0, |
1315 | "path" : "/cluster/firewall/ipset", | |
1316 | "text" : "ipset" | |
1317 | }, | |
56122987 | 1318 | { |
44660702 DM |
1319 | "children" : [ |
1320 | { | |
1321 | "info" : { | |
1322 | "DELETE" : { | |
1323 | "description" : "Remove IP or Network alias.", | |
1324 | "method" : "DELETE", | |
1325 | "name" : "remove_alias", | |
1326 | "parameters" : { | |
1327 | "additionalProperties" : 0, | |
1328 | "properties" : { | |
1329 | "digest" : { | |
1330 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1331 | "maxLength" : 40, | |
1332 | "optional" : 1, | |
013dc89f DM |
1333 | "type" : "string", |
1334 | "typetext" : "<string>" | |
44660702 DM |
1335 | }, |
1336 | "name" : { | |
1337 | "description" : "Alias name.", | |
1338 | "maxLength" : 64, | |
1339 | "minLength" : 2, | |
1340 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1341 | "type" : "string" | |
1342 | } | |
1343 | } | |
1344 | }, | |
1345 | "permissions" : { | |
1346 | "check" : [ | |
1347 | "perm", | |
1348 | "/", | |
1349 | [ | |
1350 | "Sys.Modify" | |
1351 | ] | |
1352 | ] | |
1353 | }, | |
1354 | "protected" : 1, | |
1355 | "returns" : { | |
1356 | "type" : "null" | |
1357 | } | |
1358 | }, | |
1359 | "GET" : { | |
1360 | "description" : "Read alias.", | |
1361 | "method" : "GET", | |
1362 | "name" : "read_alias", | |
1363 | "parameters" : { | |
1364 | "additionalProperties" : 0, | |
1365 | "properties" : { | |
1366 | "name" : { | |
1367 | "description" : "Alias name.", | |
1368 | "maxLength" : 64, | |
1369 | "minLength" : 2, | |
1370 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1371 | "type" : "string" | |
1372 | } | |
1373 | } | |
1374 | }, | |
1375 | "permissions" : { | |
1376 | "check" : [ | |
1377 | "perm", | |
1378 | "/", | |
1379 | [ | |
1380 | "Sys.Audit" | |
1381 | ] | |
1382 | ] | |
1383 | }, | |
1384 | "returns" : { | |
1385 | "type" : "object" | |
1386 | } | |
1387 | }, | |
1388 | "PUT" : { | |
1389 | "description" : "Update IP or Network alias.", | |
1390 | "method" : "PUT", | |
1391 | "name" : "update_alias", | |
1392 | "parameters" : { | |
1393 | "additionalProperties" : 0, | |
1394 | "properties" : { | |
1395 | "cidr" : { | |
1396 | "description" : "Network/IP specification in CIDR format.", | |
1397 | "format" : "IPorCIDR", | |
013dc89f DM |
1398 | "type" : "string", |
1399 | "typetext" : "<string>" | |
44660702 DM |
1400 | }, |
1401 | "comment" : { | |
1402 | "optional" : 1, | |
013dc89f DM |
1403 | "type" : "string", |
1404 | "typetext" : "<string>" | |
44660702 DM |
1405 | }, |
1406 | "digest" : { | |
1407 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1408 | "maxLength" : 40, | |
1409 | "optional" : 1, | |
013dc89f DM |
1410 | "type" : "string", |
1411 | "typetext" : "<string>" | |
44660702 DM |
1412 | }, |
1413 | "name" : { | |
1414 | "description" : "Alias name.", | |
1415 | "maxLength" : 64, | |
1416 | "minLength" : 2, | |
1417 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1418 | "type" : "string" | |
1419 | }, | |
1420 | "rename" : { | |
1421 | "description" : "Rename an existing alias.", | |
1422 | "maxLength" : 64, | |
1423 | "minLength" : 2, | |
1424 | "optional" : 1, | |
1425 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1426 | "type" : "string" | |
1427 | } | |
1428 | } | |
1429 | }, | |
1430 | "permissions" : { | |
1431 | "check" : [ | |
1432 | "perm", | |
1433 | "/", | |
1434 | [ | |
1435 | "Sys.Modify" | |
1436 | ] | |
1437 | ] | |
1438 | }, | |
1439 | "protected" : 1, | |
1440 | "returns" : { | |
1441 | "type" : "null" | |
1442 | } | |
1443 | } | |
1444 | }, | |
1445 | "leaf" : 1, | |
1446 | "path" : "/cluster/firewall/aliases/{name}", | |
1447 | "text" : "{name}" | |
1448 | } | |
1449 | ], | |
1450 | "info" : { | |
1451 | "GET" : { | |
1452 | "description" : "List aliases", | |
1453 | "method" : "GET", | |
1454 | "name" : "get_aliases", | |
1455 | "parameters" : { | |
1456 | "additionalProperties" : 0 | |
1457 | }, | |
1458 | "permissions" : { | |
1459 | "check" : [ | |
1460 | "perm", | |
1461 | "/", | |
1462 | [ | |
1463 | "Sys.Audit" | |
1464 | ] | |
1465 | ] | |
1466 | }, | |
1467 | "returns" : { | |
1468 | "items" : { | |
1469 | "properties" : { | |
1470 | "cidr" : { | |
1471 | "type" : "string" | |
1472 | }, | |
1473 | "comment" : { | |
1474 | "optional" : 1, | |
1475 | "type" : "string" | |
1476 | }, | |
1477 | "digest" : { | |
1478 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1479 | "maxLength" : 40, | |
1480 | "optional" : 0, | |
1481 | "type" : "string" | |
1482 | }, | |
1483 | "name" : { | |
1484 | "type" : "string" | |
1485 | } | |
1486 | }, | |
1487 | "type" : "object" | |
1488 | }, | |
1489 | "links" : [ | |
1490 | { | |
1491 | "href" : "{name}", | |
1492 | "rel" : "child" | |
1493 | } | |
1494 | ], | |
1495 | "type" : "array" | |
1496 | } | |
1497 | }, | |
1498 | "POST" : { | |
1499 | "description" : "Create IP or Network Alias.", | |
1500 | "method" : "POST", | |
1501 | "name" : "create_alias", | |
56122987 DM |
1502 | "parameters" : { |
1503 | "additionalProperties" : 0, | |
1504 | "properties" : { | |
44660702 DM |
1505 | "cidr" : { |
1506 | "description" : "Network/IP specification in CIDR format.", | |
1507 | "format" : "IPorCIDR", | |
013dc89f DM |
1508 | "type" : "string", |
1509 | "typetext" : "<string>" | |
44660702 DM |
1510 | }, |
1511 | "comment" : { | |
1512 | "optional" : 1, | |
013dc89f DM |
1513 | "type" : "string", |
1514 | "typetext" : "<string>" | |
44660702 DM |
1515 | }, |
1516 | "name" : { | |
1517 | "description" : "Alias name.", | |
1518 | "maxLength" : 64, | |
1519 | "minLength" : 2, | |
1520 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
1521 | "type" : "string" | |
56122987 DM |
1522 | } |
1523 | } | |
1524 | }, | |
56122987 DM |
1525 | "permissions" : { |
1526 | "check" : [ | |
1527 | "perm", | |
1528 | "/", | |
1529 | [ | |
1530 | "Sys.Modify" | |
1531 | ] | |
1532 | ] | |
1533 | }, | |
44660702 | 1534 | "protected" : 1, |
56122987 DM |
1535 | "returns" : { |
1536 | "type" : "null" | |
1537 | } | |
44660702 DM |
1538 | } |
1539 | }, | |
1540 | "leaf" : 0, | |
1541 | "path" : "/cluster/firewall/aliases", | |
1542 | "text" : "aliases" | |
1543 | }, | |
1544 | { | |
1545 | "info" : { | |
1546 | "GET" : { | |
1547 | "description" : "Get Firewall options.", | |
1548 | "method" : "GET", | |
1549 | "name" : "get_options", | |
1550 | "parameters" : { | |
1551 | "additionalProperties" : 0 | |
7aacca6f | 1552 | }, |
56122987 DM |
1553 | "permissions" : { |
1554 | "check" : [ | |
1555 | "perm", | |
1556 | "/", | |
1557 | [ | |
44660702 | 1558 | "Sys.Audit" |
56122987 DM |
1559 | ] |
1560 | ] | |
1561 | }, | |
44660702 | 1562 | "returns" : { |
56122987 | 1563 | "properties" : { |
44660702 DM |
1564 | "enable" : { |
1565 | "description" : "Enable or disable the firewall cluster wide.", | |
1566 | "minimum" : 0, | |
56122987 | 1567 | "optional" : 1, |
7aacca6f | 1568 | "type" : "integer" |
56122987 | 1569 | }, |
44660702 DM |
1570 | "policy_in" : { |
1571 | "description" : "Input policy.", | |
1572 | "enum" : [ | |
1573 | "ACCEPT", | |
1574 | "REJECT", | |
1575 | "DROP" | |
1576 | ], | |
56122987 | 1577 | "optional" : 1, |
44660702 | 1578 | "type" : "string" |
7aacca6f | 1579 | }, |
44660702 DM |
1580 | "policy_out" : { |
1581 | "description" : "Output policy.", | |
1582 | "enum" : [ | |
1583 | "ACCEPT", | |
1584 | "REJECT", | |
1585 | "DROP" | |
1586 | ], | |
7aacca6f | 1587 | "optional" : 1, |
44660702 DM |
1588 | "type" : "string" |
1589 | } | |
1590 | }, | |
1591 | "type" : "object" | |
1592 | } | |
1593 | }, | |
1594 | "PUT" : { | |
1595 | "description" : "Set Firewall options.", | |
1596 | "method" : "PUT", | |
1597 | "name" : "set_options", | |
1598 | "parameters" : { | |
1599 | "additionalProperties" : 0, | |
1600 | "properties" : { | |
1601 | "delete" : { | |
1602 | "description" : "A list of settings you want to delete.", | |
1603 | "format" : "pve-configid-list", | |
56122987 | 1604 | "optional" : 1, |
013dc89f DM |
1605 | "type" : "string", |
1606 | "typetext" : "<string>" | |
56122987 | 1607 | }, |
44660702 DM |
1608 | "digest" : { |
1609 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
1610 | "maxLength" : 40, | |
56122987 | 1611 | "optional" : 1, |
013dc89f DM |
1612 | "type" : "string", |
1613 | "typetext" : "<string>" | |
56122987 | 1614 | }, |
44660702 DM |
1615 | "enable" : { |
1616 | "description" : "Enable or disable the firewall cluster wide.", | |
7aacca6f | 1617 | "minimum" : 0, |
56122987 | 1618 | "optional" : 1, |
4bd7df8b | 1619 | "type" : "integer", |
013dc89f | 1620 | "typetext" : "<integer> (0 - N)" |
56122987 | 1621 | }, |
44660702 DM |
1622 | "policy_in" : { |
1623 | "description" : "Input policy.", | |
56122987 | 1624 | "enum" : [ |
44660702 DM |
1625 | "ACCEPT", |
1626 | "REJECT", | |
1627 | "DROP" | |
56122987 | 1628 | ], |
56122987 | 1629 | "optional" : 1, |
44660702 | 1630 | "type" : "string" |
56122987 | 1631 | }, |
44660702 DM |
1632 | "policy_out" : { |
1633 | "description" : "Output policy.", | |
56122987 | 1634 | "enum" : [ |
44660702 DM |
1635 | "ACCEPT", |
1636 | "REJECT", | |
1637 | "DROP" | |
56122987 | 1638 | ], |
7aacca6f | 1639 | "optional" : 1, |
44660702 | 1640 | "type" : "string" |
56122987 | 1641 | } |
44660702 DM |
1642 | } |
1643 | }, | |
1644 | "permissions" : { | |
1645 | "check" : [ | |
1646 | "perm", | |
1647 | "/", | |
1648 | [ | |
1649 | "Sys.Modify" | |
1650 | ] | |
1651 | ] | |
7aacca6f DM |
1652 | }, |
1653 | "protected" : 1, | |
44660702 DM |
1654 | "returns" : { |
1655 | "type" : "null" | |
1656 | } | |
1657 | } | |
1658 | }, | |
1659 | "leaf" : 1, | |
1660 | "path" : "/cluster/firewall/options", | |
1661 | "text" : "options" | |
1662 | }, | |
1663 | { | |
1664 | "info" : { | |
7aacca6f | 1665 | "GET" : { |
44660702 | 1666 | "description" : "List available macros", |
7aacca6f | 1667 | "method" : "GET", |
44660702 DM |
1668 | "name" : "get_macros", |
1669 | "parameters" : { | |
1670 | "additionalProperties" : 0 | |
7aacca6f | 1671 | }, |
44660702 DM |
1672 | "permissions" : { |
1673 | "user" : "all" | |
1674 | }, | |
1675 | "returns" : { | |
1676 | "items" : { | |
1677 | "properties" : { | |
1678 | "descr" : { | |
1679 | "description" : "More verbose description (if available).", | |
1680 | "type" : "string" | |
1681 | }, | |
1682 | "macro" : { | |
1683 | "description" : "Macro name.", | |
1684 | "type" : "string" | |
1685 | } | |
1686 | }, | |
1687 | "type" : "object" | |
1688 | }, | |
1689 | "type" : "array" | |
1690 | } | |
1691 | } | |
1692 | }, | |
1693 | "leaf" : 1, | |
1694 | "path" : "/cluster/firewall/macros", | |
1695 | "text" : "macros" | |
1696 | }, | |
1697 | { | |
1698 | "info" : { | |
1699 | "GET" : { | |
1700 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", | |
1701 | "method" : "GET", | |
1702 | "name" : "refs", | |
7aacca6f | 1703 | "parameters" : { |
44660702 | 1704 | "additionalProperties" : 0, |
7aacca6f | 1705 | "properties" : { |
44660702 DM |
1706 | "type" : { |
1707 | "description" : "Only list references of specified type.", | |
1708 | "enum" : [ | |
1709 | "alias", | |
1710 | "ipset" | |
1711 | ], | |
1712 | "optional" : 1, | |
1713 | "type" : "string" | |
7aacca6f | 1714 | } |
44660702 | 1715 | } |
7aacca6f DM |
1716 | }, |
1717 | "permissions" : { | |
1718 | "check" : [ | |
1719 | "perm", | |
1720 | "/", | |
1721 | [ | |
1722 | "Sys.Audit" | |
1723 | ] | |
1724 | ] | |
1725 | }, | |
44660702 DM |
1726 | "returns" : { |
1727 | "items" : { | |
1728 | "properties" : { | |
1729 | "comment" : { | |
1730 | "optional" : 1, | |
1731 | "type" : "string" | |
1732 | }, | |
1733 | "name" : { | |
1734 | "type" : "string" | |
1735 | }, | |
1736 | "ref" : { | |
1737 | "type" : "string" | |
1738 | }, | |
1739 | "type" : { | |
1740 | "enum" : [ | |
1741 | "alias", | |
1742 | "ipset" | |
1743 | ], | |
1744 | "type" : "string" | |
1745 | } | |
1746 | }, | |
1747 | "type" : "object" | |
1748 | }, | |
1749 | "type" : "array" | |
1750 | } | |
56122987 DM |
1751 | } |
1752 | }, | |
7aacca6f | 1753 | "leaf" : 1, |
44660702 DM |
1754 | "path" : "/cluster/firewall/refs", |
1755 | "text" : "refs" | |
56122987 DM |
1756 | } |
1757 | ], | |
56122987 | 1758 | "info" : { |
44660702 DM |
1759 | "GET" : { |
1760 | "description" : "Directory index.", | |
1761 | "method" : "GET", | |
1762 | "name" : "index", | |
56122987 | 1763 | "parameters" : { |
56122987 DM |
1764 | "additionalProperties" : 0 |
1765 | }, | |
44660702 DM |
1766 | "permissions" : { |
1767 | "user" : "all" | |
1768 | }, | |
56122987 | 1769 | "returns" : { |
44660702 DM |
1770 | "items" : { |
1771 | "properties" : {}, | |
1772 | "type" : "object" | |
1773 | }, | |
7aacca6f DM |
1774 | "links" : [ |
1775 | { | |
44660702 DM |
1776 | "href" : "{name}", |
1777 | "rel" : "child" | |
7aacca6f DM |
1778 | } |
1779 | ], | |
7aacca6f | 1780 | "type" : "array" |
7aacca6f | 1781 | } |
56122987 DM |
1782 | } |
1783 | }, | |
44660702 DM |
1784 | "leaf" : 0, |
1785 | "path" : "/cluster/firewall", | |
1786 | "text" : "firewall" | |
7aacca6f DM |
1787 | }, |
1788 | { | |
56122987 DM |
1789 | "children" : [ |
1790 | { | |
56122987 | 1791 | "info" : { |
44660702 DM |
1792 | "DELETE" : { |
1793 | "description" : "Delete vzdump backup job definition.", | |
1794 | "method" : "DELETE", | |
1795 | "name" : "delete_job", | |
1796 | "parameters" : { | |
1797 | "additionalProperties" : 0, | |
1798 | "properties" : { | |
1799 | "id" : { | |
1800 | "description" : "The job ID.", | |
1801 | "maxLength" : 50, | |
013dc89f DM |
1802 | "type" : "string", |
1803 | "typetext" : "<string>" | |
44660702 DM |
1804 | } |
1805 | } | |
1806 | }, | |
1807 | "permissions" : { | |
1808 | "check" : [ | |
1809 | "perm", | |
1810 | "/", | |
1811 | [ | |
1812 | "Sys.Modify" | |
1813 | ] | |
1814 | ] | |
1815 | }, | |
1816 | "protected" : 1, | |
56122987 DM |
1817 | "returns" : { |
1818 | "type" : "null" | |
44660702 DM |
1819 | } |
1820 | }, | |
1821 | "GET" : { | |
1822 | "description" : "Read vzdump backup job definition.", | |
1823 | "method" : "GET", | |
1824 | "name" : "read_job", | |
1825 | "parameters" : { | |
1826 | "additionalProperties" : 0, | |
1827 | "properties" : { | |
1828 | "id" : { | |
1829 | "description" : "The job ID.", | |
1830 | "maxLength" : 50, | |
013dc89f DM |
1831 | "type" : "string", |
1832 | "typetext" : "<string>" | |
44660702 DM |
1833 | } |
1834 | } | |
56122987 | 1835 | }, |
7aacca6f DM |
1836 | "permissions" : { |
1837 | "check" : [ | |
1838 | "perm", | |
1839 | "/", | |
1840 | [ | |
44660702 | 1841 | "Sys.Audit" |
7aacca6f DM |
1842 | ] |
1843 | ] | |
1844 | }, | |
44660702 DM |
1845 | "returns" : { |
1846 | "type" : "object" | |
1847 | } | |
1848 | }, | |
1849 | "PUT" : { | |
1850 | "description" : "Update vzdump backup job definition.", | |
1851 | "method" : "PUT", | |
1852 | "name" : "update_job", | |
56122987 | 1853 | "parameters" : { |
44660702 | 1854 | "additionalProperties" : 0, |
56122987 | 1855 | "properties" : { |
44660702 DM |
1856 | "all" : { |
1857 | "default" : 0, | |
1858 | "description" : "Backup all known guest systems on this host.", | |
7aacca6f | 1859 | "optional" : 1, |
013dc89f DM |
1860 | "type" : "boolean", |
1861 | "typetext" : "<boolean>" | |
7aacca6f | 1862 | }, |
44660702 DM |
1863 | "bwlimit" : { |
1864 | "default" : 0, | |
1865 | "description" : "Limit I/O bandwidth (KBytes per second).", | |
1866 | "minimum" : 0, | |
1867 | "optional" : 1, | |
4bd7df8b | 1868 | "type" : "integer", |
013dc89f | 1869 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1870 | }, |
1871 | "compress" : { | |
1872 | "default" : "0", | |
1873 | "description" : "Compress dump file.", | |
7aacca6f | 1874 | "enum" : [ |
44660702 DM |
1875 | "0", |
1876 | "1", | |
1877 | "gzip", | |
1878 | "lzo" | |
7aacca6f | 1879 | ], |
44660702 DM |
1880 | "optional" : 1, |
1881 | "type" : "string" | |
7aacca6f | 1882 | }, |
44660702 DM |
1883 | "delete" : { |
1884 | "description" : "A list of settings you want to delete.", | |
1885 | "format" : "pve-configid-list", | |
7aacca6f | 1886 | "optional" : 1, |
013dc89f DM |
1887 | "type" : "string", |
1888 | "typetext" : "<string>" | |
56122987 | 1889 | }, |
44660702 DM |
1890 | "dow" : { |
1891 | "description" : "Day of week selection.", | |
1892 | "format" : "pve-day-of-week-list", | |
7aacca6f | 1893 | "optional" : 1, |
013dc89f DM |
1894 | "type" : "string", |
1895 | "typetext" : "<string>" | |
56122987 | 1896 | }, |
44660702 DM |
1897 | "dumpdir" : { |
1898 | "description" : "Store resulting files to specified directory.", | |
56122987 | 1899 | "optional" : 1, |
013dc89f DM |
1900 | "type" : "string", |
1901 | "typetext" : "<string>" | |
56122987 | 1902 | }, |
44660702 DM |
1903 | "enabled" : { |
1904 | "default" : "1", | |
1905 | "description" : "Enable or disable the job.", | |
1906 | "optional" : 1, | |
013dc89f DM |
1907 | "type" : "boolean", |
1908 | "typetext" : "<boolean>" | |
44660702 DM |
1909 | }, |
1910 | "exclude" : { | |
1911 | "description" : "Exclude specified guest systems (assumes --all)", | |
1912 | "format" : "pve-vmid-list", | |
1913 | "optional" : 1, | |
013dc89f DM |
1914 | "type" : "string", |
1915 | "typetext" : "<string>" | |
44660702 DM |
1916 | }, |
1917 | "exclude-path" : { | |
1918 | "description" : "Exclude certain files/directories (shell globs).", | |
1919 | "format" : "string-alist", | |
1920 | "optional" : 1, | |
013dc89f DM |
1921 | "type" : "string", |
1922 | "typetext" : "<string>" | |
44660702 DM |
1923 | }, |
1924 | "id" : { | |
1925 | "description" : "The job ID.", | |
1926 | "maxLength" : 50, | |
013dc89f DM |
1927 | "type" : "string", |
1928 | "typetext" : "<string>" | |
44660702 DM |
1929 | }, |
1930 | "ionice" : { | |
1931 | "default" : 7, | |
1932 | "description" : "Set CFQ ionice priority.", | |
1933 | "maximum" : 8, | |
1934 | "minimum" : 0, | |
1935 | "optional" : 1, | |
4bd7df8b | 1936 | "type" : "integer", |
013dc89f | 1937 | "typetext" : "<integer> (0 - 8)" |
44660702 DM |
1938 | }, |
1939 | "lockwait" : { | |
1940 | "default" : 180, | |
1941 | "description" : "Maximal time to wait for the global lock (minutes).", | |
1942 | "minimum" : 0, | |
1943 | "optional" : 1, | |
4bd7df8b | 1944 | "type" : "integer", |
013dc89f | 1945 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
1946 | }, |
1947 | "mailnotification" : { | |
1948 | "default" : "always", | |
1949 | "description" : "Specify when to send an email", | |
56122987 | 1950 | "enum" : [ |
44660702 DM |
1951 | "always", |
1952 | "failure" | |
56122987 | 1953 | ], |
44660702 DM |
1954 | "optional" : 1, |
1955 | "type" : "string" | |
1956 | }, | |
1957 | "mailto" : { | |
1958 | "description" : "Comma-separated list of email addresses that should receive email notifications.", | |
1959 | "format" : "string-list", | |
1960 | "optional" : 1, | |
013dc89f DM |
1961 | "type" : "string", |
1962 | "typetext" : "<string>" | |
44660702 DM |
1963 | }, |
1964 | "maxfiles" : { | |
1965 | "default" : 1, | |
1966 | "description" : "Maximal number of backup files per guest system.", | |
1967 | "minimum" : 1, | |
1968 | "optional" : 1, | |
4bd7df8b | 1969 | "type" : "integer", |
013dc89f | 1970 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
1971 | }, |
1972 | "mode" : { | |
1973 | "default" : "snapshot", | |
1974 | "description" : "Backup mode.", | |
1975 | "enum" : [ | |
1976 | "snapshot", | |
1977 | "suspend", | |
1978 | "stop" | |
1979 | ], | |
1980 | "optional" : 1, | |
1981 | "type" : "string" | |
1982 | }, | |
1983 | "node" : { | |
1984 | "description" : "Only run if executed on this node.", | |
1985 | "format" : "pve-node", | |
1986 | "optional" : 1, | |
013dc89f DM |
1987 | "type" : "string", |
1988 | "typetext" : "<string>" | |
44660702 DM |
1989 | }, |
1990 | "pigz" : { | |
1991 | "default" : 0, | |
1992 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
1993 | "optional" : 1, | |
013dc89f DM |
1994 | "type" : "integer", |
1995 | "typetext" : "<integer>" | |
44660702 DM |
1996 | }, |
1997 | "quiet" : { | |
1998 | "default" : 0, | |
1999 | "description" : "Be quiet.", | |
2000 | "optional" : 1, | |
013dc89f DM |
2001 | "type" : "boolean", |
2002 | "typetext" : "<boolean>" | |
44660702 DM |
2003 | }, |
2004 | "remove" : { | |
2005 | "default" : 1, | |
2006 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", | |
2007 | "optional" : 1, | |
013dc89f DM |
2008 | "type" : "boolean", |
2009 | "typetext" : "<boolean>" | |
44660702 DM |
2010 | }, |
2011 | "script" : { | |
2012 | "description" : "Use specified hook script.", | |
2013 | "optional" : 1, | |
013dc89f DM |
2014 | "type" : "string", |
2015 | "typetext" : "<string>" | |
44660702 DM |
2016 | }, |
2017 | "size" : { | |
2018 | "default" : 1024, | |
2019 | "description" : "Unused, will be removed in a future release.", | |
2020 | "minimum" : 500, | |
2021 | "optional" : 1, | |
4bd7df8b | 2022 | "type" : "integer", |
013dc89f | 2023 | "typetext" : "<integer> (500 - N)" |
44660702 DM |
2024 | }, |
2025 | "starttime" : { | |
2026 | "description" : "Job Start time.", | |
2027 | "pattern" : "\\d{1,2}:\\d{1,2}", | |
56122987 | 2028 | "type" : "string", |
44660702 | 2029 | "typetext" : "HH:MM" |
7aacca6f | 2030 | }, |
44660702 DM |
2031 | "stdexcludes" : { |
2032 | "default" : 1, | |
2033 | "description" : "Exclude temporary files and logs.", | |
2034 | "optional" : 1, | |
013dc89f DM |
2035 | "type" : "boolean", |
2036 | "typetext" : "<boolean>" | |
44660702 DM |
2037 | }, |
2038 | "stop" : { | |
2039 | "default" : 0, | |
2040 | "description" : "Stop runnig backup jobs on this host.", | |
2041 | "optional" : 1, | |
013dc89f DM |
2042 | "type" : "boolean", |
2043 | "typetext" : "<boolean>" | |
44660702 DM |
2044 | }, |
2045 | "stopwait" : { | |
2046 | "default" : 10, | |
2047 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
2048 | "minimum" : 0, | |
2049 | "optional" : 1, | |
4bd7df8b | 2050 | "type" : "integer", |
013dc89f | 2051 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2052 | }, |
2053 | "storage" : { | |
2054 | "description" : "Store resulting file to this storage.", | |
2055 | "format" : "pve-storage-id", | |
2056 | "optional" : 1, | |
013dc89f DM |
2057 | "type" : "string", |
2058 | "typetext" : "<string>" | |
56122987 | 2059 | }, |
44660702 DM |
2060 | "tmpdir" : { |
2061 | "description" : "Store temporary files to specified directory.", | |
2062 | "optional" : 1, | |
013dc89f DM |
2063 | "type" : "string", |
2064 | "typetext" : "<string>" | |
44660702 DM |
2065 | }, |
2066 | "vmid" : { | |
2067 | "description" : "The ID of the guest system you want to backup.", | |
2068 | "format" : "pve-vmid-list", | |
2069 | "optional" : 1, | |
013dc89f DM |
2070 | "type" : "string", |
2071 | "typetext" : "<string>" | |
56122987 | 2072 | } |
44660702 | 2073 | } |
56122987 DM |
2074 | }, |
2075 | "permissions" : { | |
2076 | "check" : [ | |
2077 | "perm", | |
2078 | "/", | |
2079 | [ | |
44660702 | 2080 | "Sys.Modify" |
56122987 DM |
2081 | ] |
2082 | ] | |
2083 | }, | |
44660702 DM |
2084 | "protected" : 1, |
2085 | "returns" : { | |
2086 | "type" : "null" | |
7aacca6f | 2087 | } |
56122987 DM |
2088 | } |
2089 | }, | |
44660702 DM |
2090 | "leaf" : 1, |
2091 | "path" : "/cluster/backup/{id}", | |
2092 | "text" : "{id}" | |
2093 | } | |
2094 | ], | |
2095 | "info" : { | |
2096 | "GET" : { | |
2097 | "description" : "List vzdump backup schedule.", | |
2098 | "method" : "GET", | |
2099 | "name" : "index", | |
2100 | "parameters" : { | |
2101 | "additionalProperties" : 0 | |
2102 | }, | |
2103 | "permissions" : { | |
2104 | "check" : [ | |
2105 | "perm", | |
2106 | "/", | |
2107 | [ | |
2108 | "Sys.Audit" | |
2109 | ] | |
2110 | ] | |
2111 | }, | |
2112 | "returns" : { | |
2113 | "items" : { | |
2114 | "properties" : { | |
2115 | "id" : { | |
2116 | "type" : "string" | |
2117 | } | |
2118 | }, | |
2119 | "type" : "object" | |
2120 | }, | |
2121 | "links" : [ | |
2122 | { | |
2123 | "href" : "{id}", | |
2124 | "rel" : "child" | |
2125 | } | |
2126 | ], | |
2127 | "type" : "array" | |
2128 | } | |
2129 | }, | |
2130 | "POST" : { | |
2131 | "description" : "Create new vzdump backup job.", | |
2132 | "method" : "POST", | |
2133 | "name" : "create_job", | |
2134 | "parameters" : { | |
2135 | "additionalProperties" : 0, | |
2136 | "properties" : { | |
2137 | "all" : { | |
2138 | "default" : 0, | |
2139 | "description" : "Backup all known guest systems on this host.", | |
2140 | "optional" : 1, | |
013dc89f DM |
2141 | "type" : "boolean", |
2142 | "typetext" : "<boolean>" | |
44660702 DM |
2143 | }, |
2144 | "bwlimit" : { | |
2145 | "default" : 0, | |
2146 | "description" : "Limit I/O bandwidth (KBytes per second).", | |
2147 | "minimum" : 0, | |
2148 | "optional" : 1, | |
4bd7df8b | 2149 | "type" : "integer", |
013dc89f | 2150 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2151 | }, |
2152 | "compress" : { | |
2153 | "default" : "0", | |
2154 | "description" : "Compress dump file.", | |
2155 | "enum" : [ | |
2156 | "0", | |
2157 | "1", | |
2158 | "gzip", | |
2159 | "lzo" | |
2160 | ], | |
2161 | "optional" : 1, | |
2162 | "type" : "string" | |
2163 | }, | |
2164 | "dow" : { | |
2165 | "default" : "mon,tue,wed,thu,fri,sat,sun", | |
2166 | "description" : "Day of week selection.", | |
2167 | "format" : "pve-day-of-week-list", | |
2168 | "optional" : 1, | |
013dc89f DM |
2169 | "type" : "string", |
2170 | "typetext" : "<string>" | |
44660702 DM |
2171 | }, |
2172 | "dumpdir" : { | |
2173 | "description" : "Store resulting files to specified directory.", | |
2174 | "optional" : 1, | |
013dc89f DM |
2175 | "type" : "string", |
2176 | "typetext" : "<string>" | |
44660702 DM |
2177 | }, |
2178 | "enabled" : { | |
2179 | "default" : "1", | |
2180 | "description" : "Enable or disable the job.", | |
2181 | "optional" : 1, | |
013dc89f DM |
2182 | "type" : "boolean", |
2183 | "typetext" : "<boolean>" | |
44660702 DM |
2184 | }, |
2185 | "exclude" : { | |
2186 | "description" : "Exclude specified guest systems (assumes --all)", | |
2187 | "format" : "pve-vmid-list", | |
2188 | "optional" : 1, | |
013dc89f DM |
2189 | "type" : "string", |
2190 | "typetext" : "<string>" | |
44660702 DM |
2191 | }, |
2192 | "exclude-path" : { | |
2193 | "description" : "Exclude certain files/directories (shell globs).", | |
2194 | "format" : "string-alist", | |
2195 | "optional" : 1, | |
013dc89f DM |
2196 | "type" : "string", |
2197 | "typetext" : "<string>" | |
44660702 DM |
2198 | }, |
2199 | "ionice" : { | |
2200 | "default" : 7, | |
2201 | "description" : "Set CFQ ionice priority.", | |
2202 | "maximum" : 8, | |
2203 | "minimum" : 0, | |
2204 | "optional" : 1, | |
4bd7df8b | 2205 | "type" : "integer", |
013dc89f | 2206 | "typetext" : "<integer> (0 - 8)" |
44660702 DM |
2207 | }, |
2208 | "lockwait" : { | |
2209 | "default" : 180, | |
2210 | "description" : "Maximal time to wait for the global lock (minutes).", | |
2211 | "minimum" : 0, | |
2212 | "optional" : 1, | |
4bd7df8b | 2213 | "type" : "integer", |
013dc89f | 2214 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2215 | }, |
2216 | "mailnotification" : { | |
2217 | "default" : "always", | |
2218 | "description" : "Specify when to send an email", | |
2219 | "enum" : [ | |
2220 | "always", | |
2221 | "failure" | |
2222 | ], | |
2223 | "optional" : 1, | |
2224 | "type" : "string" | |
2225 | }, | |
2226 | "mailto" : { | |
2227 | "description" : "Comma-separated list of email addresses that should receive email notifications.", | |
2228 | "format" : "string-list", | |
2229 | "optional" : 1, | |
013dc89f DM |
2230 | "type" : "string", |
2231 | "typetext" : "<string>" | |
44660702 DM |
2232 | }, |
2233 | "maxfiles" : { | |
2234 | "default" : 1, | |
2235 | "description" : "Maximal number of backup files per guest system.", | |
2236 | "minimum" : 1, | |
2237 | "optional" : 1, | |
4bd7df8b | 2238 | "type" : "integer", |
013dc89f | 2239 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
2240 | }, |
2241 | "mode" : { | |
2242 | "default" : "snapshot", | |
2243 | "description" : "Backup mode.", | |
2244 | "enum" : [ | |
2245 | "snapshot", | |
2246 | "suspend", | |
2247 | "stop" | |
2248 | ], | |
2249 | "optional" : 1, | |
2250 | "type" : "string" | |
2251 | }, | |
2252 | "node" : { | |
2253 | "description" : "Only run if executed on this node.", | |
2254 | "format" : "pve-node", | |
2255 | "optional" : 1, | |
013dc89f DM |
2256 | "type" : "string", |
2257 | "typetext" : "<string>" | |
44660702 DM |
2258 | }, |
2259 | "pigz" : { | |
2260 | "default" : 0, | |
2261 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
2262 | "optional" : 1, | |
013dc89f DM |
2263 | "type" : "integer", |
2264 | "typetext" : "<integer>" | |
44660702 DM |
2265 | }, |
2266 | "quiet" : { | |
2267 | "default" : 0, | |
2268 | "description" : "Be quiet.", | |
2269 | "optional" : 1, | |
013dc89f DM |
2270 | "type" : "boolean", |
2271 | "typetext" : "<boolean>" | |
44660702 DM |
2272 | }, |
2273 | "remove" : { | |
2274 | "default" : 1, | |
2275 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", | |
2276 | "optional" : 1, | |
013dc89f DM |
2277 | "type" : "boolean", |
2278 | "typetext" : "<boolean>" | |
44660702 DM |
2279 | }, |
2280 | "script" : { | |
2281 | "description" : "Use specified hook script.", | |
2282 | "optional" : 1, | |
013dc89f DM |
2283 | "type" : "string", |
2284 | "typetext" : "<string>" | |
44660702 DM |
2285 | }, |
2286 | "size" : { | |
2287 | "default" : 1024, | |
2288 | "description" : "Unused, will be removed in a future release.", | |
2289 | "minimum" : 500, | |
2290 | "optional" : 1, | |
4bd7df8b | 2291 | "type" : "integer", |
013dc89f | 2292 | "typetext" : "<integer> (500 - N)" |
44660702 DM |
2293 | }, |
2294 | "starttime" : { | |
2295 | "description" : "Job Start time.", | |
2296 | "pattern" : "\\d{1,2}:\\d{1,2}", | |
2297 | "type" : "string", | |
2298 | "typetext" : "HH:MM" | |
2299 | }, | |
2300 | "stdexcludes" : { | |
2301 | "default" : 1, | |
2302 | "description" : "Exclude temporary files and logs.", | |
2303 | "optional" : 1, | |
013dc89f DM |
2304 | "type" : "boolean", |
2305 | "typetext" : "<boolean>" | |
44660702 DM |
2306 | }, |
2307 | "stop" : { | |
2308 | "default" : 0, | |
2309 | "description" : "Stop runnig backup jobs on this host.", | |
2310 | "optional" : 1, | |
013dc89f DM |
2311 | "type" : "boolean", |
2312 | "typetext" : "<boolean>" | |
44660702 DM |
2313 | }, |
2314 | "stopwait" : { | |
2315 | "default" : 10, | |
2316 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
2317 | "minimum" : 0, | |
2318 | "optional" : 1, | |
4bd7df8b | 2319 | "type" : "integer", |
013dc89f | 2320 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2321 | }, |
2322 | "storage" : { | |
2323 | "description" : "Store resulting file to this storage.", | |
2324 | "format" : "pve-storage-id", | |
2325 | "optional" : 1, | |
013dc89f DM |
2326 | "type" : "string", |
2327 | "typetext" : "<string>" | |
44660702 DM |
2328 | }, |
2329 | "tmpdir" : { | |
2330 | "description" : "Store temporary files to specified directory.", | |
2331 | "optional" : 1, | |
013dc89f DM |
2332 | "type" : "string", |
2333 | "typetext" : "<string>" | |
44660702 DM |
2334 | }, |
2335 | "vmid" : { | |
2336 | "description" : "The ID of the guest system you want to backup.", | |
2337 | "format" : "pve-vmid-list", | |
2338 | "optional" : 1, | |
013dc89f DM |
2339 | "type" : "string", |
2340 | "typetext" : "<string>" | |
44660702 DM |
2341 | } |
2342 | } | |
2343 | }, | |
2344 | "permissions" : { | |
2345 | "check" : [ | |
2346 | "perm", | |
2347 | "/", | |
2348 | [ | |
2349 | "Sys.Modify" | |
2350 | ] | |
de0983cb DM |
2351 | ], |
2352 | "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user." | |
44660702 DM |
2353 | }, |
2354 | "protected" : 1, | |
2355 | "returns" : { | |
2356 | "type" : "null" | |
2357 | } | |
2358 | } | |
2359 | }, | |
2360 | "leaf" : 0, | |
2361 | "path" : "/cluster/backup", | |
2362 | "text" : "backup" | |
2363 | }, | |
2364 | { | |
2365 | "children" : [ | |
2366 | { | |
2367 | "children" : [ | |
2368 | { | |
2369 | "children" : [ | |
56122987 | 2370 | { |
56122987 DM |
2371 | "info" : { |
2372 | "POST" : { | |
44660702 DM |
2373 | "description" : "Request resource migration (online) to another node.", |
2374 | "method" : "POST", | |
2375 | "name" : "migrate", | |
56122987 | 2376 | "parameters" : { |
7aacca6f | 2377 | "additionalProperties" : 0, |
56122987 DM |
2378 | "properties" : { |
2379 | "node" : { | |
7aacca6f | 2380 | "description" : "The cluster node name.", |
44660702 | 2381 | "format" : "pve-node", |
013dc89f DM |
2382 | "type" : "string", |
2383 | "typetext" : "<string>" | |
56122987 DM |
2384 | }, |
2385 | "sid" : { | |
44660702 | 2386 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", |
56122987 | 2387 | "format" : "pve-ha-resource-or-vm-id", |
7aacca6f | 2388 | "type" : "string", |
44660702 | 2389 | "typetext" : "<type>:<name>" |
56122987 | 2390 | } |
7aacca6f | 2391 | } |
56122987 | 2392 | }, |
56122987 DM |
2393 | "permissions" : { |
2394 | "check" : [ | |
2395 | "perm", | |
2396 | "/", | |
2397 | [ | |
2398 | "Sys.Console" | |
2399 | ] | |
2400 | ] | |
2401 | }, | |
7aacca6f | 2402 | "protected" : 1, |
7aacca6f DM |
2403 | "returns" : { |
2404 | "type" : "null" | |
44660702 | 2405 | } |
56122987 | 2406 | } |
44660702 DM |
2407 | }, |
2408 | "leaf" : 1, | |
2409 | "path" : "/cluster/ha/resources/{sid}/migrate", | |
2410 | "text" : "migrate" | |
2411 | }, | |
2412 | { | |
2413 | "info" : { | |
2414 | "POST" : { | |
2415 | "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.", | |
2416 | "method" : "POST", | |
2417 | "name" : "relocate", | |
2418 | "parameters" : { | |
2419 | "additionalProperties" : 0, | |
2420 | "properties" : { | |
2421 | "node" : { | |
2422 | "description" : "The cluster node name.", | |
2423 | "format" : "pve-node", | |
013dc89f DM |
2424 | "type" : "string", |
2425 | "typetext" : "<string>" | |
44660702 DM |
2426 | }, |
2427 | "sid" : { | |
2428 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", | |
2429 | "format" : "pve-ha-resource-or-vm-id", | |
2430 | "type" : "string", | |
2431 | "typetext" : "<type>:<name>" | |
2432 | } | |
2433 | } | |
2434 | }, | |
2435 | "permissions" : { | |
2436 | "check" : [ | |
2437 | "perm", | |
2438 | "/", | |
2439 | [ | |
2440 | "Sys.Console" | |
2441 | ] | |
2442 | ] | |
2443 | }, | |
2444 | "protected" : 1, | |
2445 | "returns" : { | |
2446 | "type" : "null" | |
2447 | } | |
2448 | } | |
2449 | }, | |
2450 | "leaf" : 1, | |
2451 | "path" : "/cluster/ha/resources/{sid}/relocate", | |
2452 | "text" : "relocate" | |
2453 | } | |
2454 | ], | |
2455 | "info" : { | |
2456 | "DELETE" : { | |
2457 | "description" : "Delete resource configuration.", | |
2458 | "method" : "DELETE", | |
2459 | "name" : "delete", | |
7aacca6f | 2460 | "parameters" : { |
44660702 | 2461 | "additionalProperties" : 0, |
7aacca6f DM |
2462 | "properties" : { |
2463 | "sid" : { | |
2464 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", | |
44660702 | 2465 | "format" : "pve-ha-resource-or-vm-id", |
7aacca6f | 2466 | "type" : "string", |
44660702 DM |
2467 | "typetext" : "<type>:<name>" |
2468 | } | |
2469 | } | |
2470 | }, | |
2471 | "permissions" : { | |
2472 | "check" : [ | |
2473 | "perm", | |
2474 | "/", | |
2475 | [ | |
2476 | "Sys.Console" | |
2477 | ] | |
2478 | ] | |
2479 | }, | |
2480 | "protected" : 1, | |
2481 | "returns" : { | |
2482 | "type" : "null" | |
2483 | } | |
2484 | }, | |
2485 | "GET" : { | |
2486 | "description" : "Read resource configuration.", | |
2487 | "method" : "GET", | |
2488 | "name" : "read", | |
2489 | "parameters" : { | |
2490 | "additionalProperties" : 0, | |
2491 | "properties" : { | |
2492 | "sid" : { | |
2493 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", | |
7aacca6f | 2494 | "format" : "pve-ha-resource-or-vm-id", |
44660702 | 2495 | "type" : "string", |
7aacca6f DM |
2496 | "typetext" : "<type>:<name>" |
2497 | } | |
44660702 | 2498 | } |
7aacca6f DM |
2499 | }, |
2500 | "permissions" : { | |
2501 | "check" : [ | |
2502 | "perm", | |
2503 | "/", | |
2504 | [ | |
2505 | "Sys.Audit" | |
2506 | ] | |
2507 | ] | |
2508 | }, | |
44660702 | 2509 | "returns" : {} |
7aacca6f | 2510 | }, |
56122987 | 2511 | "PUT" : { |
44660702 | 2512 | "description" : "Update resource configuration.", |
7aacca6f | 2513 | "method" : "PUT", |
44660702 | 2514 | "name" : "update", |
56122987 DM |
2515 | "parameters" : { |
2516 | "additionalProperties" : 0, | |
2517 | "properties" : { | |
44660702 DM |
2518 | "comment" : { |
2519 | "description" : "Description.", | |
2520 | "maxLength" : 4096, | |
56122987 | 2521 | "optional" : 1, |
013dc89f DM |
2522 | "type" : "string", |
2523 | "typetext" : "<string>" | |
56122987 | 2524 | }, |
7aacca6f DM |
2525 | "delete" : { |
2526 | "description" : "A list of settings you want to delete.", | |
7aacca6f | 2527 | "format" : "pve-configid-list", |
44660702 DM |
2528 | "maxLength" : 4096, |
2529 | "optional" : 1, | |
013dc89f DM |
2530 | "type" : "string", |
2531 | "typetext" : "<string>" | |
56122987 | 2532 | }, |
44660702 DM |
2533 | "digest" : { |
2534 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2535 | "maxLength" : 40, | |
2536 | "optional" : 1, | |
013dc89f DM |
2537 | "type" : "string", |
2538 | "typetext" : "<string>" | |
56122987 | 2539 | }, |
44660702 DM |
2540 | "group" : { |
2541 | "description" : "The HA group identifier.", | |
2542 | "format" : "pve-configid", | |
7aacca6f | 2543 | "optional" : 1, |
013dc89f DM |
2544 | "type" : "string", |
2545 | "typetext" : "<string>" | |
56122987 DM |
2546 | }, |
2547 | "max_relocate" : { | |
7aacca6f | 2548 | "default" : 1, |
56122987 | 2549 | "description" : "Maximal number of service relocate tries when a service failes to start.", |
44660702 DM |
2550 | "minimum" : 0, |
2551 | "optional" : 1, | |
4bd7df8b | 2552 | "type" : "integer", |
013dc89f | 2553 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 2554 | }, |
44660702 DM |
2555 | "max_restart" : { |
2556 | "default" : 1, | |
2557 | "description" : "Maximal number of tries to restart the service on a node after its start failed.", | |
2558 | "minimum" : 0, | |
7aacca6f | 2559 | "optional" : 1, |
4bd7df8b | 2560 | "type" : "integer", |
013dc89f | 2561 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2562 | }, |
2563 | "sid" : { | |
2564 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", | |
2565 | "format" : "pve-ha-resource-or-vm-id", | |
2566 | "type" : "string", | |
2567 | "typetext" : "<type>:<name>" | |
7aacca6f DM |
2568 | }, |
2569 | "state" : { | |
44660702 DM |
2570 | "default" : "enabled", |
2571 | "description" : "Resource state.", | |
7aacca6f DM |
2572 | "enum" : [ |
2573 | "enabled", | |
2574 | "disabled" | |
2575 | ], | |
7aacca6f | 2576 | "optional" : 1, |
44660702 | 2577 | "type" : "string" |
56122987 | 2578 | } |
44660702 DM |
2579 | }, |
2580 | "type" : "object" | |
56122987 | 2581 | }, |
56122987 DM |
2582 | "permissions" : { |
2583 | "check" : [ | |
2584 | "perm", | |
2585 | "/", | |
2586 | [ | |
2587 | "Sys.Console" | |
2588 | ] | |
2589 | ] | |
2590 | }, | |
7aacca6f | 2591 | "protected" : 1, |
56122987 DM |
2592 | "returns" : { |
2593 | "type" : "null" | |
2594 | } | |
2595 | } | |
2596 | }, | |
44660702 | 2597 | "leaf" : 0, |
7aacca6f | 2598 | "path" : "/cluster/ha/resources/{sid}", |
44660702 | 2599 | "text" : "{sid}" |
56122987 DM |
2600 | } |
2601 | ], | |
7aacca6f DM |
2602 | "info" : { |
2603 | "GET" : { | |
44660702 DM |
2604 | "description" : "List HA resources.", |
2605 | "method" : "GET", | |
2606 | "name" : "index", | |
7aacca6f | 2607 | "parameters" : { |
44660702 DM |
2608 | "additionalProperties" : 0, |
2609 | "properties" : { | |
2610 | "type" : { | |
2611 | "description" : "Only list resources of specific type", | |
2612 | "enum" : [ | |
2613 | "ct", | |
2614 | "vm" | |
2615 | ], | |
2616 | "optional" : 1, | |
2617 | "type" : "string" | |
2618 | } | |
2619 | } | |
7aacca6f | 2620 | }, |
7aacca6f DM |
2621 | "permissions" : { |
2622 | "check" : [ | |
2623 | "perm", | |
2624 | "/", | |
2625 | [ | |
2626 | "Sys.Audit" | |
2627 | ] | |
2628 | ] | |
2629 | }, | |
7aacca6f | 2630 | "returns" : { |
7aacca6f | 2631 | "items" : { |
7aacca6f | 2632 | "properties" : { |
44660702 | 2633 | "sid" : { |
7aacca6f DM |
2634 | "type" : "string" |
2635 | } | |
44660702 DM |
2636 | }, |
2637 | "type" : "object" | |
7aacca6f DM |
2638 | }, |
2639 | "links" : [ | |
2640 | { | |
44660702 | 2641 | "href" : "{sid}", |
7aacca6f DM |
2642 | "rel" : "child" |
2643 | } | |
44660702 DM |
2644 | ], |
2645 | "type" : "array" | |
7aacca6f DM |
2646 | } |
2647 | }, | |
2648 | "POST" : { | |
44660702 | 2649 | "description" : "Create a new HA resource.", |
7aacca6f | 2650 | "method" : "POST", |
44660702 | 2651 | "name" : "create", |
7aacca6f | 2652 | "parameters" : { |
44660702 | 2653 | "additionalProperties" : 0, |
7aacca6f DM |
2654 | "properties" : { |
2655 | "comment" : { | |
7aacca6f | 2656 | "description" : "Description.", |
44660702 | 2657 | "maxLength" : 4096, |
7aacca6f | 2658 | "optional" : 1, |
013dc89f DM |
2659 | "type" : "string", |
2660 | "typetext" : "<string>" | |
7aacca6f | 2661 | }, |
44660702 DM |
2662 | "group" : { |
2663 | "description" : "The HA group identifier.", | |
2664 | "format" : "pve-configid", | |
7aacca6f | 2665 | "optional" : 1, |
013dc89f DM |
2666 | "type" : "string", |
2667 | "typetext" : "<string>" | |
7aacca6f | 2668 | }, |
44660702 DM |
2669 | "max_relocate" : { |
2670 | "default" : 1, | |
2671 | "description" : "Maximal number of service relocate tries when a service failes to start.", | |
2672 | "minimum" : 0, | |
7aacca6f | 2673 | "optional" : 1, |
4bd7df8b | 2674 | "type" : "integer", |
013dc89f | 2675 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 2676 | }, |
44660702 DM |
2677 | "max_restart" : { |
2678 | "default" : 1, | |
2679 | "description" : "Maximal number of tries to restart the service on a node after its start failed.", | |
2680 | "minimum" : 0, | |
2681 | "optional" : 1, | |
4bd7df8b | 2682 | "type" : "integer", |
013dc89f | 2683 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
2684 | }, |
2685 | "sid" : { | |
2686 | "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).", | |
2687 | "format" : "pve-ha-resource-or-vm-id", | |
2688 | "type" : "string", | |
2689 | "typetext" : "<type>:<name>" | |
2690 | }, | |
2691 | "state" : { | |
2692 | "default" : "enabled", | |
2693 | "description" : "Resource state.", | |
7aacca6f | 2694 | "enum" : [ |
44660702 DM |
2695 | "enabled", |
2696 | "disabled" | |
7aacca6f | 2697 | ], |
7aacca6f DM |
2698 | "optional" : 1, |
2699 | "type" : "string" | |
2700 | }, | |
44660702 DM |
2701 | "type" : { |
2702 | "description" : "Resource type.", | |
2703 | "enum" : [ | |
2704 | "ct", | |
2705 | "vm" | |
2706 | ], | |
2707 | "optional" : 1, | |
2708 | "type" : "string" | |
2709 | } | |
7aacca6f | 2710 | }, |
44660702 | 2711 | "type" : "object" |
7aacca6f DM |
2712 | }, |
2713 | "permissions" : { | |
2714 | "check" : [ | |
2715 | "perm", | |
2716 | "/", | |
2717 | [ | |
2718 | "Sys.Console" | |
2719 | ] | |
2720 | ] | |
2721 | }, | |
44660702 DM |
2722 | "protected" : 1, |
2723 | "returns" : { | |
2724 | "type" : "null" | |
2725 | } | |
7aacca6f DM |
2726 | } |
2727 | }, | |
44660702 DM |
2728 | "leaf" : 0, |
2729 | "path" : "/cluster/ha/resources", | |
2730 | "text" : "resources" | |
2731 | }, | |
2732 | { | |
56122987 DM |
2733 | "children" : [ |
2734 | { | |
56122987 | 2735 | "info" : { |
44660702 DM |
2736 | "DELETE" : { |
2737 | "description" : "Delete ha group configuration.", | |
2738 | "method" : "DELETE", | |
2739 | "name" : "delete", | |
56122987 | 2740 | "parameters" : { |
7aacca6f | 2741 | "additionalProperties" : 0, |
56122987 | 2742 | "properties" : { |
7aacca6f DM |
2743 | "group" : { |
2744 | "description" : "The HA group identifier.", | |
44660702 | 2745 | "format" : "pve-configid", |
013dc89f DM |
2746 | "type" : "string", |
2747 | "typetext" : "<string>" | |
56122987 | 2748 | } |
7aacca6f | 2749 | } |
56122987 | 2750 | }, |
56122987 DM |
2751 | "permissions" : { |
2752 | "check" : [ | |
2753 | "perm", | |
2754 | "/", | |
2755 | [ | |
7aacca6f | 2756 | "Sys.Console" |
56122987 DM |
2757 | ] |
2758 | ] | |
2759 | }, | |
44660702 | 2760 | "protected" : 1, |
7aacca6f DM |
2761 | "returns" : { |
2762 | "type" : "null" | |
56122987 DM |
2763 | } |
2764 | }, | |
44660702 DM |
2765 | "GET" : { |
2766 | "description" : "Read ha group configuration.", | |
2767 | "method" : "GET", | |
2768 | "name" : "read", | |
56122987 | 2769 | "parameters" : { |
44660702 | 2770 | "additionalProperties" : 0, |
56122987 DM |
2771 | "properties" : { |
2772 | "group" : { | |
2773 | "description" : "The HA group identifier.", | |
44660702 | 2774 | "format" : "pve-configid", |
013dc89f DM |
2775 | "type" : "string", |
2776 | "typetext" : "<string>" | |
56122987 | 2777 | } |
44660702 | 2778 | } |
56122987 | 2779 | }, |
56122987 DM |
2780 | "permissions" : { |
2781 | "check" : [ | |
2782 | "perm", | |
2783 | "/", | |
2784 | [ | |
44660702 | 2785 | "Sys.Audit" |
56122987 DM |
2786 | ] |
2787 | ] | |
2788 | }, | |
44660702 | 2789 | "returns" : {} |
7aacca6f | 2790 | }, |
44660702 DM |
2791 | "PUT" : { |
2792 | "description" : "Update ha group configuration.", | |
2793 | "method" : "PUT", | |
2794 | "name" : "update", | |
7aacca6f | 2795 | "parameters" : { |
44660702 | 2796 | "additionalProperties" : 0, |
7aacca6f | 2797 | "properties" : { |
44660702 DM |
2798 | "comment" : { |
2799 | "description" : "Description.", | |
2800 | "maxLength" : 4096, | |
2801 | "optional" : 1, | |
013dc89f DM |
2802 | "type" : "string", |
2803 | "typetext" : "<string>" | |
44660702 DM |
2804 | }, |
2805 | "delete" : { | |
2806 | "description" : "A list of settings you want to delete.", | |
2807 | "format" : "pve-configid-list", | |
2808 | "maxLength" : 4096, | |
2809 | "optional" : 1, | |
013dc89f DM |
2810 | "type" : "string", |
2811 | "typetext" : "<string>" | |
44660702 DM |
2812 | }, |
2813 | "digest" : { | |
2814 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
2815 | "maxLength" : 40, | |
2816 | "optional" : 1, | |
013dc89f DM |
2817 | "type" : "string", |
2818 | "typetext" : "<string>" | |
44660702 | 2819 | }, |
7aacca6f DM |
2820 | "group" : { |
2821 | "description" : "The HA group identifier.", | |
44660702 | 2822 | "format" : "pve-configid", |
013dc89f DM |
2823 | "type" : "string", |
2824 | "typetext" : "<string>" | |
44660702 DM |
2825 | }, |
2826 | "nodes" : { | |
2827 | "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').", | |
2828 | "format" : "pve-ha-group-node-list", | |
2829 | "optional" : 1, | |
7aacca6f | 2830 | "type" : "string", |
44660702 DM |
2831 | "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*" |
2832 | }, | |
2833 | "nofailback" : { | |
2834 | "default" : 0, | |
2835 | "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.", | |
2836 | "optional" : 1, | |
013dc89f DM |
2837 | "type" : "boolean", |
2838 | "typetext" : "<boolean>" | |
44660702 DM |
2839 | }, |
2840 | "restricted" : { | |
2841 | "default" : 0, | |
2842 | "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.", | |
2843 | "optional" : 1, | |
013dc89f DM |
2844 | "type" : "boolean", |
2845 | "typetext" : "<boolean>" | |
7aacca6f DM |
2846 | } |
2847 | }, | |
44660702 | 2848 | "type" : "object" |
7aacca6f | 2849 | }, |
7aacca6f DM |
2850 | "permissions" : { |
2851 | "check" : [ | |
2852 | "perm", | |
2853 | "/", | |
2854 | [ | |
44660702 | 2855 | "Sys.Console" |
7aacca6f DM |
2856 | ] |
2857 | ] | |
2858 | }, | |
44660702 DM |
2859 | "protected" : 1, |
2860 | "returns" : { | |
2861 | "type" : "null" | |
2862 | } | |
56122987 DM |
2863 | } |
2864 | }, | |
2865 | "leaf" : 1, | |
44660702 DM |
2866 | "path" : "/cluster/ha/groups/{group}", |
2867 | "text" : "{group}" | |
56122987 | 2868 | } |
44660702 DM |
2869 | ], |
2870 | "info" : { | |
2871 | "GET" : { | |
2872 | "description" : "Get HA groups.", | |
2873 | "method" : "GET", | |
2874 | "name" : "index", | |
2875 | "parameters" : { | |
2876 | "additionalProperties" : 0 | |
2877 | }, | |
2878 | "permissions" : { | |
2879 | "check" : [ | |
2880 | "perm", | |
2881 | "/", | |
2882 | [ | |
2883 | "Sys.Audit" | |
2884 | ] | |
2885 | ] | |
2886 | }, | |
2887 | "returns" : { | |
2888 | "items" : { | |
2889 | "properties" : { | |
2890 | "group" : { | |
2891 | "type" : "string" | |
2892 | } | |
2893 | }, | |
2894 | "type" : "object" | |
2895 | }, | |
2896 | "links" : [ | |
2897 | { | |
2898 | "href" : "{group}", | |
2899 | "rel" : "child" | |
2900 | } | |
2901 | ], | |
2902 | "type" : "array" | |
2903 | } | |
2904 | }, | |
2905 | "POST" : { | |
2906 | "description" : "Create a new HA group.", | |
2907 | "method" : "POST", | |
2908 | "name" : "create", | |
2909 | "parameters" : { | |
2910 | "additionalProperties" : 0, | |
2911 | "properties" : { | |
2912 | "comment" : { | |
2913 | "description" : "Description.", | |
2914 | "maxLength" : 4096, | |
2915 | "optional" : 1, | |
013dc89f DM |
2916 | "type" : "string", |
2917 | "typetext" : "<string>" | |
44660702 DM |
2918 | }, |
2919 | "group" : { | |
2920 | "description" : "The HA group identifier.", | |
2921 | "format" : "pve-configid", | |
013dc89f DM |
2922 | "type" : "string", |
2923 | "typetext" : "<string>" | |
44660702 DM |
2924 | }, |
2925 | "nodes" : { | |
2926 | "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').", | |
2927 | "format" : "pve-ha-group-node-list", | |
2928 | "optional" : 0, | |
2929 | "type" : "string", | |
2930 | "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*" | |
2931 | }, | |
2932 | "nofailback" : { | |
2933 | "default" : 0, | |
2934 | "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.", | |
2935 | "optional" : 1, | |
013dc89f DM |
2936 | "type" : "boolean", |
2937 | "typetext" : "<boolean>" | |
44660702 DM |
2938 | }, |
2939 | "restricted" : { | |
2940 | "default" : 0, | |
2941 | "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.", | |
2942 | "optional" : 1, | |
013dc89f DM |
2943 | "type" : "boolean", |
2944 | "typetext" : "<boolean>" | |
44660702 DM |
2945 | }, |
2946 | "type" : { | |
2947 | "description" : "Group type.", | |
2948 | "enum" : [ | |
2949 | "group" | |
2950 | ], | |
2951 | "optional" : 1, | |
2952 | "type" : "string" | |
2953 | } | |
2954 | }, | |
2955 | "type" : "object" | |
2956 | }, | |
2957 | "permissions" : { | |
2958 | "check" : [ | |
2959 | "perm", | |
2960 | "/", | |
2961 | [ | |
2962 | "Sys.Console" | |
2963 | ] | |
2964 | ] | |
2965 | }, | |
2966 | "protected" : 1, | |
2967 | "returns" : { | |
2968 | "type" : "null" | |
2969 | } | |
2970 | } | |
2971 | }, | |
2972 | "leaf" : 0, | |
2973 | "path" : "/cluster/ha/groups", | |
2974 | "text" : "groups" | |
7aacca6f DM |
2975 | }, |
2976 | { | |
7aacca6f DM |
2977 | "children" : [ |
2978 | { | |
2979 | "info" : { | |
2980 | "GET" : { | |
56122987 | 2981 | "description" : "Get HA manger status.", |
44660702 | 2982 | "method" : "GET", |
7aacca6f | 2983 | "name" : "status", |
44660702 DM |
2984 | "parameters" : { |
2985 | "additionalProperties" : 0 | |
2986 | }, | |
56122987 DM |
2987 | "permissions" : { |
2988 | "check" : [ | |
2989 | "perm", | |
2990 | "/", | |
2991 | [ | |
2992 | "Sys.Audit" | |
2993 | ] | |
2994 | ] | |
7aacca6f | 2995 | }, |
44660702 DM |
2996 | "returns" : { |
2997 | "type" : "array" | |
56122987 DM |
2998 | } |
2999 | } | |
7aacca6f | 3000 | }, |
7aacca6f | 3001 | "leaf" : 1, |
44660702 DM |
3002 | "path" : "/cluster/ha/status/current", |
3003 | "text" : "current" | |
56122987 DM |
3004 | }, |
3005 | { | |
3006 | "info" : { | |
3007 | "GET" : { | |
7aacca6f | 3008 | "description" : "Get full HA manger status, including LRM status.", |
44660702 DM |
3009 | "method" : "GET", |
3010 | "name" : "manager_status", | |
7aacca6f DM |
3011 | "parameters" : { |
3012 | "additionalProperties" : 0 | |
3013 | }, | |
56122987 DM |
3014 | "permissions" : { |
3015 | "check" : [ | |
3016 | "perm", | |
3017 | "/", | |
3018 | [ | |
3019 | "Sys.Audit" | |
3020 | ] | |
3021 | ] | |
44660702 DM |
3022 | }, |
3023 | "returns" : { | |
3024 | "type" : "object" | |
7aacca6f | 3025 | } |
56122987 DM |
3026 | } |
3027 | }, | |
56122987 | 3028 | "leaf" : 1, |
44660702 DM |
3029 | "path" : "/cluster/ha/status/manager_status", |
3030 | "text" : "manager_status" | |
56122987 DM |
3031 | } |
3032 | ], | |
56122987 DM |
3033 | "info" : { |
3034 | "GET" : { | |
44660702 | 3035 | "description" : "Directory index.", |
7aacca6f | 3036 | "method" : "GET", |
44660702 DM |
3037 | "name" : "index", |
3038 | "parameters" : { | |
3039 | "additionalProperties" : 0 | |
3040 | }, | |
3041 | "permissions" : { | |
3042 | "user" : "all" | |
3043 | }, | |
56122987 | 3044 | "returns" : { |
56122987 DM |
3045 | "items" : { |
3046 | "properties" : {}, | |
3047 | "type" : "object" | |
3048 | }, | |
3049 | "links" : [ | |
3050 | { | |
44660702 DM |
3051 | "href" : "{name}", |
3052 | "rel" : "child" | |
56122987 | 3053 | } |
7aacca6f DM |
3054 | ], |
3055 | "type" : "array" | |
44660702 | 3056 | } |
56122987 | 3057 | } |
7aacca6f | 3058 | }, |
44660702 | 3059 | "leaf" : 0, |
7aacca6f | 3060 | "path" : "/cluster/ha/status", |
44660702 | 3061 | "text" : "status" |
56122987 DM |
3062 | } |
3063 | ], | |
56122987 DM |
3064 | "info" : { |
3065 | "GET" : { | |
7aacca6f | 3066 | "description" : "Directory index.", |
44660702 DM |
3067 | "method" : "GET", |
3068 | "name" : "index", | |
3069 | "parameters" : { | |
3070 | "additionalProperties" : 0 | |
3071 | }, | |
7aacca6f DM |
3072 | "permissions" : { |
3073 | "check" : [ | |
3074 | "perm", | |
3075 | "/", | |
3076 | [ | |
3077 | "Sys.Audit" | |
3078 | ] | |
3079 | ] | |
3080 | }, | |
56122987 | 3081 | "returns" : { |
56122987 | 3082 | "items" : { |
7aacca6f DM |
3083 | "properties" : { |
3084 | "id" : { | |
3085 | "type" : "string" | |
3086 | } | |
44660702 DM |
3087 | }, |
3088 | "type" : "object" | |
7aacca6f DM |
3089 | }, |
3090 | "links" : [ | |
3091 | { | |
3092 | "href" : "{id}", | |
3093 | "rel" : "child" | |
3094 | } | |
44660702 DM |
3095 | ], |
3096 | "type" : "array" | |
7aacca6f DM |
3097 | } |
3098 | } | |
44660702 DM |
3099 | }, |
3100 | "leaf" : 0, | |
3101 | "path" : "/cluster/ha", | |
3102 | "text" : "ha" | |
7aacca6f DM |
3103 | }, |
3104 | { | |
7aacca6f DM |
3105 | "info" : { |
3106 | "GET" : { | |
3107 | "description" : "Read cluster log", | |
44660702 DM |
3108 | "method" : "GET", |
3109 | "name" : "log", | |
56122987 | 3110 | "parameters" : { |
7aacca6f | 3111 | "additionalProperties" : 0, |
56122987 DM |
3112 | "properties" : { |
3113 | "max" : { | |
7aacca6f | 3114 | "description" : "Maximum number of entries.", |
44660702 DM |
3115 | "minimum" : 1, |
3116 | "optional" : 1, | |
4bd7df8b | 3117 | "type" : "integer", |
013dc89f | 3118 | "typetext" : "<integer> (1 - N)" |
56122987 | 3119 | } |
7aacca6f | 3120 | } |
56122987 | 3121 | }, |
44660702 DM |
3122 | "permissions" : { |
3123 | "user" : "all" | |
3124 | }, | |
7aacca6f | 3125 | "returns" : { |
7aacca6f | 3126 | "items" : { |
44660702 DM |
3127 | "properties" : {}, |
3128 | "type" : "object" | |
3129 | }, | |
3130 | "type" : "array" | |
7aacca6f | 3131 | } |
56122987 | 3132 | } |
44660702 DM |
3133 | }, |
3134 | "leaf" : 1, | |
3135 | "path" : "/cluster/log", | |
3136 | "text" : "log" | |
56122987 DM |
3137 | }, |
3138 | { | |
56122987 DM |
3139 | "info" : { |
3140 | "GET" : { | |
44660702 | 3141 | "description" : "Resources index (cluster wide).", |
7aacca6f | 3142 | "method" : "GET", |
7aacca6f | 3143 | "name" : "resources", |
56122987 DM |
3144 | "parameters" : { |
3145 | "additionalProperties" : 0, | |
3146 | "properties" : { | |
3147 | "type" : { | |
3148 | "enum" : [ | |
3149 | "vm", | |
3150 | "storage", | |
3151 | "node" | |
44660702 DM |
3152 | ], |
3153 | "optional" : 1, | |
3154 | "type" : "string" | |
56122987 DM |
3155 | } |
3156 | } | |
3157 | }, | |
44660702 DM |
3158 | "permissions" : { |
3159 | "user" : "all" | |
3160 | }, | |
3161 | "returns" : { | |
3162 | "items" : { | |
3163 | "properties" : {}, | |
3164 | "type" : "object" | |
3165 | }, | |
3166 | "type" : "array" | |
3167 | } | |
56122987 DM |
3168 | } |
3169 | }, | |
7aacca6f | 3170 | "leaf" : 1, |
44660702 DM |
3171 | "path" : "/cluster/resources", |
3172 | "text" : "resources" | |
56122987 DM |
3173 | }, |
3174 | { | |
56122987 DM |
3175 | "info" : { |
3176 | "GET" : { | |
7aacca6f | 3177 | "description" : "List recent tasks (cluster wide).", |
44660702 | 3178 | "method" : "GET", |
7aacca6f | 3179 | "name" : "tasks", |
56122987 DM |
3180 | "parameters" : { |
3181 | "additionalProperties" : 0 | |
3182 | }, | |
44660702 DM |
3183 | "permissions" : { |
3184 | "user" : "all" | |
3185 | }, | |
56122987 DM |
3186 | "returns" : { |
3187 | "items" : { | |
3188 | "properties" : { | |
3189 | "upid" : { | |
3190 | "type" : "string" | |
3191 | } | |
44660702 DM |
3192 | }, |
3193 | "type" : "object" | |
3194 | }, | |
3195 | "type" : "array" | |
7aacca6f | 3196 | } |
56122987 DM |
3197 | } |
3198 | }, | |
7aacca6f | 3199 | "leaf" : 1, |
44660702 DM |
3200 | "path" : "/cluster/tasks", |
3201 | "text" : "tasks" | |
56122987 DM |
3202 | }, |
3203 | { | |
56122987 | 3204 | "info" : { |
7aacca6f | 3205 | "GET" : { |
44660702 DM |
3206 | "description" : "Get datacenter options.", |
3207 | "method" : "GET", | |
3208 | "name" : "get_options", | |
56122987 | 3209 | "parameters" : { |
7aacca6f DM |
3210 | "additionalProperties" : 0 |
3211 | }, | |
3212 | "permissions" : { | |
3213 | "check" : [ | |
3214 | "perm", | |
3215 | "/", | |
3216 | [ | |
3217 | "Sys.Audit" | |
3218 | ] | |
3219 | ] | |
3220 | }, | |
7aacca6f | 3221 | "returns" : { |
44660702 DM |
3222 | "properties" : {}, |
3223 | "type" : "object" | |
7aacca6f DM |
3224 | } |
3225 | }, | |
3226 | "PUT" : { | |
44660702 DM |
3227 | "description" : "Set datacenter options.", |
3228 | "method" : "PUT", | |
7aacca6f DM |
3229 | "name" : "set_options", |
3230 | "parameters" : { | |
3231 | "additionalProperties" : 0, | |
3232 | "properties" : { | |
56122987 | 3233 | "console" : { |
56122987 | 3234 | "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).", |
56122987 DM |
3235 | "enum" : [ |
3236 | "applet", | |
3237 | "vv", | |
3238 | "html5" | |
44660702 DM |
3239 | ], |
3240 | "optional" : 1, | |
3241 | "type" : "string" | |
56122987 | 3242 | }, |
7aacca6f | 3243 | "delete" : { |
7aacca6f | 3244 | "description" : "A list of settings you want to delete.", |
44660702 | 3245 | "format" : "pve-configid-list", |
7aacca6f | 3246 | "optional" : 1, |
013dc89f DM |
3247 | "type" : "string", |
3248 | "typetext" : "<string>" | |
7aacca6f | 3249 | }, |
44660702 DM |
3250 | "email_from" : { |
3251 | "description" : "Specify email address to send notification from (default is root@$hostname)", | |
3252 | "format" : "email-opt", | |
7aacca6f | 3253 | "optional" : 1, |
013dc89f DM |
3254 | "type" : "string", |
3255 | "typetext" : "<string>" | |
44660702 DM |
3256 | }, |
3257 | "fencing" : { | |
3258 | "default" : "watchdog", | |
3259 | "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP", | |
7aacca6f | 3260 | "enum" : [ |
44660702 DM |
3261 | "watchdog", |
3262 | "hardware", | |
3263 | "both" | |
7aacca6f | 3264 | ], |
44660702 DM |
3265 | "optional" : 1, |
3266 | "type" : "string" | |
3267 | }, | |
3268 | "http_proxy" : { | |
3269 | "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')", | |
3270 | "optional" : 1, | |
3271 | "pattern" : "http://.*", | |
3272 | "type" : "string" | |
7aacca6f | 3273 | }, |
56122987 | 3274 | "keyboard" : { |
44660702 | 3275 | "description" : "Default keybord layout for vnc server.", |
56122987 | 3276 | "enum" : [ |
44660702 DM |
3277 | "de", |
3278 | "de-ch", | |
7aacca6f | 3279 | "da", |
56122987 | 3280 | "en-gb", |
44660702 DM |
3281 | "en-us", |
3282 | "es", | |
3283 | "fi", | |
3284 | "fr", | |
3285 | "fr-be", | |
3286 | "fr-ca", | |
3287 | "fr-ch", | |
3288 | "hu", | |
7aacca6f | 3289 | "is", |
44660702 DM |
3290 | "it", |
3291 | "ja", | |
3292 | "lt", | |
56122987 | 3293 | "mk", |
7aacca6f | 3294 | "nl", |
56122987 | 3295 | "no", |
44660702 | 3296 | "pl", |
7aacca6f | 3297 | "pt", |
44660702 DM |
3298 | "pt-br", |
3299 | "sv", | |
3300 | "sl", | |
3301 | "tr" | |
56122987 | 3302 | ], |
56122987 DM |
3303 | "optional" : 1, |
3304 | "type" : "string" | |
3305 | }, | |
44660702 DM |
3306 | "language" : { |
3307 | "description" : "Default GUI language.", | |
3308 | "enum" : [ | |
3309 | "en", | |
3310 | "de" | |
3311 | ], | |
56122987 | 3312 | "optional" : 1, |
44660702 | 3313 | "type" : "string" |
56122987 | 3314 | }, |
4bd7df8b DM |
3315 | "mac_prefix" : { |
3316 | "description" : "Prefix for autogenerated MAC addresses.", | |
3317 | "optional" : 1, | |
3318 | "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)", | |
3319 | "type" : "string" | |
3320 | }, | |
44660702 DM |
3321 | "max_workers" : { |
3322 | "description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.", | |
3323 | "minimum" : 1, | |
56122987 | 3324 | "optional" : 1, |
4bd7df8b | 3325 | "type" : "integer", |
013dc89f | 3326 | "typetext" : "<integer> (1 - N)" |
56122987 | 3327 | }, |
de0983cb DM |
3328 | "migration" : { |
3329 | "description" : "For cluster wide migration settings.", | |
3330 | "format" : { | |
3331 | "network" : { | |
3332 | "description" : "CIDR of the (sub) network that is used for migration.", | |
3333 | "format" : "CIDR", | |
3334 | "format_description" : "CIDR", | |
3335 | "optional" : 1, | |
3336 | "type" : "string" | |
3337 | }, | |
3338 | "type" : { | |
3339 | "default" : "secure", | |
3340 | "default_key" : 1, | |
3341 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
3342 | "enum" : [ | |
3343 | "secure", | |
3344 | "insecure" | |
3345 | ], | |
3346 | "type" : "string" | |
3347 | } | |
3348 | }, | |
3349 | "optional" : 1, | |
3350 | "type" : "string", | |
3351 | "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]" | |
3352 | }, | |
7aacca6f | 3353 | "migration_unsecure" : { |
de0983cb | 3354 | "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!", |
56122987 | 3355 | "optional" : 1, |
013dc89f DM |
3356 | "type" : "boolean", |
3357 | "typetext" : "<boolean>" | |
56122987 DM |
3358 | } |
3359 | } | |
3360 | }, | |
44660702 DM |
3361 | "permissions" : { |
3362 | "check" : [ | |
3363 | "perm", | |
3364 | "/", | |
3365 | [ | |
3366 | "Sys.Modify" | |
3367 | ] | |
3368 | ] | |
3369 | }, | |
56122987 | 3370 | "protected" : 1, |
7aacca6f DM |
3371 | "returns" : { |
3372 | "type" : "null" | |
44660702 | 3373 | } |
7aacca6f DM |
3374 | } |
3375 | }, | |
44660702 DM |
3376 | "leaf" : 1, |
3377 | "path" : "/cluster/options", | |
7aacca6f DM |
3378 | "text" : "options" |
3379 | }, | |
3380 | { | |
7aacca6f | 3381 | "info" : { |
56122987 | 3382 | "GET" : { |
44660702 DM |
3383 | "description" : "Get cluster status informations.", |
3384 | "method" : "GET", | |
3385 | "name" : "get_status", | |
56122987 DM |
3386 | "parameters" : { |
3387 | "additionalProperties" : 0 | |
3388 | }, | |
56122987 DM |
3389 | "permissions" : { |
3390 | "check" : [ | |
3391 | "perm", | |
3392 | "/", | |
3393 | [ | |
3394 | "Sys.Audit" | |
3395 | ] | |
3396 | ] | |
3397 | }, | |
7aacca6f | 3398 | "protected" : 1, |
56122987 | 3399 | "returns" : { |
56122987 | 3400 | "items" : { |
56122987 DM |
3401 | "properties" : { |
3402 | "type" : { | |
3403 | "type" : "string" | |
3404 | } | |
44660702 DM |
3405 | }, |
3406 | "type" : "object" | |
7aacca6f DM |
3407 | }, |
3408 | "type" : "array" | |
56122987 DM |
3409 | } |
3410 | } | |
3411 | }, | |
44660702 | 3412 | "leaf" : 1, |
7aacca6f | 3413 | "path" : "/cluster/status", |
44660702 | 3414 | "text" : "status" |
56122987 DM |
3415 | }, |
3416 | { | |
56122987 DM |
3417 | "info" : { |
3418 | "GET" : { | |
56122987 | 3419 | "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.", |
44660702 DM |
3420 | "method" : "GET", |
3421 | "name" : "nextid", | |
56122987 | 3422 | "parameters" : { |
44660702 | 3423 | "additionalProperties" : 0, |
56122987 DM |
3424 | "properties" : { |
3425 | "vmid" : { | |
44660702 | 3426 | "description" : "The (unique) ID of the VM.", |
56122987 | 3427 | "format" : "pve-vmid", |
7aacca6f | 3428 | "minimum" : 1, |
7aacca6f | 3429 | "optional" : 1, |
4bd7df8b | 3430 | "type" : "integer", |
013dc89f | 3431 | "typetext" : "<integer> (1 - N)" |
56122987 | 3432 | } |
44660702 | 3433 | } |
56122987 | 3434 | }, |
7aacca6f DM |
3435 | "permissions" : { |
3436 | "user" : "all" | |
44660702 DM |
3437 | }, |
3438 | "returns" : { | |
3439 | "description" : "The next free VMID.", | |
3440 | "type" : "integer" | |
7aacca6f | 3441 | } |
56122987 DM |
3442 | } |
3443 | }, | |
7aacca6f | 3444 | "leaf" : 1, |
44660702 DM |
3445 | "path" : "/cluster/nextid", |
3446 | "text" : "nextid" | |
56122987 DM |
3447 | } |
3448 | ], | |
44660702 DM |
3449 | "info" : { |
3450 | "GET" : { | |
3451 | "description" : "Cluster index.", | |
3452 | "method" : "GET", | |
3453 | "name" : "index", | |
3454 | "parameters" : { | |
3455 | "additionalProperties" : 0 | |
3456 | }, | |
3457 | "permissions" : { | |
3458 | "user" : "all" | |
3459 | }, | |
3460 | "returns" : { | |
3461 | "items" : { | |
3462 | "properties" : {}, | |
3463 | "type" : "object" | |
3464 | }, | |
3465 | "links" : [ | |
3466 | { | |
3467 | "href" : "{name}", | |
3468 | "rel" : "child" | |
3469 | } | |
3470 | ], | |
3471 | "type" : "array" | |
3472 | } | |
3473 | } | |
3474 | }, | |
3475 | "leaf" : 0, | |
3476 | "path" : "/cluster", | |
7aacca6f | 3477 | "text" : "cluster" |
56122987 DM |
3478 | }, |
3479 | { | |
56122987 DM |
3480 | "children" : [ |
3481 | { | |
7aacca6f DM |
3482 | "children" : [ |
3483 | { | |
3484 | "children" : [ | |
3485 | { | |
56122987 DM |
3486 | "children" : [ |
3487 | { | |
56122987 DM |
3488 | "children" : [ |
3489 | { | |
3490 | "children" : [ | |
3491 | { | |
56122987 DM |
3492 | "info" : { |
3493 | "DELETE" : { | |
44660702 | 3494 | "description" : "Delete rule.", |
7aacca6f | 3495 | "method" : "DELETE", |
44660702 | 3496 | "name" : "delete_rule", |
56122987 | 3497 | "parameters" : { |
44660702 | 3498 | "additionalProperties" : 0, |
56122987 | 3499 | "properties" : { |
44660702 DM |
3500 | "digest" : { |
3501 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
3502 | "maxLength" : 40, | |
3503 | "optional" : 1, | |
013dc89f DM |
3504 | "type" : "string", |
3505 | "typetext" : "<string>" | |
44660702 | 3506 | }, |
56122987 | 3507 | "node" : { |
7aacca6f | 3508 | "description" : "The cluster node name.", |
44660702 | 3509 | "format" : "pve-node", |
013dc89f DM |
3510 | "type" : "string", |
3511 | "typetext" : "<string>" | |
7aacca6f | 3512 | }, |
56122987 | 3513 | "pos" : { |
7aacca6f | 3514 | "description" : "Update rule at position <pos>.", |
44660702 | 3515 | "minimum" : 0, |
56122987 | 3516 | "optional" : 1, |
4bd7df8b | 3517 | "type" : "integer", |
013dc89f | 3518 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3519 | }, |
3520 | "vmid" : { | |
3521 | "description" : "The (unique) ID of the VM.", | |
3522 | "format" : "pve-vmid", | |
3523 | "minimum" : 1, | |
4bd7df8b | 3524 | "type" : "integer", |
013dc89f | 3525 | "typetext" : "<integer> (1 - N)" |
56122987 | 3526 | } |
44660702 | 3527 | } |
7aacca6f | 3528 | }, |
56122987 DM |
3529 | "permissions" : { |
3530 | "check" : [ | |
3531 | "perm", | |
3532 | "/vms/{vmid}", | |
3533 | [ | |
3534 | "VM.Config.Network" | |
3535 | ] | |
3536 | ] | |
3537 | }, | |
44660702 DM |
3538 | "protected" : 1, |
3539 | "proxyto" : null, | |
56122987 DM |
3540 | "returns" : { |
3541 | "type" : "null" | |
44660702 DM |
3542 | } |
3543 | }, | |
3544 | "GET" : { | |
3545 | "description" : "Get single rule data.", | |
3546 | "method" : "GET", | |
3547 | "name" : "get_rule", | |
3548 | "parameters" : { | |
3549 | "additionalProperties" : 0, | |
3550 | "properties" : { | |
3551 | "node" : { | |
3552 | "description" : "The cluster node name.", | |
3553 | "format" : "pve-node", | |
013dc89f DM |
3554 | "type" : "string", |
3555 | "typetext" : "<string>" | |
44660702 DM |
3556 | }, |
3557 | "pos" : { | |
3558 | "description" : "Update rule at position <pos>.", | |
3559 | "minimum" : 0, | |
3560 | "optional" : 1, | |
4bd7df8b | 3561 | "type" : "integer", |
013dc89f | 3562 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3563 | }, |
3564 | "vmid" : { | |
3565 | "description" : "The (unique) ID of the VM.", | |
3566 | "format" : "pve-vmid", | |
3567 | "minimum" : 1, | |
4bd7df8b | 3568 | "type" : "integer", |
013dc89f | 3569 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
3570 | } |
3571 | } | |
56122987 | 3572 | }, |
56122987 DM |
3573 | "permissions" : { |
3574 | "check" : [ | |
3575 | "perm", | |
3576 | "/vms/{vmid}", | |
3577 | [ | |
44660702 | 3578 | "VM.Audit" |
56122987 DM |
3579 | ] |
3580 | ] | |
3581 | }, | |
56122987 | 3582 | "proxyto" : null, |
44660702 DM |
3583 | "returns" : { |
3584 | "properties" : { | |
3585 | "pos" : { | |
3586 | "type" : "integer" | |
3587 | } | |
3588 | }, | |
3589 | "type" : "object" | |
3590 | } | |
3591 | }, | |
3592 | "PUT" : { | |
7aacca6f DM |
3593 | "description" : "Modify rule data.", |
3594 | "method" : "PUT", | |
44660702 | 3595 | "name" : "update_rule", |
56122987 | 3596 | "parameters" : { |
44660702 | 3597 | "additionalProperties" : 0, |
56122987 | 3598 | "properties" : { |
44660702 DM |
3599 | "action" : { |
3600 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
3601 | "maxLength" : 20, | |
3602 | "minLength" : 2, | |
56122987 | 3603 | "optional" : 1, |
44660702 | 3604 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7aacca6f DM |
3605 | "type" : "string" |
3606 | }, | |
7aacca6f | 3607 | "comment" : { |
e94f0d56 | 3608 | "description" : "Descriptive comment.", |
7aacca6f | 3609 | "optional" : 1, |
013dc89f DM |
3610 | "type" : "string", |
3611 | "typetext" : "<string>" | |
7aacca6f DM |
3612 | }, |
3613 | "delete" : { | |
7aacca6f | 3614 | "description" : "A list of settings you want to delete.", |
44660702 DM |
3615 | "format" : "pve-configid-list", |
3616 | "optional" : 1, | |
013dc89f DM |
3617 | "type" : "string", |
3618 | "typetext" : "<string>" | |
7aacca6f DM |
3619 | }, |
3620 | "dest" : { | |
44660702 | 3621 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", |
7aacca6f | 3622 | "format" : "pve-fw-addr-spec", |
56122987 | 3623 | "optional" : 1, |
013dc89f DM |
3624 | "type" : "string", |
3625 | "typetext" : "<string>" | |
56122987 | 3626 | }, |
7aacca6f | 3627 | "digest" : { |
44660702 | 3628 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
7aacca6f | 3629 | "maxLength" : 40, |
56122987 | 3630 | "optional" : 1, |
013dc89f DM |
3631 | "type" : "string", |
3632 | "typetext" : "<string>" | |
44660702 DM |
3633 | }, |
3634 | "dport" : { | |
3635 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
3636 | "format" : "pve-fw-dport-spec", | |
3637 | "optional" : 1, | |
013dc89f DM |
3638 | "type" : "string", |
3639 | "typetext" : "<string>" | |
56122987 | 3640 | }, |
7aacca6f | 3641 | "enable" : { |
e94f0d56 | 3642 | "description" : "Flag to enable/disable a rule.", |
44660702 | 3643 | "minimum" : 0, |
56122987 | 3644 | "optional" : 1, |
4bd7df8b | 3645 | "type" : "integer", |
013dc89f | 3646 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 3647 | }, |
44660702 DM |
3648 | "iface" : { |
3649 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
3650 | "format" : "pve-iface", | |
3651 | "maxLength" : 20, | |
7aacca6f | 3652 | "minLength" : 2, |
56122987 | 3653 | "optional" : 1, |
013dc89f DM |
3654 | "type" : "string", |
3655 | "typetext" : "<string>" | |
56122987 | 3656 | }, |
44660702 | 3657 | "macro" : { |
e94f0d56 | 3658 | "description" : "Use predefined standard macro.", |
44660702 | 3659 | "maxLength" : 128, |
56122987 | 3660 | "optional" : 1, |
013dc89f DM |
3661 | "type" : "string", |
3662 | "typetext" : "<string>" | |
56122987 | 3663 | }, |
44660702 DM |
3664 | "moveto" : { |
3665 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
3666 | "minimum" : 0, | |
56122987 | 3667 | "optional" : 1, |
4bd7df8b | 3668 | "type" : "integer", |
013dc89f | 3669 | "typetext" : "<integer> (0 - N)" |
56122987 | 3670 | }, |
44660702 DM |
3671 | "node" : { |
3672 | "description" : "The cluster node name.", | |
3673 | "format" : "pve-node", | |
013dc89f DM |
3674 | "type" : "string", |
3675 | "typetext" : "<string>" | |
44660702 DM |
3676 | }, |
3677 | "pos" : { | |
3678 | "description" : "Update rule at position <pos>.", | |
3679 | "minimum" : 0, | |
3680 | "optional" : 1, | |
4bd7df8b | 3681 | "type" : "integer", |
013dc89f | 3682 | "typetext" : "<integer> (0 - N)" |
56122987 | 3683 | }, |
44660702 DM |
3684 | "proto" : { |
3685 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
3686 | "format" : "pve-fw-protocol-spec", | |
3687 | "optional" : 1, | |
013dc89f DM |
3688 | "type" : "string", |
3689 | "typetext" : "<string>" | |
7aacca6f | 3690 | }, |
44660702 DM |
3691 | "source" : { |
3692 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
3693 | "format" : "pve-fw-addr-spec", | |
56122987 | 3694 | "optional" : 1, |
013dc89f DM |
3695 | "type" : "string", |
3696 | "typetext" : "<string>" | |
56122987 DM |
3697 | }, |
3698 | "sport" : { | |
3699 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
44660702 DM |
3700 | "format" : "pve-fw-sport-spec", |
3701 | "optional" : 1, | |
013dc89f DM |
3702 | "type" : "string", |
3703 | "typetext" : "<string>" | |
44660702 DM |
3704 | }, |
3705 | "type" : { | |
e94f0d56 | 3706 | "description" : "Rule type.", |
44660702 DM |
3707 | "enum" : [ |
3708 | "in", | |
3709 | "out", | |
3710 | "group" | |
3711 | ], | |
56122987 | 3712 | "optional" : 1, |
56122987 | 3713 | "type" : "string" |
44660702 DM |
3714 | }, |
3715 | "vmid" : { | |
3716 | "description" : "The (unique) ID of the VM.", | |
3717 | "format" : "pve-vmid", | |
3718 | "minimum" : 1, | |
4bd7df8b | 3719 | "type" : "integer", |
013dc89f | 3720 | "typetext" : "<integer> (1 - N)" |
56122987 | 3721 | } |
44660702 | 3722 | } |
56122987 | 3723 | }, |
56122987 DM |
3724 | "permissions" : { |
3725 | "check" : [ | |
3726 | "perm", | |
3727 | "/vms/{vmid}", | |
3728 | [ | |
44660702 | 3729 | "VM.Config.Network" |
56122987 DM |
3730 | ] |
3731 | ] | |
7aacca6f | 3732 | }, |
44660702 | 3733 | "protected" : 1, |
7aacca6f | 3734 | "proxyto" : null, |
7aacca6f | 3735 | "returns" : { |
44660702 DM |
3736 | "type" : "null" |
3737 | } | |
56122987 | 3738 | } |
7aacca6f | 3739 | }, |
44660702 | 3740 | "leaf" : 1, |
7aacca6f | 3741 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}", |
44660702 | 3742 | "text" : "{pos}" |
56122987 DM |
3743 | } |
3744 | ], | |
56122987 | 3745 | "info" : { |
44660702 DM |
3746 | "GET" : { |
3747 | "description" : "List rules.", | |
3748 | "method" : "GET", | |
3749 | "name" : "get_rules", | |
3750 | "parameters" : { | |
3751 | "additionalProperties" : 0, | |
3752 | "properties" : { | |
3753 | "node" : { | |
3754 | "description" : "The cluster node name.", | |
3755 | "format" : "pve-node", | |
013dc89f DM |
3756 | "type" : "string", |
3757 | "typetext" : "<string>" | |
44660702 DM |
3758 | }, |
3759 | "vmid" : { | |
3760 | "description" : "The (unique) ID of the VM.", | |
3761 | "format" : "pve-vmid", | |
3762 | "minimum" : 1, | |
4bd7df8b | 3763 | "type" : "integer", |
013dc89f | 3764 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
3765 | } |
3766 | } | |
56122987 | 3767 | }, |
56122987 DM |
3768 | "permissions" : { |
3769 | "check" : [ | |
3770 | "perm", | |
3771 | "/vms/{vmid}", | |
3772 | [ | |
44660702 | 3773 | "VM.Audit" |
56122987 DM |
3774 | ] |
3775 | ] | |
7aacca6f | 3776 | }, |
44660702 DM |
3777 | "proxyto" : null, |
3778 | "returns" : { | |
3779 | "items" : { | |
3780 | "properties" : { | |
3781 | "pos" : { | |
3782 | "type" : "integer" | |
3783 | } | |
3784 | }, | |
3785 | "type" : "object" | |
3786 | }, | |
3787 | "links" : [ | |
3788 | { | |
3789 | "href" : "{pos}", | |
3790 | "rel" : "child" | |
3791 | } | |
3792 | ], | |
3793 | "type" : "array" | |
3794 | } | |
3795 | }, | |
3796 | "POST" : { | |
3797 | "description" : "Create new rule.", | |
7aacca6f | 3798 | "method" : "POST", |
44660702 | 3799 | "name" : "create_rule", |
56122987 | 3800 | "parameters" : { |
44660702 | 3801 | "additionalProperties" : 0, |
56122987 | 3802 | "properties" : { |
44660702 DM |
3803 | "action" : { |
3804 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
3805 | "maxLength" : 20, | |
3806 | "minLength" : 2, | |
3807 | "optional" : 0, | |
3808 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
3809 | "type" : "string" | |
56122987 | 3810 | }, |
44660702 | 3811 | "comment" : { |
e94f0d56 | 3812 | "description" : "Descriptive comment.", |
56122987 | 3813 | "optional" : 1, |
013dc89f DM |
3814 | "type" : "string", |
3815 | "typetext" : "<string>" | |
56122987 | 3816 | }, |
44660702 DM |
3817 | "dest" : { |
3818 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
3819 | "format" : "pve-fw-addr-spec", | |
3820 | "optional" : 1, | |
013dc89f DM |
3821 | "type" : "string", |
3822 | "typetext" : "<string>" | |
56122987 | 3823 | }, |
44660702 DM |
3824 | "digest" : { |
3825 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
3826 | "maxLength" : 40, | |
56122987 | 3827 | "optional" : 1, |
013dc89f DM |
3828 | "type" : "string", |
3829 | "typetext" : "<string>" | |
56122987 | 3830 | }, |
7aacca6f DM |
3831 | "dport" : { |
3832 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
44660702 | 3833 | "format" : "pve-fw-dport-spec", |
7aacca6f | 3834 | "optional" : 1, |
013dc89f DM |
3835 | "type" : "string", |
3836 | "typetext" : "<string>" | |
56122987 DM |
3837 | }, |
3838 | "enable" : { | |
e94f0d56 | 3839 | "description" : "Flag to enable/disable a rule.", |
56122987 | 3840 | "minimum" : 0, |
44660702 | 3841 | "optional" : 1, |
4bd7df8b | 3842 | "type" : "integer", |
013dc89f | 3843 | "typetext" : "<integer> (0 - N)" |
56122987 | 3844 | }, |
44660702 DM |
3845 | "iface" : { |
3846 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
3847 | "format" : "pve-iface", | |
3848 | "maxLength" : 20, | |
7aacca6f | 3849 | "minLength" : 2, |
44660702 | 3850 | "optional" : 1, |
013dc89f DM |
3851 | "type" : "string", |
3852 | "typetext" : "<string>" | |
56122987 | 3853 | }, |
44660702 | 3854 | "macro" : { |
e94f0d56 | 3855 | "description" : "Use predefined standard macro.", |
44660702 | 3856 | "maxLength" : 128, |
56122987 | 3857 | "optional" : 1, |
013dc89f DM |
3858 | "type" : "string", |
3859 | "typetext" : "<string>" | |
7aacca6f | 3860 | }, |
44660702 DM |
3861 | "node" : { |
3862 | "description" : "The cluster node name.", | |
3863 | "format" : "pve-node", | |
013dc89f DM |
3864 | "type" : "string", |
3865 | "typetext" : "<string>" | |
44660702 DM |
3866 | }, |
3867 | "pos" : { | |
3868 | "description" : "Update rule at position <pos>.", | |
3869 | "minimum" : 0, | |
3870 | "optional" : 1, | |
4bd7df8b | 3871 | "type" : "integer", |
013dc89f | 3872 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
3873 | }, |
3874 | "proto" : { | |
3875 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
3876 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 3877 | "optional" : 1, |
013dc89f DM |
3878 | "type" : "string", |
3879 | "typetext" : "<string>" | |
7aacca6f DM |
3880 | }, |
3881 | "source" : { | |
3882 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
44660702 | 3883 | "format" : "pve-fw-addr-spec", |
7aacca6f | 3884 | "optional" : 1, |
013dc89f DM |
3885 | "type" : "string", |
3886 | "typetext" : "<string>" | |
7aacca6f | 3887 | }, |
44660702 DM |
3888 | "sport" : { |
3889 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
3890 | "format" : "pve-fw-sport-spec", | |
7aacca6f | 3891 | "optional" : 1, |
013dc89f DM |
3892 | "type" : "string", |
3893 | "typetext" : "<string>" | |
7aacca6f | 3894 | }, |
44660702 | 3895 | "type" : { |
e94f0d56 | 3896 | "description" : "Rule type.", |
44660702 DM |
3897 | "enum" : [ |
3898 | "in", | |
3899 | "out", | |
3900 | "group" | |
3901 | ], | |
3902 | "optional" : 0, | |
3903 | "type" : "string" | |
7aacca6f | 3904 | }, |
7aacca6f | 3905 | "vmid" : { |
44660702 | 3906 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
3907 | "format" : "pve-vmid", |
3908 | "minimum" : 1, | |
4bd7df8b | 3909 | "type" : "integer", |
013dc89f | 3910 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
3911 | } |
3912 | } | |
3913 | }, | |
56122987 DM |
3914 | "permissions" : { |
3915 | "check" : [ | |
3916 | "perm", | |
3917 | "/vms/{vmid}", | |
3918 | [ | |
44660702 | 3919 | "VM.Config.Network" |
56122987 DM |
3920 | ] |
3921 | ] | |
3922 | }, | |
44660702 DM |
3923 | "protected" : 1, |
3924 | "proxyto" : null, | |
56122987 | 3925 | "returns" : { |
44660702 DM |
3926 | "type" : "null" |
3927 | } | |
56122987 DM |
3928 | } |
3929 | }, | |
44660702 | 3930 | "leaf" : 0, |
7aacca6f | 3931 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules", |
44660702 | 3932 | "text" : "rules" |
56122987 DM |
3933 | }, |
3934 | { | |
3935 | "children" : [ | |
3936 | { | |
56122987 | 3937 | "info" : { |
44660702 DM |
3938 | "DELETE" : { |
3939 | "description" : "Remove IP or Network alias.", | |
3940 | "method" : "DELETE", | |
3941 | "name" : "remove_alias", | |
56122987 | 3942 | "parameters" : { |
44660702 | 3943 | "additionalProperties" : 0, |
56122987 | 3944 | "properties" : { |
44660702 DM |
3945 | "digest" : { |
3946 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
3947 | "maxLength" : 40, | |
3948 | "optional" : 1, | |
013dc89f DM |
3949 | "type" : "string", |
3950 | "typetext" : "<string>" | |
56122987 DM |
3951 | }, |
3952 | "name" : { | |
56122987 | 3953 | "description" : "Alias name.", |
44660702 | 3954 | "maxLength" : 64, |
7aacca6f | 3955 | "minLength" : 2, |
44660702 | 3956 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 DM |
3957 | "type" : "string" |
3958 | }, | |
7aacca6f | 3959 | "node" : { |
44660702 | 3960 | "description" : "The cluster node name.", |
7aacca6f | 3961 | "format" : "pve-node", |
013dc89f DM |
3962 | "type" : "string", |
3963 | "typetext" : "<string>" | |
44660702 DM |
3964 | }, |
3965 | "vmid" : { | |
3966 | "description" : "The (unique) ID of the VM.", | |
3967 | "format" : "pve-vmid", | |
3968 | "minimum" : 1, | |
4bd7df8b | 3969 | "type" : "integer", |
013dc89f | 3970 | "typetext" : "<integer> (1 - N)" |
56122987 | 3971 | } |
44660702 | 3972 | } |
56122987 | 3973 | }, |
7aacca6f DM |
3974 | "permissions" : { |
3975 | "check" : [ | |
3976 | "perm", | |
3977 | "/vms/{vmid}", | |
3978 | [ | |
3979 | "VM.Config.Network" | |
3980 | ] | |
3981 | ] | |
56122987 | 3982 | }, |
44660702 DM |
3983 | "protected" : 1, |
3984 | "returns" : { | |
3985 | "type" : "null" | |
3986 | } | |
3987 | }, | |
3988 | "GET" : { | |
3989 | "description" : "Read alias.", | |
3990 | "method" : "GET", | |
3991 | "name" : "read_alias", | |
56122987 | 3992 | "parameters" : { |
44660702 | 3993 | "additionalProperties" : 0, |
56122987 | 3994 | "properties" : { |
56122987 | 3995 | "name" : { |
7aacca6f | 3996 | "description" : "Alias name.", |
44660702 | 3997 | "maxLength" : 64, |
56122987 | 3998 | "minLength" : 2, |
44660702 | 3999 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 | 4000 | "type" : "string" |
7aacca6f DM |
4001 | }, |
4002 | "node" : { | |
4003 | "description" : "The cluster node name.", | |
44660702 | 4004 | "format" : "pve-node", |
013dc89f DM |
4005 | "type" : "string", |
4006 | "typetext" : "<string>" | |
44660702 DM |
4007 | }, |
4008 | "vmid" : { | |
4009 | "description" : "The (unique) ID of the VM.", | |
4010 | "format" : "pve-vmid", | |
4011 | "minimum" : 1, | |
4bd7df8b | 4012 | "type" : "integer", |
013dc89f | 4013 | "typetext" : "<integer> (1 - N)" |
56122987 | 4014 | } |
44660702 | 4015 | } |
56122987 | 4016 | }, |
44660702 DM |
4017 | "permissions" : { |
4018 | "check" : [ | |
4019 | "perm", | |
4020 | "/vms/{vmid}", | |
4021 | [ | |
4022 | "VM.Audit" | |
4023 | ] | |
4024 | ] | |
56122987 | 4025 | }, |
44660702 DM |
4026 | "returns" : { |
4027 | "type" : "object" | |
4028 | } | |
7aacca6f | 4029 | }, |
44660702 DM |
4030 | "PUT" : { |
4031 | "description" : "Update IP or Network alias.", | |
4032 | "method" : "PUT", | |
4033 | "name" : "update_alias", | |
56122987 DM |
4034 | "parameters" : { |
4035 | "additionalProperties" : 0, | |
4036 | "properties" : { | |
44660702 DM |
4037 | "cidr" : { |
4038 | "description" : "Network/IP specification in CIDR format.", | |
4039 | "format" : "IPorCIDR", | |
013dc89f DM |
4040 | "type" : "string", |
4041 | "typetext" : "<string>" | |
44660702 DM |
4042 | }, |
4043 | "comment" : { | |
4044 | "optional" : 1, | |
013dc89f DM |
4045 | "type" : "string", |
4046 | "typetext" : "<string>" | |
56122987 DM |
4047 | }, |
4048 | "digest" : { | |
44660702 | 4049 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
56122987 DM |
4050 | "maxLength" : 40, |
4051 | "optional" : 1, | |
013dc89f DM |
4052 | "type" : "string", |
4053 | "typetext" : "<string>" | |
56122987 | 4054 | }, |
7aacca6f | 4055 | "name" : { |
44660702 | 4056 | "description" : "Alias name.", |
56122987 DM |
4057 | "maxLength" : 64, |
4058 | "minLength" : 2, | |
4059 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 4060 | "type" : "string" |
7aacca6f DM |
4061 | }, |
4062 | "node" : { | |
7aacca6f | 4063 | "description" : "The cluster node name.", |
44660702 | 4064 | "format" : "pve-node", |
013dc89f DM |
4065 | "type" : "string", |
4066 | "typetext" : "<string>" | |
44660702 DM |
4067 | }, |
4068 | "rename" : { | |
4069 | "description" : "Rename an existing alias.", | |
4070 | "maxLength" : 64, | |
4071 | "minLength" : 2, | |
4072 | "optional" : 1, | |
4073 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4074 | "type" : "string" | |
4075 | }, | |
4076 | "vmid" : { | |
4077 | "description" : "The (unique) ID of the VM.", | |
4078 | "format" : "pve-vmid", | |
4079 | "minimum" : 1, | |
4bd7df8b | 4080 | "type" : "integer", |
013dc89f | 4081 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
4082 | } |
4083 | } | |
4084 | }, | |
7aacca6f DM |
4085 | "permissions" : { |
4086 | "check" : [ | |
4087 | "perm", | |
4088 | "/vms/{vmid}", | |
4089 | [ | |
4090 | "VM.Config.Network" | |
4091 | ] | |
4092 | ] | |
4093 | }, | |
4094 | "protected" : 1, | |
7aacca6f DM |
4095 | "returns" : { |
4096 | "type" : "null" | |
44660702 | 4097 | } |
56122987 DM |
4098 | } |
4099 | }, | |
44660702 | 4100 | "leaf" : 1, |
7aacca6f | 4101 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}", |
44660702 | 4102 | "text" : "{name}" |
56122987 DM |
4103 | } |
4104 | ], | |
4105 | "info" : { | |
44660702 DM |
4106 | "GET" : { |
4107 | "description" : "List aliases", | |
4108 | "method" : "GET", | |
4109 | "name" : "get_aliases", | |
56122987 | 4110 | "parameters" : { |
44660702 | 4111 | "additionalProperties" : 0, |
56122987 | 4112 | "properties" : { |
7aacca6f | 4113 | "node" : { |
7aacca6f | 4114 | "description" : "The cluster node name.", |
44660702 | 4115 | "format" : "pve-node", |
013dc89f DM |
4116 | "type" : "string", |
4117 | "typetext" : "<string>" | |
56122987 | 4118 | }, |
44660702 DM |
4119 | "vmid" : { |
4120 | "description" : "The (unique) ID of the VM.", | |
4121 | "format" : "pve-vmid", | |
4122 | "minimum" : 1, | |
4bd7df8b | 4123 | "type" : "integer", |
013dc89f | 4124 | "typetext" : "<integer> (1 - N)" |
56122987 | 4125 | } |
44660702 | 4126 | } |
56122987 | 4127 | }, |
56122987 DM |
4128 | "permissions" : { |
4129 | "check" : [ | |
4130 | "perm", | |
4131 | "/vms/{vmid}", | |
4132 | [ | |
44660702 | 4133 | "VM.Audit" |
56122987 DM |
4134 | ] |
4135 | ] | |
4136 | }, | |
56122987 DM |
4137 | "returns" : { |
4138 | "items" : { | |
4139 | "properties" : { | |
44660702 | 4140 | "cidr" : { |
56122987 DM |
4141 | "type" : "string" |
4142 | }, | |
44660702 DM |
4143 | "comment" : { |
4144 | "optional" : 1, | |
7aacca6f | 4145 | "type" : "string" |
56122987 DM |
4146 | }, |
4147 | "digest" : { | |
56122987 | 4148 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 | 4149 | "maxLength" : 40, |
56122987 DM |
4150 | "optional" : 0, |
4151 | "type" : "string" | |
4152 | }, | |
44660702 | 4153 | "name" : { |
56122987 DM |
4154 | "type" : "string" |
4155 | } | |
44660702 DM |
4156 | }, |
4157 | "type" : "object" | |
56122987 | 4158 | }, |
56122987 DM |
4159 | "links" : [ |
4160 | { | |
4161 | "href" : "{name}", | |
4162 | "rel" : "child" | |
4163 | } | |
44660702 DM |
4164 | ], |
4165 | "type" : "array" | |
4166 | } | |
4167 | }, | |
4168 | "POST" : { | |
4169 | "description" : "Create IP or Network Alias.", | |
4170 | "method" : "POST", | |
4171 | "name" : "create_alias", | |
56122987 | 4172 | "parameters" : { |
7aacca6f | 4173 | "additionalProperties" : 0, |
56122987 | 4174 | "properties" : { |
44660702 DM |
4175 | "cidr" : { |
4176 | "description" : "Network/IP specification in CIDR format.", | |
4177 | "format" : "IPorCIDR", | |
013dc89f DM |
4178 | "type" : "string", |
4179 | "typetext" : "<string>" | |
44660702 DM |
4180 | }, |
4181 | "comment" : { | |
4182 | "optional" : 1, | |
013dc89f DM |
4183 | "type" : "string", |
4184 | "typetext" : "<string>" | |
44660702 DM |
4185 | }, |
4186 | "name" : { | |
4187 | "description" : "Alias name.", | |
4188 | "maxLength" : 64, | |
4189 | "minLength" : 2, | |
4190 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4191 | "type" : "string" | |
56122987 DM |
4192 | }, |
4193 | "node" : { | |
7aacca6f | 4194 | "description" : "The cluster node name.", |
44660702 | 4195 | "format" : "pve-node", |
013dc89f DM |
4196 | "type" : "string", |
4197 | "typetext" : "<string>" | |
44660702 DM |
4198 | }, |
4199 | "vmid" : { | |
4200 | "description" : "The (unique) ID of the VM.", | |
4201 | "format" : "pve-vmid", | |
4202 | "minimum" : 1, | |
4bd7df8b | 4203 | "type" : "integer", |
013dc89f | 4204 | "typetext" : "<integer> (1 - N)" |
56122987 | 4205 | } |
7aacca6f | 4206 | } |
56122987 | 4207 | }, |
44660702 DM |
4208 | "permissions" : { |
4209 | "check" : [ | |
4210 | "perm", | |
4211 | "/vms/{vmid}", | |
4212 | [ | |
4213 | "VM.Config.Network" | |
4214 | ] | |
4215 | ] | |
4216 | }, | |
4217 | "protected" : 1, | |
4218 | "returns" : { | |
4219 | "type" : "null" | |
4220 | } | |
56122987 | 4221 | } |
44660702 DM |
4222 | }, |
4223 | "leaf" : 0, | |
4224 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases", | |
4225 | "text" : "aliases" | |
56122987 DM |
4226 | }, |
4227 | { | |
56122987 DM |
4228 | "children" : [ |
4229 | { | |
7aacca6f DM |
4230 | "children" : [ |
4231 | { | |
4232 | "info" : { | |
4233 | "DELETE" : { | |
44660702 | 4234 | "description" : "Remove IP or Network from IPSet.", |
7aacca6f | 4235 | "method" : "DELETE", |
44660702 | 4236 | "name" : "remove_ip", |
7aacca6f | 4237 | "parameters" : { |
44660702 | 4238 | "additionalProperties" : 0, |
7aacca6f | 4239 | "properties" : { |
44660702 DM |
4240 | "cidr" : { |
4241 | "description" : "Network/IP specification in CIDR format.", | |
4242 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
4243 | "type" : "string", |
4244 | "typetext" : "<string>" | |
44660702 DM |
4245 | }, |
4246 | "digest" : { | |
4247 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4248 | "maxLength" : 40, | |
4249 | "optional" : 1, | |
013dc89f DM |
4250 | "type" : "string", |
4251 | "typetext" : "<string>" | |
44660702 | 4252 | }, |
7aacca6f | 4253 | "name" : { |
7aacca6f | 4254 | "description" : "IP set name.", |
44660702 DM |
4255 | "maxLength" : 64, |
4256 | "minLength" : 2, | |
7aacca6f | 4257 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 4258 | "type" : "string" |
7aacca6f DM |
4259 | }, |
4260 | "node" : { | |
4261 | "description" : "The cluster node name.", | |
44660702 | 4262 | "format" : "pve-node", |
013dc89f DM |
4263 | "type" : "string", |
4264 | "typetext" : "<string>" | |
7aacca6f DM |
4265 | }, |
4266 | "vmid" : { | |
44660702 | 4267 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 4268 | "format" : "pve-vmid", |
44660702 | 4269 | "minimum" : 1, |
4bd7df8b | 4270 | "type" : "integer", |
013dc89f | 4271 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 4272 | } |
44660702 | 4273 | } |
7aacca6f | 4274 | }, |
7aacca6f DM |
4275 | "permissions" : { |
4276 | "check" : [ | |
4277 | "perm", | |
4278 | "/vms/{vmid}", | |
4279 | [ | |
4280 | "VM.Config.Network" | |
4281 | ] | |
4282 | ] | |
4283 | }, | |
4284 | "protected" : 1, | |
44660702 DM |
4285 | "returns" : { |
4286 | "type" : "null" | |
4287 | } | |
56122987 | 4288 | }, |
44660702 DM |
4289 | "GET" : { |
4290 | "description" : "Read IP or Network settings from IPSet.", | |
4291 | "method" : "GET", | |
4292 | "name" : "read_ip", | |
7aacca6f | 4293 | "parameters" : { |
44660702 | 4294 | "additionalProperties" : 0, |
7aacca6f | 4295 | "properties" : { |
7aacca6f | 4296 | "cidr" : { |
44660702 | 4297 | "description" : "Network/IP specification in CIDR format.", |
7aacca6f | 4298 | "format" : "IPorCIDRorAlias", |
013dc89f DM |
4299 | "type" : "string", |
4300 | "typetext" : "<string>" | |
7aacca6f DM |
4301 | }, |
4302 | "name" : { | |
7aacca6f | 4303 | "description" : "IP set name.", |
44660702 | 4304 | "maxLength" : 64, |
7aacca6f | 4305 | "minLength" : 2, |
44660702 DM |
4306 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
4307 | "type" : "string" | |
7aacca6f | 4308 | }, |
44660702 DM |
4309 | "node" : { |
4310 | "description" : "The cluster node name.", | |
4311 | "format" : "pve-node", | |
013dc89f DM |
4312 | "type" : "string", |
4313 | "typetext" : "<string>" | |
7aacca6f | 4314 | }, |
44660702 DM |
4315 | "vmid" : { |
4316 | "description" : "The (unique) ID of the VM.", | |
4317 | "format" : "pve-vmid", | |
4318 | "minimum" : 1, | |
4bd7df8b | 4319 | "type" : "integer", |
013dc89f | 4320 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 4321 | } |
44660702 | 4322 | } |
7aacca6f | 4323 | }, |
44660702 DM |
4324 | "permissions" : { |
4325 | "check" : [ | |
4326 | "perm", | |
4327 | "/vms/{vmid}", | |
4328 | [ | |
4329 | "VM.Audit" | |
4330 | ] | |
4331 | ] | |
4332 | }, | |
4333 | "protected" : 1, | |
7aacca6f | 4334 | "returns" : { |
44660702 | 4335 | "type" : "object" |
7aacca6f | 4336 | } |
56122987 | 4337 | }, |
44660702 DM |
4338 | "PUT" : { |
4339 | "description" : "Update IP or Network settings", | |
4340 | "method" : "PUT", | |
4341 | "name" : "update_ip", | |
7aacca6f DM |
4342 | "parameters" : { |
4343 | "additionalProperties" : 0, | |
4344 | "properties" : { | |
44660702 DM |
4345 | "cidr" : { |
4346 | "description" : "Network/IP specification in CIDR format.", | |
4347 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
4348 | "type" : "string", |
4349 | "typetext" : "<string>" | |
44660702 DM |
4350 | }, |
4351 | "comment" : { | |
4352 | "optional" : 1, | |
013dc89f DM |
4353 | "type" : "string", |
4354 | "typetext" : "<string>" | |
44660702 DM |
4355 | }, |
4356 | "digest" : { | |
4357 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4358 | "maxLength" : 40, | |
4359 | "optional" : 1, | |
013dc89f DM |
4360 | "type" : "string", |
4361 | "typetext" : "<string>" | |
44660702 | 4362 | }, |
7aacca6f | 4363 | "name" : { |
7aacca6f | 4364 | "description" : "IP set name.", |
44660702 | 4365 | "maxLength" : 64, |
7aacca6f | 4366 | "minLength" : 2, |
44660702 DM |
4367 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
4368 | "type" : "string" | |
7aacca6f DM |
4369 | }, |
4370 | "node" : { | |
7aacca6f | 4371 | "description" : "The cluster node name.", |
44660702 | 4372 | "format" : "pve-node", |
013dc89f DM |
4373 | "type" : "string", |
4374 | "typetext" : "<string>" | |
7aacca6f | 4375 | }, |
44660702 DM |
4376 | "nomatch" : { |
4377 | "optional" : 1, | |
013dc89f DM |
4378 | "type" : "boolean", |
4379 | "typetext" : "<boolean>" | |
7aacca6f DM |
4380 | }, |
4381 | "vmid" : { | |
4382 | "description" : "The (unique) ID of the VM.", | |
44660702 | 4383 | "format" : "pve-vmid", |
7aacca6f | 4384 | "minimum" : 1, |
4bd7df8b | 4385 | "type" : "integer", |
013dc89f | 4386 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
4387 | } |
4388 | } | |
4389 | }, | |
4390 | "permissions" : { | |
4391 | "check" : [ | |
4392 | "perm", | |
4393 | "/vms/{vmid}", | |
4394 | [ | |
44660702 | 4395 | "VM.Config.Network" |
7aacca6f DM |
4396 | ] |
4397 | ] | |
4398 | }, | |
7aacca6f | 4399 | "protected" : 1, |
7aacca6f | 4400 | "returns" : { |
44660702 | 4401 | "type" : "null" |
7aacca6f | 4402 | } |
56122987 | 4403 | } |
7aacca6f | 4404 | }, |
7aacca6f | 4405 | "leaf" : 1, |
44660702 DM |
4406 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}", |
4407 | "text" : "{cidr}" | |
7aacca6f | 4408 | } |
44660702 DM |
4409 | ], |
4410 | "info" : { | |
4411 | "DELETE" : { | |
4412 | "description" : "Delete IPSet", | |
4413 | "method" : "DELETE", | |
4414 | "name" : "delete_ipset", | |
4415 | "parameters" : { | |
4416 | "additionalProperties" : 0, | |
4417 | "properties" : { | |
4418 | "name" : { | |
4419 | "description" : "IP set name.", | |
4420 | "maxLength" : 64, | |
4421 | "minLength" : 2, | |
4422 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4423 | "type" : "string" | |
4424 | }, | |
4425 | "node" : { | |
4426 | "description" : "The cluster node name.", | |
4427 | "format" : "pve-node", | |
013dc89f DM |
4428 | "type" : "string", |
4429 | "typetext" : "<string>" | |
44660702 DM |
4430 | }, |
4431 | "vmid" : { | |
4432 | "description" : "The (unique) ID of the VM.", | |
4433 | "format" : "pve-vmid", | |
4434 | "minimum" : 1, | |
4bd7df8b | 4435 | "type" : "integer", |
013dc89f | 4436 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4437 | } |
4438 | } | |
7aacca6f | 4439 | }, |
44660702 DM |
4440 | "permissions" : { |
4441 | "check" : [ | |
4442 | "perm", | |
4443 | "/vms/{vmid}", | |
4444 | [ | |
4445 | "VM.Config.Network" | |
4446 | ] | |
4447 | ] | |
7aacca6f | 4448 | }, |
44660702 DM |
4449 | "protected" : 1, |
4450 | "returns" : { | |
4451 | "type" : "null" | |
4452 | } | |
4453 | }, | |
4454 | "GET" : { | |
4455 | "description" : "List IPSet content", | |
4456 | "method" : "GET", | |
4457 | "name" : "get_ipset", | |
4458 | "parameters" : { | |
4459 | "additionalProperties" : 0, | |
4460 | "properties" : { | |
4461 | "name" : { | |
4462 | "description" : "IP set name.", | |
4463 | "maxLength" : 64, | |
4464 | "minLength" : 2, | |
4465 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4466 | "type" : "string" | |
4467 | }, | |
4468 | "node" : { | |
4469 | "description" : "The cluster node name.", | |
4470 | "format" : "pve-node", | |
013dc89f DM |
4471 | "type" : "string", |
4472 | "typetext" : "<string>" | |
44660702 DM |
4473 | }, |
4474 | "vmid" : { | |
4475 | "description" : "The (unique) ID of the VM.", | |
4476 | "format" : "pve-vmid", | |
4477 | "minimum" : 1, | |
4bd7df8b | 4478 | "type" : "integer", |
013dc89f | 4479 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4480 | } |
4481 | } | |
7aacca6f | 4482 | }, |
44660702 DM |
4483 | "permissions" : { |
4484 | "check" : [ | |
4485 | "perm", | |
4486 | "/vms/{vmid}", | |
4487 | [ | |
4488 | "VM.Audit" | |
4489 | ] | |
4490 | ] | |
7aacca6f | 4491 | }, |
44660702 DM |
4492 | "returns" : { |
4493 | "items" : { | |
4494 | "properties" : { | |
4495 | "cidr" : { | |
4496 | "type" : "string" | |
4497 | }, | |
4498 | "comment" : { | |
4499 | "optional" : 1, | |
4500 | "type" : "string" | |
4501 | }, | |
4502 | "digest" : { | |
4503 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4504 | "maxLength" : 40, | |
4505 | "optional" : 0, | |
4506 | "type" : "string" | |
4507 | }, | |
4508 | "nomatch" : { | |
4509 | "optional" : 1, | |
4510 | "type" : "boolean" | |
4511 | } | |
4512 | }, | |
4513 | "type" : "object" | |
4514 | }, | |
4515 | "links" : [ | |
4516 | { | |
4517 | "href" : "{cidr}", | |
4518 | "rel" : "child" | |
4519 | } | |
4520 | ], | |
4521 | "type" : "array" | |
56122987 DM |
4522 | } |
4523 | }, | |
44660702 DM |
4524 | "POST" : { |
4525 | "description" : "Add IP or Network to IPSet.", | |
4526 | "method" : "POST", | |
4527 | "name" : "create_ip", | |
4528 | "parameters" : { | |
4529 | "additionalProperties" : 0, | |
4530 | "properties" : { | |
4531 | "cidr" : { | |
4532 | "description" : "Network/IP specification in CIDR format.", | |
4533 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
4534 | "type" : "string", |
4535 | "typetext" : "<string>" | |
44660702 DM |
4536 | }, |
4537 | "comment" : { | |
4538 | "optional" : 1, | |
013dc89f DM |
4539 | "type" : "string", |
4540 | "typetext" : "<string>" | |
44660702 DM |
4541 | }, |
4542 | "name" : { | |
4543 | "description" : "IP set name.", | |
4544 | "maxLength" : 64, | |
4545 | "minLength" : 2, | |
4546 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4547 | "type" : "string" | |
4548 | }, | |
4549 | "node" : { | |
4550 | "description" : "The cluster node name.", | |
4551 | "format" : "pve-node", | |
013dc89f DM |
4552 | "type" : "string", |
4553 | "typetext" : "<string>" | |
44660702 DM |
4554 | }, |
4555 | "nomatch" : { | |
4556 | "optional" : 1, | |
013dc89f DM |
4557 | "type" : "boolean", |
4558 | "typetext" : "<boolean>" | |
44660702 DM |
4559 | }, |
4560 | "vmid" : { | |
4561 | "description" : "The (unique) ID of the VM.", | |
4562 | "format" : "pve-vmid", | |
4563 | "minimum" : 1, | |
4bd7df8b | 4564 | "type" : "integer", |
013dc89f | 4565 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4566 | } |
4567 | } | |
4568 | }, | |
4569 | "permissions" : { | |
4570 | "check" : [ | |
4571 | "perm", | |
4572 | "/vms/{vmid}", | |
4573 | [ | |
4574 | "VM.Config.Network" | |
4575 | ] | |
4576 | ] | |
4577 | }, | |
4578 | "protected" : 1, | |
4579 | "returns" : { | |
4580 | "type" : "null" | |
4581 | } | |
4582 | } | |
4583 | }, | |
4584 | "leaf" : 0, | |
4585 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}", | |
4586 | "text" : "{name}" | |
4587 | } | |
4588 | ], | |
4589 | "info" : { | |
4590 | "GET" : { | |
4591 | "description" : "List IPSets", | |
4592 | "method" : "GET", | |
4593 | "name" : "ipset_index", | |
4594 | "parameters" : { | |
4595 | "additionalProperties" : 0, | |
4596 | "properties" : { | |
4597 | "node" : { | |
4598 | "description" : "The cluster node name.", | |
4599 | "format" : "pve-node", | |
013dc89f DM |
4600 | "type" : "string", |
4601 | "typetext" : "<string>" | |
44660702 DM |
4602 | }, |
4603 | "vmid" : { | |
4604 | "description" : "The (unique) ID of the VM.", | |
4605 | "format" : "pve-vmid", | |
4606 | "minimum" : 1, | |
4bd7df8b | 4607 | "type" : "integer", |
013dc89f | 4608 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4609 | } |
4610 | } | |
56122987 DM |
4611 | }, |
4612 | "permissions" : { | |
4613 | "check" : [ | |
4614 | "perm", | |
4615 | "/vms/{vmid}", | |
4616 | [ | |
44660702 | 4617 | "VM.Audit" |
56122987 DM |
4618 | ] |
4619 | ] | |
4620 | }, | |
7aacca6f | 4621 | "returns" : { |
7aacca6f DM |
4622 | "items" : { |
4623 | "properties" : { | |
7aacca6f DM |
4624 | "comment" : { |
4625 | "optional" : 1, | |
4626 | "type" : "string" | |
4627 | }, | |
4628 | "digest" : { | |
7aacca6f | 4629 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 DM |
4630 | "maxLength" : 40, |
4631 | "optional" : 0, | |
4632 | "type" : "string" | |
4633 | }, | |
4634 | "name" : { | |
4635 | "description" : "IP set name.", | |
4636 | "maxLength" : 64, | |
4637 | "minLength" : 2, | |
4638 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4639 | "type" : "string" | |
7aacca6f DM |
4640 | } |
4641 | }, | |
4642 | "type" : "object" | |
4643 | }, | |
4644 | "links" : [ | |
4645 | { | |
44660702 DM |
4646 | "href" : "{name}", |
4647 | "rel" : "child" | |
7aacca6f | 4648 | } |
44660702 DM |
4649 | ], |
4650 | "type" : "array" | |
4651 | } | |
4652 | }, | |
4653 | "POST" : { | |
4654 | "description" : "Create new IPSet", | |
4655 | "method" : "POST", | |
4656 | "name" : "create_ipset", | |
56122987 DM |
4657 | "parameters" : { |
4658 | "additionalProperties" : 0, | |
4659 | "properties" : { | |
44660702 DM |
4660 | "comment" : { |
4661 | "optional" : 1, | |
013dc89f DM |
4662 | "type" : "string", |
4663 | "typetext" : "<string>" | |
56122987 | 4664 | }, |
44660702 DM |
4665 | "digest" : { |
4666 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
4667 | "maxLength" : 40, | |
4668 | "optional" : 1, | |
013dc89f DM |
4669 | "type" : "string", |
4670 | "typetext" : "<string>" | |
44660702 DM |
4671 | }, |
4672 | "name" : { | |
4673 | "description" : "IP set name.", | |
4674 | "maxLength" : 64, | |
4675 | "minLength" : 2, | |
4676 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4677 | "type" : "string" | |
4678 | }, | |
4679 | "node" : { | |
4680 | "description" : "The cluster node name.", | |
4681 | "format" : "pve-node", | |
013dc89f DM |
4682 | "type" : "string", |
4683 | "typetext" : "<string>" | |
44660702 DM |
4684 | }, |
4685 | "rename" : { | |
4686 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
4687 | "maxLength" : 64, | |
4688 | "minLength" : 2, | |
4689 | "optional" : 1, | |
4690 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
4691 | "type" : "string" | |
4692 | }, | |
4693 | "vmid" : { | |
4694 | "description" : "The (unique) ID of the VM.", | |
4695 | "format" : "pve-vmid", | |
4696 | "minimum" : 1, | |
4bd7df8b | 4697 | "type" : "integer", |
013dc89f | 4698 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4699 | } |
4700 | } | |
4701 | }, | |
7aacca6f DM |
4702 | "permissions" : { |
4703 | "check" : [ | |
4704 | "perm", | |
4705 | "/vms/{vmid}", | |
4706 | [ | |
4707 | "VM.Config.Network" | |
4708 | ] | |
4709 | ] | |
4710 | }, | |
44660702 | 4711 | "protected" : 1, |
56122987 | 4712 | "returns" : { |
7aacca6f | 4713 | "type" : "null" |
44660702 DM |
4714 | } |
4715 | } | |
4716 | }, | |
4717 | "leaf" : 0, | |
4718 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset", | |
4719 | "text" : "ipset" | |
4720 | }, | |
4721 | { | |
4722 | "info" : { | |
4723 | "GET" : { | |
4724 | "description" : "Get VM firewall options.", | |
4725 | "method" : "GET", | |
4726 | "name" : "get_options", | |
7aacca6f DM |
4727 | "parameters" : { |
4728 | "additionalProperties" : 0, | |
56122987 | 4729 | "properties" : { |
7aacca6f DM |
4730 | "node" : { |
4731 | "description" : "The cluster node name.", | |
44660702 | 4732 | "format" : "pve-node", |
013dc89f DM |
4733 | "type" : "string", |
4734 | "typetext" : "<string>" | |
7aacca6f | 4735 | }, |
44660702 DM |
4736 | "vmid" : { |
4737 | "description" : "The (unique) ID of the VM.", | |
4738 | "format" : "pve-vmid", | |
4739 | "minimum" : 1, | |
4bd7df8b | 4740 | "type" : "integer", |
013dc89f | 4741 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
4742 | } |
4743 | } | |
4744 | }, | |
4745 | "permissions" : { | |
4746 | "check" : [ | |
4747 | "perm", | |
4748 | "/vms/{vmid}", | |
4749 | [ | |
4750 | "VM.Audit" | |
4751 | ] | |
4752 | ] | |
4753 | }, | |
4754 | "proxyto" : "node", | |
4755 | "returns" : { | |
4756 | "properties" : { | |
4757 | "dhcp" : { | |
4758 | "description" : "Enable DHCP.", | |
56122987 | 4759 | "optional" : 1, |
44660702 | 4760 | "type" : "boolean" |
56122987 | 4761 | }, |
44660702 DM |
4762 | "enable" : { |
4763 | "description" : "Enable/disable firewall rules.", | |
7aacca6f | 4764 | "optional" : 1, |
44660702 | 4765 | "type" : "boolean" |
56122987 | 4766 | }, |
44660702 DM |
4767 | "ipfilter" : { |
4768 | "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.", | |
7aacca6f | 4769 | "optional" : 1, |
44660702 | 4770 | "type" : "boolean" |
7aacca6f | 4771 | }, |
56122987 | 4772 | "log_level_in" : { |
7aacca6f | 4773 | "description" : "Log level for incoming traffic.", |
56122987 DM |
4774 | "enum" : [ |
4775 | "emerg", | |
4776 | "alert", | |
4777 | "crit", | |
4778 | "err", | |
4779 | "warning", | |
4780 | "notice", | |
4781 | "info", | |
4782 | "debug", | |
4783 | "nolog" | |
4784 | ], | |
56122987 DM |
4785 | "optional" : 1, |
4786 | "type" : "string" | |
4787 | }, | |
44660702 DM |
4788 | "log_level_out" : { |
4789 | "description" : "Log level for outgoing traffic.", | |
4790 | "enum" : [ | |
4791 | "emerg", | |
4792 | "alert", | |
4793 | "crit", | |
4794 | "err", | |
4795 | "warning", | |
4796 | "notice", | |
4797 | "info", | |
4798 | "debug", | |
4799 | "nolog" | |
4800 | ], | |
4801 | "optional" : 1, | |
4802 | "type" : "string" | |
4803 | }, | |
4804 | "macfilter" : { | |
4805 | "description" : "Enable/disable MAC address filter.", | |
56122987 | 4806 | "optional" : 1, |
7aacca6f | 4807 | "type" : "boolean" |
56122987 DM |
4808 | }, |
4809 | "ndp" : { | |
44660702 | 4810 | "description" : "Enable NDP.", |
56122987 | 4811 | "optional" : 1, |
44660702 | 4812 | "type" : "boolean" |
56122987 DM |
4813 | }, |
4814 | "policy_in" : { | |
56122987 DM |
4815 | "description" : "Input policy.", |
4816 | "enum" : [ | |
4817 | "ACCEPT", | |
4818 | "REJECT", | |
4819 | "DROP" | |
44660702 DM |
4820 | ], |
4821 | "optional" : 1, | |
4822 | "type" : "string" | |
56122987 | 4823 | }, |
44660702 DM |
4824 | "policy_out" : { |
4825 | "description" : "Output policy.", | |
4826 | "enum" : [ | |
4827 | "ACCEPT", | |
4828 | "REJECT", | |
4829 | "DROP" | |
4830 | ], | |
4831 | "optional" : 1, | |
4832 | "type" : "string" | |
4833 | }, | |
4834 | "radv" : { | |
4835 | "description" : "Allow sending Router Advertisement.", | |
4836 | "optional" : 1, | |
4837 | "type" : "boolean" | |
4838 | } | |
4839 | }, | |
4840 | "type" : "object" | |
4841 | } | |
4842 | }, | |
4843 | "PUT" : { | |
4844 | "description" : "Set Firewall options.", | |
4845 | "method" : "PUT", | |
4846 | "name" : "set_options", | |
4847 | "parameters" : { | |
4848 | "additionalProperties" : 0, | |
4849 | "properties" : { | |
4850 | "delete" : { | |
4851 | "description" : "A list of settings you want to delete.", | |
4852 | "format" : "pve-configid-list", | |
4853 | "optional" : 1, | |
013dc89f DM |
4854 | "type" : "string", |
4855 | "typetext" : "<string>" | |
44660702 DM |
4856 | }, |
4857 | "dhcp" : { | |
4858 | "description" : "Enable DHCP.", | |
7aacca6f | 4859 | "optional" : 1, |
013dc89f DM |
4860 | "type" : "boolean", |
4861 | "typetext" : "<boolean>" | |
7aacca6f DM |
4862 | }, |
4863 | "digest" : { | |
4864 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 4865 | "maxLength" : 40, |
7aacca6f | 4866 | "optional" : 1, |
013dc89f DM |
4867 | "type" : "string", |
4868 | "typetext" : "<string>" | |
7aacca6f DM |
4869 | }, |
4870 | "enable" : { | |
4871 | "description" : "Enable/disable firewall rules.", | |
56122987 | 4872 | "optional" : 1, |
013dc89f DM |
4873 | "type" : "boolean", |
4874 | "typetext" : "<boolean>" | |
7aacca6f | 4875 | }, |
44660702 DM |
4876 | "ipfilter" : { |
4877 | "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.", | |
4878 | "optional" : 1, | |
013dc89f DM |
4879 | "type" : "boolean", |
4880 | "typetext" : "<boolean>" | |
44660702 DM |
4881 | }, |
4882 | "log_level_in" : { | |
4883 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
4884 | "enum" : [ |
4885 | "emerg", | |
4886 | "alert", | |
4887 | "crit", | |
4888 | "err", | |
4889 | "warning", | |
4890 | "notice", | |
4891 | "info", | |
4892 | "debug", | |
4893 | "nolog" | |
7aacca6f | 4894 | ], |
7aacca6f | 4895 | "optional" : 1, |
44660702 | 4896 | "type" : "string" |
7aacca6f | 4897 | }, |
44660702 DM |
4898 | "log_level_out" : { |
4899 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
4900 | "enum" : [ |
4901 | "emerg", | |
4902 | "alert", | |
4903 | "crit", | |
4904 | "err", | |
4905 | "warning", | |
4906 | "notice", | |
4907 | "info", | |
4908 | "debug", | |
4909 | "nolog" | |
4910 | ], | |
56122987 | 4911 | "optional" : 1, |
44660702 | 4912 | "type" : "string" |
56122987 DM |
4913 | }, |
4914 | "macfilter" : { | |
56122987 | 4915 | "description" : "Enable/disable MAC address filter.", |
7aacca6f | 4916 | "optional" : 1, |
013dc89f DM |
4917 | "type" : "boolean", |
4918 | "typetext" : "<boolean>" | |
56122987 | 4919 | }, |
44660702 DM |
4920 | "ndp" : { |
4921 | "description" : "Enable NDP.", | |
4922 | "optional" : 1, | |
013dc89f DM |
4923 | "type" : "boolean", |
4924 | "typetext" : "<boolean>" | |
44660702 DM |
4925 | }, |
4926 | "node" : { | |
4927 | "description" : "The cluster node name.", | |
4928 | "format" : "pve-node", | |
013dc89f DM |
4929 | "type" : "string", |
4930 | "typetext" : "<string>" | |
44660702 | 4931 | }, |
56122987 | 4932 | "policy_in" : { |
44660702 | 4933 | "description" : "Input policy.", |
56122987 DM |
4934 | "enum" : [ |
4935 | "ACCEPT", | |
4936 | "REJECT", | |
4937 | "DROP" | |
7aacca6f | 4938 | ], |
56122987 | 4939 | "optional" : 1, |
7aacca6f | 4940 | "type" : "string" |
56122987 | 4941 | }, |
44660702 DM |
4942 | "policy_out" : { |
4943 | "description" : "Output policy.", | |
4944 | "enum" : [ | |
4945 | "ACCEPT", | |
4946 | "REJECT", | |
4947 | "DROP" | |
4948 | ], | |
56122987 | 4949 | "optional" : 1, |
44660702 | 4950 | "type" : "string" |
56122987 | 4951 | }, |
44660702 DM |
4952 | "radv" : { |
4953 | "description" : "Allow sending Router Advertisement.", | |
56122987 | 4954 | "optional" : 1, |
013dc89f DM |
4955 | "type" : "boolean", |
4956 | "typetext" : "<boolean>" | |
7aacca6f DM |
4957 | }, |
4958 | "vmid" : { | |
4959 | "description" : "The (unique) ID of the VM.", | |
44660702 | 4960 | "format" : "pve-vmid", |
7aacca6f | 4961 | "minimum" : 1, |
4bd7df8b | 4962 | "type" : "integer", |
013dc89f | 4963 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
4964 | } |
4965 | } | |
4966 | }, | |
56122987 DM |
4967 | "permissions" : { |
4968 | "check" : [ | |
4969 | "perm", | |
4970 | "/vms/{vmid}", | |
4971 | [ | |
44660702 | 4972 | "VM.Config.Network" |
56122987 DM |
4973 | ] |
4974 | ] | |
7aacca6f | 4975 | }, |
44660702 | 4976 | "protected" : 1, |
7aacca6f | 4977 | "proxyto" : "node", |
44660702 DM |
4978 | "returns" : { |
4979 | "type" : "null" | |
4980 | } | |
56122987 DM |
4981 | } |
4982 | }, | |
44660702 | 4983 | "leaf" : 1, |
7aacca6f | 4984 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/options", |
44660702 | 4985 | "text" : "options" |
56122987 DM |
4986 | }, |
4987 | { | |
56122987 DM |
4988 | "info" : { |
4989 | "GET" : { | |
44660702 DM |
4990 | "description" : "Read firewall log", |
4991 | "method" : "GET", | |
4992 | "name" : "log", | |
4993 | "parameters" : { | |
4994 | "additionalProperties" : 0, | |
4995 | "properties" : { | |
4996 | "limit" : { | |
4997 | "minimum" : 0, | |
4998 | "optional" : 1, | |
4bd7df8b | 4999 | "type" : "integer", |
013dc89f | 5000 | "typetext" : "<integer> (0 - N)" |
56122987 | 5001 | }, |
44660702 DM |
5002 | "node" : { |
5003 | "description" : "The cluster node name.", | |
5004 | "format" : "pve-node", | |
013dc89f DM |
5005 | "type" : "string", |
5006 | "typetext" : "<string>" | |
44660702 DM |
5007 | }, |
5008 | "start" : { | |
5009 | "minimum" : 0, | |
5010 | "optional" : 1, | |
4bd7df8b | 5011 | "type" : "integer", |
013dc89f | 5012 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
5013 | }, |
5014 | "vmid" : { | |
5015 | "description" : "The (unique) ID of the VM.", | |
5016 | "format" : "pve-vmid", | |
5017 | "minimum" : 1, | |
4bd7df8b | 5018 | "type" : "integer", |
013dc89f | 5019 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
5020 | } |
5021 | } | |
7aacca6f | 5022 | }, |
7aacca6f DM |
5023 | "permissions" : { |
5024 | "check" : [ | |
5025 | "perm", | |
5026 | "/vms/{vmid}", | |
5027 | [ | |
5028 | "VM.Console" | |
5029 | ] | |
5030 | ] | |
56122987 | 5031 | }, |
7aacca6f | 5032 | "protected" : 1, |
44660702 DM |
5033 | "proxyto" : "node", |
5034 | "returns" : { | |
5035 | "items" : { | |
5036 | "properties" : { | |
5037 | "n" : { | |
5038 | "description" : "Line number", | |
5039 | "type" : "integer" | |
5040 | }, | |
5041 | "t" : { | |
5042 | "description" : "Line text", | |
5043 | "type" : "string" | |
5044 | } | |
56122987 | 5045 | }, |
44660702 | 5046 | "type" : "object" |
7aacca6f | 5047 | }, |
44660702 | 5048 | "type" : "array" |
7aacca6f DM |
5049 | } |
5050 | } | |
5051 | }, | |
44660702 | 5052 | "leaf" : 1, |
7aacca6f | 5053 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/log", |
44660702 | 5054 | "text" : "log" |
7aacca6f DM |
5055 | }, |
5056 | { | |
7aacca6f DM |
5057 | "info" : { |
5058 | "GET" : { | |
5059 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", | |
44660702 DM |
5060 | "method" : "GET", |
5061 | "name" : "refs", | |
56122987 | 5062 | "parameters" : { |
44660702 | 5063 | "additionalProperties" : 0, |
56122987 DM |
5064 | "properties" : { |
5065 | "node" : { | |
7aacca6f | 5066 | "description" : "The cluster node name.", |
44660702 | 5067 | "format" : "pve-node", |
013dc89f DM |
5068 | "type" : "string", |
5069 | "typetext" : "<string>" | |
56122987 DM |
5070 | }, |
5071 | "type" : { | |
56122987 DM |
5072 | "description" : "Only list references of specified type.", |
5073 | "enum" : [ | |
5074 | "alias", | |
5075 | "ipset" | |
7aacca6f | 5076 | ], |
44660702 DM |
5077 | "optional" : 1, |
5078 | "type" : "string" | |
5079 | }, | |
5080 | "vmid" : { | |
5081 | "description" : "The (unique) ID of the VM.", | |
5082 | "format" : "pve-vmid", | |
5083 | "minimum" : 1, | |
4bd7df8b | 5084 | "type" : "integer", |
013dc89f | 5085 | "typetext" : "<integer> (1 - N)" |
56122987 | 5086 | } |
44660702 DM |
5087 | } |
5088 | }, | |
5089 | "permissions" : { | |
5090 | "check" : [ | |
5091 | "perm", | |
5092 | "/vms/{vmid}", | |
5093 | [ | |
5094 | "VM.Audit" | |
5095 | ] | |
5096 | ] | |
56122987 DM |
5097 | }, |
5098 | "returns" : { | |
56122987 DM |
5099 | "items" : { |
5100 | "properties" : { | |
44660702 DM |
5101 | "comment" : { |
5102 | "optional" : 1, | |
56122987 DM |
5103 | "type" : "string" |
5104 | }, | |
5105 | "name" : { | |
5106 | "type" : "string" | |
5107 | }, | |
44660702 DM |
5108 | "type" : { |
5109 | "enum" : [ | |
5110 | "alias", | |
5111 | "ipset" | |
5112 | ], | |
7aacca6f | 5113 | "type" : "string" |
56122987 DM |
5114 | } |
5115 | }, | |
5116 | "type" : "object" | |
7aacca6f DM |
5117 | }, |
5118 | "type" : "array" | |
5119 | } | |
56122987 | 5120 | } |
44660702 DM |
5121 | }, |
5122 | "leaf" : 1, | |
5123 | "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs", | |
5124 | "text" : "refs" | |
56122987 DM |
5125 | } |
5126 | ], | |
56122987 DM |
5127 | "info" : { |
5128 | "GET" : { | |
44660702 | 5129 | "description" : "Directory index.", |
56122987 | 5130 | "method" : "GET", |
44660702 | 5131 | "name" : "index", |
56122987 | 5132 | "parameters" : { |
44660702 | 5133 | "additionalProperties" : 0, |
56122987 DM |
5134 | "properties" : { |
5135 | "node" : { | |
5136 | "description" : "The cluster node name.", | |
44660702 | 5137 | "format" : "pve-node", |
013dc89f DM |
5138 | "type" : "string", |
5139 | "typetext" : "<string>" | |
56122987 DM |
5140 | }, |
5141 | "vmid" : { | |
44660702 | 5142 | "description" : "The (unique) ID of the VM.", |
56122987 DM |
5143 | "format" : "pve-vmid", |
5144 | "minimum" : 1, | |
4bd7df8b | 5145 | "type" : "integer", |
013dc89f | 5146 | "typetext" : "<integer> (1 - N)" |
56122987 | 5147 | } |
44660702 | 5148 | } |
56122987 | 5149 | }, |
56122987 DM |
5150 | "permissions" : { |
5151 | "user" : "all" | |
7aacca6f | 5152 | }, |
44660702 DM |
5153 | "returns" : { |
5154 | "items" : { | |
5155 | "properties" : {}, | |
5156 | "type" : "object" | |
5157 | }, | |
5158 | "links" : [ | |
5159 | { | |
5160 | "href" : "{name}", | |
5161 | "rel" : "child" | |
5162 | } | |
5163 | ], | |
5164 | "type" : "array" | |
5165 | } | |
56122987 | 5166 | } |
44660702 DM |
5167 | }, |
5168 | "leaf" : 0, | |
5169 | "path" : "/nodes/{node}/qemu/{vmid}/firewall", | |
5170 | "text" : "firewall" | |
56122987 DM |
5171 | }, |
5172 | { | |
56122987 DM |
5173 | "info" : { |
5174 | "GET" : { | |
44660702 DM |
5175 | "description" : "Read VM RRD statistics (returns PNG)", |
5176 | "method" : "GET", | |
7aacca6f | 5177 | "name" : "rrd", |
56122987 DM |
5178 | "parameters" : { |
5179 | "additionalProperties" : 0, | |
5180 | "properties" : { | |
7aacca6f | 5181 | "cf" : { |
44660702 | 5182 | "description" : "The RRD consolidation function", |
7aacca6f DM |
5183 | "enum" : [ |
5184 | "AVERAGE", | |
5185 | "MAX" | |
5186 | ], | |
7aacca6f DM |
5187 | "optional" : 1, |
5188 | "type" : "string" | |
5189 | }, | |
44660702 DM |
5190 | "ds" : { |
5191 | "description" : "The list of datasources you want to display.", | |
5192 | "format" : "pve-configid-list", | |
013dc89f DM |
5193 | "type" : "string", |
5194 | "typetext" : "<string>" | |
56122987 DM |
5195 | }, |
5196 | "node" : { | |
44660702 | 5197 | "description" : "The cluster node name.", |
56122987 | 5198 | "format" : "pve-node", |
013dc89f DM |
5199 | "type" : "string", |
5200 | "typetext" : "<string>" | |
56122987 DM |
5201 | }, |
5202 | "timeframe" : { | |
44660702 | 5203 | "description" : "Specify the time frame you are interested in.", |
56122987 DM |
5204 | "enum" : [ |
5205 | "hour", | |
5206 | "day", | |
5207 | "week", | |
5208 | "month", | |
5209 | "year" | |
5210 | ], | |
56122987 DM |
5211 | "type" : "string" |
5212 | }, | |
44660702 DM |
5213 | "vmid" : { |
5214 | "description" : "The (unique) ID of the VM.", | |
5215 | "format" : "pve-vmid", | |
5216 | "minimum" : 1, | |
4bd7df8b | 5217 | "type" : "integer", |
013dc89f | 5218 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
5219 | } |
5220 | } | |
5221 | }, | |
56122987 DM |
5222 | "permissions" : { |
5223 | "check" : [ | |
5224 | "perm", | |
5225 | "/vms/{vmid}", | |
5226 | [ | |
5227 | "VM.Audit" | |
5228 | ] | |
5229 | ] | |
5230 | }, | |
7aacca6f DM |
5231 | "protected" : 1, |
5232 | "returns" : { | |
5233 | "properties" : { | |
5234 | "filename" : { | |
5235 | "type" : "string" | |
5236 | } | |
5237 | }, | |
5238 | "type" : "object" | |
44660702 | 5239 | } |
56122987 | 5240 | } |
44660702 DM |
5241 | }, |
5242 | "leaf" : 1, | |
5243 | "path" : "/nodes/{node}/qemu/{vmid}/rrd", | |
5244 | "text" : "rrd" | |
56122987 DM |
5245 | }, |
5246 | { | |
7aacca6f | 5247 | "info" : { |
56122987 | 5248 | "GET" : { |
7aacca6f | 5249 | "description" : "Read VM RRD statistics", |
44660702 | 5250 | "method" : "GET", |
56122987 | 5251 | "name" : "rrddata", |
56122987 | 5252 | "parameters" : { |
44660702 | 5253 | "additionalProperties" : 0, |
56122987 | 5254 | "properties" : { |
44660702 DM |
5255 | "cf" : { |
5256 | "description" : "The RRD consolidation function", | |
5257 | "enum" : [ | |
5258 | "AVERAGE", | |
5259 | "MAX" | |
5260 | ], | |
5261 | "optional" : 1, | |
5262 | "type" : "string" | |
5263 | }, | |
56122987 | 5264 | "node" : { |
44660702 | 5265 | "description" : "The cluster node name.", |
56122987 | 5266 | "format" : "pve-node", |
013dc89f DM |
5267 | "type" : "string", |
5268 | "typetext" : "<string>" | |
56122987 DM |
5269 | }, |
5270 | "timeframe" : { | |
44660702 | 5271 | "description" : "Specify the time frame you are interested in.", |
56122987 DM |
5272 | "enum" : [ |
5273 | "hour", | |
5274 | "day", | |
5275 | "week", | |
5276 | "month", | |
5277 | "year" | |
7aacca6f | 5278 | ], |
44660702 | 5279 | "type" : "string" |
7aacca6f DM |
5280 | }, |
5281 | "vmid" : { | |
7aacca6f DM |
5282 | "description" : "The (unique) ID of the VM.", |
5283 | "format" : "pve-vmid", | |
44660702 | 5284 | "minimum" : 1, |
4bd7df8b | 5285 | "type" : "integer", |
013dc89f | 5286 | "typetext" : "<integer> (1 - N)" |
56122987 | 5287 | } |
44660702 | 5288 | } |
56122987 | 5289 | }, |
56122987 DM |
5290 | "permissions" : { |
5291 | "check" : [ | |
5292 | "perm", | |
5293 | "/vms/{vmid}", | |
5294 | [ | |
5295 | "VM.Audit" | |
5296 | ] | |
5297 | ] | |
5298 | }, | |
44660702 | 5299 | "protected" : 1, |
7aacca6f | 5300 | "returns" : { |
7aacca6f | 5301 | "items" : { |
44660702 DM |
5302 | "properties" : {}, |
5303 | "type" : "object" | |
5304 | }, | |
5305 | "type" : "array" | |
7aacca6f | 5306 | } |
56122987 DM |
5307 | } |
5308 | }, | |
44660702 DM |
5309 | "leaf" : 1, |
5310 | "path" : "/nodes/{node}/qemu/{vmid}/rrddata", | |
56122987 DM |
5311 | "text" : "rrddata" |
5312 | }, | |
5313 | { | |
56122987 | 5314 | "info" : { |
44660702 DM |
5315 | "GET" : { |
5316 | "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).", | |
5317 | "method" : "GET", | |
5318 | "name" : "vm_config", | |
5319 | "parameters" : { | |
5320 | "additionalProperties" : 0, | |
5321 | "properties" : { | |
5322 | "current" : { | |
5323 | "default" : 0, | |
5324 | "description" : "Get current values (instead of pending values).", | |
5325 | "optional" : 1, | |
013dc89f DM |
5326 | "type" : "boolean", |
5327 | "typetext" : "<boolean>" | |
44660702 DM |
5328 | }, |
5329 | "node" : { | |
5330 | "description" : "The cluster node name.", | |
5331 | "format" : "pve-node", | |
013dc89f DM |
5332 | "type" : "string", |
5333 | "typetext" : "<string>" | |
44660702 DM |
5334 | }, |
5335 | "vmid" : { | |
5336 | "description" : "The (unique) ID of the VM.", | |
5337 | "format" : "pve-vmid", | |
5338 | "minimum" : 1, | |
4bd7df8b | 5339 | "type" : "integer", |
013dc89f | 5340 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
5341 | } |
5342 | } | |
7aacca6f | 5343 | }, |
56122987 DM |
5344 | "permissions" : { |
5345 | "check" : [ | |
5346 | "perm", | |
5347 | "/vms/{vmid}", | |
5348 | [ | |
44660702 DM |
5349 | "VM.Audit" |
5350 | ] | |
56122987 DM |
5351 | ] |
5352 | }, | |
56122987 | 5353 | "proxyto" : "node", |
44660702 DM |
5354 | "returns" : { |
5355 | "properties" : { | |
5356 | "digest" : { | |
5357 | "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.", | |
5358 | "type" : "string" | |
5359 | } | |
5360 | }, | |
5361 | "type" : "object" | |
5362 | } | |
5363 | }, | |
5364 | "POST" : { | |
7aacca6f DM |
5365 | "description" : "Set virtual machine options (asynchrounous API).", |
5366 | "method" : "POST", | |
44660702 | 5367 | "name" : "update_vm_async", |
56122987 | 5368 | "parameters" : { |
44660702 | 5369 | "additionalProperties" : 0, |
56122987 | 5370 | "properties" : { |
44660702 DM |
5371 | "acpi" : { |
5372 | "default" : 1, | |
5373 | "description" : "Enable/disable ACPI.", | |
5374 | "optional" : 1, | |
013dc89f DM |
5375 | "type" : "boolean", |
5376 | "typetext" : "<boolean>" | |
44660702 DM |
5377 | }, |
5378 | "agent" : { | |
7aacca6f | 5379 | "default" : 0, |
44660702 | 5380 | "description" : "Enable/disable Qemu GuestAgent.", |
7aacca6f | 5381 | "optional" : 1, |
013dc89f DM |
5382 | "type" : "boolean", |
5383 | "typetext" : "<boolean>" | |
7aacca6f | 5384 | }, |
44660702 | 5385 | "args" : { |
c2993fe5 | 5386 | "description" : "Arbitrary arguments passed to kvm.", |
44660702 | 5387 | "optional" : 1, |
c2993fe5 | 5388 | "type" : "string", |
013dc89f | 5389 | "typetext" : "<string>", |
c2993fe5 | 5390 | "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n" |
7aacca6f | 5391 | }, |
44660702 DM |
5392 | "autostart" : { |
5393 | "default" : 0, | |
5394 | "description" : "Automatic restart after crash (currently ignored).", | |
56122987 | 5395 | "optional" : 1, |
013dc89f DM |
5396 | "type" : "boolean", |
5397 | "typetext" : "<boolean>" | |
56122987 | 5398 | }, |
44660702 DM |
5399 | "background_delay" : { |
5400 | "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.", | |
5401 | "maximum" : 30, | |
5402 | "minimum" : 1, | |
7aacca6f | 5403 | "optional" : 1, |
4bd7df8b | 5404 | "type" : "integer", |
013dc89f | 5405 | "typetext" : "<integer> (1 - 30)" |
56122987 | 5406 | }, |
44660702 DM |
5407 | "balloon" : { |
5408 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
5409 | "minimum" : 0, | |
7aacca6f | 5410 | "optional" : 1, |
4bd7df8b | 5411 | "type" : "integer", |
013dc89f | 5412 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 5413 | }, |
44660702 DM |
5414 | "bios" : { |
5415 | "default" : "seabios", | |
5416 | "description" : "Select BIOS implementation.", | |
5417 | "enum" : [ | |
5418 | "seabios", | |
5419 | "ovmf" | |
5420 | ], | |
56122987 | 5421 | "optional" : 1, |
44660702 | 5422 | "type" : "string" |
7aacca6f | 5423 | }, |
44660702 DM |
5424 | "boot" : { |
5425 | "default" : "cdn", | |
5426 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
5427 | "optional" : 1, | |
5428 | "pattern" : "[acdn]{1,4}", | |
5429 | "type" : "string" | |
5430 | }, | |
5431 | "bootdisk" : { | |
5432 | "description" : "Enable booting from specified disk.", | |
5433 | "format" : "pve-qm-bootdisk", | |
5434 | "optional" : 1, | |
5435 | "pattern" : "(ide|sata|scsi|virtio)\\d+", | |
5436 | "type" : "string" | |
5437 | }, | |
5438 | "cdrom" : { | |
5439 | "description" : "This is an alias for option -ide2", | |
de0983cb | 5440 | "format" : "pve-qm-ide", |
44660702 | 5441 | "optional" : 1, |
7aacca6f | 5442 | "type" : "string", |
013dc89f | 5443 | "typetext" : "<volume>" |
44660702 DM |
5444 | }, |
5445 | "cores" : { | |
5446 | "default" : 1, | |
5447 | "description" : "The number of cores per socket.", | |
5448 | "minimum" : 1, | |
7aacca6f | 5449 | "optional" : 1, |
4bd7df8b | 5450 | "type" : "integer", |
013dc89f | 5451 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 5452 | }, |
44660702 DM |
5453 | "cpu" : { |
5454 | "description" : "Emulated CPU type.", | |
56122987 | 5455 | "format" : { |
44660702 DM |
5456 | "cputype" : { |
5457 | "default" : "kvm64", | |
7aacca6f | 5458 | "default_key" : 1, |
44660702 | 5459 | "description" : "Emulated CPU type.", |
56122987 | 5460 | "enum" : [ |
44660702 DM |
5461 | "486", |
5462 | "athlon", | |
f004f5b9 DM |
5463 | "Broadwell", |
5464 | "Broadwell-noTSX", | |
5465 | "Conroe", | |
44660702 | 5466 | "core2duo", |
f004f5b9 DM |
5467 | "coreduo", |
5468 | "Haswell", | |
5469 | "Haswell-noTSX", | |
5470 | "host", | |
5471 | "IvyBridge", | |
44660702 DM |
5472 | "kvm32", |
5473 | "kvm64", | |
44660702 | 5474 | "Nehalem", |
44660702 DM |
5475 | "Opteron_G1", |
5476 | "Opteron_G2", | |
5477 | "Opteron_G3", | |
5478 | "Opteron_G4", | |
5479 | "Opteron_G5", | |
f004f5b9 DM |
5480 | "Penryn", |
5481 | "pentium", | |
5482 | "pentium2", | |
5483 | "pentium3", | |
5484 | "phenom", | |
5485 | "qemu32", | |
5486 | "qemu64", | |
5487 | "SandyBridge", | |
5488 | "Westmere" | |
56122987 | 5489 | ], |
56122987 DM |
5490 | "type" : "string" |
5491 | }, | |
44660702 DM |
5492 | "hidden" : { |
5493 | "default" : 0, | |
5494 | "description" : "Do not identify as a KVM virtual machine.", | |
56122987 | 5495 | "optional" : 1, |
44660702 DM |
5496 | "type" : "boolean" |
5497 | } | |
5498 | }, | |
5499 | "optional" : 1, | |
4bd7df8b | 5500 | "type" : "string", |
013dc89f | 5501 | "typetext" : "[cputype=]<enum> [,hidden=<1|0>]" |
44660702 DM |
5502 | }, |
5503 | "cpulimit" : { | |
5504 | "default" : 0, | |
c2993fe5 | 5505 | "description" : "Limit of CPU usage.", |
44660702 DM |
5506 | "maximum" : 128, |
5507 | "minimum" : 0, | |
5508 | "optional" : 1, | |
c2993fe5 | 5509 | "type" : "number", |
013dc89f | 5510 | "typetext" : "<number> (0 - 128)", |
c2993fe5 | 5511 | "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit." |
44660702 DM |
5512 | }, |
5513 | "cpuunits" : { | |
de0983cb | 5514 | "default" : 1024, |
c2993fe5 | 5515 | "description" : "CPU weight for a VM.", |
44660702 DM |
5516 | "maximum" : 500000, |
5517 | "minimum" : 0, | |
5518 | "optional" : 1, | |
c2993fe5 | 5519 | "type" : "integer", |
013dc89f | 5520 | "typetext" : "<integer> (0 - 500000)", |
c2993fe5 | 5521 | "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0." |
44660702 DM |
5522 | }, |
5523 | "delete" : { | |
5524 | "description" : "A list of settings you want to delete.", | |
5525 | "format" : "pve-configid-list", | |
5526 | "optional" : 1, | |
013dc89f DM |
5527 | "type" : "string", |
5528 | "typetext" : "<string>" | |
44660702 DM |
5529 | }, |
5530 | "description" : { | |
5531 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
5532 | "optional" : 1, | |
013dc89f DM |
5533 | "type" : "string", |
5534 | "typetext" : "<string>" | |
44660702 DM |
5535 | }, |
5536 | "digest" : { | |
5537 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
5538 | "maxLength" : 40, | |
5539 | "optional" : 1, | |
013dc89f DM |
5540 | "type" : "string", |
5541 | "typetext" : "<string>" | |
44660702 DM |
5542 | }, |
5543 | "force" : { | |
5544 | "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.", | |
5545 | "optional" : 1, | |
5546 | "requires" : "delete", | |
013dc89f DM |
5547 | "type" : "boolean", |
5548 | "typetext" : "<boolean>" | |
44660702 DM |
5549 | }, |
5550 | "freeze" : { | |
5551 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
5552 | "optional" : 1, | |
013dc89f DM |
5553 | "type" : "boolean", |
5554 | "typetext" : "<boolean>" | |
44660702 DM |
5555 | }, |
5556 | "hostpci[n]" : { | |
c2993fe5 | 5557 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
5558 | "format" : "pve-qm-hostpci", |
5559 | "optional" : 1, | |
57b78691 | 5560 | "type" : "string", |
4bd7df8b | 5561 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]", |
57b78691 | 5562 | "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
44660702 DM |
5563 | }, |
5564 | "hotplug" : { | |
5565 | "default" : "network,disk,usb", | |
5566 | "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.", | |
5567 | "format" : "pve-hotplug-features", | |
5568 | "optional" : 1, | |
013dc89f DM |
5569 | "type" : "string", |
5570 | "typetext" : "<string>" | |
44660702 | 5571 | }, |
4bd7df8b DM |
5572 | "hugepages" : { |
5573 | "description" : "Enable/disable hugepages memory.", | |
5574 | "enum" : [ | |
5575 | "any", | |
5576 | "2", | |
5577 | "1024" | |
5578 | ], | |
5579 | "optional" : 1, | |
5580 | "type" : "string" | |
5581 | }, | |
44660702 DM |
5582 | "ide[n]" : { |
5583 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", | |
5584 | "format" : { | |
5585 | "aio" : { | |
5586 | "description" : "AIO type to use.", | |
5587 | "enum" : [ | |
5588 | "native", | |
5589 | "threads" | |
56122987 | 5590 | ], |
56122987 | 5591 | "optional" : 1, |
44660702 | 5592 | "type" : "string" |
56122987 | 5593 | }, |
44660702 DM |
5594 | "backup" : { |
5595 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 5596 | "optional" : 1, |
44660702 | 5597 | "type" : "boolean" |
56122987 | 5598 | }, |
7aacca6f | 5599 | "bps" : { |
de0983cb | 5600 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
5601 | "format_description" : "bps", |
5602 | "optional" : 1, | |
5603 | "type" : "integer" | |
5604 | }, | |
de0983cb DM |
5605 | "bps_max_length" : { |
5606 | "description" : "Maximum length of I/O bursts in seconds.", | |
5607 | "format_description" : "seconds", | |
5608 | "minimum" : 1, | |
5609 | "optional" : 1, | |
5610 | "type" : "integer" | |
5611 | }, | |
44660702 | 5612 | "bps_rd" : { |
de0983cb | 5613 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 5614 | "format_description" : "bps", |
56122987 | 5615 | "optional" : 1, |
44660702 | 5616 | "type" : "integer" |
56122987 | 5617 | }, |
de0983cb DM |
5618 | "bps_rd_length" : { |
5619 | "description" : "Maximum length of read I/O bursts in seconds.", | |
5620 | "format_description" : "seconds", | |
5621 | "minimum" : 1, | |
5622 | "optional" : 1, | |
5623 | "type" : "integer" | |
5624 | }, | |
44660702 | 5625 | "bps_wr" : { |
de0983cb | 5626 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
5627 | "format_description" : "bps", |
5628 | "optional" : 1, | |
5629 | "type" : "integer" | |
5630 | }, | |
de0983cb DM |
5631 | "bps_wr_length" : { |
5632 | "description" : "Maximum length of write I/O bursts in seconds.", | |
5633 | "format_description" : "seconds", | |
5634 | "minimum" : 1, | |
5635 | "optional" : 1, | |
5636 | "type" : "integer" | |
5637 | }, | |
44660702 DM |
5638 | "cache" : { |
5639 | "description" : "The drive's cache mode", | |
5640 | "enum" : [ | |
5641 | "none", | |
5642 | "writethrough", | |
5643 | "writeback", | |
5644 | "unsafe", | |
5645 | "directsync" | |
5646 | ], | |
44660702 DM |
5647 | "optional" : 1, |
5648 | "type" : "string" | |
5649 | }, | |
5650 | "cyls" : { | |
5651 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
5652 | "optional" : 1, |
5653 | "type" : "integer" | |
5654 | }, | |
5655 | "detect_zeroes" : { | |
5656 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
5657 | "optional" : 1, | |
5658 | "type" : "boolean" | |
5659 | }, | |
5660 | "discard" : { | |
5661 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
5662 | "enum" : [ | |
5663 | "ignore", | |
5664 | "on" | |
5665 | ], | |
56122987 | 5666 | "optional" : 1, |
44660702 DM |
5667 | "type" : "string" |
5668 | }, | |
5669 | "file" : { | |
5670 | "default_key" : 1, | |
5671 | "description" : "The drive's backing volume.", | |
5672 | "format" : "pve-volume-id-or-qm-path", | |
5673 | "format_description" : "volume", | |
5674 | "type" : "string" | |
56122987 | 5675 | }, |
7aacca6f | 5676 | "format" : { |
7aacca6f | 5677 | "description" : "The drive's backing file's data format.", |
56122987 | 5678 | "enum" : [ |
7aacca6f DM |
5679 | "raw", |
5680 | "cow", | |
5681 | "qcow", | |
5682 | "qed", | |
5683 | "qcow2", | |
5684 | "vmdk", | |
5685 | "cloop" | |
56122987 DM |
5686 | ], |
5687 | "optional" : 1, | |
56122987 DM |
5688 | "type" : "string" |
5689 | }, | |
44660702 DM |
5690 | "heads" : { |
5691 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
5692 | "optional" : 1, |
5693 | "type" : "integer" | |
7aacca6f | 5694 | }, |
44660702 | 5695 | "iops" : { |
de0983cb | 5696 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 5697 | "format_description" : "iops", |
56122987 | 5698 | "optional" : 1, |
44660702 | 5699 | "type" : "integer" |
56122987 | 5700 | }, |
44660702 | 5701 | "iops_max" : { |
de0983cb | 5702 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 5703 | "format_description" : "iops", |
56122987 | 5704 | "optional" : 1, |
44660702 | 5705 | "type" : "integer" |
56122987 | 5706 | }, |
de0983cb DM |
5707 | "iops_max_length" : { |
5708 | "description" : "Maximum length of I/O bursts in seconds.", | |
5709 | "format_description" : "seconds", | |
5710 | "minimum" : 1, | |
5711 | "optional" : 1, | |
5712 | "type" : "integer" | |
5713 | }, | |
44660702 | 5714 | "iops_rd" : { |
de0983cb | 5715 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
5716 | "format_description" : "iops", |
5717 | "optional" : 1, | |
5718 | "type" : "integer" | |
5719 | }, | |
de0983cb DM |
5720 | "iops_rd_length" : { |
5721 | "description" : "Maximum length of read I/O bursts in seconds.", | |
5722 | "format_description" : "seconds", | |
5723 | "minimum" : 1, | |
5724 | "optional" : 1, | |
5725 | "type" : "integer" | |
5726 | }, | |
44660702 | 5727 | "iops_rd_max" : { |
de0983cb | 5728 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
7aacca6f | 5729 | "format_description" : "iops", |
44660702 DM |
5730 | "optional" : 1, |
5731 | "type" : "integer" | |
5732 | }, | |
5733 | "iops_wr" : { | |
de0983cb | 5734 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 5735 | "format_description" : "iops", |
56122987 | 5736 | "optional" : 1, |
7aacca6f | 5737 | "type" : "integer" |
56122987 | 5738 | }, |
de0983cb DM |
5739 | "iops_wr_length" : { |
5740 | "description" : "Maximum length of write I/O bursts in seconds.", | |
5741 | "format_description" : "seconds", | |
5742 | "minimum" : 1, | |
5743 | "optional" : 1, | |
5744 | "type" : "integer" | |
5745 | }, | |
44660702 | 5746 | "iops_wr_max" : { |
de0983cb | 5747 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 5748 | "format_description" : "iops", |
7aacca6f | 5749 | "optional" : 1, |
44660702 | 5750 | "type" : "integer" |
56122987 | 5751 | }, |
44660702 | 5752 | "mbps" : { |
de0983cb | 5753 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
5754 | "format_description" : "mbps", |
5755 | "optional" : 1, | |
5756 | "type" : "number" | |
5757 | }, | |
5758 | "mbps_max" : { | |
de0983cb | 5759 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
5760 | "format_description" : "mbps", |
5761 | "optional" : 1, | |
5762 | "type" : "number" | |
5763 | }, | |
5764 | "mbps_rd" : { | |
de0983cb | 5765 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
5766 | "format_description" : "mbps", |
5767 | "optional" : 1, | |
5768 | "type" : "number" | |
5769 | }, | |
5770 | "mbps_rd_max" : { | |
de0983cb | 5771 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
5772 | "format_description" : "mbps", |
5773 | "optional" : 1, | |
5774 | "type" : "number" | |
5775 | }, | |
5776 | "mbps_wr" : { | |
de0983cb | 5777 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
5778 | "format_description" : "mbps", |
5779 | "optional" : 1, | |
5780 | "type" : "number" | |
5781 | }, | |
5782 | "mbps_wr_max" : { | |
de0983cb | 5783 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 5784 | "format_description" : "mbps", |
56122987 | 5785 | "optional" : 1, |
44660702 | 5786 | "type" : "number" |
56122987 | 5787 | }, |
7aacca6f | 5788 | "media" : { |
7aacca6f | 5789 | "default" : "disk", |
7aacca6f DM |
5790 | "description" : "The drive's media type.", |
5791 | "enum" : [ | |
5792 | "cdrom", | |
5793 | "disk" | |
44660702 | 5794 | ], |
44660702 DM |
5795 | "optional" : 1, |
5796 | "type" : "string" | |
56122987 | 5797 | }, |
44660702 DM |
5798 | "model" : { |
5799 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", | |
5800 | "format" : "urlencoded", | |
5801 | "format_description" : "model", | |
5802 | "maxLength" : 120, | |
56122987 | 5803 | "optional" : 1, |
44660702 | 5804 | "type" : "string" |
56122987 | 5805 | }, |
44660702 DM |
5806 | "rerror" : { |
5807 | "description" : "Read error action.", | |
5808 | "enum" : [ | |
5809 | "ignore", | |
5810 | "report", | |
5811 | "stop" | |
5812 | ], | |
56122987 | 5813 | "optional" : 1, |
44660702 DM |
5814 | "type" : "string" |
5815 | }, | |
5816 | "secs" : { | |
5817 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
5818 | "optional" : 1, |
5819 | "type" : "integer" | |
5820 | }, | |
5821 | "serial" : { | |
5822 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
5823 | "format" : "urlencoded", | |
5824 | "format_description" : "serial", | |
5825 | "maxLength" : 60, | |
5826 | "optional" : 1, | |
5827 | "type" : "string" | |
5828 | }, | |
5829 | "size" : { | |
5830 | "description" : "Disk size. This is purely informational and has no effect.", | |
5831 | "format" : "disk-size", | |
f004f5b9 | 5832 | "format_description" : "DiskSize", |
44660702 DM |
5833 | "optional" : 1, |
5834 | "type" : "string" | |
5835 | }, | |
5836 | "snapshot" : { | |
5837 | "description" : "Whether the drive should be included when making snapshots.", | |
44660702 DM |
5838 | "optional" : 1, |
5839 | "type" : "boolean" | |
5840 | }, | |
5841 | "trans" : { | |
5842 | "description" : "Force disk geometry bios translation mode.", | |
5843 | "enum" : [ | |
5844 | "none", | |
5845 | "lba", | |
5846 | "auto" | |
5847 | ], | |
44660702 DM |
5848 | "optional" : 1, |
5849 | "type" : "string" | |
5850 | }, | |
5851 | "volume" : { | |
5852 | "alias" : "file" | |
5853 | }, | |
5854 | "werror" : { | |
5855 | "description" : "Write error action.", | |
5856 | "enum" : [ | |
5857 | "enospc", | |
5858 | "ignore", | |
5859 | "report", | |
5860 | "stop" | |
5861 | ], | |
44660702 DM |
5862 | "optional" : 1, |
5863 | "type" : "string" | |
56122987 DM |
5864 | } |
5865 | }, | |
44660702 | 5866 | "optional" : 1, |
4bd7df8b | 5867 | "type" : "string", |
013dc89f | 5868 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
56122987 | 5869 | }, |
44660702 DM |
5870 | "keyboard" : { |
5871 | "default" : "en-us", | |
c2993fe5 | 5872 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.", |
44660702 DM |
5873 | "enum" : [ |
5874 | "de", | |
5875 | "de-ch", | |
5876 | "da", | |
5877 | "en-gb", | |
5878 | "en-us", | |
5879 | "es", | |
5880 | "fi", | |
5881 | "fr", | |
5882 | "fr-be", | |
5883 | "fr-ca", | |
5884 | "fr-ch", | |
5885 | "hu", | |
5886 | "is", | |
5887 | "it", | |
5888 | "ja", | |
5889 | "lt", | |
5890 | "mk", | |
5891 | "nl", | |
5892 | "no", | |
5893 | "pl", | |
5894 | "pt", | |
5895 | "pt-br", | |
5896 | "sv", | |
5897 | "sl", | |
5898 | "tr" | |
5899 | ], | |
56122987 | 5900 | "optional" : 1, |
44660702 DM |
5901 | "type" : "string" |
5902 | }, | |
5903 | "kvm" : { | |
7aacca6f | 5904 | "default" : 1, |
44660702 DM |
5905 | "description" : "Enable/disable KVM hardware virtualization.", |
5906 | "optional" : 1, | |
013dc89f DM |
5907 | "type" : "boolean", |
5908 | "typetext" : "<boolean>" | |
56122987 | 5909 | }, |
44660702 DM |
5910 | "localtime" : { |
5911 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
56122987 | 5912 | "optional" : 1, |
013dc89f DM |
5913 | "type" : "boolean", |
5914 | "typetext" : "<boolean>" | |
56122987 | 5915 | }, |
44660702 DM |
5916 | "lock" : { |
5917 | "description" : "Lock/unlock the VM.", | |
5918 | "enum" : [ | |
5919 | "migrate", | |
5920 | "backup", | |
5921 | "snapshot", | |
5922 | "rollback" | |
5923 | ], | |
7aacca6f | 5924 | "optional" : 1, |
44660702 DM |
5925 | "type" : "string" |
5926 | }, | |
5927 | "machine" : { | |
5928 | "description" : "Specific the Qemu machine type.", | |
5929 | "maxLength" : 40, | |
5930 | "optional" : 1, | |
5931 | "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)", | |
5932 | "type" : "string" | |
5933 | }, | |
5934 | "memory" : { | |
5935 | "default" : 512, | |
5936 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
5937 | "minimum" : 16, | |
5938 | "optional" : 1, | |
4bd7df8b | 5939 | "type" : "integer", |
013dc89f | 5940 | "typetext" : "<integer> (16 - N)" |
44660702 DM |
5941 | }, |
5942 | "migrate_downtime" : { | |
5943 | "default" : 0.1, | |
5944 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
5945 | "minimum" : 0, | |
5946 | "optional" : 1, | |
4bd7df8b | 5947 | "type" : "number", |
013dc89f | 5948 | "typetext" : "<number> (0 - N)" |
44660702 DM |
5949 | }, |
5950 | "migrate_speed" : { | |
5951 | "default" : 0, | |
5952 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", | |
5953 | "minimum" : 0, | |
5954 | "optional" : 1, | |
4bd7df8b | 5955 | "type" : "integer", |
013dc89f | 5956 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
5957 | }, |
5958 | "name" : { | |
5959 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
5960 | "format" : "dns-name", | |
5961 | "optional" : 1, | |
013dc89f DM |
5962 | "type" : "string", |
5963 | "typetext" : "<string>" | |
44660702 DM |
5964 | }, |
5965 | "net[n]" : { | |
c2993fe5 | 5966 | "description" : "Specify network devices.", |
f004f5b9 DM |
5967 | "format" : { |
5968 | "bridge" : { | |
c2993fe5 | 5969 | "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n", |
f004f5b9 DM |
5970 | "format_description" : "bridge", |
5971 | "optional" : 1, | |
5972 | "type" : "string" | |
5973 | }, | |
5974 | "e1000" : { | |
5975 | "alias" : "macaddr", | |
5976 | "keyAlias" : "model" | |
5977 | }, | |
5978 | "e1000-82540em" : { | |
5979 | "alias" : "macaddr", | |
5980 | "keyAlias" : "model" | |
5981 | }, | |
5982 | "e1000-82544gc" : { | |
5983 | "alias" : "macaddr", | |
5984 | "keyAlias" : "model" | |
5985 | }, | |
5986 | "e1000-82545em" : { | |
5987 | "alias" : "macaddr", | |
5988 | "keyAlias" : "model" | |
5989 | }, | |
5990 | "firewall" : { | |
5991 | "description" : "Whether this interface should be protected by the firewall.", | |
5992 | "optional" : 1, | |
5993 | "type" : "boolean" | |
5994 | }, | |
5995 | "i82551" : { | |
5996 | "alias" : "macaddr", | |
5997 | "keyAlias" : "model" | |
5998 | }, | |
5999 | "i82557b" : { | |
6000 | "alias" : "macaddr", | |
6001 | "keyAlias" : "model" | |
6002 | }, | |
6003 | "i82559er" : { | |
6004 | "alias" : "macaddr", | |
6005 | "keyAlias" : "model" | |
6006 | }, | |
6007 | "link_down" : { | |
c2993fe5 | 6008 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
6009 | "optional" : 1, |
6010 | "type" : "boolean" | |
6011 | }, | |
6012 | "macaddr" : { | |
c2993fe5 | 6013 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
f004f5b9 | 6014 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 DM |
6015 | "optional" : 1, |
6016 | "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})", | |
6017 | "type" : "string" | |
6018 | }, | |
6019 | "model" : { | |
6020 | "default_key" : 1, | |
c2993fe5 | 6021 | "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.", |
f004f5b9 DM |
6022 | "enum" : [ |
6023 | "rtl8139", | |
6024 | "ne2k_pci", | |
6025 | "e1000", | |
6026 | "pcnet", | |
6027 | "virtio", | |
6028 | "ne2k_isa", | |
6029 | "i82551", | |
6030 | "i82557b", | |
6031 | "i82559er", | |
6032 | "vmxnet3", | |
6033 | "e1000-82540em", | |
6034 | "e1000-82544gc", | |
6035 | "e1000-82545em" | |
6036 | ], | |
f004f5b9 DM |
6037 | "type" : "string" |
6038 | }, | |
6039 | "ne2k_isa" : { | |
6040 | "alias" : "macaddr", | |
6041 | "keyAlias" : "model" | |
6042 | }, | |
6043 | "ne2k_pci" : { | |
6044 | "alias" : "macaddr", | |
6045 | "keyAlias" : "model" | |
6046 | }, | |
6047 | "pcnet" : { | |
6048 | "alias" : "macaddr", | |
6049 | "keyAlias" : "model" | |
6050 | }, | |
6051 | "queues" : { | |
6052 | "description" : "Number of packet queues to be used on the device.", | |
6053 | "maximum" : 16, | |
6054 | "minimum" : 0, | |
6055 | "optional" : 1, | |
6056 | "type" : "integer" | |
6057 | }, | |
6058 | "rate" : { | |
c2993fe5 | 6059 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
6060 | "minimum" : 0, |
6061 | "optional" : 1, | |
6062 | "type" : "number" | |
6063 | }, | |
6064 | "rtl8139" : { | |
6065 | "alias" : "macaddr", | |
6066 | "keyAlias" : "model" | |
6067 | }, | |
6068 | "tag" : { | |
6069 | "description" : "VLAN tag to apply to packets on this interface.", | |
6070 | "maximum" : 4094, | |
c2993fe5 | 6071 | "minimum" : 1, |
f004f5b9 DM |
6072 | "optional" : 1, |
6073 | "type" : "integer" | |
6074 | }, | |
6075 | "trunks" : { | |
6076 | "description" : "VLAN trunks to pass through this interface.", | |
6077 | "format_description" : "vlanid[;vlanid...]", | |
6078 | "optional" : 1, | |
6079 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
6080 | "type" : "string" | |
6081 | }, | |
6082 | "virtio" : { | |
6083 | "alias" : "macaddr", | |
6084 | "keyAlias" : "model" | |
6085 | }, | |
6086 | "vmxnet3" : { | |
6087 | "alias" : "macaddr", | |
6088 | "keyAlias" : "model" | |
6089 | } | |
6090 | }, | |
44660702 | 6091 | "optional" : 1, |
4bd7df8b | 6092 | "type" : "string", |
013dc89f | 6093 | "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]" |
44660702 DM |
6094 | }, |
6095 | "node" : { | |
6096 | "description" : "The cluster node name.", | |
6097 | "format" : "pve-node", | |
013dc89f DM |
6098 | "type" : "string", |
6099 | "typetext" : "<string>" | |
44660702 DM |
6100 | }, |
6101 | "numa" : { | |
6102 | "default" : 0, | |
6103 | "description" : "Enable/disable NUMA.", | |
6104 | "optional" : 1, | |
013dc89f DM |
6105 | "type" : "boolean", |
6106 | "typetext" : "<boolean>" | |
44660702 DM |
6107 | }, |
6108 | "numa[n]" : { | |
c2993fe5 | 6109 | "description" : "NUMA topology.", |
56122987 | 6110 | "format" : { |
7aacca6f | 6111 | "cpus" : { |
c2993fe5 | 6112 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
6113 | "format_description" : "id[-id];...", |
6114 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
6115 | "type" : "string" | |
7aacca6f DM |
6116 | }, |
6117 | "hostnodes" : { | |
c2993fe5 | 6118 | "description" : "Host NUMA nodes to use.", |
44660702 | 6119 | "format_description" : "id[-id];...", |
7aacca6f | 6120 | "optional" : 1, |
7aacca6f | 6121 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", |
44660702 | 6122 | "type" : "string" |
7aacca6f | 6123 | }, |
44660702 | 6124 | "memory" : { |
c2993fe5 | 6125 | "description" : "Amount of memory this NUMA node provides.", |
7aacca6f | 6126 | "optional" : 1, |
44660702 DM |
6127 | "type" : "number" |
6128 | }, | |
6129 | "policy" : { | |
c2993fe5 | 6130 | "description" : "NUMA allocation policy.", |
7aacca6f DM |
6131 | "enum" : [ |
6132 | "preferred", | |
6133 | "bind", | |
6134 | "interleave" | |
6135 | ], | |
44660702 DM |
6136 | "optional" : 1, |
6137 | "type" : "string" | |
56122987 | 6138 | } |
44660702 | 6139 | }, |
56122987 | 6140 | "optional" : 1, |
4bd7df8b DM |
6141 | "type" : "string", |
6142 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" | |
56122987 | 6143 | }, |
44660702 | 6144 | "onboot" : { |
7aacca6f | 6145 | "default" : 0, |
44660702 DM |
6146 | "description" : "Specifies whether a VM will be started during system bootup.", |
6147 | "optional" : 1, | |
013dc89f DM |
6148 | "type" : "boolean", |
6149 | "typetext" : "<boolean>" | |
7aacca6f DM |
6150 | }, |
6151 | "ostype" : { | |
c2993fe5 | 6152 | "description" : "Specify guest operating system.", |
7aacca6f DM |
6153 | "enum" : [ |
6154 | "other", | |
6155 | "wxp", | |
6156 | "w2k", | |
6157 | "w2k3", | |
6158 | "w2k8", | |
6159 | "wvista", | |
6160 | "win7", | |
6161 | "win8", | |
6162 | "l24", | |
6163 | "l26", | |
6164 | "solaris" | |
6165 | ], | |
7aacca6f | 6166 | "optional" : 1, |
c2993fe5 DM |
6167 | "type" : "string", |
6168 | "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" | |
56122987 | 6169 | }, |
44660702 | 6170 | "parallel[n]" : { |
c2993fe5 | 6171 | "description" : "Map host parallel devices (n is 0 to 2).", |
7aacca6f | 6172 | "optional" : 1, |
44660702 | 6173 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
6174 | "type" : "string", |
6175 | "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" | |
7aacca6f DM |
6176 | }, |
6177 | "protection" : { | |
6178 | "default" : 0, | |
c2993fe5 | 6179 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
7aacca6f | 6180 | "optional" : 1, |
013dc89f DM |
6181 | "type" : "boolean", |
6182 | "typetext" : "<boolean>" | |
7aacca6f | 6183 | }, |
44660702 DM |
6184 | "reboot" : { |
6185 | "default" : 1, | |
6186 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", | |
7aacca6f | 6187 | "optional" : 1, |
013dc89f DM |
6188 | "type" : "boolean", |
6189 | "typetext" : "<boolean>" | |
7aacca6f | 6190 | }, |
44660702 DM |
6191 | "revert" : { |
6192 | "description" : "Revert a pending change.", | |
6193 | "format" : "pve-configid-list", | |
7aacca6f | 6194 | "optional" : 1, |
013dc89f DM |
6195 | "type" : "string", |
6196 | "typetext" : "<string>" | |
44660702 DM |
6197 | }, |
6198 | "sata[n]" : { | |
6199 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", | |
56122987 | 6200 | "format" : { |
44660702 DM |
6201 | "aio" : { |
6202 | "description" : "AIO type to use.", | |
7aacca6f | 6203 | "enum" : [ |
44660702 DM |
6204 | "native", |
6205 | "threads" | |
7aacca6f | 6206 | ], |
44660702 DM |
6207 | "optional" : 1, |
6208 | "type" : "string" | |
7aacca6f | 6209 | }, |
44660702 DM |
6210 | "backup" : { |
6211 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 6212 | "optional" : 1, |
7aacca6f | 6213 | "type" : "boolean" |
44660702 DM |
6214 | }, |
6215 | "bps" : { | |
de0983cb | 6216 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 6217 | "format_description" : "bps", |
7aacca6f | 6218 | "optional" : 1, |
44660702 | 6219 | "type" : "integer" |
56122987 | 6220 | }, |
de0983cb DM |
6221 | "bps_max_length" : { |
6222 | "description" : "Maximum length of I/O bursts in seconds.", | |
6223 | "format_description" : "seconds", | |
6224 | "minimum" : 1, | |
6225 | "optional" : 1, | |
6226 | "type" : "integer" | |
6227 | }, | |
44660702 | 6228 | "bps_rd" : { |
de0983cb | 6229 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 6230 | "format_description" : "bps", |
56122987 | 6231 | "optional" : 1, |
44660702 | 6232 | "type" : "integer" |
56122987 | 6233 | }, |
de0983cb DM |
6234 | "bps_rd_length" : { |
6235 | "description" : "Maximum length of read I/O bursts in seconds.", | |
6236 | "format_description" : "seconds", | |
6237 | "minimum" : 1, | |
6238 | "optional" : 1, | |
6239 | "type" : "integer" | |
6240 | }, | |
44660702 | 6241 | "bps_wr" : { |
de0983cb | 6242 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 6243 | "format_description" : "bps", |
56122987 | 6244 | "optional" : 1, |
44660702 | 6245 | "type" : "integer" |
56122987 | 6246 | }, |
de0983cb DM |
6247 | "bps_wr_length" : { |
6248 | "description" : "Maximum length of write I/O bursts in seconds.", | |
6249 | "format_description" : "seconds", | |
6250 | "minimum" : 1, | |
6251 | "optional" : 1, | |
6252 | "type" : "integer" | |
6253 | }, | |
56122987 | 6254 | "cache" : { |
44660702 | 6255 | "description" : "The drive's cache mode", |
56122987 DM |
6256 | "enum" : [ |
6257 | "none", | |
6258 | "writethrough", | |
6259 | "writeback", | |
6260 | "unsafe", | |
6261 | "directsync" | |
6262 | ], | |
56122987 | 6263 | "optional" : 1, |
44660702 | 6264 | "type" : "string" |
56122987 | 6265 | }, |
44660702 DM |
6266 | "cyls" : { |
6267 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 6268 | "optional" : 1, |
44660702 | 6269 | "type" : "integer" |
7aacca6f DM |
6270 | }, |
6271 | "detect_zeroes" : { | |
6272 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 6273 | "optional" : 1, |
44660702 | 6274 | "type" : "boolean" |
56122987 | 6275 | }, |
44660702 DM |
6276 | "discard" : { |
6277 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
6278 | "enum" : [ | |
6279 | "ignore", | |
6280 | "on" | |
6281 | ], | |
56122987 | 6282 | "optional" : 1, |
44660702 | 6283 | "type" : "string" |
7aacca6f | 6284 | }, |
44660702 DM |
6285 | "file" : { |
6286 | "default_key" : 1, | |
6287 | "description" : "The drive's backing volume.", | |
6288 | "format" : "pve-volume-id-or-qm-path", | |
6289 | "format_description" : "volume", | |
6290 | "type" : "string" | |
56122987 | 6291 | }, |
7aacca6f | 6292 | "format" : { |
44660702 | 6293 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
6294 | "enum" : [ |
6295 | "raw", | |
6296 | "cow", | |
6297 | "qcow", | |
6298 | "qed", | |
6299 | "qcow2", | |
6300 | "vmdk", | |
6301 | "cloop" | |
6302 | ], | |
7aacca6f | 6303 | "optional" : 1, |
44660702 | 6304 | "type" : "string" |
56122987 | 6305 | }, |
7aacca6f | 6306 | "heads" : { |
7aacca6f | 6307 | "description" : "Force the drive's physical geometry to have a specific head count.", |
56122987 | 6308 | "optional" : 1, |
7aacca6f | 6309 | "type" : "integer" |
56122987 | 6310 | }, |
44660702 | 6311 | "iops" : { |
de0983cb | 6312 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 6313 | "format_description" : "iops", |
56122987 | 6314 | "optional" : 1, |
44660702 | 6315 | "type" : "integer" |
56122987 | 6316 | }, |
44660702 | 6317 | "iops_max" : { |
de0983cb | 6318 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 6319 | "format_description" : "iops", |
56122987 | 6320 | "optional" : 1, |
44660702 | 6321 | "type" : "integer" |
56122987 | 6322 | }, |
de0983cb DM |
6323 | "iops_max_length" : { |
6324 | "description" : "Maximum length of I/O bursts in seconds.", | |
6325 | "format_description" : "seconds", | |
6326 | "minimum" : 1, | |
6327 | "optional" : 1, | |
6328 | "type" : "integer" | |
6329 | }, | |
44660702 | 6330 | "iops_rd" : { |
de0983cb | 6331 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 6332 | "format_description" : "iops", |
7aacca6f | 6333 | "optional" : 1, |
44660702 | 6334 | "type" : "integer" |
56122987 | 6335 | }, |
de0983cb DM |
6336 | "iops_rd_length" : { |
6337 | "description" : "Maximum length of read I/O bursts in seconds.", | |
6338 | "format_description" : "seconds", | |
6339 | "minimum" : 1, | |
6340 | "optional" : 1, | |
6341 | "type" : "integer" | |
6342 | }, | |
44660702 | 6343 | "iops_rd_max" : { |
de0983cb | 6344 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 6345 | "format_description" : "iops", |
56122987 | 6346 | "optional" : 1, |
44660702 | 6347 | "type" : "integer" |
7aacca6f | 6348 | }, |
44660702 | 6349 | "iops_wr" : { |
de0983cb | 6350 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 6351 | "format_description" : "iops", |
56122987 | 6352 | "optional" : 1, |
44660702 | 6353 | "type" : "integer" |
56122987 | 6354 | }, |
de0983cb DM |
6355 | "iops_wr_length" : { |
6356 | "description" : "Maximum length of write I/O bursts in seconds.", | |
6357 | "format_description" : "seconds", | |
6358 | "minimum" : 1, | |
6359 | "optional" : 1, | |
6360 | "type" : "integer" | |
6361 | }, | |
56122987 | 6362 | "iops_wr_max" : { |
de0983cb | 6363 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 6364 | "format_description" : "iops", |
56122987 | 6365 | "optional" : 1, |
44660702 | 6366 | "type" : "integer" |
56122987 | 6367 | }, |
44660702 | 6368 | "mbps" : { |
de0983cb | 6369 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 6370 | "format_description" : "mbps", |
56122987 | 6371 | "optional" : 1, |
44660702 | 6372 | "type" : "number" |
56122987 | 6373 | }, |
44660702 | 6374 | "mbps_max" : { |
de0983cb | 6375 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
6376 | "format_description" : "mbps", |
6377 | "optional" : 1, | |
6378 | "type" : "number" | |
56122987 | 6379 | }, |
44660702 | 6380 | "mbps_rd" : { |
de0983cb | 6381 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 6382 | "format_description" : "mbps", |
56122987 | 6383 | "optional" : 1, |
44660702 | 6384 | "type" : "number" |
56122987 | 6385 | }, |
44660702 | 6386 | "mbps_rd_max" : { |
de0983cb | 6387 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 6388 | "format_description" : "mbps", |
56122987 | 6389 | "optional" : 1, |
44660702 | 6390 | "type" : "number" |
56122987 | 6391 | }, |
44660702 | 6392 | "mbps_wr" : { |
de0983cb | 6393 | "description" : "Maximum write speed in megabytes per second.", |
56122987 | 6394 | "format_description" : "mbps", |
44660702 DM |
6395 | "optional" : 1, |
6396 | "type" : "number" | |
56122987 | 6397 | }, |
44660702 | 6398 | "mbps_wr_max" : { |
de0983cb | 6399 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
6400 | "format_description" : "mbps", |
6401 | "optional" : 1, | |
6402 | "type" : "number" | |
7aacca6f | 6403 | }, |
44660702 DM |
6404 | "media" : { |
6405 | "default" : "disk", | |
6406 | "description" : "The drive's media type.", | |
6407 | "enum" : [ | |
6408 | "cdrom", | |
6409 | "disk" | |
6410 | ], | |
56122987 | 6411 | "optional" : 1, |
44660702 DM |
6412 | "type" : "string" |
6413 | }, | |
6414 | "rerror" : { | |
6415 | "description" : "Read error action.", | |
7aacca6f | 6416 | "enum" : [ |
44660702 DM |
6417 | "ignore", |
6418 | "report", | |
6419 | "stop" | |
6420 | ], | |
7aacca6f | 6421 | "optional" : 1, |
44660702 | 6422 | "type" : "string" |
56122987 | 6423 | }, |
44660702 DM |
6424 | "secs" : { |
6425 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 6426 | "optional" : 1, |
44660702 | 6427 | "type" : "integer" |
56122987 | 6428 | }, |
44660702 DM |
6429 | "serial" : { |
6430 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
6431 | "format" : "urlencoded", | |
6432 | "format_description" : "serial", | |
6433 | "maxLength" : 60, | |
56122987 | 6434 | "optional" : 1, |
44660702 | 6435 | "type" : "string" |
56122987 | 6436 | }, |
44660702 DM |
6437 | "size" : { |
6438 | "description" : "Disk size. This is purely informational and has no effect.", | |
6439 | "format" : "disk-size", | |
f004f5b9 | 6440 | "format_description" : "DiskSize", |
44660702 DM |
6441 | "optional" : 1, |
6442 | "type" : "string" | |
6443 | }, | |
6444 | "snapshot" : { | |
6445 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 6446 | "optional" : 1, |
44660702 DM |
6447 | "type" : "boolean" |
6448 | }, | |
6449 | "trans" : { | |
6450 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 6451 | "enum" : [ |
7aacca6f DM |
6452 | "none", |
6453 | "lba", | |
6454 | "auto" | |
56122987 | 6455 | ], |
44660702 DM |
6456 | "optional" : 1, |
6457 | "type" : "string" | |
56122987 | 6458 | }, |
7aacca6f DM |
6459 | "volume" : { |
6460 | "alias" : "file" | |
56122987 | 6461 | }, |
44660702 DM |
6462 | "werror" : { |
6463 | "description" : "Write error action.", | |
6464 | "enum" : [ | |
6465 | "enospc", | |
6466 | "ignore", | |
6467 | "report", | |
6468 | "stop" | |
6469 | ], | |
7aacca6f | 6470 | "optional" : 1, |
44660702 DM |
6471 | "type" : "string" |
6472 | } | |
6473 | }, | |
6474 | "optional" : 1, | |
4bd7df8b | 6475 | "type" : "string", |
013dc89f | 6476 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
44660702 DM |
6477 | }, |
6478 | "scsi[n]" : { | |
6479 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).", | |
6480 | "format" : { | |
56122987 | 6481 | "aio" : { |
56122987 DM |
6482 | "description" : "AIO type to use.", |
6483 | "enum" : [ | |
6484 | "native", | |
6485 | "threads" | |
6486 | ], | |
7aacca6f | 6487 | "optional" : 1, |
44660702 | 6488 | "type" : "string" |
56122987 | 6489 | }, |
44660702 DM |
6490 | "backup" : { |
6491 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 6492 | "optional" : 1, |
44660702 | 6493 | "type" : "boolean" |
56122987 | 6494 | }, |
44660702 | 6495 | "bps" : { |
de0983cb | 6496 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 6497 | "format_description" : "bps", |
56122987 | 6498 | "optional" : 1, |
44660702 | 6499 | "type" : "integer" |
56122987 | 6500 | }, |
de0983cb DM |
6501 | "bps_max_length" : { |
6502 | "description" : "Maximum length of I/O bursts in seconds.", | |
6503 | "format_description" : "seconds", | |
6504 | "minimum" : 1, | |
6505 | "optional" : 1, | |
6506 | "type" : "integer" | |
6507 | }, | |
44660702 | 6508 | "bps_rd" : { |
de0983cb | 6509 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 6510 | "format_description" : "bps", |
56122987 | 6511 | "optional" : 1, |
44660702 | 6512 | "type" : "integer" |
56122987 | 6513 | }, |
de0983cb DM |
6514 | "bps_rd_length" : { |
6515 | "description" : "Maximum length of read I/O bursts in seconds.", | |
6516 | "format_description" : "seconds", | |
6517 | "minimum" : 1, | |
6518 | "optional" : 1, | |
6519 | "type" : "integer" | |
6520 | }, | |
7aacca6f | 6521 | "bps_wr" : { |
de0983cb | 6522 | "description" : "Maximum write speed in bytes per second.", |
7aacca6f | 6523 | "format_description" : "bps", |
56122987 | 6524 | "optional" : 1, |
44660702 | 6525 | "type" : "integer" |
56122987 | 6526 | }, |
de0983cb DM |
6527 | "bps_wr_length" : { |
6528 | "description" : "Maximum length of write I/O bursts in seconds.", | |
6529 | "format_description" : "seconds", | |
6530 | "minimum" : 1, | |
6531 | "optional" : 1, | |
6532 | "type" : "integer" | |
6533 | }, | |
44660702 DM |
6534 | "cache" : { |
6535 | "description" : "The drive's cache mode", | |
7aacca6f | 6536 | "enum" : [ |
44660702 DM |
6537 | "none", |
6538 | "writethrough", | |
6539 | "writeback", | |
6540 | "unsafe", | |
6541 | "directsync" | |
7aacca6f | 6542 | ], |
56122987 | 6543 | "optional" : 1, |
44660702 | 6544 | "type" : "string" |
56122987 | 6545 | }, |
44660702 DM |
6546 | "cyls" : { |
6547 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 6548 | "optional" : 1, |
44660702 | 6549 | "type" : "integer" |
56122987 | 6550 | }, |
44660702 DM |
6551 | "detect_zeroes" : { |
6552 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 6553 | "optional" : 1, |
44660702 | 6554 | "type" : "boolean" |
56122987 | 6555 | }, |
44660702 DM |
6556 | "discard" : { |
6557 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
6558 | "enum" : [ | |
6559 | "ignore", | |
6560 | "on" | |
6561 | ], | |
7aacca6f | 6562 | "optional" : 1, |
44660702 | 6563 | "type" : "string" |
56122987 | 6564 | }, |
44660702 DM |
6565 | "file" : { |
6566 | "default_key" : 1, | |
6567 | "description" : "The drive's backing volume.", | |
6568 | "format" : "pve-volume-id-or-qm-path", | |
6569 | "format_description" : "volume", | |
6570 | "type" : "string" | |
56122987 | 6571 | }, |
7aacca6f | 6572 | "format" : { |
44660702 | 6573 | "description" : "The drive's backing file's data format.", |
56122987 | 6574 | "enum" : [ |
7aacca6f DM |
6575 | "raw", |
6576 | "cow", | |
6577 | "qcow", | |
6578 | "qed", | |
6579 | "qcow2", | |
6580 | "vmdk", | |
6581 | "cloop" | |
6582 | ], | |
44660702 DM |
6583 | "optional" : 1, |
6584 | "type" : "string" | |
56122987 | 6585 | }, |
44660702 DM |
6586 | "heads" : { |
6587 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 6588 | "optional" : 1, |
7aacca6f | 6589 | "type" : "integer" |
56122987 | 6590 | }, |
44660702 | 6591 | "iops" : { |
de0983cb | 6592 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 6593 | "format_description" : "iops", |
44660702 DM |
6594 | "optional" : 1, |
6595 | "type" : "integer" | |
7aacca6f | 6596 | }, |
44660702 | 6597 | "iops_max" : { |
de0983cb | 6598 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 6599 | "format_description" : "iops", |
56122987 | 6600 | "optional" : 1, |
44660702 | 6601 | "type" : "integer" |
7aacca6f | 6602 | }, |
de0983cb DM |
6603 | "iops_max_length" : { |
6604 | "description" : "Maximum length of I/O bursts in seconds.", | |
6605 | "format_description" : "seconds", | |
6606 | "minimum" : 1, | |
6607 | "optional" : 1, | |
6608 | "type" : "integer" | |
6609 | }, | |
44660702 | 6610 | "iops_rd" : { |
de0983cb | 6611 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 6612 | "format_description" : "iops", |
7aacca6f | 6613 | "optional" : 1, |
44660702 | 6614 | "type" : "integer" |
56122987 | 6615 | }, |
de0983cb DM |
6616 | "iops_rd_length" : { |
6617 | "description" : "Maximum length of read I/O bursts in seconds.", | |
6618 | "format_description" : "seconds", | |
6619 | "minimum" : 1, | |
6620 | "optional" : 1, | |
6621 | "type" : "integer" | |
6622 | }, | |
44660702 | 6623 | "iops_rd_max" : { |
de0983cb | 6624 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
6625 | "format_description" : "iops", |
6626 | "optional" : 1, | |
6627 | "type" : "integer" | |
6628 | }, | |
6629 | "iops_wr" : { | |
de0983cb | 6630 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 6631 | "format_description" : "iops", |
56122987 | 6632 | "optional" : 1, |
44660702 DM |
6633 | "type" : "integer" |
6634 | }, | |
de0983cb DM |
6635 | "iops_wr_length" : { |
6636 | "description" : "Maximum length of write I/O bursts in seconds.", | |
6637 | "format_description" : "seconds", | |
6638 | "minimum" : 1, | |
6639 | "optional" : 1, | |
6640 | "type" : "integer" | |
6641 | }, | |
44660702 | 6642 | "iops_wr_max" : { |
de0983cb | 6643 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
6644 | "format_description" : "iops", |
6645 | "optional" : 1, | |
6646 | "type" : "integer" | |
56122987 | 6647 | }, |
7aacca6f | 6648 | "iothread" : { |
7aacca6f | 6649 | "description" : "Whether to use iothreads for this drive", |
56122987 | 6650 | "optional" : 1, |
56122987 DM |
6651 | "type" : "boolean" |
6652 | }, | |
44660702 | 6653 | "mbps" : { |
de0983cb | 6654 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
6655 | "format_description" : "mbps", |
6656 | "optional" : 1, | |
6657 | "type" : "number" | |
6658 | }, | |
6659 | "mbps_max" : { | |
de0983cb | 6660 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
6661 | "format_description" : "mbps", |
6662 | "optional" : 1, | |
6663 | "type" : "number" | |
6664 | }, | |
6665 | "mbps_rd" : { | |
de0983cb | 6666 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
6667 | "format_description" : "mbps", |
6668 | "optional" : 1, | |
6669 | "type" : "number" | |
6670 | }, | |
6671 | "mbps_rd_max" : { | |
de0983cb | 6672 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
6673 | "format_description" : "mbps", |
6674 | "optional" : 1, | |
6675 | "type" : "number" | |
6676 | }, | |
6677 | "mbps_wr" : { | |
de0983cb | 6678 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
6679 | "format_description" : "mbps", |
6680 | "optional" : 1, | |
6681 | "type" : "number" | |
6682 | }, | |
6683 | "mbps_wr_max" : { | |
de0983cb | 6684 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
6685 | "format_description" : "mbps", |
6686 | "optional" : 1, | |
6687 | "type" : "number" | |
6688 | }, | |
7aacca6f | 6689 | "media" : { |
44660702 DM |
6690 | "default" : "disk", |
6691 | "description" : "The drive's media type.", | |
7aacca6f DM |
6692 | "enum" : [ |
6693 | "cdrom", | |
6694 | "disk" | |
6695 | ], | |
56122987 | 6696 | "optional" : 1, |
44660702 DM |
6697 | "type" : "string" |
6698 | }, | |
6699 | "queues" : { | |
6700 | "description" : "Number of queues.", | |
44660702 DM |
6701 | "minimum" : 2, |
6702 | "optional" : 1, | |
6703 | "type" : "integer" | |
6704 | }, | |
6705 | "secs" : { | |
6706 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
6707 | "optional" : 1, |
6708 | "type" : "integer" | |
6709 | }, | |
6710 | "serial" : { | |
6711 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
6712 | "format" : "urlencoded", | |
6713 | "format_description" : "serial", | |
6714 | "maxLength" : 60, | |
6715 | "optional" : 1, | |
6716 | "type" : "string" | |
6717 | }, | |
6718 | "size" : { | |
6719 | "description" : "Disk size. This is purely informational and has no effect.", | |
6720 | "format" : "disk-size", | |
f004f5b9 | 6721 | "format_description" : "DiskSize", |
44660702 DM |
6722 | "optional" : 1, |
6723 | "type" : "string" | |
56122987 | 6724 | }, |
7aacca6f DM |
6725 | "snapshot" : { |
6726 | "description" : "Whether the drive should be included when making snapshots.", | |
6727 | "optional" : 1, | |
44660702 | 6728 | "type" : "boolean" |
7aacca6f | 6729 | }, |
44660702 DM |
6730 | "trans" : { |
6731 | "description" : "Force disk geometry bios translation mode.", | |
6732 | "enum" : [ | |
6733 | "none", | |
6734 | "lba", | |
6735 | "auto" | |
6736 | ], | |
44660702 DM |
6737 | "optional" : 1, |
6738 | "type" : "string" | |
6739 | }, | |
6740 | "volume" : { | |
6741 | "alias" : "file" | |
6742 | }, | |
6743 | "werror" : { | |
6744 | "description" : "Write error action.", | |
6745 | "enum" : [ | |
6746 | "enospc", | |
6747 | "ignore", | |
6748 | "report", | |
6749 | "stop" | |
6750 | ], | |
56122987 | 6751 | "optional" : 1, |
44660702 | 6752 | "type" : "string" |
56122987 | 6753 | } |
44660702 | 6754 | }, |
7aacca6f | 6755 | "optional" : 1, |
4bd7df8b | 6756 | "type" : "string", |
013dc89f | 6757 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
44660702 DM |
6758 | }, |
6759 | "scsihw" : { | |
6760 | "default" : "lsi", | |
c2993fe5 | 6761 | "description" : "SCSI controller model", |
7aacca6f | 6762 | "enum" : [ |
44660702 DM |
6763 | "lsi", |
6764 | "lsi53c810", | |
6765 | "virtio-scsi-pci", | |
6766 | "virtio-scsi-single", | |
6767 | "megasas", | |
6768 | "pvscsi" | |
7aacca6f | 6769 | ], |
44660702 DM |
6770 | "optional" : 1, |
6771 | "type" : "string" | |
56122987 | 6772 | }, |
44660702 | 6773 | "serial[n]" : { |
c2993fe5 | 6774 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
7aacca6f | 6775 | "optional" : 1, |
44660702 | 6776 | "pattern" : "(/dev/.+|socket)", |
c2993fe5 | 6777 | "type" : "string", |
57b78691 | 6778 | "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
7aacca6f | 6779 | }, |
44660702 DM |
6780 | "shares" : { |
6781 | "default" : 1000, | |
6782 | "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning", | |
6783 | "maximum" : 50000, | |
6784 | "minimum" : 0, | |
56122987 | 6785 | "optional" : 1, |
4bd7df8b | 6786 | "type" : "integer", |
013dc89f | 6787 | "typetext" : "<integer> (0 - 50000)" |
56122987 | 6788 | }, |
44660702 DM |
6789 | "skiplock" : { |
6790 | "description" : "Ignore locks - only root is allowed to use this option.", | |
7aacca6f | 6791 | "optional" : 1, |
013dc89f DM |
6792 | "type" : "boolean", |
6793 | "typetext" : "<boolean>" | |
56122987 | 6794 | }, |
44660702 DM |
6795 | "smbios1" : { |
6796 | "description" : "Specify SMBIOS type 1 fields.", | |
6797 | "format" : "pve-qm-smbios1", | |
6798 | "maxLength" : 256, | |
56122987 | 6799 | "optional" : 1, |
4bd7df8b DM |
6800 | "type" : "string", |
6801 | "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]" | |
56122987 | 6802 | }, |
44660702 DM |
6803 | "smp" : { |
6804 | "default" : 1, | |
6805 | "description" : "The number of CPUs. Please use option -sockets instead.", | |
7aacca6f | 6806 | "minimum" : 1, |
7aacca6f | 6807 | "optional" : 1, |
4bd7df8b | 6808 | "type" : "integer", |
013dc89f | 6809 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 6810 | }, |
44660702 DM |
6811 | "sockets" : { |
6812 | "default" : 1, | |
6813 | "description" : "The number of CPU sockets.", | |
6814 | "minimum" : 1, | |
7aacca6f | 6815 | "optional" : 1, |
4bd7df8b | 6816 | "type" : "integer", |
013dc89f | 6817 | "typetext" : "<integer> (1 - N)" |
56122987 | 6818 | }, |
44660702 DM |
6819 | "startdate" : { |
6820 | "default" : "now", | |
6821 | "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.", | |
7aacca6f | 6822 | "optional" : 1, |
44660702 | 6823 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", |
7aacca6f | 6824 | "type" : "string", |
44660702 | 6825 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" |
56122987 | 6826 | }, |
7aacca6f | 6827 | "startup" : { |
7aacca6f | 6828 | "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.", |
44660702 | 6829 | "format" : "pve-startup-order", |
56122987 | 6830 | "optional" : 1, |
44660702 DM |
6831 | "type" : "string", |
6832 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
56122987 | 6833 | }, |
44660702 | 6834 | "tablet" : { |
7aacca6f | 6835 | "default" : 1, |
c2993fe5 | 6836 | "description" : "Enable/disable the USB tablet device.", |
7aacca6f | 6837 | "optional" : 1, |
c2993fe5 | 6838 | "type" : "boolean", |
013dc89f | 6839 | "typetext" : "<boolean>", |
c2993fe5 | 6840 | "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)." |
56122987 | 6841 | }, |
44660702 DM |
6842 | "tdf" : { |
6843 | "default" : 0, | |
6844 | "description" : "Enable/disable time drift fix.", | |
7aacca6f | 6845 | "optional" : 1, |
013dc89f DM |
6846 | "type" : "boolean", |
6847 | "typetext" : "<boolean>" | |
7aacca6f | 6848 | }, |
44660702 DM |
6849 | "template" : { |
6850 | "default" : 0, | |
6851 | "description" : "Enable/disable Template.", | |
7aacca6f | 6852 | "optional" : 1, |
013dc89f DM |
6853 | "type" : "boolean", |
6854 | "typetext" : "<boolean>" | |
7aacca6f | 6855 | }, |
44660702 | 6856 | "unused[n]" : { |
c2993fe5 | 6857 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
44660702 | 6858 | "format" : "pve-volume-id", |
7aacca6f | 6859 | "optional" : 1, |
013dc89f DM |
6860 | "type" : "string", |
6861 | "typetext" : "<string>" | |
7aacca6f | 6862 | }, |
44660702 | 6863 | "usb[n]" : { |
c2993fe5 | 6864 | "description" : "Configure an USB device (n is 0 to 4).", |
44660702 DM |
6865 | "format" : { |
6866 | "host" : { | |
6867 | "default_key" : 1, | |
c2993fe5 | 6868 | "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n", |
44660702 DM |
6869 | "format" : "pve-qm-usb-device", |
6870 | "format_description" : "HOSTUSBDEVICE|spice", | |
6871 | "type" : "string" | |
6872 | }, | |
6873 | "usb3" : { | |
c2993fe5 DM |
6874 | "default" : 0, |
6875 | "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).", | |
44660702 DM |
6876 | "optional" : 1, |
6877 | "type" : "boolean" | |
6878 | } | |
6879 | }, | |
7aacca6f | 6880 | "optional" : 1, |
4bd7df8b DM |
6881 | "type" : "string", |
6882 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
56122987 | 6883 | }, |
44660702 DM |
6884 | "vcpus" : { |
6885 | "default" : 0, | |
6886 | "description" : "Number of hotplugged vcpus.", | |
6887 | "minimum" : 1, | |
56122987 | 6888 | "optional" : 1, |
4bd7df8b | 6889 | "type" : "integer", |
013dc89f | 6890 | "typetext" : "<integer> (1 - N)" |
56122987 | 6891 | }, |
44660702 | 6892 | "vga" : { |
c2993fe5 | 6893 | "description" : "Select the VGA type.", |
44660702 DM |
6894 | "enum" : [ |
6895 | "std", | |
6896 | "cirrus", | |
6897 | "vmware", | |
6898 | "qxl", | |
6899 | "serial0", | |
6900 | "serial1", | |
6901 | "serial2", | |
6902 | "serial3", | |
6903 | "qxl2", | |
6904 | "qxl3", | |
6905 | "qxl4" | |
6906 | ], | |
56122987 | 6907 | "optional" : 1, |
c2993fe5 DM |
6908 | "type" : "string", |
6909 | "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal." | |
56122987 | 6910 | }, |
44660702 DM |
6911 | "virtio[n]" : { |
6912 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
56122987 | 6913 | "format" : { |
44660702 DM |
6914 | "aio" : { |
6915 | "description" : "AIO type to use.", | |
56122987 | 6916 | "enum" : [ |
44660702 DM |
6917 | "native", |
6918 | "threads" | |
56122987 | 6919 | ], |
56122987 DM |
6920 | "optional" : 1, |
6921 | "type" : "string" | |
6922 | }, | |
44660702 DM |
6923 | "backup" : { |
6924 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
6925 | "optional" : 1, |
6926 | "type" : "boolean" | |
7aacca6f | 6927 | }, |
44660702 | 6928 | "bps" : { |
de0983cb | 6929 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
6930 | "format_description" : "bps", |
6931 | "optional" : 1, | |
6932 | "type" : "integer" | |
56122987 | 6933 | }, |
de0983cb DM |
6934 | "bps_max_length" : { |
6935 | "description" : "Maximum length of I/O bursts in seconds.", | |
6936 | "format_description" : "seconds", | |
6937 | "minimum" : 1, | |
6938 | "optional" : 1, | |
6939 | "type" : "integer" | |
6940 | }, | |
44660702 | 6941 | "bps_rd" : { |
de0983cb | 6942 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 6943 | "format_description" : "bps", |
56122987 | 6944 | "optional" : 1, |
44660702 | 6945 | "type" : "integer" |
56122987 | 6946 | }, |
de0983cb DM |
6947 | "bps_rd_length" : { |
6948 | "description" : "Maximum length of read I/O bursts in seconds.", | |
6949 | "format_description" : "seconds", | |
6950 | "minimum" : 1, | |
6951 | "optional" : 1, | |
6952 | "type" : "integer" | |
6953 | }, | |
44660702 | 6954 | "bps_wr" : { |
de0983cb | 6955 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 6956 | "format_description" : "bps", |
56122987 | 6957 | "optional" : 1, |
44660702 DM |
6958 | "type" : "integer" |
6959 | }, | |
de0983cb DM |
6960 | "bps_wr_length" : { |
6961 | "description" : "Maximum length of write I/O bursts in seconds.", | |
6962 | "format_description" : "seconds", | |
6963 | "minimum" : 1, | |
6964 | "optional" : 1, | |
6965 | "type" : "integer" | |
6966 | }, | |
44660702 DM |
6967 | "cache" : { |
6968 | "description" : "The drive's cache mode", | |
56122987 | 6969 | "enum" : [ |
44660702 DM |
6970 | "none", |
6971 | "writethrough", | |
6972 | "writeback", | |
6973 | "unsafe", | |
6974 | "directsync" | |
56122987 | 6975 | ], |
56122987 | 6976 | "optional" : 1, |
44660702 | 6977 | "type" : "string" |
56122987 | 6978 | }, |
44660702 DM |
6979 | "cyls" : { |
6980 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
56122987 | 6981 | "optional" : 1, |
44660702 | 6982 | "type" : "integer" |
7aacca6f | 6983 | }, |
44660702 DM |
6984 | "detect_zeroes" : { |
6985 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
6986 | "optional" : 1, | |
6987 | "type" : "boolean" | |
7aacca6f | 6988 | }, |
44660702 DM |
6989 | "discard" : { |
6990 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
6991 | "enum" : [ | |
6992 | "ignore", | |
6993 | "on" | |
6994 | ], | |
56122987 | 6995 | "optional" : 1, |
44660702 | 6996 | "type" : "string" |
56122987 DM |
6997 | }, |
6998 | "file" : { | |
7aacca6f | 6999 | "default_key" : 1, |
44660702 | 7000 | "description" : "The drive's backing volume.", |
7aacca6f | 7001 | "format" : "pve-volume-id-or-qm-path", |
44660702 DM |
7002 | "format_description" : "volume", |
7003 | "type" : "string" | |
7aacca6f DM |
7004 | }, |
7005 | "format" : { | |
7aacca6f DM |
7006 | "description" : "The drive's backing file's data format.", |
7007 | "enum" : [ | |
7008 | "raw", | |
7009 | "cow", | |
7010 | "qcow", | |
7011 | "qed", | |
7012 | "qcow2", | |
7013 | "vmdk", | |
7014 | "cloop" | |
56122987 DM |
7015 | ], |
7016 | "optional" : 1, | |
56122987 DM |
7017 | "type" : "string" |
7018 | }, | |
44660702 DM |
7019 | "heads" : { |
7020 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 7021 | "optional" : 1, |
44660702 | 7022 | "type" : "integer" |
56122987 | 7023 | }, |
44660702 | 7024 | "iops" : { |
de0983cb | 7025 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 7026 | "format_description" : "iops", |
56122987 | 7027 | "optional" : 1, |
44660702 | 7028 | "type" : "integer" |
56122987 | 7029 | }, |
44660702 | 7030 | "iops_max" : { |
de0983cb | 7031 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 7032 | "format_description" : "iops", |
56122987 | 7033 | "optional" : 1, |
56122987 DM |
7034 | "type" : "integer" |
7035 | }, | |
de0983cb DM |
7036 | "iops_max_length" : { |
7037 | "description" : "Maximum length of I/O bursts in seconds.", | |
7038 | "format_description" : "seconds", | |
7039 | "minimum" : 1, | |
7040 | "optional" : 1, | |
7041 | "type" : "integer" | |
7042 | }, | |
44660702 | 7043 | "iops_rd" : { |
de0983cb | 7044 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 7045 | "format_description" : "iops", |
56122987 | 7046 | "optional" : 1, |
44660702 | 7047 | "type" : "integer" |
56122987 | 7048 | }, |
de0983cb DM |
7049 | "iops_rd_length" : { |
7050 | "description" : "Maximum length of read I/O bursts in seconds.", | |
7051 | "format_description" : "seconds", | |
7052 | "minimum" : 1, | |
7053 | "optional" : 1, | |
7054 | "type" : "integer" | |
7055 | }, | |
44660702 | 7056 | "iops_rd_max" : { |
de0983cb | 7057 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 7058 | "format_description" : "iops", |
7aacca6f | 7059 | "optional" : 1, |
44660702 | 7060 | "type" : "integer" |
56122987 | 7061 | }, |
44660702 | 7062 | "iops_wr" : { |
de0983cb | 7063 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 7064 | "format_description" : "iops", |
7aacca6f | 7065 | "optional" : 1, |
44660702 | 7066 | "type" : "integer" |
56122987 | 7067 | }, |
de0983cb DM |
7068 | "iops_wr_length" : { |
7069 | "description" : "Maximum length of write I/O bursts in seconds.", | |
7070 | "format_description" : "seconds", | |
7071 | "minimum" : 1, | |
7072 | "optional" : 1, | |
7073 | "type" : "integer" | |
7074 | }, | |
44660702 | 7075 | "iops_wr_max" : { |
de0983cb | 7076 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 7077 | "format_description" : "iops", |
56122987 DM |
7078 | "optional" : 1, |
7079 | "type" : "integer" | |
7080 | }, | |
44660702 DM |
7081 | "iothread" : { |
7082 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
7083 | "optional" : 1, |
7084 | "type" : "boolean" | |
7085 | }, | |
7086 | "mbps" : { | |
de0983cb | 7087 | "description" : "Maximum r/w speed in megabytes per second.", |
7aacca6f | 7088 | "format_description" : "mbps", |
44660702 DM |
7089 | "optional" : 1, |
7090 | "type" : "number" | |
7091 | }, | |
7092 | "mbps_max" : { | |
de0983cb | 7093 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
7094 | "format_description" : "mbps", |
7095 | "optional" : 1, | |
7096 | "type" : "number" | |
7aacca6f | 7097 | }, |
44660702 | 7098 | "mbps_rd" : { |
de0983cb | 7099 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 7100 | "format_description" : "mbps", |
56122987 | 7101 | "optional" : 1, |
44660702 | 7102 | "type" : "number" |
56122987 | 7103 | }, |
44660702 | 7104 | "mbps_rd_max" : { |
de0983cb | 7105 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 7106 | "format_description" : "mbps", |
7aacca6f | 7107 | "optional" : 1, |
44660702 | 7108 | "type" : "number" |
56122987 | 7109 | }, |
44660702 | 7110 | "mbps_wr" : { |
de0983cb | 7111 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 7112 | "format_description" : "mbps", |
56122987 | 7113 | "optional" : 1, |
44660702 | 7114 | "type" : "number" |
56122987 | 7115 | }, |
44660702 | 7116 | "mbps_wr_max" : { |
de0983cb | 7117 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 7118 | "format_description" : "mbps", |
56122987 | 7119 | "optional" : 1, |
44660702 | 7120 | "type" : "number" |
56122987 DM |
7121 | }, |
7122 | "media" : { | |
7aacca6f | 7123 | "default" : "disk", |
44660702 | 7124 | "description" : "The drive's media type.", |
56122987 DM |
7125 | "enum" : [ |
7126 | "cdrom", | |
7127 | "disk" | |
7128 | ], | |
44660702 DM |
7129 | "optional" : 1, |
7130 | "type" : "string" | |
56122987 | 7131 | }, |
7aacca6f | 7132 | "rerror" : { |
44660702 | 7133 | "description" : "Read error action.", |
56122987 | 7134 | "enum" : [ |
7aacca6f DM |
7135 | "ignore", |
7136 | "report", | |
7137 | "stop" | |
56122987 | 7138 | ], |
56122987 | 7139 | "optional" : 1, |
44660702 | 7140 | "type" : "string" |
56122987 | 7141 | }, |
44660702 DM |
7142 | "secs" : { |
7143 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
7144 | "optional" : 1, |
7145 | "type" : "integer" | |
7146 | }, | |
7147 | "serial" : { | |
7148 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
7149 | "format" : "urlencoded", | |
7150 | "format_description" : "serial", | |
7151 | "maxLength" : 60, | |
56122987 | 7152 | "optional" : 1, |
7aacca6f | 7153 | "type" : "string" |
56122987 | 7154 | }, |
44660702 DM |
7155 | "size" : { |
7156 | "description" : "Disk size. This is purely informational and has no effect.", | |
7157 | "format" : "disk-size", | |
f004f5b9 | 7158 | "format_description" : "DiskSize", |
56122987 | 7159 | "optional" : 1, |
44660702 | 7160 | "type" : "string" |
56122987 | 7161 | }, |
44660702 DM |
7162 | "snapshot" : { |
7163 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 7164 | "optional" : 1, |
44660702 | 7165 | "type" : "boolean" |
56122987 | 7166 | }, |
44660702 DM |
7167 | "trans" : { |
7168 | "description" : "Force disk geometry bios translation mode.", | |
7169 | "enum" : [ | |
7170 | "none", | |
7171 | "lba", | |
7172 | "auto" | |
7173 | ], | |
44660702 DM |
7174 | "optional" : 1, |
7175 | "type" : "string" | |
7176 | }, | |
7177 | "volume" : { | |
7178 | "alias" : "file" | |
7179 | }, | |
7180 | "werror" : { | |
7181 | "description" : "Write error action.", | |
7182 | "enum" : [ | |
7183 | "enospc", | |
7184 | "ignore", | |
7185 | "report", | |
7186 | "stop" | |
7187 | ], | |
56122987 | 7188 | "optional" : 1, |
44660702 | 7189 | "type" : "string" |
56122987 | 7190 | } |
44660702 | 7191 | }, |
56122987 | 7192 | "optional" : 1, |
4bd7df8b | 7193 | "type" : "string", |
013dc89f | 7194 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
56122987 | 7195 | }, |
7aacca6f DM |
7196 | "vmid" : { |
7197 | "description" : "The (unique) ID of the VM.", | |
7aacca6f | 7198 | "format" : "pve-vmid", |
44660702 | 7199 | "minimum" : 1, |
4bd7df8b | 7200 | "type" : "integer", |
013dc89f | 7201 | "typetext" : "<integer> (1 - N)" |
56122987 | 7202 | }, |
44660702 | 7203 | "watchdog" : { |
c2993fe5 | 7204 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 7205 | "format" : "pve-qm-watchdog", |
56122987 | 7206 | "optional" : 1, |
c2993fe5 | 7207 | "type" : "string", |
013dc89f | 7208 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", |
c2993fe5 | 7209 | "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)" |
56122987 | 7210 | } |
44660702 | 7211 | } |
56122987 | 7212 | }, |
7aacca6f DM |
7213 | "permissions" : { |
7214 | "check" : [ | |
7215 | "perm", | |
7216 | "/vms/{vmid}", | |
7217 | [ | |
44660702 DM |
7218 | "VM.Config.Disk", |
7219 | "VM.Config.CDROM", | |
7220 | "VM.Config.CPU", | |
7221 | "VM.Config.Memory", | |
7222 | "VM.Config.Network", | |
7223 | "VM.Config.HWType", | |
7224 | "VM.Config.Options" | |
7225 | ], | |
7226 | "any", | |
7227 | 1 | |
7aacca6f | 7228 | ] |
56122987 | 7229 | }, |
44660702 | 7230 | "protected" : 1, |
7aacca6f | 7231 | "proxyto" : "node", |
44660702 DM |
7232 | "returns" : { |
7233 | "optional" : 1, | |
7234 | "type" : "string" | |
7235 | } | |
56122987 | 7236 | }, |
7aacca6f | 7237 | "PUT" : { |
44660702 DM |
7238 | "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.", |
7239 | "method" : "PUT", | |
7240 | "name" : "update_vm", | |
56122987 | 7241 | "parameters" : { |
7aacca6f | 7242 | "additionalProperties" : 0, |
56122987 | 7243 | "properties" : { |
44660702 DM |
7244 | "acpi" : { |
7245 | "default" : 1, | |
7246 | "description" : "Enable/disable ACPI.", | |
7aacca6f | 7247 | "optional" : 1, |
013dc89f DM |
7248 | "type" : "boolean", |
7249 | "typetext" : "<boolean>" | |
7aacca6f | 7250 | }, |
44660702 DM |
7251 | "agent" : { |
7252 | "default" : 0, | |
7253 | "description" : "Enable/disable Qemu GuestAgent.", | |
7aacca6f | 7254 | "optional" : 1, |
013dc89f DM |
7255 | "type" : "boolean", |
7256 | "typetext" : "<boolean>" | |
56122987 | 7257 | }, |
44660702 | 7258 | "args" : { |
c2993fe5 | 7259 | "description" : "Arbitrary arguments passed to kvm.", |
7aacca6f | 7260 | "optional" : 1, |
c2993fe5 | 7261 | "type" : "string", |
013dc89f | 7262 | "typetext" : "<string>", |
c2993fe5 | 7263 | "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n" |
7aacca6f | 7264 | }, |
44660702 DM |
7265 | "autostart" : { |
7266 | "default" : 0, | |
7267 | "description" : "Automatic restart after crash (currently ignored).", | |
7aacca6f | 7268 | "optional" : 1, |
013dc89f DM |
7269 | "type" : "boolean", |
7270 | "typetext" : "<boolean>" | |
7aacca6f | 7271 | }, |
44660702 DM |
7272 | "balloon" : { |
7273 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
7274 | "minimum" : 0, | |
7275 | "optional" : 1, | |
4bd7df8b | 7276 | "type" : "integer", |
013dc89f | 7277 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
7278 | }, |
7279 | "bios" : { | |
7280 | "default" : "seabios", | |
7281 | "description" : "Select BIOS implementation.", | |
7aacca6f | 7282 | "enum" : [ |
44660702 DM |
7283 | "seabios", |
7284 | "ovmf" | |
7aacca6f | 7285 | ], |
56122987 | 7286 | "optional" : 1, |
7aacca6f DM |
7287 | "type" : "string" |
7288 | }, | |
44660702 DM |
7289 | "boot" : { |
7290 | "default" : "cdn", | |
7291 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
7aacca6f | 7292 | "optional" : 1, |
44660702 DM |
7293 | "pattern" : "[acdn]{1,4}", |
7294 | "type" : "string" | |
56122987 | 7295 | }, |
44660702 DM |
7296 | "bootdisk" : { |
7297 | "description" : "Enable booting from specified disk.", | |
7298 | "format" : "pve-qm-bootdisk", | |
7299 | "optional" : 1, | |
7300 | "pattern" : "(ide|sata|scsi|virtio)\\d+", | |
7301 | "type" : "string" | |
7302 | }, | |
7303 | "cdrom" : { | |
7304 | "description" : "This is an alias for option -ide2", | |
de0983cb | 7305 | "format" : "pve-qm-ide", |
56122987 | 7306 | "optional" : 1, |
7aacca6f | 7307 | "type" : "string", |
013dc89f | 7308 | "typetext" : "<volume>" |
44660702 DM |
7309 | }, |
7310 | "cores" : { | |
7311 | "default" : 1, | |
7312 | "description" : "The number of cores per socket.", | |
7313 | "minimum" : 1, | |
7314 | "optional" : 1, | |
4bd7df8b | 7315 | "type" : "integer", |
013dc89f | 7316 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
7317 | }, |
7318 | "cpu" : { | |
7319 | "description" : "Emulated CPU type.", | |
7320 | "format" : { | |
7321 | "cputype" : { | |
7322 | "default" : "kvm64", | |
7323 | "default_key" : 1, | |
7324 | "description" : "Emulated CPU type.", | |
7325 | "enum" : [ | |
7326 | "486", | |
7327 | "athlon", | |
f004f5b9 DM |
7328 | "Broadwell", |
7329 | "Broadwell-noTSX", | |
7330 | "Conroe", | |
44660702 | 7331 | "core2duo", |
f004f5b9 DM |
7332 | "coreduo", |
7333 | "Haswell", | |
7334 | "Haswell-noTSX", | |
7335 | "host", | |
7336 | "IvyBridge", | |
44660702 DM |
7337 | "kvm32", |
7338 | "kvm64", | |
44660702 | 7339 | "Nehalem", |
44660702 DM |
7340 | "Opteron_G1", |
7341 | "Opteron_G2", | |
7342 | "Opteron_G3", | |
7343 | "Opteron_G4", | |
7344 | "Opteron_G5", | |
f004f5b9 DM |
7345 | "Penryn", |
7346 | "pentium", | |
7347 | "pentium2", | |
7348 | "pentium3", | |
7349 | "phenom", | |
7350 | "qemu32", | |
7351 | "qemu64", | |
7352 | "SandyBridge", | |
7353 | "Westmere" | |
44660702 | 7354 | ], |
44660702 DM |
7355 | "type" : "string" |
7356 | }, | |
7357 | "hidden" : { | |
7358 | "default" : 0, | |
7359 | "description" : "Do not identify as a KVM virtual machine.", | |
7360 | "optional" : 1, | |
7361 | "type" : "boolean" | |
7362 | } | |
7363 | }, | |
7364 | "optional" : 1, | |
4bd7df8b | 7365 | "type" : "string", |
013dc89f | 7366 | "typetext" : "[cputype=]<enum> [,hidden=<1|0>]" |
44660702 DM |
7367 | }, |
7368 | "cpulimit" : { | |
7369 | "default" : 0, | |
c2993fe5 | 7370 | "description" : "Limit of CPU usage.", |
44660702 DM |
7371 | "maximum" : 128, |
7372 | "minimum" : 0, | |
7373 | "optional" : 1, | |
c2993fe5 | 7374 | "type" : "number", |
013dc89f | 7375 | "typetext" : "<number> (0 - 128)", |
c2993fe5 | 7376 | "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit." |
44660702 DM |
7377 | }, |
7378 | "cpuunits" : { | |
de0983cb | 7379 | "default" : 1024, |
c2993fe5 | 7380 | "description" : "CPU weight for a VM.", |
44660702 DM |
7381 | "maximum" : 500000, |
7382 | "minimum" : 0, | |
7383 | "optional" : 1, | |
c2993fe5 | 7384 | "type" : "integer", |
013dc89f | 7385 | "typetext" : "<integer> (0 - 500000)", |
c2993fe5 | 7386 | "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0." |
44660702 DM |
7387 | }, |
7388 | "delete" : { | |
7389 | "description" : "A list of settings you want to delete.", | |
7390 | "format" : "pve-configid-list", | |
7391 | "optional" : 1, | |
013dc89f DM |
7392 | "type" : "string", |
7393 | "typetext" : "<string>" | |
44660702 DM |
7394 | }, |
7395 | "description" : { | |
7396 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
7397 | "optional" : 1, | |
013dc89f DM |
7398 | "type" : "string", |
7399 | "typetext" : "<string>" | |
44660702 DM |
7400 | }, |
7401 | "digest" : { | |
7402 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
7403 | "maxLength" : 40, | |
7404 | "optional" : 1, | |
013dc89f DM |
7405 | "type" : "string", |
7406 | "typetext" : "<string>" | |
44660702 DM |
7407 | }, |
7408 | "force" : { | |
7409 | "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.", | |
7410 | "optional" : 1, | |
7411 | "requires" : "delete", | |
013dc89f DM |
7412 | "type" : "boolean", |
7413 | "typetext" : "<boolean>" | |
44660702 DM |
7414 | }, |
7415 | "freeze" : { | |
7416 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
7417 | "optional" : 1, | |
013dc89f DM |
7418 | "type" : "boolean", |
7419 | "typetext" : "<boolean>" | |
44660702 DM |
7420 | }, |
7421 | "hostpci[n]" : { | |
c2993fe5 | 7422 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
7423 | "format" : "pve-qm-hostpci", |
7424 | "optional" : 1, | |
57b78691 | 7425 | "type" : "string", |
4bd7df8b | 7426 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]", |
57b78691 | 7427 | "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
56122987 | 7428 | }, |
7aacca6f | 7429 | "hotplug" : { |
7aacca6f | 7430 | "default" : "network,disk,usb", |
44660702 DM |
7431 | "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.", |
7432 | "format" : "pve-hotplug-features", | |
56122987 | 7433 | "optional" : 1, |
013dc89f DM |
7434 | "type" : "string", |
7435 | "typetext" : "<string>" | |
56122987 | 7436 | }, |
4bd7df8b DM |
7437 | "hugepages" : { |
7438 | "description" : "Enable/disable hugepages memory.", | |
7439 | "enum" : [ | |
7440 | "any", | |
7441 | "2", | |
7442 | "1024" | |
7443 | ], | |
7444 | "optional" : 1, | |
7445 | "type" : "string" | |
7446 | }, | |
56122987 | 7447 | "ide[n]" : { |
7aacca6f | 7448 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", |
56122987 | 7449 | "format" : { |
44660702 DM |
7450 | "aio" : { |
7451 | "description" : "AIO type to use.", | |
7452 | "enum" : [ | |
7453 | "native", | |
7454 | "threads" | |
7455 | ], | |
56122987 | 7456 | "optional" : 1, |
44660702 | 7457 | "type" : "string" |
56122987 | 7458 | }, |
44660702 DM |
7459 | "backup" : { |
7460 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
7461 | "optional" : 1, |
7462 | "type" : "boolean" | |
7463 | }, | |
7464 | "bps" : { | |
de0983cb | 7465 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 7466 | "format_description" : "bps", |
56122987 | 7467 | "optional" : 1, |
44660702 | 7468 | "type" : "integer" |
56122987 | 7469 | }, |
de0983cb DM |
7470 | "bps_max_length" : { |
7471 | "description" : "Maximum length of I/O bursts in seconds.", | |
7472 | "format_description" : "seconds", | |
7473 | "minimum" : 1, | |
7474 | "optional" : 1, | |
7475 | "type" : "integer" | |
7476 | }, | |
44660702 | 7477 | "bps_rd" : { |
de0983cb | 7478 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 7479 | "format_description" : "bps", |
56122987 | 7480 | "optional" : 1, |
44660702 | 7481 | "type" : "integer" |
56122987 | 7482 | }, |
de0983cb DM |
7483 | "bps_rd_length" : { |
7484 | "description" : "Maximum length of read I/O bursts in seconds.", | |
7485 | "format_description" : "seconds", | |
7486 | "minimum" : 1, | |
7487 | "optional" : 1, | |
7488 | "type" : "integer" | |
7489 | }, | |
7aacca6f | 7490 | "bps_wr" : { |
de0983cb | 7491 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
7492 | "format_description" : "bps", |
7493 | "optional" : 1, | |
7494 | "type" : "integer" | |
7aacca6f | 7495 | }, |
de0983cb DM |
7496 | "bps_wr_length" : { |
7497 | "description" : "Maximum length of write I/O bursts in seconds.", | |
7498 | "format_description" : "seconds", | |
7499 | "minimum" : 1, | |
7500 | "optional" : 1, | |
7501 | "type" : "integer" | |
7502 | }, | |
44660702 DM |
7503 | "cache" : { |
7504 | "description" : "The drive's cache mode", | |
7505 | "enum" : [ | |
7506 | "none", | |
7507 | "writethrough", | |
7508 | "writeback", | |
7509 | "unsafe", | |
7510 | "directsync" | |
7511 | ], | |
56122987 | 7512 | "optional" : 1, |
44660702 DM |
7513 | "type" : "string" |
7514 | }, | |
7515 | "cyls" : { | |
7516 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
7517 | "optional" : 1, |
7518 | "type" : "integer" | |
7519 | }, | |
7520 | "detect_zeroes" : { | |
7521 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
7522 | "optional" : 1, | |
7523 | "type" : "boolean" | |
56122987 | 7524 | }, |
7aacca6f | 7525 | "discard" : { |
7aacca6f | 7526 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", |
56122987 | 7527 | "enum" : [ |
7aacca6f DM |
7528 | "ignore", |
7529 | "on" | |
56122987 DM |
7530 | ], |
7531 | "optional" : 1, | |
44660702 | 7532 | "type" : "string" |
7aacca6f | 7533 | }, |
44660702 DM |
7534 | "file" : { |
7535 | "default_key" : 1, | |
7536 | "description" : "The drive's backing volume.", | |
7537 | "format" : "pve-volume-id-or-qm-path", | |
7538 | "format_description" : "volume", | |
7539 | "type" : "string" | |
7aacca6f DM |
7540 | }, |
7541 | "format" : { | |
44660702 | 7542 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
7543 | "enum" : [ |
7544 | "raw", | |
7545 | "cow", | |
7546 | "qcow", | |
7547 | "qed", | |
7548 | "qcow2", | |
7549 | "vmdk", | |
7550 | "cloop" | |
7551 | ], | |
7aacca6f | 7552 | "optional" : 1, |
44660702 | 7553 | "type" : "string" |
56122987 | 7554 | }, |
7aacca6f | 7555 | "heads" : { |
44660702 | 7556 | "description" : "Force the drive's physical geometry to have a specific head count.", |
56122987 | 7557 | "optional" : 1, |
44660702 | 7558 | "type" : "integer" |
7aacca6f | 7559 | }, |
44660702 | 7560 | "iops" : { |
de0983cb | 7561 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 7562 | "format_description" : "iops", |
7aacca6f | 7563 | "optional" : 1, |
44660702 | 7564 | "type" : "integer" |
56122987 | 7565 | }, |
44660702 | 7566 | "iops_max" : { |
de0983cb | 7567 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 7568 | "format_description" : "iops", |
56122987 | 7569 | "optional" : 1, |
44660702 | 7570 | "type" : "integer" |
56122987 | 7571 | }, |
de0983cb DM |
7572 | "iops_max_length" : { |
7573 | "description" : "Maximum length of I/O bursts in seconds.", | |
7574 | "format_description" : "seconds", | |
7575 | "minimum" : 1, | |
7576 | "optional" : 1, | |
7577 | "type" : "integer" | |
7578 | }, | |
44660702 | 7579 | "iops_rd" : { |
de0983cb | 7580 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 7581 | "format_description" : "iops", |
56122987 | 7582 | "optional" : 1, |
44660702 | 7583 | "type" : "integer" |
7aacca6f | 7584 | }, |
de0983cb DM |
7585 | "iops_rd_length" : { |
7586 | "description" : "Maximum length of read I/O bursts in seconds.", | |
7587 | "format_description" : "seconds", | |
7588 | "minimum" : 1, | |
7589 | "optional" : 1, | |
7590 | "type" : "integer" | |
7591 | }, | |
44660702 | 7592 | "iops_rd_max" : { |
de0983cb | 7593 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 7594 | "format_description" : "iops", |
7aacca6f | 7595 | "optional" : 1, |
44660702 | 7596 | "type" : "integer" |
7aacca6f | 7597 | }, |
44660702 | 7598 | "iops_wr" : { |
de0983cb | 7599 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 7600 | "format_description" : "iops", |
7aacca6f | 7601 | "optional" : 1, |
44660702 | 7602 | "type" : "integer" |
56122987 | 7603 | }, |
de0983cb DM |
7604 | "iops_wr_length" : { |
7605 | "description" : "Maximum length of write I/O bursts in seconds.", | |
7606 | "format_description" : "seconds", | |
7607 | "minimum" : 1, | |
7608 | "optional" : 1, | |
7609 | "type" : "integer" | |
7610 | }, | |
44660702 | 7611 | "iops_wr_max" : { |
de0983cb | 7612 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 7613 | "format_description" : "iops", |
7aacca6f | 7614 | "optional" : 1, |
44660702 | 7615 | "type" : "integer" |
7aacca6f DM |
7616 | }, |
7617 | "mbps" : { | |
de0983cb | 7618 | "description" : "Maximum r/w speed in megabytes per second.", |
7aacca6f | 7619 | "format_description" : "mbps", |
7aacca6f | 7620 | "optional" : 1, |
44660702 | 7621 | "type" : "number" |
7aacca6f | 7622 | }, |
44660702 | 7623 | "mbps_max" : { |
de0983cb | 7624 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 7625 | "format_description" : "mbps", |
7aacca6f | 7626 | "optional" : 1, |
44660702 | 7627 | "type" : "number" |
7aacca6f | 7628 | }, |
44660702 | 7629 | "mbps_rd" : { |
de0983cb | 7630 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 7631 | "format_description" : "mbps", |
7aacca6f | 7632 | "optional" : 1, |
44660702 | 7633 | "type" : "number" |
7aacca6f | 7634 | }, |
44660702 | 7635 | "mbps_rd_max" : { |
de0983cb | 7636 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
7637 | "format_description" : "mbps", |
7638 | "optional" : 1, | |
7639 | "type" : "number" | |
7aacca6f | 7640 | }, |
44660702 | 7641 | "mbps_wr" : { |
de0983cb | 7642 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 7643 | "format_description" : "mbps", |
7aacca6f | 7644 | "optional" : 1, |
44660702 DM |
7645 | "type" : "number" |
7646 | }, | |
7647 | "mbps_wr_max" : { | |
de0983cb | 7648 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
7649 | "format_description" : "mbps", |
7650 | "optional" : 1, | |
7651 | "type" : "number" | |
7652 | }, | |
7653 | "media" : { | |
7654 | "default" : "disk", | |
7655 | "description" : "The drive's media type.", | |
56122987 | 7656 | "enum" : [ |
44660702 DM |
7657 | "cdrom", |
7658 | "disk" | |
56122987 | 7659 | ], |
44660702 DM |
7660 | "optional" : 1, |
7661 | "type" : "string" | |
56122987 | 7662 | }, |
7aacca6f | 7663 | "model" : { |
44660702 | 7664 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", |
56122987 | 7665 | "format" : "urlencoded", |
7aacca6f | 7666 | "format_description" : "model", |
44660702 | 7667 | "maxLength" : 120, |
56122987 | 7668 | "optional" : 1, |
44660702 | 7669 | "type" : "string" |
56122987 | 7670 | }, |
44660702 DM |
7671 | "rerror" : { |
7672 | "description" : "Read error action.", | |
7673 | "enum" : [ | |
7674 | "ignore", | |
7675 | "report", | |
7676 | "stop" | |
7677 | ], | |
56122987 | 7678 | "optional" : 1, |
44660702 | 7679 | "type" : "string" |
56122987 | 7680 | }, |
44660702 DM |
7681 | "secs" : { |
7682 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
7683 | "optional" : 1, |
7684 | "type" : "integer" | |
56122987 | 7685 | }, |
44660702 DM |
7686 | "serial" : { |
7687 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
7688 | "format" : "urlencoded", | |
7689 | "format_description" : "serial", | |
7690 | "maxLength" : 60, | |
56122987 | 7691 | "optional" : 1, |
44660702 | 7692 | "type" : "string" |
56122987 | 7693 | }, |
44660702 DM |
7694 | "size" : { |
7695 | "description" : "Disk size. This is purely informational and has no effect.", | |
7696 | "format" : "disk-size", | |
f004f5b9 | 7697 | "format_description" : "DiskSize", |
56122987 | 7698 | "optional" : 1, |
44660702 | 7699 | "type" : "string" |
56122987 | 7700 | }, |
44660702 DM |
7701 | "snapshot" : { |
7702 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 7703 | "optional" : 1, |
44660702 | 7704 | "type" : "boolean" |
56122987 | 7705 | }, |
44660702 DM |
7706 | "trans" : { |
7707 | "description" : "Force disk geometry bios translation mode.", | |
7708 | "enum" : [ | |
7709 | "none", | |
7710 | "lba", | |
7711 | "auto" | |
7712 | ], | |
56122987 | 7713 | "optional" : 1, |
44660702 DM |
7714 | "type" : "string" |
7715 | }, | |
7716 | "volume" : { | |
7717 | "alias" : "file" | |
56122987 | 7718 | }, |
7aacca6f | 7719 | "werror" : { |
44660702 | 7720 | "description" : "Write error action.", |
7aacca6f DM |
7721 | "enum" : [ |
7722 | "enospc", | |
7723 | "ignore", | |
7724 | "report", | |
7725 | "stop" | |
7726 | ], | |
56122987 | 7727 | "optional" : 1, |
44660702 | 7728 | "type" : "string" |
7aacca6f | 7729 | } |
44660702 DM |
7730 | }, |
7731 | "optional" : 1, | |
4bd7df8b | 7732 | "type" : "string", |
013dc89f | 7733 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
7aacca6f | 7734 | }, |
44660702 DM |
7735 | "keyboard" : { |
7736 | "default" : "en-us", | |
c2993fe5 | 7737 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.", |
44660702 DM |
7738 | "enum" : [ |
7739 | "de", | |
7740 | "de-ch", | |
7741 | "da", | |
7742 | "en-gb", | |
7743 | "en-us", | |
7744 | "es", | |
7745 | "fi", | |
7746 | "fr", | |
7747 | "fr-be", | |
7748 | "fr-ca", | |
7749 | "fr-ch", | |
7750 | "hu", | |
7751 | "is", | |
7752 | "it", | |
7753 | "ja", | |
7754 | "lt", | |
7755 | "mk", | |
7756 | "nl", | |
7757 | "no", | |
7758 | "pl", | |
7759 | "pt", | |
7760 | "pt-br", | |
7761 | "sv", | |
7762 | "sl", | |
7763 | "tr" | |
7764 | ], | |
7aacca6f | 7765 | "optional" : 1, |
44660702 | 7766 | "type" : "string" |
7aacca6f | 7767 | }, |
44660702 | 7768 | "kvm" : { |
7aacca6f | 7769 | "default" : 1, |
44660702 | 7770 | "description" : "Enable/disable KVM hardware virtualization.", |
7aacca6f | 7771 | "optional" : 1, |
013dc89f DM |
7772 | "type" : "boolean", |
7773 | "typetext" : "<boolean>" | |
7aacca6f | 7774 | }, |
44660702 DM |
7775 | "localtime" : { |
7776 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
7aacca6f | 7777 | "optional" : 1, |
013dc89f DM |
7778 | "type" : "boolean", |
7779 | "typetext" : "<boolean>" | |
7aacca6f | 7780 | }, |
44660702 DM |
7781 | "lock" : { |
7782 | "description" : "Lock/unlock the VM.", | |
7783 | "enum" : [ | |
7784 | "migrate", | |
7785 | "backup", | |
7786 | "snapshot", | |
7787 | "rollback" | |
7788 | ], | |
7aacca6f | 7789 | "optional" : 1, |
44660702 | 7790 | "type" : "string" |
7aacca6f | 7791 | }, |
44660702 DM |
7792 | "machine" : { |
7793 | "description" : "Specific the Qemu machine type.", | |
7794 | "maxLength" : 40, | |
7aacca6f | 7795 | "optional" : 1, |
44660702 DM |
7796 | "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)", |
7797 | "type" : "string" | |
7aacca6f | 7798 | }, |
44660702 DM |
7799 | "memory" : { |
7800 | "default" : 512, | |
7801 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
7802 | "minimum" : 16, | |
7aacca6f | 7803 | "optional" : 1, |
4bd7df8b | 7804 | "type" : "integer", |
013dc89f | 7805 | "typetext" : "<integer> (16 - N)" |
7aacca6f | 7806 | }, |
44660702 DM |
7807 | "migrate_downtime" : { |
7808 | "default" : 0.1, | |
7809 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
7810 | "minimum" : 0, | |
7aacca6f | 7811 | "optional" : 1, |
4bd7df8b | 7812 | "type" : "number", |
013dc89f | 7813 | "typetext" : "<number> (0 - N)" |
7aacca6f | 7814 | }, |
44660702 | 7815 | "migrate_speed" : { |
7aacca6f | 7816 | "default" : 0, |
44660702 DM |
7817 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", |
7818 | "minimum" : 0, | |
7819 | "optional" : 1, | |
4bd7df8b | 7820 | "type" : "integer", |
013dc89f | 7821 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 7822 | }, |
44660702 DM |
7823 | "name" : { |
7824 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
7825 | "format" : "dns-name", | |
7aacca6f | 7826 | "optional" : 1, |
013dc89f DM |
7827 | "type" : "string", |
7828 | "typetext" : "<string>" | |
7aacca6f | 7829 | }, |
44660702 | 7830 | "net[n]" : { |
c2993fe5 | 7831 | "description" : "Specify network devices.", |
f004f5b9 DM |
7832 | "format" : { |
7833 | "bridge" : { | |
c2993fe5 | 7834 | "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n", |
f004f5b9 DM |
7835 | "format_description" : "bridge", |
7836 | "optional" : 1, | |
7837 | "type" : "string" | |
7838 | }, | |
7839 | "e1000" : { | |
7840 | "alias" : "macaddr", | |
7841 | "keyAlias" : "model" | |
7842 | }, | |
7843 | "e1000-82540em" : { | |
7844 | "alias" : "macaddr", | |
7845 | "keyAlias" : "model" | |
7846 | }, | |
7847 | "e1000-82544gc" : { | |
7848 | "alias" : "macaddr", | |
7849 | "keyAlias" : "model" | |
7850 | }, | |
7851 | "e1000-82545em" : { | |
7852 | "alias" : "macaddr", | |
7853 | "keyAlias" : "model" | |
7854 | }, | |
7855 | "firewall" : { | |
7856 | "description" : "Whether this interface should be protected by the firewall.", | |
7857 | "optional" : 1, | |
7858 | "type" : "boolean" | |
7859 | }, | |
7860 | "i82551" : { | |
7861 | "alias" : "macaddr", | |
7862 | "keyAlias" : "model" | |
7863 | }, | |
7864 | "i82557b" : { | |
7865 | "alias" : "macaddr", | |
7866 | "keyAlias" : "model" | |
7867 | }, | |
7868 | "i82559er" : { | |
7869 | "alias" : "macaddr", | |
7870 | "keyAlias" : "model" | |
7871 | }, | |
7872 | "link_down" : { | |
c2993fe5 | 7873 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
7874 | "optional" : 1, |
7875 | "type" : "boolean" | |
7876 | }, | |
7877 | "macaddr" : { | |
c2993fe5 | 7878 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
f004f5b9 | 7879 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 DM |
7880 | "optional" : 1, |
7881 | "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})", | |
7882 | "type" : "string" | |
7883 | }, | |
7884 | "model" : { | |
7885 | "default_key" : 1, | |
c2993fe5 | 7886 | "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.", |
f004f5b9 DM |
7887 | "enum" : [ |
7888 | "rtl8139", | |
7889 | "ne2k_pci", | |
7890 | "e1000", | |
7891 | "pcnet", | |
7892 | "virtio", | |
7893 | "ne2k_isa", | |
7894 | "i82551", | |
7895 | "i82557b", | |
7896 | "i82559er", | |
7897 | "vmxnet3", | |
7898 | "e1000-82540em", | |
7899 | "e1000-82544gc", | |
7900 | "e1000-82545em" | |
7901 | ], | |
f004f5b9 DM |
7902 | "type" : "string" |
7903 | }, | |
7904 | "ne2k_isa" : { | |
7905 | "alias" : "macaddr", | |
7906 | "keyAlias" : "model" | |
7907 | }, | |
7908 | "ne2k_pci" : { | |
7909 | "alias" : "macaddr", | |
7910 | "keyAlias" : "model" | |
7911 | }, | |
7912 | "pcnet" : { | |
7913 | "alias" : "macaddr", | |
7914 | "keyAlias" : "model" | |
7915 | }, | |
7916 | "queues" : { | |
7917 | "description" : "Number of packet queues to be used on the device.", | |
7918 | "maximum" : 16, | |
7919 | "minimum" : 0, | |
7920 | "optional" : 1, | |
7921 | "type" : "integer" | |
7922 | }, | |
7923 | "rate" : { | |
c2993fe5 | 7924 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
7925 | "minimum" : 0, |
7926 | "optional" : 1, | |
7927 | "type" : "number" | |
7928 | }, | |
7929 | "rtl8139" : { | |
7930 | "alias" : "macaddr", | |
7931 | "keyAlias" : "model" | |
7932 | }, | |
7933 | "tag" : { | |
7934 | "description" : "VLAN tag to apply to packets on this interface.", | |
7935 | "maximum" : 4094, | |
c2993fe5 | 7936 | "minimum" : 1, |
f004f5b9 DM |
7937 | "optional" : 1, |
7938 | "type" : "integer" | |
7939 | }, | |
7940 | "trunks" : { | |
7941 | "description" : "VLAN trunks to pass through this interface.", | |
7942 | "format_description" : "vlanid[;vlanid...]", | |
7943 | "optional" : 1, | |
7944 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
7945 | "type" : "string" | |
7946 | }, | |
7947 | "virtio" : { | |
7948 | "alias" : "macaddr", | |
7949 | "keyAlias" : "model" | |
7950 | }, | |
7951 | "vmxnet3" : { | |
7952 | "alias" : "macaddr", | |
7953 | "keyAlias" : "model" | |
7954 | } | |
7955 | }, | |
7aacca6f | 7956 | "optional" : 1, |
4bd7df8b | 7957 | "type" : "string", |
013dc89f | 7958 | "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]" |
7aacca6f | 7959 | }, |
44660702 DM |
7960 | "node" : { |
7961 | "description" : "The cluster node name.", | |
7962 | "format" : "pve-node", | |
013dc89f DM |
7963 | "type" : "string", |
7964 | "typetext" : "<string>" | |
44660702 DM |
7965 | }, |
7966 | "numa" : { | |
7967 | "default" : 0, | |
7968 | "description" : "Enable/disable NUMA.", | |
7aacca6f | 7969 | "optional" : 1, |
013dc89f DM |
7970 | "type" : "boolean", |
7971 | "typetext" : "<boolean>" | |
7aacca6f | 7972 | }, |
44660702 | 7973 | "numa[n]" : { |
c2993fe5 | 7974 | "description" : "NUMA topology.", |
44660702 DM |
7975 | "format" : { |
7976 | "cpus" : { | |
c2993fe5 | 7977 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
7978 | "format_description" : "id[-id];...", |
7979 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
7980 | "type" : "string" | |
7981 | }, | |
7982 | "hostnodes" : { | |
c2993fe5 | 7983 | "description" : "Host NUMA nodes to use.", |
44660702 DM |
7984 | "format_description" : "id[-id];...", |
7985 | "optional" : 1, | |
7986 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
7987 | "type" : "string" | |
7988 | }, | |
7989 | "memory" : { | |
c2993fe5 | 7990 | "description" : "Amount of memory this NUMA node provides.", |
44660702 DM |
7991 | "optional" : 1, |
7992 | "type" : "number" | |
7993 | }, | |
7994 | "policy" : { | |
c2993fe5 | 7995 | "description" : "NUMA allocation policy.", |
44660702 DM |
7996 | "enum" : [ |
7997 | "preferred", | |
7998 | "bind", | |
7999 | "interleave" | |
8000 | ], | |
44660702 DM |
8001 | "optional" : 1, |
8002 | "type" : "string" | |
8003 | } | |
8004 | }, | |
7aacca6f | 8005 | "optional" : 1, |
4bd7df8b DM |
8006 | "type" : "string", |
8007 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" | |
7aacca6f | 8008 | }, |
44660702 DM |
8009 | "onboot" : { |
8010 | "default" : 0, | |
8011 | "description" : "Specifies whether a VM will be started during system bootup.", | |
7aacca6f | 8012 | "optional" : 1, |
013dc89f DM |
8013 | "type" : "boolean", |
8014 | "typetext" : "<boolean>" | |
7aacca6f | 8015 | }, |
44660702 | 8016 | "ostype" : { |
c2993fe5 | 8017 | "description" : "Specify guest operating system.", |
44660702 DM |
8018 | "enum" : [ |
8019 | "other", | |
8020 | "wxp", | |
8021 | "w2k", | |
8022 | "w2k3", | |
8023 | "w2k8", | |
8024 | "wvista", | |
8025 | "win7", | |
8026 | "win8", | |
8027 | "l24", | |
8028 | "l26", | |
8029 | "solaris" | |
8030 | ], | |
7aacca6f | 8031 | "optional" : 1, |
c2993fe5 DM |
8032 | "type" : "string", |
8033 | "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" | |
7aacca6f | 8034 | }, |
44660702 | 8035 | "parallel[n]" : { |
c2993fe5 | 8036 | "description" : "Map host parallel devices (n is 0 to 2).", |
7aacca6f | 8037 | "optional" : 1, |
44660702 | 8038 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
8039 | "type" : "string", |
8040 | "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" | |
7aacca6f | 8041 | }, |
44660702 DM |
8042 | "protection" : { |
8043 | "default" : 0, | |
c2993fe5 | 8044 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
7aacca6f | 8045 | "optional" : 1, |
013dc89f DM |
8046 | "type" : "boolean", |
8047 | "typetext" : "<boolean>" | |
7aacca6f | 8048 | }, |
44660702 DM |
8049 | "reboot" : { |
8050 | "default" : 1, | |
8051 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", | |
7aacca6f | 8052 | "optional" : 1, |
013dc89f DM |
8053 | "type" : "boolean", |
8054 | "typetext" : "<boolean>" | |
7aacca6f | 8055 | }, |
44660702 DM |
8056 | "revert" : { |
8057 | "description" : "Revert a pending change.", | |
8058 | "format" : "pve-configid-list", | |
7aacca6f | 8059 | "optional" : 1, |
013dc89f DM |
8060 | "type" : "string", |
8061 | "typetext" : "<string>" | |
7aacca6f | 8062 | }, |
44660702 DM |
8063 | "sata[n]" : { |
8064 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", | |
7aacca6f | 8065 | "format" : { |
44660702 DM |
8066 | "aio" : { |
8067 | "description" : "AIO type to use.", | |
8068 | "enum" : [ | |
8069 | "native", | |
8070 | "threads" | |
8071 | ], | |
44660702 DM |
8072 | "optional" : 1, |
8073 | "type" : "string" | |
8074 | }, | |
8075 | "backup" : { | |
8076 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
8077 | "optional" : 1, |
8078 | "type" : "boolean" | |
8079 | }, | |
8080 | "bps" : { | |
de0983cb | 8081 | "description" : "Maximum r/w speed in bytes per second.", |
7aacca6f | 8082 | "format_description" : "bps", |
7aacca6f DM |
8083 | "optional" : 1, |
8084 | "type" : "integer" | |
56122987 | 8085 | }, |
de0983cb DM |
8086 | "bps_max_length" : { |
8087 | "description" : "Maximum length of I/O bursts in seconds.", | |
8088 | "format_description" : "seconds", | |
8089 | "minimum" : 1, | |
8090 | "optional" : 1, | |
8091 | "type" : "integer" | |
8092 | }, | |
44660702 | 8093 | "bps_rd" : { |
de0983cb | 8094 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 8095 | "format_description" : "bps", |
7aacca6f | 8096 | "optional" : 1, |
44660702 | 8097 | "type" : "integer" |
7aacca6f | 8098 | }, |
de0983cb DM |
8099 | "bps_rd_length" : { |
8100 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8101 | "format_description" : "seconds", | |
8102 | "minimum" : 1, | |
8103 | "optional" : 1, | |
8104 | "type" : "integer" | |
8105 | }, | |
44660702 | 8106 | "bps_wr" : { |
de0983cb | 8107 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 8108 | "format_description" : "bps", |
7aacca6f | 8109 | "optional" : 1, |
44660702 | 8110 | "type" : "integer" |
7aacca6f | 8111 | }, |
de0983cb DM |
8112 | "bps_wr_length" : { |
8113 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8114 | "format_description" : "seconds", | |
8115 | "minimum" : 1, | |
8116 | "optional" : 1, | |
8117 | "type" : "integer" | |
8118 | }, | |
44660702 DM |
8119 | "cache" : { |
8120 | "description" : "The drive's cache mode", | |
8121 | "enum" : [ | |
8122 | "none", | |
8123 | "writethrough", | |
8124 | "writeback", | |
8125 | "unsafe", | |
8126 | "directsync" | |
8127 | ], | |
7aacca6f | 8128 | "optional" : 1, |
44660702 | 8129 | "type" : "string" |
7aacca6f | 8130 | }, |
44660702 DM |
8131 | "cyls" : { |
8132 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
7aacca6f | 8133 | "optional" : 1, |
44660702 | 8134 | "type" : "integer" |
7aacca6f | 8135 | }, |
44660702 DM |
8136 | "detect_zeroes" : { |
8137 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
7aacca6f | 8138 | "optional" : 1, |
44660702 | 8139 | "type" : "boolean" |
7aacca6f | 8140 | }, |
44660702 DM |
8141 | "discard" : { |
8142 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
8143 | "enum" : [ | |
8144 | "ignore", | |
8145 | "on" | |
8146 | ], | |
7aacca6f | 8147 | "optional" : 1, |
44660702 DM |
8148 | "type" : "string" |
8149 | }, | |
8150 | "file" : { | |
8151 | "default_key" : 1, | |
8152 | "description" : "The drive's backing volume.", | |
8153 | "format" : "pve-volume-id-or-qm-path", | |
8154 | "format_description" : "volume", | |
8155 | "type" : "string" | |
7aacca6f DM |
8156 | }, |
8157 | "format" : { | |
7aacca6f | 8158 | "description" : "The drive's backing file's data format.", |
56122987 DM |
8159 | "enum" : [ |
8160 | "raw", | |
8161 | "cow", | |
8162 | "qcow", | |
8163 | "qed", | |
8164 | "qcow2", | |
8165 | "vmdk", | |
8166 | "cloop" | |
8167 | ], | |
8168 | "optional" : 1, | |
7aacca6f | 8169 | "type" : "string" |
56122987 | 8170 | }, |
7aacca6f | 8171 | "heads" : { |
7aacca6f | 8172 | "description" : "Force the drive's physical geometry to have a specific head count.", |
44660702 DM |
8173 | "optional" : 1, |
8174 | "type" : "integer" | |
56122987 | 8175 | }, |
44660702 | 8176 | "iops" : { |
de0983cb | 8177 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 8178 | "format_description" : "iops", |
56122987 | 8179 | "optional" : 1, |
44660702 | 8180 | "type" : "integer" |
7aacca6f | 8181 | }, |
44660702 | 8182 | "iops_max" : { |
de0983cb | 8183 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 8184 | "format_description" : "iops", |
7aacca6f | 8185 | "optional" : 1, |
44660702 | 8186 | "type" : "integer" |
56122987 | 8187 | }, |
de0983cb DM |
8188 | "iops_max_length" : { |
8189 | "description" : "Maximum length of I/O bursts in seconds.", | |
8190 | "format_description" : "seconds", | |
8191 | "minimum" : 1, | |
8192 | "optional" : 1, | |
8193 | "type" : "integer" | |
8194 | }, | |
44660702 | 8195 | "iops_rd" : { |
de0983cb | 8196 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 8197 | "format_description" : "iops", |
56122987 | 8198 | "optional" : 1, |
44660702 | 8199 | "type" : "integer" |
7aacca6f | 8200 | }, |
de0983cb DM |
8201 | "iops_rd_length" : { |
8202 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8203 | "format_description" : "seconds", | |
8204 | "minimum" : 1, | |
8205 | "optional" : 1, | |
8206 | "type" : "integer" | |
8207 | }, | |
44660702 | 8208 | "iops_rd_max" : { |
de0983cb | 8209 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 8210 | "format_description" : "iops", |
56122987 | 8211 | "optional" : 1, |
44660702 | 8212 | "type" : "integer" |
56122987 | 8213 | }, |
44660702 | 8214 | "iops_wr" : { |
de0983cb | 8215 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
8216 | "format_description" : "iops", |
8217 | "optional" : 1, | |
8218 | "type" : "integer" | |
56122987 | 8219 | }, |
de0983cb DM |
8220 | "iops_wr_length" : { |
8221 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8222 | "format_description" : "seconds", | |
8223 | "minimum" : 1, | |
8224 | "optional" : 1, | |
8225 | "type" : "integer" | |
8226 | }, | |
44660702 | 8227 | "iops_wr_max" : { |
de0983cb | 8228 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
8229 | "format_description" : "iops", |
8230 | "optional" : 1, | |
8231 | "type" : "integer" | |
8232 | }, | |
8233 | "mbps" : { | |
de0983cb | 8234 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
8235 | "format_description" : "mbps", |
8236 | "optional" : 1, | |
8237 | "type" : "number" | |
8238 | }, | |
8239 | "mbps_max" : { | |
de0983cb | 8240 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
8241 | "format_description" : "mbps", |
8242 | "optional" : 1, | |
8243 | "type" : "number" | |
8244 | }, | |
8245 | "mbps_rd" : { | |
de0983cb | 8246 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
8247 | "format_description" : "mbps", |
8248 | "optional" : 1, | |
8249 | "type" : "number" | |
8250 | }, | |
8251 | "mbps_rd_max" : { | |
de0983cb | 8252 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
8253 | "format_description" : "mbps", |
8254 | "optional" : 1, | |
8255 | "type" : "number" | |
8256 | }, | |
8257 | "mbps_wr" : { | |
de0983cb | 8258 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
8259 | "format_description" : "mbps", |
8260 | "optional" : 1, | |
8261 | "type" : "number" | |
8262 | }, | |
8263 | "mbps_wr_max" : { | |
de0983cb | 8264 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
8265 | "format_description" : "mbps", |
8266 | "optional" : 1, | |
8267 | "type" : "number" | |
8268 | }, | |
8269 | "media" : { | |
8270 | "default" : "disk", | |
8271 | "description" : "The drive's media type.", | |
8272 | "enum" : [ | |
8273 | "cdrom", | |
8274 | "disk" | |
8275 | ], | |
56122987 | 8276 | "optional" : 1, |
44660702 DM |
8277 | "type" : "string" |
8278 | }, | |
8279 | "rerror" : { | |
7aacca6f DM |
8280 | "description" : "Read error action.", |
8281 | "enum" : [ | |
8282 | "ignore", | |
8283 | "report", | |
8284 | "stop" | |
44660702 | 8285 | ], |
56122987 | 8286 | "optional" : 1, |
44660702 | 8287 | "type" : "string" |
56122987 | 8288 | }, |
7aacca6f | 8289 | "secs" : { |
44660702 | 8290 | "description" : "Force the drive's physical geometry to have a specific sector count.", |
56122987 | 8291 | "optional" : 1, |
44660702 | 8292 | "type" : "integer" |
56122987 | 8293 | }, |
44660702 DM |
8294 | "serial" : { |
8295 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
8296 | "format" : "urlencoded", | |
8297 | "format_description" : "serial", | |
8298 | "maxLength" : 60, | |
56122987 | 8299 | "optional" : 1, |
44660702 | 8300 | "type" : "string" |
56122987 | 8301 | }, |
44660702 DM |
8302 | "size" : { |
8303 | "description" : "Disk size. This is purely informational and has no effect.", | |
8304 | "format" : "disk-size", | |
f004f5b9 | 8305 | "format_description" : "DiskSize", |
56122987 | 8306 | "optional" : 1, |
44660702 | 8307 | "type" : "string" |
56122987 DM |
8308 | }, |
8309 | "snapshot" : { | |
7aacca6f | 8310 | "description" : "Whether the drive should be included when making snapshots.", |
56122987 | 8311 | "optional" : 1, |
44660702 | 8312 | "type" : "boolean" |
56122987 | 8313 | }, |
56122987 | 8314 | "trans" : { |
7aacca6f | 8315 | "description" : "Force disk geometry bios translation mode.", |
56122987 DM |
8316 | "enum" : [ |
8317 | "none", | |
8318 | "lba", | |
8319 | "auto" | |
8320 | ], | |
8321 | "optional" : 1, | |
44660702 | 8322 | "type" : "string" |
56122987 | 8323 | }, |
44660702 DM |
8324 | "volume" : { |
8325 | "alias" : "file" | |
56122987 | 8326 | }, |
7aacca6f | 8327 | "werror" : { |
44660702 | 8328 | "description" : "Write error action.", |
56122987 | 8329 | "enum" : [ |
7aacca6f | 8330 | "enospc", |
56122987 | 8331 | "ignore", |
7aacca6f DM |
8332 | "report", |
8333 | "stop" | |
8334 | ], | |
7aacca6f | 8335 | "optional" : 1, |
44660702 DM |
8336 | "type" : "string" |
8337 | } | |
8338 | }, | |
8339 | "optional" : 1, | |
4bd7df8b | 8340 | "type" : "string", |
013dc89f | 8341 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
44660702 DM |
8342 | }, |
8343 | "scsi[n]" : { | |
8344 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).", | |
8345 | "format" : { | |
8346 | "aio" : { | |
7aacca6f | 8347 | "description" : "AIO type to use.", |
56122987 DM |
8348 | "enum" : [ |
8349 | "native", | |
8350 | "threads" | |
44660702 | 8351 | ], |
56122987 | 8352 | "optional" : 1, |
44660702 | 8353 | "type" : "string" |
56122987 | 8354 | }, |
7aacca6f | 8355 | "backup" : { |
7aacca6f | 8356 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 8357 | "optional" : 1, |
44660702 | 8358 | "type" : "boolean" |
56122987 | 8359 | }, |
44660702 | 8360 | "bps" : { |
de0983cb | 8361 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 8362 | "format_description" : "bps", |
7aacca6f | 8363 | "optional" : 1, |
44660702 | 8364 | "type" : "integer" |
7aacca6f | 8365 | }, |
de0983cb DM |
8366 | "bps_max_length" : { |
8367 | "description" : "Maximum length of I/O bursts in seconds.", | |
8368 | "format_description" : "seconds", | |
8369 | "minimum" : 1, | |
8370 | "optional" : 1, | |
8371 | "type" : "integer" | |
8372 | }, | |
44660702 | 8373 | "bps_rd" : { |
de0983cb | 8374 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 8375 | "format_description" : "bps", |
56122987 | 8376 | "optional" : 1, |
44660702 | 8377 | "type" : "integer" |
56122987 | 8378 | }, |
de0983cb DM |
8379 | "bps_rd_length" : { |
8380 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8381 | "format_description" : "seconds", | |
8382 | "minimum" : 1, | |
8383 | "optional" : 1, | |
8384 | "type" : "integer" | |
8385 | }, | |
44660702 | 8386 | "bps_wr" : { |
de0983cb | 8387 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 8388 | "format_description" : "bps", |
56122987 | 8389 | "optional" : 1, |
44660702 | 8390 | "type" : "integer" |
56122987 | 8391 | }, |
de0983cb DM |
8392 | "bps_wr_length" : { |
8393 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8394 | "format_description" : "seconds", | |
8395 | "minimum" : 1, | |
8396 | "optional" : 1, | |
8397 | "type" : "integer" | |
8398 | }, | |
44660702 DM |
8399 | "cache" : { |
8400 | "description" : "The drive's cache mode", | |
8401 | "enum" : [ | |
8402 | "none", | |
8403 | "writethrough", | |
8404 | "writeback", | |
8405 | "unsafe", | |
8406 | "directsync" | |
8407 | ], | |
56122987 | 8408 | "optional" : 1, |
44660702 DM |
8409 | "type" : "string" |
8410 | }, | |
8411 | "cyls" : { | |
8412 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
8413 | "optional" : 1, |
8414 | "type" : "integer" | |
8415 | }, | |
8416 | "detect_zeroes" : { | |
8417 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
8418 | "optional" : 1, | |
8419 | "type" : "boolean" | |
8420 | }, | |
8421 | "discard" : { | |
8422 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
8423 | "enum" : [ | |
8424 | "ignore", | |
8425 | "on" | |
8426 | ], | |
44660702 DM |
8427 | "optional" : 1, |
8428 | "type" : "string" | |
8429 | }, | |
8430 | "file" : { | |
8431 | "default_key" : 1, | |
8432 | "description" : "The drive's backing volume.", | |
8433 | "format" : "pve-volume-id-or-qm-path", | |
8434 | "format_description" : "volume", | |
8435 | "type" : "string" | |
56122987 | 8436 | }, |
7aacca6f | 8437 | "format" : { |
44660702 | 8438 | "description" : "The drive's backing file's data format.", |
7aacca6f DM |
8439 | "enum" : [ |
8440 | "raw", | |
8441 | "cow", | |
8442 | "qcow", | |
8443 | "qed", | |
8444 | "qcow2", | |
8445 | "vmdk", | |
8446 | "cloop" | |
8447 | ], | |
56122987 | 8448 | "optional" : 1, |
44660702 | 8449 | "type" : "string" |
56122987 | 8450 | }, |
44660702 DM |
8451 | "heads" : { |
8452 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 8453 | "optional" : 1, |
44660702 | 8454 | "type" : "integer" |
56122987 | 8455 | }, |
44660702 | 8456 | "iops" : { |
de0983cb | 8457 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 8458 | "format_description" : "iops", |
7aacca6f | 8459 | "optional" : 1, |
44660702 | 8460 | "type" : "integer" |
56122987 | 8461 | }, |
44660702 | 8462 | "iops_max" : { |
de0983cb | 8463 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
7aacca6f | 8464 | "format_description" : "iops", |
7aacca6f | 8465 | "optional" : 1, |
44660702 | 8466 | "type" : "integer" |
56122987 | 8467 | }, |
de0983cb DM |
8468 | "iops_max_length" : { |
8469 | "description" : "Maximum length of I/O bursts in seconds.", | |
8470 | "format_description" : "seconds", | |
8471 | "minimum" : 1, | |
8472 | "optional" : 1, | |
8473 | "type" : "integer" | |
8474 | }, | |
44660702 | 8475 | "iops_rd" : { |
de0983cb | 8476 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 8477 | "format_description" : "iops", |
56122987 | 8478 | "optional" : 1, |
44660702 | 8479 | "type" : "integer" |
56122987 | 8480 | }, |
de0983cb DM |
8481 | "iops_rd_length" : { |
8482 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8483 | "format_description" : "seconds", | |
8484 | "minimum" : 1, | |
8485 | "optional" : 1, | |
8486 | "type" : "integer" | |
8487 | }, | |
44660702 | 8488 | "iops_rd_max" : { |
de0983cb | 8489 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 8490 | "format_description" : "iops", |
56122987 | 8491 | "optional" : 1, |
44660702 | 8492 | "type" : "integer" |
56122987 | 8493 | }, |
44660702 | 8494 | "iops_wr" : { |
de0983cb | 8495 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 8496 | "format_description" : "iops", |
56122987 | 8497 | "optional" : 1, |
44660702 | 8498 | "type" : "integer" |
56122987 | 8499 | }, |
de0983cb DM |
8500 | "iops_wr_length" : { |
8501 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8502 | "format_description" : "seconds", | |
8503 | "minimum" : 1, | |
8504 | "optional" : 1, | |
8505 | "type" : "integer" | |
8506 | }, | |
44660702 | 8507 | "iops_wr_max" : { |
de0983cb | 8508 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
7aacca6f | 8509 | "format_description" : "iops", |
44660702 DM |
8510 | "optional" : 1, |
8511 | "type" : "integer" | |
7aacca6f DM |
8512 | }, |
8513 | "iothread" : { | |
44660702 | 8514 | "description" : "Whether to use iothreads for this drive", |
56122987 | 8515 | "optional" : 1, |
44660702 | 8516 | "type" : "boolean" |
56122987 | 8517 | }, |
44660702 | 8518 | "mbps" : { |
de0983cb | 8519 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 8520 | "format_description" : "mbps", |
56122987 | 8521 | "optional" : 1, |
44660702 | 8522 | "type" : "number" |
56122987 | 8523 | }, |
44660702 | 8524 | "mbps_max" : { |
de0983cb | 8525 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 8526 | "format_description" : "mbps", |
56122987 | 8527 | "optional" : 1, |
44660702 | 8528 | "type" : "number" |
56122987 | 8529 | }, |
44660702 | 8530 | "mbps_rd" : { |
de0983cb | 8531 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 8532 | "format_description" : "mbps", |
7aacca6f | 8533 | "optional" : 1, |
44660702 | 8534 | "type" : "number" |
56122987 | 8535 | }, |
44660702 | 8536 | "mbps_rd_max" : { |
de0983cb | 8537 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 8538 | "format_description" : "mbps", |
7aacca6f | 8539 | "optional" : 1, |
44660702 | 8540 | "type" : "number" |
7aacca6f | 8541 | }, |
44660702 | 8542 | "mbps_wr" : { |
de0983cb | 8543 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 8544 | "format_description" : "mbps", |
56122987 | 8545 | "optional" : 1, |
44660702 | 8546 | "type" : "number" |
56122987 | 8547 | }, |
44660702 | 8548 | "mbps_wr_max" : { |
de0983cb | 8549 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 8550 | "format_description" : "mbps", |
56122987 | 8551 | "optional" : 1, |
44660702 DM |
8552 | "type" : "number" |
8553 | }, | |
8554 | "media" : { | |
8555 | "default" : "disk", | |
8556 | "description" : "The drive's media type.", | |
7aacca6f | 8557 | "enum" : [ |
44660702 DM |
8558 | "cdrom", |
8559 | "disk" | |
7aacca6f | 8560 | ], |
56122987 | 8561 | "optional" : 1, |
44660702 | 8562 | "type" : "string" |
56122987 | 8563 | }, |
7aacca6f | 8564 | "queues" : { |
44660702 | 8565 | "description" : "Number of queues.", |
7aacca6f | 8566 | "minimum" : 2, |
7aacca6f DM |
8567 | "optional" : 1, |
8568 | "type" : "integer" | |
56122987 | 8569 | }, |
44660702 DM |
8570 | "secs" : { |
8571 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 8572 | "optional" : 1, |
44660702 | 8573 | "type" : "integer" |
56122987 | 8574 | }, |
44660702 DM |
8575 | "serial" : { |
8576 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
8577 | "format" : "urlencoded", | |
8578 | "format_description" : "serial", | |
8579 | "maxLength" : 60, | |
56122987 | 8580 | "optional" : 1, |
44660702 | 8581 | "type" : "string" |
56122987 | 8582 | }, |
44660702 DM |
8583 | "size" : { |
8584 | "description" : "Disk size. This is purely informational and has no effect.", | |
8585 | "format" : "disk-size", | |
f004f5b9 | 8586 | "format_description" : "DiskSize", |
44660702 DM |
8587 | "optional" : 1, |
8588 | "type" : "string" | |
8589 | }, | |
8590 | "snapshot" : { | |
8591 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 8592 | "optional" : 1, |
44660702 DM |
8593 | "type" : "boolean" |
8594 | }, | |
8595 | "trans" : { | |
8596 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 8597 | "enum" : [ |
44660702 DM |
8598 | "none", |
8599 | "lba", | |
8600 | "auto" | |
56122987 | 8601 | ], |
44660702 DM |
8602 | "optional" : 1, |
8603 | "type" : "string" | |
8604 | }, | |
8605 | "volume" : { | |
8606 | "alias" : "file" | |
56122987 | 8607 | }, |
7aacca6f | 8608 | "werror" : { |
7aacca6f DM |
8609 | "description" : "Write error action.", |
8610 | "enum" : [ | |
8611 | "enospc", | |
8612 | "ignore", | |
8613 | "report", | |
8614 | "stop" | |
44660702 | 8615 | ], |
56122987 | 8616 | "optional" : 1, |
7aacca6f | 8617 | "type" : "string" |
56122987 | 8618 | } |
44660702 | 8619 | }, |
56122987 | 8620 | "optional" : 1, |
4bd7df8b | 8621 | "type" : "string", |
013dc89f | 8622 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
56122987 DM |
8623 | }, |
8624 | "scsihw" : { | |
44660702 | 8625 | "default" : "lsi", |
c2993fe5 | 8626 | "description" : "SCSI controller model", |
56122987 DM |
8627 | "enum" : [ |
8628 | "lsi", | |
8629 | "lsi53c810", | |
8630 | "virtio-scsi-pci", | |
8631 | "virtio-scsi-single", | |
8632 | "megasas", | |
8633 | "pvscsi" | |
8634 | ], | |
8635 | "optional" : 1, | |
56122987 DM |
8636 | "type" : "string" |
8637 | }, | |
44660702 | 8638 | "serial[n]" : { |
c2993fe5 | 8639 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
56122987 | 8640 | "optional" : 1, |
44660702 | 8641 | "pattern" : "(/dev/.+|socket)", |
c2993fe5 | 8642 | "type" : "string", |
57b78691 | 8643 | "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
56122987 | 8644 | }, |
44660702 DM |
8645 | "shares" : { |
8646 | "default" : 1000, | |
8647 | "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning", | |
8648 | "maximum" : 50000, | |
8649 | "minimum" : 0, | |
7aacca6f | 8650 | "optional" : 1, |
4bd7df8b | 8651 | "type" : "integer", |
013dc89f | 8652 | "typetext" : "<integer> (0 - 50000)" |
56122987 | 8653 | }, |
7aacca6f DM |
8654 | "skiplock" : { |
8655 | "description" : "Ignore locks - only root is allowed to use this option.", | |
44660702 | 8656 | "optional" : 1, |
013dc89f DM |
8657 | "type" : "boolean", |
8658 | "typetext" : "<boolean>" | |
56122987 | 8659 | }, |
44660702 DM |
8660 | "smbios1" : { |
8661 | "description" : "Specify SMBIOS type 1 fields.", | |
8662 | "format" : "pve-qm-smbios1", | |
8663 | "maxLength" : 256, | |
56122987 | 8664 | "optional" : 1, |
4bd7df8b DM |
8665 | "type" : "string", |
8666 | "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]" | |
56122987 | 8667 | }, |
44660702 DM |
8668 | "smp" : { |
8669 | "default" : 1, | |
8670 | "description" : "The number of CPUs. Please use option -sockets instead.", | |
8671 | "minimum" : 1, | |
56122987 | 8672 | "optional" : 1, |
4bd7df8b | 8673 | "type" : "integer", |
013dc89f | 8674 | "typetext" : "<integer> (1 - N)" |
56122987 | 8675 | }, |
44660702 DM |
8676 | "sockets" : { |
8677 | "default" : 1, | |
8678 | "description" : "The number of CPU sockets.", | |
8679 | "minimum" : 1, | |
56122987 | 8680 | "optional" : 1, |
4bd7df8b | 8681 | "type" : "integer", |
013dc89f | 8682 | "typetext" : "<integer> (1 - N)" |
56122987 | 8683 | }, |
44660702 DM |
8684 | "startdate" : { |
8685 | "default" : "now", | |
8686 | "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.", | |
8687 | "optional" : 1, | |
8688 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", | |
7aacca6f | 8689 | "type" : "string", |
44660702 DM |
8690 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" |
8691 | }, | |
8692 | "startup" : { | |
8693 | "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.", | |
8694 | "format" : "pve-startup-order", | |
7aacca6f | 8695 | "optional" : 1, |
44660702 DM |
8696 | "type" : "string", |
8697 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
7aacca6f | 8698 | }, |
44660702 DM |
8699 | "tablet" : { |
8700 | "default" : 1, | |
c2993fe5 | 8701 | "description" : "Enable/disable the USB tablet device.", |
7aacca6f | 8702 | "optional" : 1, |
c2993fe5 | 8703 | "type" : "boolean", |
013dc89f | 8704 | "typetext" : "<boolean>", |
c2993fe5 | 8705 | "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)." |
7aacca6f | 8706 | }, |
44660702 DM |
8707 | "tdf" : { |
8708 | "default" : 0, | |
8709 | "description" : "Enable/disable time drift fix.", | |
7aacca6f | 8710 | "optional" : 1, |
013dc89f DM |
8711 | "type" : "boolean", |
8712 | "typetext" : "<boolean>" | |
7aacca6f | 8713 | }, |
44660702 DM |
8714 | "template" : { |
8715 | "default" : 0, | |
8716 | "description" : "Enable/disable Template.", | |
7aacca6f | 8717 | "optional" : 1, |
013dc89f DM |
8718 | "type" : "boolean", |
8719 | "typetext" : "<boolean>" | |
7aacca6f | 8720 | }, |
44660702 | 8721 | "unused[n]" : { |
c2993fe5 | 8722 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
44660702 | 8723 | "format" : "pve-volume-id", |
7aacca6f | 8724 | "optional" : 1, |
013dc89f DM |
8725 | "type" : "string", |
8726 | "typetext" : "<string>" | |
7aacca6f | 8727 | }, |
44660702 | 8728 | "usb[n]" : { |
c2993fe5 | 8729 | "description" : "Configure an USB device (n is 0 to 4).", |
56122987 | 8730 | "format" : { |
44660702 DM |
8731 | "host" : { |
8732 | "default_key" : 1, | |
c2993fe5 | 8733 | "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n", |
44660702 DM |
8734 | "format" : "pve-qm-usb-device", |
8735 | "format_description" : "HOSTUSBDEVICE|spice", | |
8736 | "type" : "string" | |
7aacca6f | 8737 | }, |
44660702 | 8738 | "usb3" : { |
c2993fe5 DM |
8739 | "default" : 0, |
8740 | "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).", | |
7aacca6f | 8741 | "optional" : 1, |
44660702 | 8742 | "type" : "boolean" |
7aacca6f | 8743 | } |
44660702 | 8744 | }, |
7aacca6f | 8745 | "optional" : 1, |
4bd7df8b DM |
8746 | "type" : "string", |
8747 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
7aacca6f | 8748 | }, |
44660702 | 8749 | "vcpus" : { |
7aacca6f | 8750 | "default" : 0, |
44660702 DM |
8751 | "description" : "Number of hotplugged vcpus.", |
8752 | "minimum" : 1, | |
7aacca6f | 8753 | "optional" : 1, |
4bd7df8b | 8754 | "type" : "integer", |
013dc89f | 8755 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 8756 | }, |
44660702 | 8757 | "vga" : { |
c2993fe5 | 8758 | "description" : "Select the VGA type.", |
44660702 DM |
8759 | "enum" : [ |
8760 | "std", | |
8761 | "cirrus", | |
8762 | "vmware", | |
8763 | "qxl", | |
8764 | "serial0", | |
8765 | "serial1", | |
8766 | "serial2", | |
8767 | "serial3", | |
8768 | "qxl2", | |
8769 | "qxl3", | |
8770 | "qxl4" | |
8771 | ], | |
7aacca6f | 8772 | "optional" : 1, |
c2993fe5 DM |
8773 | "type" : "string", |
8774 | "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal." | |
7aacca6f | 8775 | }, |
44660702 DM |
8776 | "virtio[n]" : { |
8777 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
7aacca6f | 8778 | "format" : { |
7aacca6f | 8779 | "aio" : { |
7aacca6f | 8780 | "description" : "AIO type to use.", |
56122987 | 8781 | "enum" : [ |
7aacca6f DM |
8782 | "native", |
8783 | "threads" | |
7aacca6f | 8784 | ], |
44660702 DM |
8785 | "optional" : 1, |
8786 | "type" : "string" | |
56122987 | 8787 | }, |
44660702 DM |
8788 | "backup" : { |
8789 | "description" : "Whether the drive should be included when making backups.", | |
56122987 | 8790 | "optional" : 1, |
44660702 | 8791 | "type" : "boolean" |
7aacca6f | 8792 | }, |
44660702 | 8793 | "bps" : { |
de0983cb | 8794 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 8795 | "format_description" : "bps", |
7aacca6f | 8796 | "optional" : 1, |
44660702 | 8797 | "type" : "integer" |
56122987 | 8798 | }, |
de0983cb DM |
8799 | "bps_max_length" : { |
8800 | "description" : "Maximum length of I/O bursts in seconds.", | |
8801 | "format_description" : "seconds", | |
8802 | "minimum" : 1, | |
8803 | "optional" : 1, | |
8804 | "type" : "integer" | |
8805 | }, | |
56122987 | 8806 | "bps_rd" : { |
de0983cb | 8807 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 8808 | "format_description" : "bps", |
56122987 | 8809 | "optional" : 1, |
7aacca6f | 8810 | "type" : "integer" |
56122987 | 8811 | }, |
de0983cb DM |
8812 | "bps_rd_length" : { |
8813 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8814 | "format_description" : "seconds", | |
8815 | "minimum" : 1, | |
8816 | "optional" : 1, | |
8817 | "type" : "integer" | |
8818 | }, | |
44660702 | 8819 | "bps_wr" : { |
de0983cb | 8820 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 8821 | "format_description" : "bps", |
56122987 | 8822 | "optional" : 1, |
7aacca6f | 8823 | "type" : "integer" |
56122987 | 8824 | }, |
de0983cb DM |
8825 | "bps_wr_length" : { |
8826 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8827 | "format_description" : "seconds", | |
8828 | "minimum" : 1, | |
8829 | "optional" : 1, | |
8830 | "type" : "integer" | |
8831 | }, | |
7aacca6f | 8832 | "cache" : { |
44660702 | 8833 | "description" : "The drive's cache mode", |
7aacca6f DM |
8834 | "enum" : [ |
8835 | "none", | |
8836 | "writethrough", | |
8837 | "writeback", | |
8838 | "unsafe", | |
8839 | "directsync" | |
8840 | ], | |
56122987 | 8841 | "optional" : 1, |
44660702 | 8842 | "type" : "string" |
7aacca6f | 8843 | }, |
44660702 DM |
8844 | "cyls" : { |
8845 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
8846 | "optional" : 1, |
8847 | "type" : "integer" | |
8848 | }, | |
8849 | "detect_zeroes" : { | |
8850 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
8851 | "optional" : 1, | |
8852 | "type" : "boolean" | |
8853 | }, | |
8854 | "discard" : { | |
8855 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
56122987 | 8856 | "enum" : [ |
44660702 DM |
8857 | "ignore", |
8858 | "on" | |
56122987 DM |
8859 | ], |
8860 | "optional" : 1, | |
44660702 | 8861 | "type" : "string" |
56122987 | 8862 | }, |
44660702 DM |
8863 | "file" : { |
8864 | "default_key" : 1, | |
8865 | "description" : "The drive's backing volume.", | |
8866 | "format" : "pve-volume-id-or-qm-path", | |
8867 | "format_description" : "volume", | |
8868 | "type" : "string" | |
8869 | }, | |
8870 | "format" : { | |
8871 | "description" : "The drive's backing file's data format.", | |
8872 | "enum" : [ | |
8873 | "raw", | |
8874 | "cow", | |
8875 | "qcow", | |
8876 | "qed", | |
8877 | "qcow2", | |
8878 | "vmdk", | |
8879 | "cloop" | |
8880 | ], | |
56122987 | 8881 | "optional" : 1, |
44660702 | 8882 | "type" : "string" |
56122987 | 8883 | }, |
44660702 DM |
8884 | "heads" : { |
8885 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
8886 | "optional" : 1, |
8887 | "type" : "integer" | |
8888 | }, | |
8889 | "iops" : { | |
de0983cb | 8890 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 | 8891 | "format_description" : "iops", |
56122987 | 8892 | "optional" : 1, |
44660702 DM |
8893 | "type" : "integer" |
8894 | }, | |
8895 | "iops_max" : { | |
de0983cb | 8896 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 DM |
8897 | "format_description" : "iops", |
8898 | "optional" : 1, | |
8899 | "type" : "integer" | |
56122987 | 8900 | }, |
de0983cb DM |
8901 | "iops_max_length" : { |
8902 | "description" : "Maximum length of I/O bursts in seconds.", | |
8903 | "format_description" : "seconds", | |
8904 | "minimum" : 1, | |
8905 | "optional" : 1, | |
8906 | "type" : "integer" | |
8907 | }, | |
7aacca6f | 8908 | "iops_rd" : { |
de0983cb | 8909 | "description" : "Maximum read I/O in operations per second.", |
7aacca6f | 8910 | "format_description" : "iops", |
7aacca6f | 8911 | "optional" : 1, |
44660702 | 8912 | "type" : "integer" |
56122987 | 8913 | }, |
de0983cb DM |
8914 | "iops_rd_length" : { |
8915 | "description" : "Maximum length of read I/O bursts in seconds.", | |
8916 | "format_description" : "seconds", | |
8917 | "minimum" : 1, | |
8918 | "optional" : 1, | |
8919 | "type" : "integer" | |
8920 | }, | |
44660702 | 8921 | "iops_rd_max" : { |
de0983cb | 8922 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
8923 | "format_description" : "iops", |
8924 | "optional" : 1, | |
8925 | "type" : "integer" | |
8926 | }, | |
8927 | "iops_wr" : { | |
de0983cb | 8928 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
8929 | "format_description" : "iops", |
8930 | "optional" : 1, | |
8931 | "type" : "integer" | |
8932 | }, | |
de0983cb DM |
8933 | "iops_wr_length" : { |
8934 | "description" : "Maximum length of write I/O bursts in seconds.", | |
8935 | "format_description" : "seconds", | |
8936 | "minimum" : 1, | |
8937 | "optional" : 1, | |
8938 | "type" : "integer" | |
8939 | }, | |
44660702 | 8940 | "iops_wr_max" : { |
de0983cb | 8941 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
8942 | "format_description" : "iops", |
8943 | "optional" : 1, | |
8944 | "type" : "integer" | |
8945 | }, | |
8946 | "iothread" : { | |
8947 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
8948 | "optional" : 1, |
8949 | "type" : "boolean" | |
8950 | }, | |
8951 | "mbps" : { | |
de0983cb | 8952 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 8953 | "format_description" : "mbps", |
7aacca6f | 8954 | "optional" : 1, |
44660702 | 8955 | "type" : "number" |
7aacca6f DM |
8956 | }, |
8957 | "mbps_max" : { | |
de0983cb | 8958 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 8959 | "format_description" : "mbps", |
56122987 | 8960 | "optional" : 1, |
44660702 | 8961 | "type" : "number" |
56122987 | 8962 | }, |
44660702 | 8963 | "mbps_rd" : { |
de0983cb | 8964 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 8965 | "format_description" : "mbps", |
56122987 | 8966 | "optional" : 1, |
44660702 | 8967 | "type" : "number" |
56122987 | 8968 | }, |
44660702 | 8969 | "mbps_rd_max" : { |
de0983cb | 8970 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
8971 | "format_description" : "mbps", |
8972 | "optional" : 1, | |
8973 | "type" : "number" | |
8974 | }, | |
8975 | "mbps_wr" : { | |
de0983cb | 8976 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
8977 | "format_description" : "mbps", |
8978 | "optional" : 1, | |
8979 | "type" : "number" | |
8980 | }, | |
8981 | "mbps_wr_max" : { | |
de0983cb | 8982 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
8983 | "format_description" : "mbps", |
8984 | "optional" : 1, | |
8985 | "type" : "number" | |
8986 | }, | |
8987 | "media" : { | |
8988 | "default" : "disk", | |
8989 | "description" : "The drive's media type.", | |
56122987 | 8990 | "enum" : [ |
44660702 DM |
8991 | "cdrom", |
8992 | "disk" | |
56122987 DM |
8993 | ], |
8994 | "optional" : 1, | |
44660702 | 8995 | "type" : "string" |
56122987 | 8996 | }, |
44660702 DM |
8997 | "rerror" : { |
8998 | "description" : "Read error action.", | |
8999 | "enum" : [ | |
9000 | "ignore", | |
9001 | "report", | |
9002 | "stop" | |
9003 | ], | |
56122987 | 9004 | "optional" : 1, |
44660702 | 9005 | "type" : "string" |
56122987 | 9006 | }, |
44660702 DM |
9007 | "secs" : { |
9008 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 9009 | "optional" : 1, |
44660702 | 9010 | "type" : "integer" |
56122987 | 9011 | }, |
7aacca6f DM |
9012 | "serial" : { |
9013 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
7aacca6f | 9014 | "format" : "urlencoded", |
44660702 | 9015 | "format_description" : "serial", |
7aacca6f | 9016 | "maxLength" : 60, |
44660702 DM |
9017 | "optional" : 1, |
9018 | "type" : "string" | |
56122987 | 9019 | }, |
44660702 DM |
9020 | "size" : { |
9021 | "description" : "Disk size. This is purely informational and has no effect.", | |
9022 | "format" : "disk-size", | |
f004f5b9 | 9023 | "format_description" : "DiskSize", |
44660702 DM |
9024 | "optional" : 1, |
9025 | "type" : "string" | |
56122987 | 9026 | }, |
44660702 DM |
9027 | "snapshot" : { |
9028 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 9029 | "optional" : 1, |
44660702 | 9030 | "type" : "boolean" |
56122987 | 9031 | }, |
44660702 DM |
9032 | "trans" : { |
9033 | "description" : "Force disk geometry bios translation mode.", | |
9034 | "enum" : [ | |
9035 | "none", | |
9036 | "lba", | |
9037 | "auto" | |
9038 | ], | |
7aacca6f | 9039 | "optional" : 1, |
44660702 | 9040 | "type" : "string" |
7aacca6f | 9041 | }, |
44660702 DM |
9042 | "volume" : { |
9043 | "alias" : "file" | |
9044 | }, | |
9045 | "werror" : { | |
9046 | "description" : "Write error action.", | |
9047 | "enum" : [ | |
9048 | "enospc", | |
9049 | "ignore", | |
9050 | "report", | |
9051 | "stop" | |
9052 | ], | |
7aacca6f | 9053 | "optional" : 1, |
44660702 | 9054 | "type" : "string" |
56122987 DM |
9055 | } |
9056 | }, | |
7aacca6f | 9057 | "optional" : 1, |
4bd7df8b | 9058 | "type" : "string", |
013dc89f | 9059 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
7aacca6f | 9060 | }, |
44660702 DM |
9061 | "vmid" : { |
9062 | "description" : "The (unique) ID of the VM.", | |
9063 | "format" : "pve-vmid", | |
9064 | "minimum" : 1, | |
4bd7df8b | 9065 | "type" : "integer", |
013dc89f | 9066 | "typetext" : "<integer> (1 - N)" |
56122987 | 9067 | }, |
44660702 | 9068 | "watchdog" : { |
c2993fe5 | 9069 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 9070 | "format" : "pve-qm-watchdog", |
56122987 | 9071 | "optional" : 1, |
c2993fe5 | 9072 | "type" : "string", |
013dc89f | 9073 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", |
c2993fe5 | 9074 | "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)" |
56122987 | 9075 | } |
7aacca6f | 9076 | } |
56122987 | 9077 | }, |
56122987 DM |
9078 | "permissions" : { |
9079 | "check" : [ | |
9080 | "perm", | |
9081 | "/vms/{vmid}", | |
9082 | [ | |
9083 | "VM.Config.Disk", | |
9084 | "VM.Config.CDROM", | |
9085 | "VM.Config.CPU", | |
9086 | "VM.Config.Memory", | |
9087 | "VM.Config.Network", | |
9088 | "VM.Config.HWType", | |
9089 | "VM.Config.Options" | |
9090 | ], | |
9091 | "any", | |
9092 | 1 | |
9093 | ] | |
9094 | }, | |
44660702 | 9095 | "protected" : 1, |
7aacca6f | 9096 | "proxyto" : "node", |
56122987 | 9097 | "returns" : { |
7aacca6f DM |
9098 | "type" : "null" |
9099 | } | |
9100 | } | |
9101 | }, | |
44660702 DM |
9102 | "leaf" : 1, |
9103 | "path" : "/nodes/{node}/qemu/{vmid}/config", | |
7aacca6f DM |
9104 | "text" : "config" |
9105 | }, | |
9106 | { | |
9107 | "info" : { | |
56122987 | 9108 | "GET" : { |
44660702 | 9109 | "description" : "Get virtual machine configuration, including pending changes.", |
56122987 | 9110 | "method" : "GET", |
44660702 | 9111 | "name" : "vm_pending", |
7aacca6f | 9112 | "parameters" : { |
44660702 | 9113 | "additionalProperties" : 0, |
7aacca6f DM |
9114 | "properties" : { |
9115 | "node" : { | |
7aacca6f | 9116 | "description" : "The cluster node name.", |
44660702 | 9117 | "format" : "pve-node", |
013dc89f DM |
9118 | "type" : "string", |
9119 | "typetext" : "<string>" | |
7aacca6f DM |
9120 | }, |
9121 | "vmid" : { | |
44660702 | 9122 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 9123 | "format" : "pve-vmid", |
44660702 | 9124 | "minimum" : 1, |
4bd7df8b | 9125 | "type" : "integer", |
013dc89f | 9126 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 9127 | } |
44660702 | 9128 | } |
7aacca6f | 9129 | }, |
56122987 DM |
9130 | "permissions" : { |
9131 | "check" : [ | |
9132 | "perm", | |
9133 | "/vms/{vmid}", | |
9134 | [ | |
9135 | "VM.Audit" | |
9136 | ] | |
9137 | ] | |
9138 | }, | |
7aacca6f | 9139 | "proxyto" : "node", |
44660702 DM |
9140 | "returns" : { |
9141 | "items" : { | |
9142 | "properties" : { | |
9143 | "delete" : { | |
9144 | "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.", | |
9145 | "maximum" : 2, | |
9146 | "minimum" : 0, | |
9147 | "optional" : 1, | |
9148 | "type" : "integer" | |
9149 | }, | |
9150 | "key" : { | |
9151 | "description" : "Configuration option name.", | |
9152 | "type" : "string" | |
9153 | }, | |
9154 | "pending" : { | |
9155 | "description" : "Pending value.", | |
9156 | "optional" : 1, | |
9157 | "type" : "string" | |
9158 | }, | |
9159 | "value" : { | |
9160 | "description" : "Current value.", | |
9161 | "optional" : 1, | |
9162 | "type" : "string" | |
9163 | } | |
9164 | }, | |
9165 | "type" : "object" | |
9166 | }, | |
9167 | "type" : "array" | |
9168 | } | |
56122987 DM |
9169 | } |
9170 | }, | |
7aacca6f | 9171 | "leaf" : 1, |
44660702 DM |
9172 | "path" : "/nodes/{node}/qemu/{vmid}/pending", |
9173 | "text" : "pending" | |
56122987 DM |
9174 | }, |
9175 | { | |
56122987 DM |
9176 | "info" : { |
9177 | "PUT" : { | |
7aacca6f | 9178 | "description" : "Unlink/delete disk images.", |
7aacca6f | 9179 | "method" : "PUT", |
7aacca6f | 9180 | "name" : "unlink", |
56122987 | 9181 | "parameters" : { |
44660702 | 9182 | "additionalProperties" : 0, |
56122987 | 9183 | "properties" : { |
7aacca6f | 9184 | "force" : { |
44660702 | 9185 | "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.", |
7aacca6f | 9186 | "optional" : 1, |
013dc89f DM |
9187 | "type" : "boolean", |
9188 | "typetext" : "<boolean>" | |
7aacca6f | 9189 | }, |
56122987 DM |
9190 | "idlist" : { |
9191 | "description" : "A list of disk IDs you want to delete.", | |
44660702 | 9192 | "format" : "pve-configid-list", |
013dc89f DM |
9193 | "type" : "string", |
9194 | "typetext" : "<string>" | |
44660702 DM |
9195 | }, |
9196 | "node" : { | |
9197 | "description" : "The cluster node name.", | |
9198 | "format" : "pve-node", | |
013dc89f DM |
9199 | "type" : "string", |
9200 | "typetext" : "<string>" | |
56122987 DM |
9201 | }, |
9202 | "vmid" : { | |
7aacca6f | 9203 | "description" : "The (unique) ID of the VM.", |
44660702 | 9204 | "format" : "pve-vmid", |
7aacca6f | 9205 | "minimum" : 1, |
4bd7df8b | 9206 | "type" : "integer", |
013dc89f | 9207 | "typetext" : "<integer> (1 - N)" |
56122987 | 9208 | } |
44660702 DM |
9209 | } |
9210 | }, | |
9211 | "permissions" : { | |
9212 | "check" : [ | |
9213 | "perm", | |
9214 | "/vms/{vmid}", | |
9215 | [ | |
9216 | "VM.Config.Disk" | |
9217 | ] | |
9218 | ] | |
9219 | }, | |
9220 | "protected" : 1, | |
9221 | "proxyto" : "node", | |
9222 | "returns" : { | |
9223 | "type" : "null" | |
7aacca6f | 9224 | } |
56122987 | 9225 | } |
7aacca6f | 9226 | }, |
44660702 | 9227 | "leaf" : 1, |
7aacca6f | 9228 | "path" : "/nodes/{node}/qemu/{vmid}/unlink", |
44660702 | 9229 | "text" : "unlink" |
56122987 DM |
9230 | }, |
9231 | { | |
56122987 DM |
9232 | "info" : { |
9233 | "POST" : { | |
7aacca6f | 9234 | "description" : "Creates a TCP VNC proxy connections.", |
44660702 DM |
9235 | "method" : "POST", |
9236 | "name" : "vncproxy", | |
56122987 | 9237 | "parameters" : { |
44660702 | 9238 | "additionalProperties" : 0, |
56122987 | 9239 | "properties" : { |
44660702 DM |
9240 | "node" : { |
9241 | "description" : "The cluster node name.", | |
9242 | "format" : "pve-node", | |
013dc89f DM |
9243 | "type" : "string", |
9244 | "typetext" : "<string>" | |
44660702 | 9245 | }, |
56122987 | 9246 | "vmid" : { |
7aacca6f | 9247 | "description" : "The (unique) ID of the VM.", |
44660702 | 9248 | "format" : "pve-vmid", |
56122987 | 9249 | "minimum" : 1, |
4bd7df8b | 9250 | "type" : "integer", |
013dc89f | 9251 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
9252 | }, |
9253 | "websocket" : { | |
9254 | "description" : "starts websockify instead of vncproxy", | |
44660702 | 9255 | "optional" : 1, |
013dc89f DM |
9256 | "type" : "boolean", |
9257 | "typetext" : "<boolean>" | |
56122987 | 9258 | } |
44660702 | 9259 | } |
56122987 | 9260 | }, |
44660702 DM |
9261 | "permissions" : { |
9262 | "check" : [ | |
9263 | "perm", | |
9264 | "/vms/{vmid}", | |
9265 | [ | |
9266 | "VM.Console" | |
9267 | ] | |
9268 | ] | |
9269 | }, | |
9270 | "protected" : 1, | |
56122987 | 9271 | "returns" : { |
7aacca6f | 9272 | "additionalProperties" : 0, |
56122987 | 9273 | "properties" : { |
7aacca6f | 9274 | "cert" : { |
56122987 DM |
9275 | "type" : "string" |
9276 | }, | |
56122987 DM |
9277 | "port" : { |
9278 | "type" : "integer" | |
9279 | }, | |
7aacca6f DM |
9280 | "ticket" : { |
9281 | "type" : "string" | |
9282 | }, | |
44660702 DM |
9283 | "upid" : { |
9284 | "type" : "string" | |
9285 | }, | |
7aacca6f | 9286 | "user" : { |
56122987 DM |
9287 | "type" : "string" |
9288 | } | |
7aacca6f | 9289 | } |
56122987 DM |
9290 | } |
9291 | } | |
9292 | }, | |
44660702 DM |
9293 | "leaf" : 1, |
9294 | "path" : "/nodes/{node}/qemu/{vmid}/vncproxy", | |
7aacca6f | 9295 | "text" : "vncproxy" |
56122987 DM |
9296 | }, |
9297 | { | |
56122987 DM |
9298 | "info" : { |
9299 | "GET" : { | |
44660702 DM |
9300 | "description" : "Opens a weksocket for VNC traffic.", |
9301 | "method" : "GET", | |
9302 | "name" : "vncwebsocket", | |
56122987 | 9303 | "parameters" : { |
44660702 | 9304 | "additionalProperties" : 0, |
56122987 | 9305 | "properties" : { |
7aacca6f | 9306 | "node" : { |
7aacca6f | 9307 | "description" : "The cluster node name.", |
44660702 | 9308 | "format" : "pve-node", |
013dc89f DM |
9309 | "type" : "string", |
9310 | "typetext" : "<string>" | |
7aacca6f | 9311 | }, |
44660702 DM |
9312 | "port" : { |
9313 | "description" : "Port number returned by previous vncproxy call.", | |
9314 | "maximum" : 5999, | |
9315 | "minimum" : 5900, | |
4bd7df8b | 9316 | "type" : "integer", |
013dc89f | 9317 | "typetext" : "<integer> (5900 - 5999)" |
56122987 | 9318 | }, |
7aacca6f | 9319 | "vmid" : { |
44660702 | 9320 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
9321 | "format" : "pve-vmid", |
9322 | "minimum" : 1, | |
4bd7df8b | 9323 | "type" : "integer", |
013dc89f | 9324 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
9325 | }, |
9326 | "vncticket" : { | |
9327 | "description" : "Ticket from previous call to vncproxy.", | |
9328 | "maxLength" : 512, | |
013dc89f DM |
9329 | "type" : "string", |
9330 | "typetext" : "<string>" | |
56122987 | 9331 | } |
44660702 DM |
9332 | } |
9333 | }, | |
9334 | "permissions" : { | |
9335 | "check" : [ | |
9336 | "perm", | |
9337 | "/vms/{vmid}", | |
9338 | [ | |
9339 | "VM.Console" | |
9340 | ] | |
9341 | ], | |
9342 | "description" : "You also need to pass a valid ticket (vncticket)." | |
56122987 | 9343 | }, |
7aacca6f DM |
9344 | "returns" : { |
9345 | "properties" : { | |
9346 | "port" : { | |
9347 | "type" : "string" | |
9348 | } | |
9349 | }, | |
9350 | "type" : "object" | |
9351 | } | |
56122987 DM |
9352 | } |
9353 | }, | |
7aacca6f | 9354 | "leaf" : 1, |
44660702 DM |
9355 | "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket", |
9356 | "text" : "vncwebsocket" | |
56122987 DM |
9357 | }, |
9358 | { | |
9359 | "info" : { | |
9360 | "POST" : { | |
44660702 DM |
9361 | "description" : "Returns a SPICE configuration to connect to the VM.", |
9362 | "method" : "POST", | |
7aacca6f DM |
9363 | "name" : "spiceproxy", |
9364 | "parameters" : { | |
44660702 | 9365 | "additionalProperties" : 0, |
56122987 | 9366 | "properties" : { |
44660702 DM |
9367 | "node" : { |
9368 | "description" : "The cluster node name.", | |
9369 | "format" : "pve-node", | |
013dc89f DM |
9370 | "type" : "string", |
9371 | "typetext" : "<string>" | |
44660702 | 9372 | }, |
7aacca6f | 9373 | "proxy" : { |
44660702 | 9374 | "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", |
7aacca6f | 9375 | "format" : "address", |
7aacca6f | 9376 | "optional" : 1, |
013dc89f DM |
9377 | "type" : "string", |
9378 | "typetext" : "<string>" | |
56122987 | 9379 | }, |
7aacca6f | 9380 | "vmid" : { |
44660702 | 9381 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
9382 | "format" : "pve-vmid", |
9383 | "minimum" : 1, | |
4bd7df8b | 9384 | "type" : "integer", |
013dc89f | 9385 | "typetext" : "<integer> (1 - N)" |
56122987 | 9386 | } |
44660702 | 9387 | } |
56122987 | 9388 | }, |
56122987 DM |
9389 | "permissions" : { |
9390 | "check" : [ | |
9391 | "perm", | |
9392 | "/vms/{vmid}", | |
9393 | [ | |
9394 | "VM.Console" | |
9395 | ] | |
9396 | ] | |
9397 | }, | |
44660702 DM |
9398 | "protected" : 1, |
9399 | "proxyto" : "node", | |
7aacca6f | 9400 | "returns" : { |
44660702 DM |
9401 | "additionalProperties" : 1, |
9402 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", | |
56122987 | 9403 | "properties" : { |
44660702 | 9404 | "host" : { |
7aacca6f DM |
9405 | "type" : "string" |
9406 | }, | |
7aacca6f DM |
9407 | "password" : { |
9408 | "type" : "string" | |
9409 | }, | |
44660702 | 9410 | "proxy" : { |
7aacca6f DM |
9411 | "type" : "string" |
9412 | }, | |
44660702 DM |
9413 | "tls-port" : { |
9414 | "type" : "integer" | |
9415 | }, | |
9416 | "type" : { | |
7aacca6f DM |
9417 | "type" : "string" |
9418 | } | |
44660702 | 9419 | } |
7aacca6f DM |
9420 | } |
9421 | } | |
9422 | }, | |
44660702 DM |
9423 | "leaf" : 1, |
9424 | "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy", | |
7aacca6f DM |
9425 | "text" : "spiceproxy" |
9426 | }, | |
9427 | { | |
56122987 DM |
9428 | "children" : [ |
9429 | { | |
56122987 DM |
9430 | "info" : { |
9431 | "GET" : { | |
44660702 DM |
9432 | "description" : "Get virtual machine status.", |
9433 | "method" : "GET", | |
9434 | "name" : "vm_status", | |
56122987 | 9435 | "parameters" : { |
44660702 | 9436 | "additionalProperties" : 0, |
56122987 | 9437 | "properties" : { |
44660702 DM |
9438 | "node" : { |
9439 | "description" : "The cluster node name.", | |
9440 | "format" : "pve-node", | |
013dc89f DM |
9441 | "type" : "string", |
9442 | "typetext" : "<string>" | |
44660702 | 9443 | }, |
56122987 | 9444 | "vmid" : { |
44660702 | 9445 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 9446 | "format" : "pve-vmid", |
56122987 | 9447 | "minimum" : 1, |
4bd7df8b | 9448 | "type" : "integer", |
013dc89f | 9449 | "typetext" : "<integer> (1 - N)" |
56122987 | 9450 | } |
44660702 | 9451 | } |
56122987 DM |
9452 | }, |
9453 | "permissions" : { | |
9454 | "check" : [ | |
9455 | "perm", | |
9456 | "/vms/{vmid}", | |
9457 | [ | |
9458 | "VM.Audit" | |
9459 | ] | |
9460 | ] | |
9461 | }, | |
44660702 | 9462 | "protected" : 1, |
7aacca6f | 9463 | "proxyto" : "node", |
56122987 DM |
9464 | "returns" : { |
9465 | "type" : "object" | |
7aacca6f | 9466 | } |
56122987 | 9467 | } |
7aacca6f | 9468 | }, |
7aacca6f | 9469 | "leaf" : 1, |
44660702 DM |
9470 | "path" : "/nodes/{node}/qemu/{vmid}/status/current", |
9471 | "text" : "current" | |
56122987 DM |
9472 | }, |
9473 | { | |
56122987 DM |
9474 | "info" : { |
9475 | "POST" : { | |
44660702 | 9476 | "description" : "Start virtual machine.", |
56122987 | 9477 | "method" : "POST", |
44660702 | 9478 | "name" : "vm_start", |
56122987 | 9479 | "parameters" : { |
44660702 | 9480 | "additionalProperties" : 0, |
56122987 | 9481 | "properties" : { |
44660702 DM |
9482 | "machine" : { |
9483 | "description" : "Specific the Qemu machine type.", | |
9484 | "maxLength" : 40, | |
9485 | "optional" : 1, | |
9486 | "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)", | |
9487 | "type" : "string" | |
9488 | }, | |
9489 | "migratedfrom" : { | |
9490 | "description" : "The cluster node name.", | |
9491 | "format" : "pve-node", | |
56122987 | 9492 | "optional" : 1, |
013dc89f DM |
9493 | "type" : "string", |
9494 | "typetext" : "<string>" | |
56122987 | 9495 | }, |
de0983cb DM |
9496 | "migration_network" : { |
9497 | "description" : "CIDR of the (sub) network that is used for migration.", | |
9498 | "format" : "CIDR", | |
9499 | "optional" : 1, | |
013dc89f DM |
9500 | "type" : "string", |
9501 | "typetext" : "<string>" | |
de0983cb DM |
9502 | }, |
9503 | "migration_type" : { | |
9504 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
9505 | "enum" : [ | |
9506 | "secure", | |
9507 | "insecure" | |
9508 | ], | |
9509 | "optional" : 1, | |
9510 | "type" : "string" | |
9511 | }, | |
7aacca6f | 9512 | "node" : { |
7aacca6f | 9513 | "description" : "The cluster node name.", |
44660702 | 9514 | "format" : "pve-node", |
013dc89f DM |
9515 | "type" : "string", |
9516 | "typetext" : "<string>" | |
7aacca6f | 9517 | }, |
44660702 DM |
9518 | "skiplock" : { |
9519 | "description" : "Ignore locks - only root is allowed to use this option.", | |
7aacca6f | 9520 | "optional" : 1, |
013dc89f DM |
9521 | "type" : "boolean", |
9522 | "typetext" : "<boolean>" | |
56122987 | 9523 | }, |
44660702 DM |
9524 | "stateuri" : { |
9525 | "description" : "Some command save/restore state from this location.", | |
9526 | "maxLength" : 128, | |
56122987 | 9527 | "optional" : 1, |
013dc89f DM |
9528 | "type" : "string", |
9529 | "typetext" : "<string>" | |
56122987 DM |
9530 | }, |
9531 | "vmid" : { | |
7aacca6f | 9532 | "description" : "The (unique) ID of the VM.", |
44660702 DM |
9533 | "format" : "pve-vmid", |
9534 | "minimum" : 1, | |
4bd7df8b | 9535 | "type" : "integer", |
013dc89f | 9536 | "typetext" : "<integer> (1 - N)" |
56122987 | 9537 | } |
44660702 | 9538 | } |
7aacca6f | 9539 | }, |
56122987 DM |
9540 | "permissions" : { |
9541 | "check" : [ | |
9542 | "perm", | |
9543 | "/vms/{vmid}", | |
9544 | [ | |
9545 | "VM.PowerMgmt" | |
9546 | ] | |
9547 | ] | |
44660702 DM |
9548 | }, |
9549 | "protected" : 1, | |
9550 | "proxyto" : "node", | |
9551 | "returns" : { | |
9552 | "type" : "string" | |
56122987 DM |
9553 | } |
9554 | } | |
44660702 DM |
9555 | }, |
9556 | "leaf" : 1, | |
9557 | "path" : "/nodes/{node}/qemu/{vmid}/status/start", | |
9558 | "text" : "start" | |
56122987 DM |
9559 | }, |
9560 | { | |
56122987 DM |
9561 | "info" : { |
9562 | "POST" : { | |
7aacca6f | 9563 | "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data", |
44660702 DM |
9564 | "method" : "POST", |
9565 | "name" : "vm_stop", | |
56122987 | 9566 | "parameters" : { |
44660702 | 9567 | "additionalProperties" : 0, |
56122987 | 9568 | "properties" : { |
44660702 DM |
9569 | "keepActive" : { |
9570 | "default" : 0, | |
de0983cb | 9571 | "description" : "Do not deactivate storage volumes.", |
56122987 | 9572 | "optional" : 1, |
013dc89f DM |
9573 | "type" : "boolean", |
9574 | "typetext" : "<boolean>" | |
56122987 DM |
9575 | }, |
9576 | "migratedfrom" : { | |
56122987 | 9577 | "description" : "The cluster node name.", |
44660702 | 9578 | "format" : "pve-node", |
7aacca6f | 9579 | "optional" : 1, |
013dc89f DM |
9580 | "type" : "string", |
9581 | "typetext" : "<string>" | |
7aacca6f | 9582 | }, |
44660702 DM |
9583 | "node" : { |
9584 | "description" : "The cluster node name.", | |
9585 | "format" : "pve-node", | |
013dc89f DM |
9586 | "type" : "string", |
9587 | "typetext" : "<string>" | |
56122987 DM |
9588 | }, |
9589 | "skiplock" : { | |
9590 | "description" : "Ignore locks - only root is allowed to use this option.", | |
9591 | "optional" : 1, | |
013dc89f DM |
9592 | "type" : "boolean", |
9593 | "typetext" : "<boolean>" | |
56122987 | 9594 | }, |
44660702 DM |
9595 | "timeout" : { |
9596 | "description" : "Wait maximal timeout seconds.", | |
9597 | "minimum" : 0, | |
56122987 | 9598 | "optional" : 1, |
4bd7df8b | 9599 | "type" : "integer", |
013dc89f | 9600 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 9601 | }, |
44660702 DM |
9602 | "vmid" : { |
9603 | "description" : "The (unique) ID of the VM.", | |
9604 | "format" : "pve-vmid", | |
9605 | "minimum" : 1, | |
4bd7df8b | 9606 | "type" : "integer", |
013dc89f | 9607 | "typetext" : "<integer> (1 - N)" |
56122987 | 9608 | } |
44660702 | 9609 | } |
56122987 | 9610 | }, |
56122987 DM |
9611 | "permissions" : { |
9612 | "check" : [ | |
9613 | "perm", | |
9614 | "/vms/{vmid}", | |
9615 | [ | |
9616 | "VM.PowerMgmt" | |
9617 | ] | |
9618 | ] | |
9619 | }, | |
44660702 DM |
9620 | "protected" : 1, |
9621 | "proxyto" : "node", | |
7aacca6f DM |
9622 | "returns" : { |
9623 | "type" : "string" | |
44660702 DM |
9624 | } |
9625 | } | |
9626 | }, | |
9627 | "leaf" : 1, | |
9628 | "path" : "/nodes/{node}/qemu/{vmid}/status/stop", | |
9629 | "text" : "stop" | |
9630 | }, | |
9631 | { | |
9632 | "info" : { | |
9633 | "POST" : { | |
9634 | "description" : "Reset virtual machine.", | |
9635 | "method" : "POST", | |
9636 | "name" : "vm_reset", | |
56122987 | 9637 | "parameters" : { |
7aacca6f | 9638 | "additionalProperties" : 0, |
56122987 | 9639 | "properties" : { |
56122987 DM |
9640 | "node" : { |
9641 | "description" : "The cluster node name.", | |
44660702 | 9642 | "format" : "pve-node", |
013dc89f DM |
9643 | "type" : "string", |
9644 | "typetext" : "<string>" | |
56122987 DM |
9645 | }, |
9646 | "skiplock" : { | |
44660702 | 9647 | "description" : "Ignore locks - only root is allowed to use this option.", |
7aacca6f | 9648 | "optional" : 1, |
013dc89f DM |
9649 | "type" : "boolean", |
9650 | "typetext" : "<boolean>" | |
7aacca6f DM |
9651 | }, |
9652 | "vmid" : { | |
44660702 | 9653 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
9654 | "format" : "pve-vmid", |
9655 | "minimum" : 1, | |
4bd7df8b | 9656 | "type" : "integer", |
013dc89f | 9657 | "typetext" : "<integer> (1 - N)" |
56122987 | 9658 | } |
7aacca6f | 9659 | } |
56122987 | 9660 | }, |
7aacca6f DM |
9661 | "permissions" : { |
9662 | "check" : [ | |
9663 | "perm", | |
9664 | "/vms/{vmid}", | |
9665 | [ | |
9666 | "VM.PowerMgmt" | |
9667 | ] | |
9668 | ] | |
9669 | }, | |
44660702 | 9670 | "protected" : 1, |
7aacca6f | 9671 | "proxyto" : "node", |
56122987 DM |
9672 | "returns" : { |
9673 | "type" : "string" | |
44660702 DM |
9674 | } |
9675 | } | |
9676 | }, | |
9677 | "leaf" : 1, | |
9678 | "path" : "/nodes/{node}/qemu/{vmid}/status/reset", | |
9679 | "text" : "reset" | |
9680 | }, | |
9681 | { | |
9682 | "info" : { | |
9683 | "POST" : { | |
9684 | "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.", | |
9685 | "method" : "POST", | |
56122987 | 9686 | "name" : "vm_shutdown", |
56122987 | 9687 | "parameters" : { |
7aacca6f | 9688 | "additionalProperties" : 0, |
56122987 | 9689 | "properties" : { |
56122987 | 9690 | "forceStop" : { |
56122987 | 9691 | "default" : 0, |
44660702 | 9692 | "description" : "Make sure the VM stops.", |
7aacca6f | 9693 | "optional" : 1, |
013dc89f DM |
9694 | "type" : "boolean", |
9695 | "typetext" : "<boolean>" | |
56122987 DM |
9696 | }, |
9697 | "keepActive" : { | |
7aacca6f | 9698 | "default" : 0, |
de0983cb | 9699 | "description" : "Do not deactivate storage volumes.", |
44660702 | 9700 | "optional" : 1, |
013dc89f DM |
9701 | "type" : "boolean", |
9702 | "typetext" : "<boolean>" | |
44660702 DM |
9703 | }, |
9704 | "node" : { | |
9705 | "description" : "The cluster node name.", | |
9706 | "format" : "pve-node", | |
013dc89f DM |
9707 | "type" : "string", |
9708 | "typetext" : "<string>" | |
44660702 DM |
9709 | }, |
9710 | "skiplock" : { | |
9711 | "description" : "Ignore locks - only root is allowed to use this option.", | |
9712 | "optional" : 1, | |
013dc89f DM |
9713 | "type" : "boolean", |
9714 | "typetext" : "<boolean>" | |
56122987 | 9715 | }, |
7aacca6f | 9716 | "timeout" : { |
7aacca6f | 9717 | "description" : "Wait maximal timeout seconds.", |
44660702 | 9718 | "minimum" : 0, |
7aacca6f | 9719 | "optional" : 1, |
4bd7df8b | 9720 | "type" : "integer", |
013dc89f | 9721 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 9722 | }, |
56122987 | 9723 | "vmid" : { |
7aacca6f | 9724 | "description" : "The (unique) ID of the VM.", |
44660702 DM |
9725 | "format" : "pve-vmid", |
9726 | "minimum" : 1, | |
4bd7df8b | 9727 | "type" : "integer", |
013dc89f | 9728 | "typetext" : "<integer> (1 - N)" |
56122987 | 9729 | } |
7aacca6f | 9730 | } |
56122987 | 9731 | }, |
44660702 DM |
9732 | "permissions" : { |
9733 | "check" : [ | |
9734 | "perm", | |
9735 | "/vms/{vmid}", | |
9736 | [ | |
9737 | "VM.PowerMgmt" | |
9738 | ] | |
9739 | ] | |
9740 | }, | |
7aacca6f | 9741 | "protected" : 1, |
44660702 DM |
9742 | "proxyto" : "node", |
9743 | "returns" : { | |
9744 | "type" : "string" | |
9745 | } | |
56122987 DM |
9746 | } |
9747 | }, | |
44660702 | 9748 | "leaf" : 1, |
7aacca6f | 9749 | "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown", |
44660702 | 9750 | "text" : "shutdown" |
56122987 DM |
9751 | }, |
9752 | { | |
56122987 DM |
9753 | "info" : { |
9754 | "POST" : { | |
44660702 | 9755 | "description" : "Suspend virtual machine.", |
56122987 | 9756 | "method" : "POST", |
44660702 | 9757 | "name" : "vm_suspend", |
7aacca6f | 9758 | "parameters" : { |
44660702 | 9759 | "additionalProperties" : 0, |
7aacca6f DM |
9760 | "properties" : { |
9761 | "node" : { | |
7aacca6f | 9762 | "description" : "The cluster node name.", |
44660702 | 9763 | "format" : "pve-node", |
013dc89f DM |
9764 | "type" : "string", |
9765 | "typetext" : "<string>" | |
7aacca6f DM |
9766 | }, |
9767 | "skiplock" : { | |
9768 | "description" : "Ignore locks - only root is allowed to use this option.", | |
44660702 | 9769 | "optional" : 1, |
013dc89f DM |
9770 | "type" : "boolean", |
9771 | "typetext" : "<boolean>" | |
44660702 DM |
9772 | }, |
9773 | "vmid" : { | |
9774 | "description" : "The (unique) ID of the VM.", | |
9775 | "format" : "pve-vmid", | |
9776 | "minimum" : 1, | |
4bd7df8b | 9777 | "type" : "integer", |
013dc89f | 9778 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
9779 | } |
9780 | } | |
56122987 DM |
9781 | }, |
9782 | "permissions" : { | |
9783 | "check" : [ | |
9784 | "perm", | |
9785 | "/vms/{vmid}", | |
9786 | [ | |
9787 | "VM.PowerMgmt" | |
9788 | ] | |
9789 | ] | |
9790 | }, | |
44660702 DM |
9791 | "protected" : 1, |
9792 | "proxyto" : "node", | |
9793 | "returns" : { | |
9794 | "type" : "string" | |
9795 | } | |
56122987 DM |
9796 | } |
9797 | }, | |
44660702 | 9798 | "leaf" : 1, |
7aacca6f | 9799 | "path" : "/nodes/{node}/qemu/{vmid}/status/suspend", |
44660702 | 9800 | "text" : "suspend" |
56122987 DM |
9801 | }, |
9802 | { | |
56122987 DM |
9803 | "info" : { |
9804 | "POST" : { | |
44660702 DM |
9805 | "description" : "Resume virtual machine.", |
9806 | "method" : "POST", | |
7aacca6f | 9807 | "name" : "vm_resume", |
56122987 DM |
9808 | "parameters" : { |
9809 | "additionalProperties" : 0, | |
9810 | "properties" : { | |
44660702 DM |
9811 | "nocheck" : { |
9812 | "optional" : 1, | |
013dc89f DM |
9813 | "type" : "boolean", |
9814 | "typetext" : "<boolean>" | |
44660702 | 9815 | }, |
7aacca6f | 9816 | "node" : { |
44660702 | 9817 | "description" : "The cluster node name.", |
7aacca6f | 9818 | "format" : "pve-node", |
013dc89f DM |
9819 | "type" : "string", |
9820 | "typetext" : "<string>" | |
56122987 DM |
9821 | }, |
9822 | "skiplock" : { | |
56122987 | 9823 | "description" : "Ignore locks - only root is allowed to use this option.", |
44660702 | 9824 | "optional" : 1, |
013dc89f DM |
9825 | "type" : "boolean", |
9826 | "typetext" : "<boolean>" | |
56122987 | 9827 | }, |
7aacca6f | 9828 | "vmid" : { |
7aacca6f DM |
9829 | "description" : "The (unique) ID of the VM.", |
9830 | "format" : "pve-vmid", | |
44660702 | 9831 | "minimum" : 1, |
4bd7df8b | 9832 | "type" : "integer", |
013dc89f | 9833 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
9834 | } |
9835 | } | |
9836 | }, | |
9837 | "permissions" : { | |
9838 | "check" : [ | |
9839 | "perm", | |
9840 | "/vms/{vmid}", | |
9841 | [ | |
9842 | "VM.PowerMgmt" | |
9843 | ] | |
9844 | ] | |
9845 | }, | |
44660702 DM |
9846 | "protected" : 1, |
9847 | "proxyto" : "node", | |
56122987 DM |
9848 | "returns" : { |
9849 | "type" : "string" | |
7aacca6f | 9850 | } |
56122987 DM |
9851 | } |
9852 | }, | |
44660702 DM |
9853 | "leaf" : 1, |
9854 | "path" : "/nodes/{node}/qemu/{vmid}/status/resume", | |
7aacca6f | 9855 | "text" : "resume" |
56122987 DM |
9856 | } |
9857 | ], | |
9858 | "info" : { | |
44660702 DM |
9859 | "GET" : { |
9860 | "description" : "Directory index", | |
9861 | "method" : "GET", | |
9862 | "name" : "vmcmdidx", | |
56122987 | 9863 | "parameters" : { |
44660702 | 9864 | "additionalProperties" : 0, |
56122987 | 9865 | "properties" : { |
44660702 DM |
9866 | "node" : { |
9867 | "description" : "The cluster node name.", | |
9868 | "format" : "pve-node", | |
013dc89f DM |
9869 | "type" : "string", |
9870 | "typetext" : "<string>" | |
7aacca6f | 9871 | }, |
56122987 | 9872 | "vmid" : { |
7aacca6f | 9873 | "description" : "The (unique) ID of the VM.", |
44660702 DM |
9874 | "format" : "pve-vmid", |
9875 | "minimum" : 1, | |
4bd7df8b | 9876 | "type" : "integer", |
013dc89f | 9877 | "typetext" : "<integer> (1 - N)" |
56122987 | 9878 | } |
44660702 | 9879 | } |
56122987 | 9880 | }, |
44660702 DM |
9881 | "permissions" : { |
9882 | "user" : "all" | |
9883 | }, | |
9884 | "proxyto" : "node", | |
9885 | "returns" : { | |
9886 | "items" : { | |
9887 | "properties" : { | |
9888 | "subdir" : { | |
9889 | "type" : "string" | |
9890 | } | |
9891 | }, | |
9892 | "type" : "object" | |
9893 | }, | |
9894 | "links" : [ | |
9895 | { | |
9896 | "href" : "{subdir}", | |
9897 | "rel" : "child" | |
9898 | } | |
9899 | ], | |
9900 | "type" : "array" | |
9901 | } | |
56122987 | 9902 | } |
7aacca6f | 9903 | }, |
44660702 DM |
9904 | "leaf" : 0, |
9905 | "path" : "/nodes/{node}/qemu/{vmid}/status", | |
9906 | "text" : "status" | |
56122987 DM |
9907 | }, |
9908 | { | |
56122987 | 9909 | "info" : { |
44660702 DM |
9910 | "PUT" : { |
9911 | "description" : "Send key event to virtual machine.", | |
9912 | "method" : "PUT", | |
9913 | "name" : "vm_sendkey", | |
9914 | "parameters" : { | |
9915 | "additionalProperties" : 0, | |
56122987 | 9916 | "properties" : { |
44660702 DM |
9917 | "key" : { |
9918 | "description" : "The key (qemu monitor encoding).", | |
013dc89f DM |
9919 | "type" : "string", |
9920 | "typetext" : "<string>" | |
44660702 DM |
9921 | }, |
9922 | "node" : { | |
9923 | "description" : "The cluster node name.", | |
9924 | "format" : "pve-node", | |
013dc89f DM |
9925 | "type" : "string", |
9926 | "typetext" : "<string>" | |
44660702 DM |
9927 | }, |
9928 | "skiplock" : { | |
9929 | "description" : "Ignore locks - only root is allowed to use this option.", | |
9930 | "optional" : 1, | |
013dc89f DM |
9931 | "type" : "boolean", |
9932 | "typetext" : "<boolean>" | |
7aacca6f | 9933 | }, |
44660702 DM |
9934 | "vmid" : { |
9935 | "description" : "The (unique) ID of the VM.", | |
9936 | "format" : "pve-vmid", | |
9937 | "minimum" : 1, | |
4bd7df8b | 9938 | "type" : "integer", |
013dc89f | 9939 | "typetext" : "<integer> (1 - N)" |
56122987 | 9940 | } |
7aacca6f | 9941 | } |
56122987 | 9942 | }, |
56122987 DM |
9943 | "permissions" : { |
9944 | "check" : [ | |
9945 | "perm", | |
9946 | "/vms/{vmid}", | |
9947 | [ | |
44660702 | 9948 | "VM.Console" |
56122987 DM |
9949 | ] |
9950 | ] | |
9951 | }, | |
7aacca6f | 9952 | "protected" : 1, |
44660702 DM |
9953 | "proxyto" : "node", |
9954 | "returns" : { | |
9955 | "type" : "null" | |
9956 | } | |
9957 | } | |
9958 | }, | |
9959 | "leaf" : 1, | |
9960 | "path" : "/nodes/{node}/qemu/{vmid}/sendkey", | |
9961 | "text" : "sendkey" | |
9962 | }, | |
9963 | { | |
9964 | "info" : { | |
9965 | "GET" : { | |
9966 | "description" : "Check if feature for virtual machine is available.", | |
9967 | "method" : "GET", | |
7aacca6f | 9968 | "name" : "vm_feature", |
56122987 | 9969 | "parameters" : { |
44660702 | 9970 | "additionalProperties" : 0, |
56122987 | 9971 | "properties" : { |
56122987 | 9972 | "feature" : { |
44660702 | 9973 | "description" : "Feature to check.", |
56122987 DM |
9974 | "enum" : [ |
9975 | "snapshot", | |
9976 | "clone", | |
9977 | "copy" | |
9978 | ], | |
44660702 DM |
9979 | "type" : "string" |
9980 | }, | |
9981 | "node" : { | |
9982 | "description" : "The cluster node name.", | |
9983 | "format" : "pve-node", | |
013dc89f DM |
9984 | "type" : "string", |
9985 | "typetext" : "<string>" | |
56122987 DM |
9986 | }, |
9987 | "snapname" : { | |
56122987 | 9988 | "description" : "The name of the snapshot.", |
44660702 DM |
9989 | "format" : "pve-configid", |
9990 | "maxLength" : 40, | |
7aacca6f | 9991 | "optional" : 1, |
013dc89f DM |
9992 | "type" : "string", |
9993 | "typetext" : "<string>" | |
7aacca6f | 9994 | }, |
44660702 DM |
9995 | "vmid" : { |
9996 | "description" : "The (unique) ID of the VM.", | |
9997 | "format" : "pve-vmid", | |
9998 | "minimum" : 1, | |
4bd7df8b | 9999 | "type" : "integer", |
013dc89f | 10000 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10001 | } |
10002 | } | |
10003 | }, | |
10004 | "permissions" : { | |
10005 | "check" : [ | |
10006 | "perm", | |
10007 | "/vms/{vmid}", | |
10008 | [ | |
10009 | "VM.Audit" | |
10010 | ] | |
10011 | ] | |
10012 | }, | |
10013 | "protected" : 1, | |
10014 | "proxyto" : "node", | |
10015 | "returns" : { | |
10016 | "properties" : { | |
10017 | "hasFeature" : { | |
10018 | "type" : "boolean" | |
10019 | }, | |
10020 | "nodes" : { | |
10021 | "items" : { | |
10022 | "type" : "string" | |
10023 | }, | |
10024 | "type" : "array" | |
56122987 DM |
10025 | } |
10026 | }, | |
44660702 | 10027 | "type" : "object" |
56122987 DM |
10028 | } |
10029 | } | |
10030 | }, | |
7aacca6f | 10031 | "leaf" : 1, |
44660702 DM |
10032 | "path" : "/nodes/{node}/qemu/{vmid}/feature", |
10033 | "text" : "feature" | |
56122987 DM |
10034 | }, |
10035 | { | |
56122987 DM |
10036 | "info" : { |
10037 | "POST" : { | |
44660702 | 10038 | "description" : "Create a copy of virtual machine/template.", |
56122987 | 10039 | "method" : "POST", |
7aacca6f | 10040 | "name" : "clone_vm", |
56122987 DM |
10041 | "parameters" : { |
10042 | "additionalProperties" : 0, | |
10043 | "properties" : { | |
44660702 DM |
10044 | "description" : { |
10045 | "description" : "Description for the new VM.", | |
56122987 | 10046 | "optional" : 1, |
013dc89f DM |
10047 | "type" : "string", |
10048 | "typetext" : "<string>" | |
56122987 | 10049 | }, |
44660702 DM |
10050 | "format" : { |
10051 | "description" : "Target format for file storage.", | |
10052 | "enum" : [ | |
10053 | "raw", | |
10054 | "qcow2", | |
10055 | "vmdk" | |
10056 | ], | |
10057 | "optional" : 1, | |
10058 | "requires" : "full", | |
56122987 DM |
10059 | "type" : "string" |
10060 | }, | |
44660702 DM |
10061 | "full" : { |
10062 | "default" : 0, | |
10063 | "description" : "Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.", | |
7aacca6f | 10064 | "optional" : 1, |
013dc89f DM |
10065 | "type" : "boolean", |
10066 | "typetext" : "<boolean>" | |
44660702 DM |
10067 | }, |
10068 | "name" : { | |
56122987 | 10069 | "description" : "Set a name for the new VM.", |
44660702 DM |
10070 | "format" : "dns-name", |
10071 | "optional" : 1, | |
013dc89f DM |
10072 | "type" : "string", |
10073 | "typetext" : "<string>" | |
44660702 DM |
10074 | }, |
10075 | "newid" : { | |
10076 | "description" : "VMID for the clone.", | |
10077 | "format" : "pve-vmid", | |
10078 | "minimum" : 1, | |
4bd7df8b | 10079 | "type" : "integer", |
013dc89f | 10080 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10081 | }, |
10082 | "node" : { | |
10083 | "description" : "The cluster node name.", | |
10084 | "format" : "pve-node", | |
013dc89f DM |
10085 | "type" : "string", |
10086 | "typetext" : "<string>" | |
7aacca6f DM |
10087 | }, |
10088 | "pool" : { | |
10089 | "description" : "Add the new VM to the specified pool.", | |
44660702 | 10090 | "format" : "pve-poolid", |
56122987 | 10091 | "optional" : 1, |
013dc89f DM |
10092 | "type" : "string", |
10093 | "typetext" : "<string>" | |
56122987 | 10094 | }, |
44660702 DM |
10095 | "snapname" : { |
10096 | "description" : "The name of the snapshot.", | |
10097 | "format" : "pve-configid", | |
10098 | "maxLength" : 40, | |
7aacca6f | 10099 | "optional" : 1, |
013dc89f DM |
10100 | "type" : "string", |
10101 | "typetext" : "<string>" | |
56122987 | 10102 | }, |
44660702 DM |
10103 | "storage" : { |
10104 | "description" : "Target storage for full clone.", | |
10105 | "format" : "pve-storage-id", | |
7aacca6f | 10106 | "optional" : 1, |
44660702 | 10107 | "requires" : "full", |
013dc89f DM |
10108 | "type" : "string", |
10109 | "typetext" : "<string>" | |
56122987 | 10110 | }, |
44660702 DM |
10111 | "target" : { |
10112 | "description" : "Target node. Only allowed if the original VM is on shared storage.", | |
10113 | "format" : "pve-node", | |
56122987 | 10114 | "optional" : 1, |
013dc89f DM |
10115 | "type" : "string", |
10116 | "typetext" : "<string>" | |
44660702 DM |
10117 | }, |
10118 | "vmid" : { | |
10119 | "description" : "The (unique) ID of the VM.", | |
10120 | "format" : "pve-vmid", | |
10121 | "minimum" : 1, | |
4bd7df8b | 10122 | "type" : "integer", |
013dc89f | 10123 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
10124 | } |
10125 | } | |
10126 | }, | |
56122987 DM |
10127 | "permissions" : { |
10128 | "check" : [ | |
10129 | "and", | |
10130 | [ | |
10131 | "perm", | |
10132 | "/vms/{vmid}", | |
10133 | [ | |
10134 | "VM.Clone" | |
10135 | ] | |
10136 | ], | |
10137 | [ | |
10138 | "or", | |
10139 | [ | |
10140 | "perm", | |
10141 | "/vms/{newid}", | |
10142 | [ | |
10143 | "VM.Allocate" | |
10144 | ] | |
10145 | ], | |
10146 | [ | |
10147 | "perm", | |
10148 | "/pool/{pool}", | |
10149 | [ | |
10150 | "VM.Allocate" | |
10151 | ], | |
10152 | "require_param", | |
10153 | "pool" | |
10154 | ] | |
10155 | ] | |
44660702 DM |
10156 | ], |
10157 | "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage." | |
10158 | }, | |
10159 | "protected" : 1, | |
10160 | "proxyto" : "node", | |
10161 | "returns" : { | |
10162 | "type" : "string" | |
56122987 DM |
10163 | } |
10164 | } | |
10165 | }, | |
44660702 DM |
10166 | "leaf" : 1, |
10167 | "path" : "/nodes/{node}/qemu/{vmid}/clone", | |
56122987 DM |
10168 | "text" : "clone" |
10169 | }, | |
10170 | { | |
56122987 DM |
10171 | "info" : { |
10172 | "POST" : { | |
7aacca6f | 10173 | "description" : "Move volume to different storage.", |
44660702 DM |
10174 | "method" : "POST", |
10175 | "name" : "move_vm_disk", | |
56122987 DM |
10176 | "parameters" : { |
10177 | "additionalProperties" : 0, | |
10178 | "properties" : { | |
10179 | "delete" : { | |
44660702 | 10180 | "default" : 0, |
56122987 | 10181 | "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.", |
7aacca6f | 10182 | "optional" : 1, |
013dc89f DM |
10183 | "type" : "boolean", |
10184 | "typetext" : "<boolean>" | |
56122987 | 10185 | }, |
44660702 DM |
10186 | "digest" : { |
10187 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10188 | "maxLength" : 40, | |
10189 | "optional" : 1, | |
013dc89f DM |
10190 | "type" : "string", |
10191 | "typetext" : "<string>" | |
56122987 | 10192 | }, |
56122987 | 10193 | "disk" : { |
56122987 DM |
10194 | "description" : "The disk you want to move.", |
10195 | "enum" : [ | |
10196 | "ide0", | |
10197 | "ide1", | |
10198 | "ide2", | |
10199 | "ide3", | |
10200 | "scsi0", | |
10201 | "scsi1", | |
10202 | "scsi2", | |
10203 | "scsi3", | |
10204 | "scsi4", | |
10205 | "scsi5", | |
10206 | "scsi6", | |
10207 | "scsi7", | |
10208 | "scsi8", | |
10209 | "scsi9", | |
10210 | "scsi10", | |
10211 | "scsi11", | |
10212 | "scsi12", | |
10213 | "scsi13", | |
10214 | "virtio0", | |
10215 | "virtio1", | |
10216 | "virtio2", | |
10217 | "virtio3", | |
10218 | "virtio4", | |
10219 | "virtio5", | |
10220 | "virtio6", | |
10221 | "virtio7", | |
10222 | "virtio8", | |
10223 | "virtio9", | |
10224 | "virtio10", | |
10225 | "virtio11", | |
10226 | "virtio12", | |
10227 | "virtio13", | |
10228 | "virtio14", | |
10229 | "virtio15", | |
10230 | "sata0", | |
10231 | "sata1", | |
10232 | "sata2", | |
10233 | "sata3", | |
10234 | "sata4", | |
2c0dde61 DM |
10235 | "sata5", |
10236 | "efidisk0" | |
44660702 DM |
10237 | ], |
10238 | "type" : "string" | |
7aacca6f DM |
10239 | }, |
10240 | "format" : { | |
10241 | "description" : "Target Format.", | |
10242 | "enum" : [ | |
10243 | "raw", | |
10244 | "qcow2", | |
10245 | "vmdk" | |
10246 | ], | |
10247 | "optional" : 1, | |
10248 | "type" : "string" | |
44660702 DM |
10249 | }, |
10250 | "node" : { | |
10251 | "description" : "The cluster node name.", | |
10252 | "format" : "pve-node", | |
013dc89f DM |
10253 | "type" : "string", |
10254 | "typetext" : "<string>" | |
44660702 DM |
10255 | }, |
10256 | "storage" : { | |
10257 | "description" : "Target storage.", | |
10258 | "format" : "pve-storage-id", | |
013dc89f DM |
10259 | "type" : "string", |
10260 | "typetext" : "<string>" | |
44660702 DM |
10261 | }, |
10262 | "vmid" : { | |
10263 | "description" : "The (unique) ID of the VM.", | |
10264 | "format" : "pve-vmid", | |
10265 | "minimum" : 1, | |
4bd7df8b | 10266 | "type" : "integer", |
013dc89f | 10267 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
10268 | } |
10269 | } | |
10270 | }, | |
44660702 DM |
10271 | "permissions" : { |
10272 | "check" : [ | |
10273 | "and", | |
10274 | [ | |
10275 | "perm", | |
10276 | "/vms/{vmid}", | |
10277 | [ | |
10278 | "VM.Config.Disk" | |
10279 | ] | |
10280 | ], | |
10281 | [ | |
10282 | "perm", | |
10283 | "/storage/{storage}", | |
10284 | [ | |
10285 | "Datastore.AllocateSpace" | |
10286 | ] | |
10287 | ] | |
10288 | ], | |
10289 | "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage." | |
10290 | }, | |
10291 | "protected" : 1, | |
10292 | "proxyto" : "node", | |
10293 | "returns" : { | |
10294 | "description" : "the task ID.", | |
10295 | "type" : "string" | |
10296 | } | |
56122987 | 10297 | } |
7aacca6f | 10298 | }, |
44660702 | 10299 | "leaf" : 1, |
7aacca6f | 10300 | "path" : "/nodes/{node}/qemu/{vmid}/move_disk", |
44660702 | 10301 | "text" : "move_disk" |
56122987 DM |
10302 | }, |
10303 | { | |
56122987 DM |
10304 | "info" : { |
10305 | "POST" : { | |
7aacca6f | 10306 | "description" : "Migrate virtual machine. Creates a new migration task.", |
44660702 | 10307 | "method" : "POST", |
7aacca6f | 10308 | "name" : "migrate_vm", |
56122987 | 10309 | "parameters" : { |
44660702 | 10310 | "additionalProperties" : 0, |
56122987 | 10311 | "properties" : { |
44660702 DM |
10312 | "force" : { |
10313 | "description" : "Allow to migrate VMs which use local devices. Only root may use this option.", | |
10314 | "optional" : 1, | |
013dc89f DM |
10315 | "type" : "boolean", |
10316 | "typetext" : "<boolean>" | |
44660702 | 10317 | }, |
de0983cb DM |
10318 | "migration_network" : { |
10319 | "description" : "CIDR of the (sub) network that is used for migration.", | |
10320 | "format" : "CIDR", | |
10321 | "optional" : 1, | |
013dc89f DM |
10322 | "type" : "string", |
10323 | "typetext" : "<string>" | |
de0983cb DM |
10324 | }, |
10325 | "migration_type" : { | |
10326 | "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.", | |
10327 | "enum" : [ | |
10328 | "secure", | |
10329 | "insecure" | |
10330 | ], | |
10331 | "optional" : 1, | |
10332 | "type" : "string" | |
10333 | }, | |
7aacca6f | 10334 | "node" : { |
44660702 | 10335 | "description" : "The cluster node name.", |
7aacca6f | 10336 | "format" : "pve-node", |
013dc89f DM |
10337 | "type" : "string", |
10338 | "typetext" : "<string>" | |
56122987 DM |
10339 | }, |
10340 | "online" : { | |
44660702 | 10341 | "description" : "Use online/live migration.", |
56122987 | 10342 | "optional" : 1, |
013dc89f DM |
10343 | "type" : "boolean", |
10344 | "typetext" : "<boolean>" | |
56122987 | 10345 | }, |
44660702 DM |
10346 | "target" : { |
10347 | "description" : "Target node.", | |
10348 | "format" : "pve-node", | |
013dc89f DM |
10349 | "type" : "string", |
10350 | "typetext" : "<string>" | |
56122987 | 10351 | }, |
7aacca6f | 10352 | "vmid" : { |
7aacca6f | 10353 | "description" : "The (unique) ID of the VM.", |
44660702 | 10354 | "format" : "pve-vmid", |
7aacca6f | 10355 | "minimum" : 1, |
4bd7df8b | 10356 | "type" : "integer", |
013dc89f | 10357 | "typetext" : "<integer> (1 - N)" |
56122987 | 10358 | } |
44660702 DM |
10359 | } |
10360 | }, | |
10361 | "permissions" : { | |
10362 | "check" : [ | |
10363 | "perm", | |
10364 | "/vms/{vmid}", | |
10365 | [ | |
10366 | "VM.Migrate" | |
10367 | ] | |
10368 | ] | |
56122987 DM |
10369 | }, |
10370 | "protected" : 1, | |
44660702 DM |
10371 | "proxyto" : "node", |
10372 | "returns" : { | |
10373 | "description" : "the task ID.", | |
10374 | "type" : "string" | |
10375 | } | |
56122987 | 10376 | } |
7aacca6f | 10377 | }, |
44660702 DM |
10378 | "leaf" : 1, |
10379 | "path" : "/nodes/{node}/qemu/{vmid}/migrate", | |
7aacca6f | 10380 | "text" : "migrate" |
56122987 DM |
10381 | }, |
10382 | { | |
10383 | "info" : { | |
10384 | "POST" : { | |
44660702 | 10385 | "description" : "Execute Qemu monitor commands.", |
56122987 | 10386 | "method" : "POST", |
44660702 | 10387 | "name" : "monitor", |
56122987 | 10388 | "parameters" : { |
7aacca6f | 10389 | "additionalProperties" : 0, |
56122987 | 10390 | "properties" : { |
44660702 DM |
10391 | "command" : { |
10392 | "description" : "The monitor command.", | |
013dc89f DM |
10393 | "type" : "string", |
10394 | "typetext" : "<string>" | |
44660702 | 10395 | }, |
56122987 | 10396 | "node" : { |
44660702 | 10397 | "description" : "The cluster node name.", |
7aacca6f | 10398 | "format" : "pve-node", |
013dc89f DM |
10399 | "type" : "string", |
10400 | "typetext" : "<string>" | |
56122987 DM |
10401 | }, |
10402 | "vmid" : { | |
44660702 | 10403 | "description" : "The (unique) ID of the VM.", |
56122987 | 10404 | "format" : "pve-vmid", |
7aacca6f | 10405 | "minimum" : 1, |
4bd7df8b | 10406 | "type" : "integer", |
013dc89f | 10407 | "typetext" : "<integer> (1 - N)" |
56122987 | 10408 | } |
7aacca6f | 10409 | } |
56122987 | 10410 | }, |
56122987 DM |
10411 | "permissions" : { |
10412 | "check" : [ | |
10413 | "perm", | |
10414 | "/vms/{vmid}", | |
10415 | [ | |
10416 | "VM.Monitor" | |
10417 | ] | |
10418 | ] | |
7aacca6f | 10419 | }, |
44660702 DM |
10420 | "protected" : 1, |
10421 | "proxyto" : "node", | |
10422 | "returns" : { | |
10423 | "type" : "string" | |
10424 | } | |
56122987 | 10425 | } |
44660702 DM |
10426 | }, |
10427 | "leaf" : 1, | |
10428 | "path" : "/nodes/{node}/qemu/{vmid}/monitor", | |
10429 | "text" : "monitor" | |
56122987 DM |
10430 | }, |
10431 | { | |
56122987 DM |
10432 | "info" : { |
10433 | "PUT" : { | |
44660702 DM |
10434 | "description" : "Extend volume size.", |
10435 | "method" : "PUT", | |
10436 | "name" : "resize_vm", | |
56122987 | 10437 | "parameters" : { |
44660702 | 10438 | "additionalProperties" : 0, |
56122987 | 10439 | "properties" : { |
44660702 DM |
10440 | "digest" : { |
10441 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
10442 | "maxLength" : 40, | |
10443 | "optional" : 1, | |
013dc89f DM |
10444 | "type" : "string", |
10445 | "typetext" : "<string>" | |
56122987 | 10446 | }, |
56122987 DM |
10447 | "disk" : { |
10448 | "description" : "The disk you want to resize.", | |
10449 | "enum" : [ | |
10450 | "ide0", | |
10451 | "ide1", | |
10452 | "ide2", | |
10453 | "ide3", | |
10454 | "scsi0", | |
10455 | "scsi1", | |
10456 | "scsi2", | |
10457 | "scsi3", | |
10458 | "scsi4", | |
10459 | "scsi5", | |
10460 | "scsi6", | |
10461 | "scsi7", | |
10462 | "scsi8", | |
10463 | "scsi9", | |
10464 | "scsi10", | |
10465 | "scsi11", | |
10466 | "scsi12", | |
10467 | "scsi13", | |
10468 | "virtio0", | |
10469 | "virtio1", | |
10470 | "virtio2", | |
10471 | "virtio3", | |
10472 | "virtio4", | |
10473 | "virtio5", | |
10474 | "virtio6", | |
10475 | "virtio7", | |
10476 | "virtio8", | |
10477 | "virtio9", | |
10478 | "virtio10", | |
10479 | "virtio11", | |
10480 | "virtio12", | |
10481 | "virtio13", | |
10482 | "virtio14", | |
10483 | "virtio15", | |
10484 | "sata0", | |
10485 | "sata1", | |
10486 | "sata2", | |
10487 | "sata3", | |
10488 | "sata4", | |
2c0dde61 DM |
10489 | "sata5", |
10490 | "efidisk0" | |
44660702 DM |
10491 | ], |
10492 | "type" : "string" | |
56122987 | 10493 | }, |
44660702 DM |
10494 | "node" : { |
10495 | "description" : "The cluster node name.", | |
10496 | "format" : "pve-node", | |
013dc89f DM |
10497 | "type" : "string", |
10498 | "typetext" : "<string>" | |
7aacca6f | 10499 | }, |
44660702 DM |
10500 | "size" : { |
10501 | "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.", | |
10502 | "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?", | |
10503 | "type" : "string" | |
56122987 DM |
10504 | }, |
10505 | "skiplock" : { | |
10506 | "description" : "Ignore locks - only root is allowed to use this option.", | |
10507 | "optional" : 1, | |
013dc89f DM |
10508 | "type" : "boolean", |
10509 | "typetext" : "<boolean>" | |
56122987 DM |
10510 | }, |
10511 | "vmid" : { | |
7aacca6f | 10512 | "description" : "The (unique) ID of the VM.", |
56122987 | 10513 | "format" : "pve-vmid", |
44660702 | 10514 | "minimum" : 1, |
4bd7df8b | 10515 | "type" : "integer", |
013dc89f | 10516 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
10517 | } |
10518 | } | |
10519 | }, | |
10520 | "permissions" : { | |
10521 | "check" : [ | |
10522 | "perm", | |
10523 | "/vms/{vmid}", | |
10524 | [ | |
44660702 | 10525 | "VM.Config.Disk" |
56122987 DM |
10526 | ] |
10527 | ] | |
10528 | }, | |
7aacca6f | 10529 | "protected" : 1, |
7aacca6f | 10530 | "proxyto" : "node", |
44660702 DM |
10531 | "returns" : { |
10532 | "type" : "null" | |
10533 | } | |
7aacca6f DM |
10534 | } |
10535 | }, | |
44660702 DM |
10536 | "leaf" : 1, |
10537 | "path" : "/nodes/{node}/qemu/{vmid}/resize", | |
10538 | "text" : "resize" | |
10539 | }, | |
10540 | { | |
56122987 DM |
10541 | "children" : [ |
10542 | { | |
10543 | "children" : [ | |
10544 | { | |
56122987 | 10545 | "info" : { |
44660702 DM |
10546 | "GET" : { |
10547 | "description" : "Get snapshot configuration", | |
10548 | "method" : "GET", | |
10549 | "name" : "get_snapshot_config", | |
56122987 | 10550 | "parameters" : { |
44660702 | 10551 | "additionalProperties" : 0, |
56122987 | 10552 | "properties" : { |
56122987 | 10553 | "node" : { |
44660702 | 10554 | "description" : "The cluster node name.", |
56122987 | 10555 | "format" : "pve-node", |
013dc89f DM |
10556 | "type" : "string", |
10557 | "typetext" : "<string>" | |
7aacca6f DM |
10558 | }, |
10559 | "snapname" : { | |
44660702 | 10560 | "description" : "The name of the snapshot.", |
7aacca6f | 10561 | "format" : "pve-configid", |
44660702 | 10562 | "maxLength" : 40, |
013dc89f DM |
10563 | "type" : "string", |
10564 | "typetext" : "<string>" | |
7aacca6f DM |
10565 | }, |
10566 | "vmid" : { | |
44660702 | 10567 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
10568 | "format" : "pve-vmid", |
10569 | "minimum" : 1, | |
4bd7df8b | 10570 | "type" : "integer", |
013dc89f | 10571 | "typetext" : "<integer> (1 - N)" |
56122987 | 10572 | } |
44660702 | 10573 | } |
56122987 DM |
10574 | }, |
10575 | "permissions" : { | |
10576 | "check" : [ | |
10577 | "perm", | |
10578 | "/vms/{vmid}", | |
10579 | [ | |
10580 | "VM.Snapshot" | |
10581 | ] | |
10582 | ] | |
10583 | }, | |
44660702 | 10584 | "proxyto" : "node", |
56122987 | 10585 | "returns" : { |
44660702 | 10586 | "type" : "object" |
7aacca6f DM |
10587 | } |
10588 | }, | |
44660702 DM |
10589 | "PUT" : { |
10590 | "description" : "Update snapshot metadata.", | |
10591 | "method" : "PUT", | |
10592 | "name" : "update_snapshot_config", | |
56122987 | 10593 | "parameters" : { |
44660702 | 10594 | "additionalProperties" : 0, |
56122987 | 10595 | "properties" : { |
44660702 DM |
10596 | "description" : { |
10597 | "description" : "A textual description or comment.", | |
10598 | "optional" : 1, | |
013dc89f DM |
10599 | "type" : "string", |
10600 | "typetext" : "<string>" | |
44660702 | 10601 | }, |
56122987 | 10602 | "node" : { |
7aacca6f | 10603 | "description" : "The cluster node name.", |
44660702 | 10604 | "format" : "pve-node", |
013dc89f DM |
10605 | "type" : "string", |
10606 | "typetext" : "<string>" | |
56122987 | 10607 | }, |
56122987 DM |
10608 | "snapname" : { |
10609 | "description" : "The name of the snapshot.", | |
44660702 | 10610 | "format" : "pve-configid", |
7aacca6f | 10611 | "maxLength" : 40, |
013dc89f DM |
10612 | "type" : "string", |
10613 | "typetext" : "<string>" | |
7aacca6f DM |
10614 | }, |
10615 | "vmid" : { | |
10616 | "description" : "The (unique) ID of the VM.", | |
44660702 | 10617 | "format" : "pve-vmid", |
7aacca6f | 10618 | "minimum" : 1, |
4bd7df8b | 10619 | "type" : "integer", |
013dc89f | 10620 | "typetext" : "<integer> (1 - N)" |
56122987 | 10621 | } |
44660702 | 10622 | } |
56122987 | 10623 | }, |
7aacca6f DM |
10624 | "permissions" : { |
10625 | "check" : [ | |
10626 | "perm", | |
10627 | "/vms/{vmid}", | |
10628 | [ | |
10629 | "VM.Snapshot" | |
10630 | ] | |
10631 | ] | |
44660702 DM |
10632 | }, |
10633 | "protected" : 1, | |
10634 | "proxyto" : "node", | |
10635 | "returns" : { | |
10636 | "type" : "null" | |
7aacca6f | 10637 | } |
56122987 DM |
10638 | } |
10639 | }, | |
44660702 | 10640 | "leaf" : 1, |
7aacca6f | 10641 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config", |
44660702 | 10642 | "text" : "config" |
56122987 DM |
10643 | }, |
10644 | { | |
56122987 DM |
10645 | "info" : { |
10646 | "POST" : { | |
44660702 | 10647 | "description" : "Rollback VM state to specified snapshot.", |
7aacca6f | 10648 | "method" : "POST", |
44660702 | 10649 | "name" : "rollback", |
56122987 DM |
10650 | "parameters" : { |
10651 | "additionalProperties" : 0, | |
10652 | "properties" : { | |
44660702 DM |
10653 | "node" : { |
10654 | "description" : "The cluster node name.", | |
10655 | "format" : "pve-node", | |
013dc89f DM |
10656 | "type" : "string", |
10657 | "typetext" : "<string>" | |
44660702 | 10658 | }, |
56122987 | 10659 | "snapname" : { |
44660702 | 10660 | "description" : "The name of the snapshot.", |
56122987 DM |
10661 | "format" : "pve-configid", |
10662 | "maxLength" : 40, | |
013dc89f DM |
10663 | "type" : "string", |
10664 | "typetext" : "<string>" | |
7aacca6f | 10665 | }, |
56122987 | 10666 | "vmid" : { |
7aacca6f | 10667 | "description" : "The (unique) ID of the VM.", |
44660702 | 10668 | "format" : "pve-vmid", |
56122987 | 10669 | "minimum" : 1, |
4bd7df8b | 10670 | "type" : "integer", |
013dc89f | 10671 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
10672 | } |
10673 | } | |
10674 | }, | |
7aacca6f | 10675 | "permissions" : { |
56122987 DM |
10676 | "check" : [ |
10677 | "perm", | |
10678 | "/vms/{vmid}", | |
10679 | [ | |
10680 | "VM.Snapshot" | |
10681 | ] | |
10682 | ] | |
10683 | }, | |
44660702 | 10684 | "protected" : 1, |
7aacca6f | 10685 | "proxyto" : "node", |
44660702 DM |
10686 | "returns" : { |
10687 | "description" : "the task ID.", | |
10688 | "type" : "string" | |
10689 | } | |
56122987 DM |
10690 | } |
10691 | }, | |
44660702 DM |
10692 | "leaf" : 1, |
10693 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback", | |
7aacca6f | 10694 | "text" : "rollback" |
56122987 | 10695 | } |
44660702 DM |
10696 | ], |
10697 | "info" : { | |
10698 | "DELETE" : { | |
10699 | "description" : "Delete a VM snapshot.", | |
10700 | "method" : "DELETE", | |
10701 | "name" : "delsnapshot", | |
10702 | "parameters" : { | |
10703 | "additionalProperties" : 0, | |
10704 | "properties" : { | |
10705 | "force" : { | |
10706 | "description" : "For removal from config file, even if removing disk snapshots fails.", | |
10707 | "optional" : 1, | |
013dc89f DM |
10708 | "type" : "boolean", |
10709 | "typetext" : "<boolean>" | |
44660702 DM |
10710 | }, |
10711 | "node" : { | |
10712 | "description" : "The cluster node name.", | |
10713 | "format" : "pve-node", | |
013dc89f DM |
10714 | "type" : "string", |
10715 | "typetext" : "<string>" | |
44660702 DM |
10716 | }, |
10717 | "snapname" : { | |
10718 | "description" : "The name of the snapshot.", | |
10719 | "format" : "pve-configid", | |
10720 | "maxLength" : 40, | |
013dc89f DM |
10721 | "type" : "string", |
10722 | "typetext" : "<string>" | |
44660702 DM |
10723 | }, |
10724 | "vmid" : { | |
10725 | "description" : "The (unique) ID of the VM.", | |
10726 | "format" : "pve-vmid", | |
10727 | "minimum" : 1, | |
4bd7df8b | 10728 | "type" : "integer", |
013dc89f | 10729 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10730 | } |
10731 | } | |
10732 | }, | |
10733 | "permissions" : { | |
10734 | "check" : [ | |
10735 | "perm", | |
10736 | "/vms/{vmid}", | |
10737 | [ | |
10738 | "VM.Snapshot" | |
10739 | ] | |
10740 | ] | |
10741 | }, | |
10742 | "protected" : 1, | |
10743 | "proxyto" : "node", | |
10744 | "returns" : { | |
10745 | "description" : "the task ID.", | |
10746 | "type" : "string" | |
10747 | } | |
10748 | }, | |
10749 | "GET" : { | |
10750 | "description" : "", | |
10751 | "method" : "GET", | |
10752 | "name" : "snapshot_cmd_idx", | |
10753 | "parameters" : { | |
10754 | "additionalProperties" : 0, | |
10755 | "properties" : { | |
10756 | "node" : { | |
10757 | "description" : "The cluster node name.", | |
10758 | "format" : "pve-node", | |
013dc89f DM |
10759 | "type" : "string", |
10760 | "typetext" : "<string>" | |
44660702 DM |
10761 | }, |
10762 | "snapname" : { | |
10763 | "description" : "The name of the snapshot.", | |
10764 | "format" : "pve-configid", | |
10765 | "maxLength" : 40, | |
013dc89f DM |
10766 | "type" : "string", |
10767 | "typetext" : "<string>" | |
44660702 DM |
10768 | }, |
10769 | "vmid" : { | |
10770 | "description" : "The (unique) ID of the VM.", | |
10771 | "format" : "pve-vmid", | |
10772 | "minimum" : 1, | |
4bd7df8b | 10773 | "type" : "integer", |
013dc89f | 10774 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10775 | } |
10776 | } | |
10777 | }, | |
10778 | "permissions" : { | |
10779 | "user" : "all" | |
10780 | }, | |
10781 | "returns" : { | |
10782 | "items" : { | |
10783 | "properties" : {}, | |
10784 | "type" : "object" | |
10785 | }, | |
10786 | "links" : [ | |
10787 | { | |
10788 | "href" : "{cmd}", | |
10789 | "rel" : "child" | |
10790 | } | |
10791 | ], | |
10792 | "type" : "array" | |
10793 | } | |
10794 | } | |
10795 | }, | |
10796 | "leaf" : 0, | |
10797 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot/{snapname}", | |
10798 | "text" : "{snapname}" | |
56122987 DM |
10799 | } |
10800 | ], | |
44660702 DM |
10801 | "info" : { |
10802 | "GET" : { | |
10803 | "description" : "List all snapshots.", | |
10804 | "method" : "GET", | |
10805 | "name" : "snapshot_list", | |
10806 | "parameters" : { | |
10807 | "additionalProperties" : 0, | |
10808 | "properties" : { | |
10809 | "node" : { | |
10810 | "description" : "The cluster node name.", | |
10811 | "format" : "pve-node", | |
013dc89f DM |
10812 | "type" : "string", |
10813 | "typetext" : "<string>" | |
44660702 DM |
10814 | }, |
10815 | "vmid" : { | |
10816 | "description" : "The (unique) ID of the VM.", | |
10817 | "format" : "pve-vmid", | |
10818 | "minimum" : 1, | |
4bd7df8b | 10819 | "type" : "integer", |
013dc89f | 10820 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10821 | } |
10822 | } | |
10823 | }, | |
10824 | "permissions" : { | |
10825 | "check" : [ | |
10826 | "perm", | |
10827 | "/vms/{vmid}", | |
10828 | [ | |
10829 | "VM.Audit" | |
10830 | ] | |
10831 | ] | |
10832 | }, | |
10833 | "protected" : 1, | |
10834 | "proxyto" : "node", | |
10835 | "returns" : { | |
10836 | "items" : { | |
10837 | "properties" : {}, | |
10838 | "type" : "object" | |
10839 | }, | |
10840 | "links" : [ | |
10841 | { | |
10842 | "href" : "{name}", | |
10843 | "rel" : "child" | |
10844 | } | |
10845 | ], | |
10846 | "type" : "array" | |
10847 | } | |
10848 | }, | |
10849 | "POST" : { | |
10850 | "description" : "Snapshot a VM.", | |
10851 | "method" : "POST", | |
10852 | "name" : "snapshot", | |
10853 | "parameters" : { | |
10854 | "additionalProperties" : 0, | |
10855 | "properties" : { | |
10856 | "description" : { | |
10857 | "description" : "A textual description or comment.", | |
10858 | "optional" : 1, | |
013dc89f DM |
10859 | "type" : "string", |
10860 | "typetext" : "<string>" | |
44660702 DM |
10861 | }, |
10862 | "node" : { | |
10863 | "description" : "The cluster node name.", | |
10864 | "format" : "pve-node", | |
013dc89f DM |
10865 | "type" : "string", |
10866 | "typetext" : "<string>" | |
44660702 DM |
10867 | }, |
10868 | "snapname" : { | |
10869 | "description" : "The name of the snapshot.", | |
10870 | "format" : "pve-configid", | |
10871 | "maxLength" : 40, | |
013dc89f DM |
10872 | "type" : "string", |
10873 | "typetext" : "<string>" | |
44660702 DM |
10874 | }, |
10875 | "vmid" : { | |
10876 | "description" : "The (unique) ID of the VM.", | |
10877 | "format" : "pve-vmid", | |
10878 | "minimum" : 1, | |
4bd7df8b | 10879 | "type" : "integer", |
013dc89f | 10880 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
10881 | }, |
10882 | "vmstate" : { | |
10883 | "description" : "Save the vmstate", | |
10884 | "optional" : 1, | |
013dc89f DM |
10885 | "type" : "boolean", |
10886 | "typetext" : "<boolean>" | |
44660702 DM |
10887 | } |
10888 | } | |
10889 | }, | |
10890 | "permissions" : { | |
10891 | "check" : [ | |
10892 | "perm", | |
10893 | "/vms/{vmid}", | |
10894 | [ | |
10895 | "VM.Snapshot" | |
10896 | ] | |
10897 | ] | |
10898 | }, | |
10899 | "protected" : 1, | |
10900 | "proxyto" : "node", | |
10901 | "returns" : { | |
10902 | "description" : "the task ID.", | |
10903 | "type" : "string" | |
10904 | } | |
10905 | } | |
10906 | }, | |
10907 | "leaf" : 0, | |
10908 | "path" : "/nodes/{node}/qemu/{vmid}/snapshot", | |
7aacca6f | 10909 | "text" : "snapshot" |
56122987 DM |
10910 | }, |
10911 | { | |
56122987 DM |
10912 | "info" : { |
10913 | "POST" : { | |
44660702 DM |
10914 | "description" : "Create a Template.", |
10915 | "method" : "POST", | |
56122987 | 10916 | "name" : "template", |
56122987 | 10917 | "parameters" : { |
7aacca6f | 10918 | "additionalProperties" : 0, |
56122987 | 10919 | "properties" : { |
56122987 | 10920 | "disk" : { |
56122987 DM |
10921 | "description" : "If you want to convert only 1 disk to base image.", |
10922 | "enum" : [ | |
10923 | "ide0", | |
10924 | "ide1", | |
10925 | "ide2", | |
10926 | "ide3", | |
10927 | "scsi0", | |
10928 | "scsi1", | |
10929 | "scsi2", | |
10930 | "scsi3", | |
10931 | "scsi4", | |
10932 | "scsi5", | |
10933 | "scsi6", | |
10934 | "scsi7", | |
10935 | "scsi8", | |
10936 | "scsi9", | |
10937 | "scsi10", | |
10938 | "scsi11", | |
10939 | "scsi12", | |
10940 | "scsi13", | |
10941 | "virtio0", | |
10942 | "virtio1", | |
10943 | "virtio2", | |
10944 | "virtio3", | |
10945 | "virtio4", | |
10946 | "virtio5", | |
10947 | "virtio6", | |
10948 | "virtio7", | |
10949 | "virtio8", | |
10950 | "virtio9", | |
10951 | "virtio10", | |
10952 | "virtio11", | |
10953 | "virtio12", | |
10954 | "virtio13", | |
10955 | "virtio14", | |
10956 | "virtio15", | |
10957 | "sata0", | |
10958 | "sata1", | |
10959 | "sata2", | |
10960 | "sata3", | |
10961 | "sata4", | |
2c0dde61 DM |
10962 | "sata5", |
10963 | "efidisk0" | |
56122987 | 10964 | ], |
7aacca6f | 10965 | "optional" : 1, |
56122987 DM |
10966 | "type" : "string" |
10967 | }, | |
44660702 DM |
10968 | "node" : { |
10969 | "description" : "The cluster node name.", | |
10970 | "format" : "pve-node", | |
013dc89f DM |
10971 | "type" : "string", |
10972 | "typetext" : "<string>" | |
44660702 DM |
10973 | }, |
10974 | "vmid" : { | |
10975 | "description" : "The (unique) ID of the VM.", | |
7aacca6f | 10976 | "format" : "pve-vmid", |
44660702 | 10977 | "minimum" : 1, |
4bd7df8b | 10978 | "type" : "integer", |
013dc89f | 10979 | "typetext" : "<integer> (1 - N)" |
56122987 | 10980 | } |
7aacca6f | 10981 | } |
56122987 | 10982 | }, |
7aacca6f DM |
10983 | "permissions" : { |
10984 | "check" : [ | |
10985 | "perm", | |
10986 | "/vms/{vmid}", | |
10987 | [ | |
10988 | "VM.Allocate" | |
10989 | ] | |
10990 | ], | |
10991 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}" | |
10992 | }, | |
44660702 | 10993 | "protected" : 1, |
7aacca6f | 10994 | "proxyto" : "node", |
7aacca6f DM |
10995 | "returns" : { |
10996 | "type" : "null" | |
10997 | } | |
56122987 DM |
10998 | } |
10999 | }, | |
44660702 | 11000 | "leaf" : 1, |
7aacca6f | 11001 | "path" : "/nodes/{node}/qemu/{vmid}/template", |
44660702 | 11002 | "text" : "template" |
56122987 DM |
11003 | } |
11004 | ], | |
7aacca6f | 11005 | "info" : { |
44660702 DM |
11006 | "DELETE" : { |
11007 | "description" : "Destroy the vm (also delete all used/owned volumes).", | |
11008 | "method" : "DELETE", | |
11009 | "name" : "destroy_vm", | |
7aacca6f | 11010 | "parameters" : { |
44660702 | 11011 | "additionalProperties" : 0, |
7aacca6f DM |
11012 | "properties" : { |
11013 | "node" : { | |
44660702 | 11014 | "description" : "The cluster node name.", |
7aacca6f | 11015 | "format" : "pve-node", |
013dc89f DM |
11016 | "type" : "string", |
11017 | "typetext" : "<string>" | |
44660702 DM |
11018 | }, |
11019 | "skiplock" : { | |
11020 | "description" : "Ignore locks - only root is allowed to use this option.", | |
11021 | "optional" : 1, | |
013dc89f DM |
11022 | "type" : "boolean", |
11023 | "typetext" : "<boolean>" | |
7aacca6f DM |
11024 | }, |
11025 | "vmid" : { | |
44660702 | 11026 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 11027 | "format" : "pve-vmid", |
44660702 | 11028 | "minimum" : 1, |
4bd7df8b | 11029 | "type" : "integer", |
013dc89f | 11030 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 11031 | } |
44660702 | 11032 | } |
7aacca6f | 11033 | }, |
7aacca6f DM |
11034 | "permissions" : { |
11035 | "check" : [ | |
11036 | "perm", | |
11037 | "/vms/{vmid}", | |
11038 | [ | |
11039 | "VM.Allocate" | |
11040 | ] | |
11041 | ] | |
11042 | }, | |
44660702 DM |
11043 | "protected" : 1, |
11044 | "proxyto" : "node", | |
7aacca6f DM |
11045 | "returns" : { |
11046 | "type" : "string" | |
44660702 DM |
11047 | } |
11048 | }, | |
11049 | "GET" : { | |
11050 | "description" : "Directory index", | |
11051 | "method" : "GET", | |
11052 | "name" : "vmdiridx", | |
7aacca6f | 11053 | "parameters" : { |
44660702 | 11054 | "additionalProperties" : 0, |
7aacca6f | 11055 | "properties" : { |
7aacca6f | 11056 | "node" : { |
7aacca6f | 11057 | "description" : "The cluster node name.", |
44660702 | 11058 | "format" : "pve-node", |
013dc89f DM |
11059 | "type" : "string", |
11060 | "typetext" : "<string>" | |
44660702 DM |
11061 | }, |
11062 | "vmid" : { | |
11063 | "description" : "The (unique) ID of the VM.", | |
11064 | "format" : "pve-vmid", | |
11065 | "minimum" : 1, | |
4bd7df8b | 11066 | "type" : "integer", |
013dc89f | 11067 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 11068 | } |
44660702 | 11069 | } |
7aacca6f | 11070 | }, |
44660702 DM |
11071 | "permissions" : { |
11072 | "user" : "all" | |
11073 | }, | |
11074 | "proxyto" : "node", | |
11075 | "returns" : { | |
11076 | "items" : { | |
11077 | "properties" : { | |
11078 | "subdir" : { | |
11079 | "type" : "string" | |
11080 | } | |
11081 | }, | |
11082 | "type" : "object" | |
11083 | }, | |
11084 | "links" : [ | |
11085 | { | |
11086 | "href" : "{subdir}", | |
11087 | "rel" : "child" | |
11088 | } | |
11089 | ], | |
11090 | "type" : "array" | |
11091 | } | |
7aacca6f | 11092 | } |
44660702 DM |
11093 | }, |
11094 | "leaf" : 0, | |
11095 | "path" : "/nodes/{node}/qemu/{vmid}", | |
11096 | "text" : "{vmid}" | |
56122987 DM |
11097 | } |
11098 | ], | |
11099 | "info" : { | |
44660702 DM |
11100 | "GET" : { |
11101 | "description" : "Virtual machine index (per node).", | |
11102 | "method" : "GET", | |
11103 | "name" : "vmlist", | |
56122987 | 11104 | "parameters" : { |
44660702 | 11105 | "additionalProperties" : 0, |
56122987 | 11106 | "properties" : { |
44660702 DM |
11107 | "full" : { |
11108 | "description" : "Determine the full status of active VMs.", | |
56122987 | 11109 | "optional" : 1, |
013dc89f DM |
11110 | "type" : "boolean", |
11111 | "typetext" : "<boolean>" | |
56122987 | 11112 | }, |
44660702 DM |
11113 | "node" : { |
11114 | "description" : "The cluster node name.", | |
11115 | "format" : "pve-node", | |
013dc89f DM |
11116 | "type" : "string", |
11117 | "typetext" : "<string>" | |
44660702 DM |
11118 | } |
11119 | } | |
11120 | }, | |
11121 | "permissions" : { | |
11122 | "description" : "Only list VMs where you have VM.Audit permissons on /vms/<vmid>.", | |
11123 | "user" : "all" | |
11124 | }, | |
11125 | "protected" : 1, | |
11126 | "proxyto" : "node", | |
11127 | "returns" : { | |
11128 | "items" : { | |
11129 | "properties" : {}, | |
11130 | "type" : "object" | |
11131 | }, | |
11132 | "links" : [ | |
11133 | { | |
11134 | "href" : "{vmid}", | |
11135 | "rel" : "child" | |
11136 | } | |
11137 | ], | |
11138 | "type" : "array" | |
11139 | } | |
11140 | }, | |
11141 | "POST" : { | |
11142 | "description" : "Create or restore a virtual machine.", | |
11143 | "method" : "POST", | |
11144 | "name" : "create_vm", | |
11145 | "parameters" : { | |
11146 | "additionalProperties" : 0, | |
11147 | "properties" : { | |
7aacca6f | 11148 | "acpi" : { |
7aacca6f | 11149 | "default" : 1, |
44660702 | 11150 | "description" : "Enable/disable ACPI.", |
56122987 | 11151 | "optional" : 1, |
013dc89f DM |
11152 | "type" : "boolean", |
11153 | "typetext" : "<boolean>" | |
56122987 | 11154 | }, |
44660702 DM |
11155 | "agent" : { |
11156 | "default" : 0, | |
11157 | "description" : "Enable/disable Qemu GuestAgent.", | |
7aacca6f | 11158 | "optional" : 1, |
013dc89f DM |
11159 | "type" : "boolean", |
11160 | "typetext" : "<boolean>" | |
56122987 | 11161 | }, |
44660702 DM |
11162 | "archive" : { |
11163 | "description" : "The backup file.", | |
11164 | "maxLength" : 255, | |
56122987 | 11165 | "optional" : 1, |
013dc89f DM |
11166 | "type" : "string", |
11167 | "typetext" : "<string>" | |
56122987 | 11168 | }, |
44660702 | 11169 | "args" : { |
c2993fe5 | 11170 | "description" : "Arbitrary arguments passed to kvm.", |
56122987 | 11171 | "optional" : 1, |
c2993fe5 | 11172 | "type" : "string", |
013dc89f | 11173 | "typetext" : "<string>", |
c2993fe5 | 11174 | "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n" |
56122987 | 11175 | }, |
44660702 | 11176 | "autostart" : { |
7aacca6f | 11177 | "default" : 0, |
44660702 DM |
11178 | "description" : "Automatic restart after crash (currently ignored).", |
11179 | "optional" : 1, | |
013dc89f DM |
11180 | "type" : "boolean", |
11181 | "typetext" : "<boolean>" | |
7aacca6f | 11182 | }, |
44660702 DM |
11183 | "balloon" : { |
11184 | "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.", | |
11185 | "minimum" : 0, | |
56122987 | 11186 | "optional" : 1, |
4bd7df8b | 11187 | "type" : "integer", |
013dc89f | 11188 | "typetext" : "<integer> (0 - N)" |
56122987 | 11189 | }, |
44660702 DM |
11190 | "bios" : { |
11191 | "default" : "seabios", | |
11192 | "description" : "Select BIOS implementation.", | |
11193 | "enum" : [ | |
11194 | "seabios", | |
11195 | "ovmf" | |
11196 | ], | |
56122987 | 11197 | "optional" : 1, |
44660702 | 11198 | "type" : "string" |
56122987 | 11199 | }, |
44660702 DM |
11200 | "boot" : { |
11201 | "default" : "cdn", | |
11202 | "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).", | |
56122987 | 11203 | "optional" : 1, |
44660702 DM |
11204 | "pattern" : "[acdn]{1,4}", |
11205 | "type" : "string" | |
56122987 | 11206 | }, |
7aacca6f DM |
11207 | "bootdisk" : { |
11208 | "description" : "Enable booting from specified disk.", | |
44660702 DM |
11209 | "format" : "pve-qm-bootdisk", |
11210 | "optional" : 1, | |
7aacca6f | 11211 | "pattern" : "(ide|sata|scsi|virtio)\\d+", |
44660702 DM |
11212 | "type" : "string" |
11213 | }, | |
11214 | "cdrom" : { | |
11215 | "description" : "This is an alias for option -ide2", | |
de0983cb | 11216 | "format" : "pve-qm-ide", |
56122987 | 11217 | "optional" : 1, |
44660702 | 11218 | "type" : "string", |
013dc89f | 11219 | "typetext" : "<volume>" |
56122987 | 11220 | }, |
44660702 DM |
11221 | "cores" : { |
11222 | "default" : 1, | |
11223 | "description" : "The number of cores per socket.", | |
7aacca6f | 11224 | "minimum" : 1, |
44660702 | 11225 | "optional" : 1, |
4bd7df8b | 11226 | "type" : "integer", |
013dc89f | 11227 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 11228 | }, |
44660702 DM |
11229 | "cpu" : { |
11230 | "description" : "Emulated CPU type.", | |
11231 | "format" : { | |
11232 | "cputype" : { | |
11233 | "default" : "kvm64", | |
11234 | "default_key" : 1, | |
11235 | "description" : "Emulated CPU type.", | |
11236 | "enum" : [ | |
11237 | "486", | |
11238 | "athlon", | |
f004f5b9 DM |
11239 | "Broadwell", |
11240 | "Broadwell-noTSX", | |
11241 | "Conroe", | |
44660702 | 11242 | "core2duo", |
f004f5b9 DM |
11243 | "coreduo", |
11244 | "Haswell", | |
11245 | "Haswell-noTSX", | |
11246 | "host", | |
11247 | "IvyBridge", | |
44660702 DM |
11248 | "kvm32", |
11249 | "kvm64", | |
44660702 | 11250 | "Nehalem", |
44660702 DM |
11251 | "Opteron_G1", |
11252 | "Opteron_G2", | |
11253 | "Opteron_G3", | |
11254 | "Opteron_G4", | |
11255 | "Opteron_G5", | |
f004f5b9 DM |
11256 | "Penryn", |
11257 | "pentium", | |
11258 | "pentium2", | |
11259 | "pentium3", | |
11260 | "phenom", | |
11261 | "qemu32", | |
11262 | "qemu64", | |
11263 | "SandyBridge", | |
11264 | "Westmere" | |
44660702 | 11265 | ], |
44660702 DM |
11266 | "type" : "string" |
11267 | }, | |
11268 | "hidden" : { | |
11269 | "default" : 0, | |
11270 | "description" : "Do not identify as a KVM virtual machine.", | |
11271 | "optional" : 1, | |
11272 | "type" : "boolean" | |
11273 | } | |
11274 | }, | |
56122987 | 11275 | "optional" : 1, |
4bd7df8b | 11276 | "type" : "string", |
013dc89f | 11277 | "typetext" : "[cputype=]<enum> [,hidden=<1|0>]" |
56122987 | 11278 | }, |
44660702 | 11279 | "cpulimit" : { |
7aacca6f | 11280 | "default" : 0, |
c2993fe5 | 11281 | "description" : "Limit of CPU usage.", |
44660702 DM |
11282 | "maximum" : 128, |
11283 | "minimum" : 0, | |
7aacca6f | 11284 | "optional" : 1, |
c2993fe5 | 11285 | "type" : "number", |
013dc89f | 11286 | "typetext" : "<number> (0 - 128)", |
c2993fe5 | 11287 | "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit." |
7aacca6f DM |
11288 | }, |
11289 | "cpuunits" : { | |
de0983cb | 11290 | "default" : 1024, |
c2993fe5 | 11291 | "description" : "CPU weight for a VM.", |
7aacca6f | 11292 | "maximum" : 500000, |
44660702 DM |
11293 | "minimum" : 0, |
11294 | "optional" : 1, | |
c2993fe5 | 11295 | "type" : "integer", |
013dc89f | 11296 | "typetext" : "<integer> (0 - 500000)", |
c2993fe5 | 11297 | "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0." |
44660702 DM |
11298 | }, |
11299 | "description" : { | |
11300 | "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.", | |
56122987 | 11301 | "optional" : 1, |
013dc89f DM |
11302 | "type" : "string", |
11303 | "typetext" : "<string>" | |
44660702 DM |
11304 | }, |
11305 | "force" : { | |
11306 | "description" : "Allow to overwrite existing VM.", | |
11307 | "optional" : 1, | |
11308 | "requires" : "archive", | |
013dc89f DM |
11309 | "type" : "boolean", |
11310 | "typetext" : "<boolean>" | |
44660702 DM |
11311 | }, |
11312 | "freeze" : { | |
11313 | "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).", | |
11314 | "optional" : 1, | |
013dc89f DM |
11315 | "type" : "boolean", |
11316 | "typetext" : "<boolean>" | |
44660702 DM |
11317 | }, |
11318 | "hostpci[n]" : { | |
c2993fe5 | 11319 | "description" : "Map host PCI devices into guest.", |
44660702 DM |
11320 | "format" : "pve-qm-hostpci", |
11321 | "optional" : 1, | |
57b78691 | 11322 | "type" : "string", |
4bd7df8b | 11323 | "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,x-vga=<1|0>]", |
57b78691 | 11324 | "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
44660702 DM |
11325 | }, |
11326 | "hotplug" : { | |
11327 | "default" : "network,disk,usb", | |
11328 | "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.", | |
11329 | "format" : "pve-hotplug-features", | |
11330 | "optional" : 1, | |
013dc89f DM |
11331 | "type" : "string", |
11332 | "typetext" : "<string>" | |
7aacca6f | 11333 | }, |
4bd7df8b DM |
11334 | "hugepages" : { |
11335 | "description" : "Enable/disable hugepages memory.", | |
11336 | "enum" : [ | |
11337 | "any", | |
11338 | "2", | |
11339 | "1024" | |
11340 | ], | |
11341 | "optional" : 1, | |
11342 | "type" : "string" | |
11343 | }, | |
7aacca6f | 11344 | "ide[n]" : { |
44660702 | 11345 | "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).", |
56122987 | 11346 | "format" : { |
44660702 DM |
11347 | "aio" : { |
11348 | "description" : "AIO type to use.", | |
11349 | "enum" : [ | |
11350 | "native", | |
11351 | "threads" | |
11352 | ], | |
44660702 DM |
11353 | "optional" : 1, |
11354 | "type" : "string" | |
11355 | }, | |
11356 | "backup" : { | |
11357 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
11358 | "optional" : 1, |
11359 | "type" : "boolean" | |
11360 | }, | |
11361 | "bps" : { | |
de0983cb | 11362 | "description" : "Maximum r/w speed in bytes per second.", |
7aacca6f | 11363 | "format_description" : "bps", |
56122987 | 11364 | "optional" : 1, |
44660702 | 11365 | "type" : "integer" |
56122987 | 11366 | }, |
de0983cb DM |
11367 | "bps_max_length" : { |
11368 | "description" : "Maximum length of I/O bursts in seconds.", | |
11369 | "format_description" : "seconds", | |
11370 | "minimum" : 1, | |
11371 | "optional" : 1, | |
11372 | "type" : "integer" | |
11373 | }, | |
44660702 | 11374 | "bps_rd" : { |
de0983cb | 11375 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 11376 | "format_description" : "bps", |
56122987 | 11377 | "optional" : 1, |
44660702 | 11378 | "type" : "integer" |
56122987 | 11379 | }, |
de0983cb DM |
11380 | "bps_rd_length" : { |
11381 | "description" : "Maximum length of read I/O bursts in seconds.", | |
11382 | "format_description" : "seconds", | |
11383 | "minimum" : 1, | |
11384 | "optional" : 1, | |
11385 | "type" : "integer" | |
11386 | }, | |
44660702 | 11387 | "bps_wr" : { |
de0983cb | 11388 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 11389 | "format_description" : "bps", |
56122987 | 11390 | "optional" : 1, |
44660702 | 11391 | "type" : "integer" |
56122987 | 11392 | }, |
de0983cb DM |
11393 | "bps_wr_length" : { |
11394 | "description" : "Maximum length of write I/O bursts in seconds.", | |
11395 | "format_description" : "seconds", | |
11396 | "minimum" : 1, | |
11397 | "optional" : 1, | |
11398 | "type" : "integer" | |
11399 | }, | |
44660702 DM |
11400 | "cache" : { |
11401 | "description" : "The drive's cache mode", | |
56122987 | 11402 | "enum" : [ |
7aacca6f | 11403 | "none", |
44660702 DM |
11404 | "writethrough", |
11405 | "writeback", | |
11406 | "unsafe", | |
11407 | "directsync" | |
56122987 | 11408 | ], |
56122987 | 11409 | "optional" : 1, |
44660702 | 11410 | "type" : "string" |
56122987 | 11411 | }, |
44660702 DM |
11412 | "cyls" : { |
11413 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
11414 | "optional" : 1, |
11415 | "type" : "integer" | |
7aacca6f | 11416 | }, |
44660702 DM |
11417 | "detect_zeroes" : { |
11418 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 11419 | "optional" : 1, |
44660702 | 11420 | "type" : "boolean" |
56122987 | 11421 | }, |
44660702 DM |
11422 | "discard" : { |
11423 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
11424 | "enum" : [ | |
11425 | "ignore", | |
11426 | "on" | |
11427 | ], | |
56122987 | 11428 | "optional" : 1, |
44660702 | 11429 | "type" : "string" |
56122987 | 11430 | }, |
7aacca6f | 11431 | "file" : { |
44660702 | 11432 | "default_key" : 1, |
7aacca6f | 11433 | "description" : "The drive's backing volume.", |
7aacca6f DM |
11434 | "format" : "pve-volume-id-or-qm-path", |
11435 | "format_description" : "volume", | |
7aacca6f | 11436 | "type" : "string" |
56122987 | 11437 | }, |
44660702 DM |
11438 | "format" : { |
11439 | "description" : "The drive's backing file's data format.", | |
56122987 | 11440 | "enum" : [ |
44660702 DM |
11441 | "raw", |
11442 | "cow", | |
11443 | "qcow", | |
11444 | "qed", | |
11445 | "qcow2", | |
11446 | "vmdk", | |
11447 | "cloop" | |
7aacca6f | 11448 | ], |
7aacca6f DM |
11449 | "optional" : 1, |
11450 | "type" : "string" | |
56122987 | 11451 | }, |
44660702 DM |
11452 | "heads" : { |
11453 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
56122987 | 11454 | "optional" : 1, |
44660702 | 11455 | "type" : "integer" |
56122987 | 11456 | }, |
44660702 | 11457 | "iops" : { |
de0983cb | 11458 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 11459 | "format_description" : "iops", |
56122987 | 11460 | "optional" : 1, |
44660702 | 11461 | "type" : "integer" |
56122987 | 11462 | }, |
44660702 | 11463 | "iops_max" : { |
de0983cb | 11464 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 11465 | "format_description" : "iops", |
56122987 | 11466 | "optional" : 1, |
44660702 | 11467 | "type" : "integer" |
56122987 | 11468 | }, |
de0983cb DM |
11469 | "iops_max_length" : { |
11470 | "description" : "Maximum length of I/O bursts in seconds.", | |
11471 | "format_description" : "seconds", | |
11472 | "minimum" : 1, | |
11473 | "optional" : 1, | |
11474 | "type" : "integer" | |
11475 | }, | |
7aacca6f | 11476 | "iops_rd" : { |
de0983cb | 11477 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
11478 | "format_description" : "iops", |
11479 | "optional" : 1, | |
11480 | "type" : "integer" | |
7aacca6f | 11481 | }, |
de0983cb DM |
11482 | "iops_rd_length" : { |
11483 | "description" : "Maximum length of read I/O bursts in seconds.", | |
11484 | "format_description" : "seconds", | |
11485 | "minimum" : 1, | |
11486 | "optional" : 1, | |
11487 | "type" : "integer" | |
11488 | }, | |
44660702 | 11489 | "iops_rd_max" : { |
de0983cb | 11490 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 | 11491 | "format_description" : "iops", |
56122987 | 11492 | "optional" : 1, |
44660702 | 11493 | "type" : "integer" |
56122987 | 11494 | }, |
44660702 | 11495 | "iops_wr" : { |
de0983cb | 11496 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 11497 | "format_description" : "iops", |
56122987 | 11498 | "optional" : 1, |
44660702 | 11499 | "type" : "integer" |
7aacca6f | 11500 | }, |
de0983cb DM |
11501 | "iops_wr_length" : { |
11502 | "description" : "Maximum length of write I/O bursts in seconds.", | |
11503 | "format_description" : "seconds", | |
11504 | "minimum" : 1, | |
11505 | "optional" : 1, | |
11506 | "type" : "integer" | |
11507 | }, | |
44660702 | 11508 | "iops_wr_max" : { |
de0983cb | 11509 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 11510 | "format_description" : "iops", |
7aacca6f | 11511 | "optional" : 1, |
44660702 | 11512 | "type" : "integer" |
56122987 | 11513 | }, |
44660702 | 11514 | "mbps" : { |
de0983cb | 11515 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 11516 | "format_description" : "mbps", |
7aacca6f | 11517 | "optional" : 1, |
44660702 | 11518 | "type" : "number" |
56122987 | 11519 | }, |
44660702 | 11520 | "mbps_max" : { |
de0983cb | 11521 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
7aacca6f | 11522 | "format_description" : "mbps", |
56122987 | 11523 | "optional" : 1, |
44660702 | 11524 | "type" : "number" |
56122987 | 11525 | }, |
44660702 | 11526 | "mbps_rd" : { |
de0983cb | 11527 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 11528 | "format_description" : "mbps", |
7aacca6f | 11529 | "optional" : 1, |
44660702 | 11530 | "type" : "number" |
7aacca6f | 11531 | }, |
44660702 | 11532 | "mbps_rd_max" : { |
de0983cb | 11533 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 11534 | "format_description" : "mbps", |
56122987 | 11535 | "optional" : 1, |
44660702 | 11536 | "type" : "number" |
56122987 | 11537 | }, |
44660702 | 11538 | "mbps_wr" : { |
de0983cb | 11539 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 11540 | "format_description" : "mbps", |
7aacca6f | 11541 | "optional" : 1, |
44660702 | 11542 | "type" : "number" |
56122987 | 11543 | }, |
44660702 | 11544 | "mbps_wr_max" : { |
de0983cb | 11545 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 11546 | "format_description" : "mbps", |
56122987 | 11547 | "optional" : 1, |
44660702 | 11548 | "type" : "number" |
7aacca6f DM |
11549 | }, |
11550 | "media" : { | |
44660702 DM |
11551 | "default" : "disk", |
11552 | "description" : "The drive's media type.", | |
56122987 | 11553 | "enum" : [ |
7aacca6f DM |
11554 | "cdrom", |
11555 | "disk" | |
56122987 | 11556 | ], |
56122987 | 11557 | "optional" : 1, |
44660702 | 11558 | "type" : "string" |
56122987 | 11559 | }, |
44660702 DM |
11560 | "model" : { |
11561 | "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.", | |
11562 | "format" : "urlencoded", | |
11563 | "format_description" : "model", | |
11564 | "maxLength" : 120, | |
56122987 | 11565 | "optional" : 1, |
44660702 | 11566 | "type" : "string" |
56122987 | 11567 | }, |
7aacca6f | 11568 | "rerror" : { |
7aacca6f DM |
11569 | "description" : "Read error action.", |
11570 | "enum" : [ | |
11571 | "ignore", | |
11572 | "report", | |
11573 | "stop" | |
44660702 | 11574 | ], |
44660702 DM |
11575 | "optional" : 1, |
11576 | "type" : "string" | |
56122987 | 11577 | }, |
44660702 DM |
11578 | "secs" : { |
11579 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 11580 | "optional" : 1, |
44660702 DM |
11581 | "type" : "integer" |
11582 | }, | |
11583 | "serial" : { | |
11584 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
11585 | "format" : "urlencoded", | |
11586 | "format_description" : "serial", | |
11587 | "maxLength" : 60, | |
11588 | "optional" : 1, | |
11589 | "type" : "string" | |
11590 | }, | |
11591 | "size" : { | |
11592 | "description" : "Disk size. This is purely informational and has no effect.", | |
11593 | "format" : "disk-size", | |
f004f5b9 | 11594 | "format_description" : "DiskSize", |
44660702 DM |
11595 | "optional" : 1, |
11596 | "type" : "string" | |
7aacca6f DM |
11597 | }, |
11598 | "snapshot" : { | |
44660702 | 11599 | "description" : "Whether the drive should be included when making snapshots.", |
7aacca6f | 11600 | "optional" : 1, |
44660702 | 11601 | "type" : "boolean" |
7aacca6f | 11602 | }, |
44660702 DM |
11603 | "trans" : { |
11604 | "description" : "Force disk geometry bios translation mode.", | |
11605 | "enum" : [ | |
11606 | "none", | |
11607 | "lba", | |
11608 | "auto" | |
11609 | ], | |
7aacca6f | 11610 | "optional" : 1, |
44660702 DM |
11611 | "type" : "string" |
11612 | }, | |
11613 | "volume" : { | |
11614 | "alias" : "file" | |
11615 | }, | |
11616 | "werror" : { | |
11617 | "description" : "Write error action.", | |
11618 | "enum" : [ | |
11619 | "enospc", | |
11620 | "ignore", | |
11621 | "report", | |
11622 | "stop" | |
11623 | ], | |
44660702 DM |
11624 | "optional" : 1, |
11625 | "type" : "string" | |
56122987 DM |
11626 | } |
11627 | }, | |
56122987 | 11628 | "optional" : 1, |
4bd7df8b | 11629 | "type" : "string", |
013dc89f | 11630 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
56122987 | 11631 | }, |
56122987 | 11632 | "keyboard" : { |
44660702 | 11633 | "default" : "en-us", |
c2993fe5 | 11634 | "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.", |
56122987 | 11635 | "enum" : [ |
44660702 DM |
11636 | "de", |
11637 | "de-ch", | |
7aacca6f | 11638 | "da", |
56122987 | 11639 | "en-gb", |
44660702 DM |
11640 | "en-us", |
11641 | "es", | |
11642 | "fi", | |
11643 | "fr", | |
11644 | "fr-be", | |
11645 | "fr-ca", | |
11646 | "fr-ch", | |
11647 | "hu", | |
7aacca6f | 11648 | "is", |
44660702 DM |
11649 | "it", |
11650 | "ja", | |
11651 | "lt", | |
56122987 | 11652 | "mk", |
7aacca6f | 11653 | "nl", |
56122987 | 11654 | "no", |
44660702 | 11655 | "pl", |
7aacca6f | 11656 | "pt", |
44660702 DM |
11657 | "pt-br", |
11658 | "sv", | |
11659 | "sl", | |
11660 | "tr" | |
56122987 | 11661 | ], |
44660702 DM |
11662 | "optional" : 1, |
11663 | "type" : "string" | |
56122987 | 11664 | }, |
44660702 DM |
11665 | "kvm" : { |
11666 | "default" : 1, | |
11667 | "description" : "Enable/disable KVM hardware virtualization.", | |
7aacca6f | 11668 | "optional" : 1, |
013dc89f DM |
11669 | "type" : "boolean", |
11670 | "typetext" : "<boolean>" | |
7aacca6f | 11671 | }, |
44660702 DM |
11672 | "localtime" : { |
11673 | "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.", | |
56122987 | 11674 | "optional" : 1, |
013dc89f DM |
11675 | "type" : "boolean", |
11676 | "typetext" : "<boolean>" | |
44660702 DM |
11677 | }, |
11678 | "lock" : { | |
11679 | "description" : "Lock/unlock the VM.", | |
7aacca6f DM |
11680 | "enum" : [ |
11681 | "migrate", | |
11682 | "backup", | |
11683 | "snapshot", | |
11684 | "rollback" | |
11685 | ], | |
44660702 DM |
11686 | "optional" : 1, |
11687 | "type" : "string" | |
56122987 | 11688 | }, |
44660702 DM |
11689 | "machine" : { |
11690 | "description" : "Specific the Qemu machine type.", | |
11691 | "maxLength" : 40, | |
11692 | "optional" : 1, | |
11693 | "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)", | |
11694 | "type" : "string" | |
11695 | }, | |
11696 | "memory" : { | |
11697 | "default" : 512, | |
11698 | "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.", | |
11699 | "minimum" : 16, | |
11700 | "optional" : 1, | |
4bd7df8b | 11701 | "type" : "integer", |
013dc89f | 11702 | "typetext" : "<integer> (16 - N)" |
44660702 DM |
11703 | }, |
11704 | "migrate_downtime" : { | |
11705 | "default" : 0.1, | |
11706 | "description" : "Set maximum tolerated downtime (in seconds) for migrations.", | |
11707 | "minimum" : 0, | |
11708 | "optional" : 1, | |
4bd7df8b | 11709 | "type" : "number", |
013dc89f | 11710 | "typetext" : "<number> (0 - N)" |
44660702 DM |
11711 | }, |
11712 | "migrate_speed" : { | |
56122987 | 11713 | "default" : 0, |
44660702 DM |
11714 | "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.", |
11715 | "minimum" : 0, | |
56122987 | 11716 | "optional" : 1, |
4bd7df8b | 11717 | "type" : "integer", |
013dc89f | 11718 | "typetext" : "<integer> (0 - N)" |
56122987 | 11719 | }, |
44660702 DM |
11720 | "name" : { |
11721 | "description" : "Set a name for the VM. Only used on the configuration web interface.", | |
11722 | "format" : "dns-name", | |
11723 | "optional" : 1, | |
013dc89f DM |
11724 | "type" : "string", |
11725 | "typetext" : "<string>" | |
44660702 DM |
11726 | }, |
11727 | "net[n]" : { | |
c2993fe5 | 11728 | "description" : "Specify network devices.", |
f004f5b9 DM |
11729 | "format" : { |
11730 | "bridge" : { | |
c2993fe5 | 11731 | "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n", |
f004f5b9 DM |
11732 | "format_description" : "bridge", |
11733 | "optional" : 1, | |
11734 | "type" : "string" | |
11735 | }, | |
11736 | "e1000" : { | |
11737 | "alias" : "macaddr", | |
11738 | "keyAlias" : "model" | |
11739 | }, | |
11740 | "e1000-82540em" : { | |
11741 | "alias" : "macaddr", | |
11742 | "keyAlias" : "model" | |
11743 | }, | |
11744 | "e1000-82544gc" : { | |
11745 | "alias" : "macaddr", | |
11746 | "keyAlias" : "model" | |
11747 | }, | |
11748 | "e1000-82545em" : { | |
11749 | "alias" : "macaddr", | |
11750 | "keyAlias" : "model" | |
11751 | }, | |
11752 | "firewall" : { | |
11753 | "description" : "Whether this interface should be protected by the firewall.", | |
11754 | "optional" : 1, | |
11755 | "type" : "boolean" | |
11756 | }, | |
11757 | "i82551" : { | |
11758 | "alias" : "macaddr", | |
11759 | "keyAlias" : "model" | |
11760 | }, | |
11761 | "i82557b" : { | |
11762 | "alias" : "macaddr", | |
11763 | "keyAlias" : "model" | |
11764 | }, | |
11765 | "i82559er" : { | |
11766 | "alias" : "macaddr", | |
11767 | "keyAlias" : "model" | |
11768 | }, | |
11769 | "link_down" : { | |
c2993fe5 | 11770 | "description" : "Whether this interface should be disconnected (like pulling the plug).", |
f004f5b9 DM |
11771 | "optional" : 1, |
11772 | "type" : "boolean" | |
11773 | }, | |
11774 | "macaddr" : { | |
c2993fe5 | 11775 | "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.", |
f004f5b9 | 11776 | "format_description" : "XX:XX:XX:XX:XX:XX", |
f004f5b9 DM |
11777 | "optional" : 1, |
11778 | "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})", | |
11779 | "type" : "string" | |
11780 | }, | |
11781 | "model" : { | |
11782 | "default_key" : 1, | |
c2993fe5 | 11783 | "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.", |
f004f5b9 DM |
11784 | "enum" : [ |
11785 | "rtl8139", | |
11786 | "ne2k_pci", | |
11787 | "e1000", | |
11788 | "pcnet", | |
11789 | "virtio", | |
11790 | "ne2k_isa", | |
11791 | "i82551", | |
11792 | "i82557b", | |
11793 | "i82559er", | |
11794 | "vmxnet3", | |
11795 | "e1000-82540em", | |
11796 | "e1000-82544gc", | |
11797 | "e1000-82545em" | |
11798 | ], | |
f004f5b9 DM |
11799 | "type" : "string" |
11800 | }, | |
11801 | "ne2k_isa" : { | |
11802 | "alias" : "macaddr", | |
11803 | "keyAlias" : "model" | |
11804 | }, | |
11805 | "ne2k_pci" : { | |
11806 | "alias" : "macaddr", | |
11807 | "keyAlias" : "model" | |
11808 | }, | |
11809 | "pcnet" : { | |
11810 | "alias" : "macaddr", | |
11811 | "keyAlias" : "model" | |
11812 | }, | |
11813 | "queues" : { | |
11814 | "description" : "Number of packet queues to be used on the device.", | |
11815 | "maximum" : 16, | |
11816 | "minimum" : 0, | |
11817 | "optional" : 1, | |
11818 | "type" : "integer" | |
11819 | }, | |
11820 | "rate" : { | |
c2993fe5 | 11821 | "description" : "Rate limit in mbps (megabytes per second) as floating point number.", |
f004f5b9 DM |
11822 | "minimum" : 0, |
11823 | "optional" : 1, | |
11824 | "type" : "number" | |
11825 | }, | |
11826 | "rtl8139" : { | |
11827 | "alias" : "macaddr", | |
11828 | "keyAlias" : "model" | |
11829 | }, | |
11830 | "tag" : { | |
11831 | "description" : "VLAN tag to apply to packets on this interface.", | |
11832 | "maximum" : 4094, | |
c2993fe5 | 11833 | "minimum" : 1, |
f004f5b9 DM |
11834 | "optional" : 1, |
11835 | "type" : "integer" | |
11836 | }, | |
11837 | "trunks" : { | |
11838 | "description" : "VLAN trunks to pass through this interface.", | |
11839 | "format_description" : "vlanid[;vlanid...]", | |
11840 | "optional" : 1, | |
11841 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
11842 | "type" : "string" | |
11843 | }, | |
11844 | "virtio" : { | |
11845 | "alias" : "macaddr", | |
11846 | "keyAlias" : "model" | |
11847 | }, | |
11848 | "vmxnet3" : { | |
11849 | "alias" : "macaddr", | |
11850 | "keyAlias" : "model" | |
11851 | } | |
11852 | }, | |
44660702 | 11853 | "optional" : 1, |
4bd7df8b | 11854 | "type" : "string", |
013dc89f | 11855 | "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]" |
44660702 DM |
11856 | }, |
11857 | "node" : { | |
11858 | "description" : "The cluster node name.", | |
11859 | "format" : "pve-node", | |
013dc89f DM |
11860 | "type" : "string", |
11861 | "typetext" : "<string>" | |
44660702 DM |
11862 | }, |
11863 | "numa" : { | |
7aacca6f | 11864 | "default" : 0, |
44660702 DM |
11865 | "description" : "Enable/disable NUMA.", |
11866 | "optional" : 1, | |
013dc89f DM |
11867 | "type" : "boolean", |
11868 | "typetext" : "<boolean>" | |
56122987 | 11869 | }, |
7aacca6f | 11870 | "numa[n]" : { |
c2993fe5 | 11871 | "description" : "NUMA topology.", |
7aacca6f | 11872 | "format" : { |
44660702 | 11873 | "cpus" : { |
c2993fe5 | 11874 | "description" : "CPUs accessing this NUMA node.", |
44660702 DM |
11875 | "format_description" : "id[-id];...", |
11876 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", | |
11877 | "type" : "string" | |
11878 | }, | |
7aacca6f | 11879 | "hostnodes" : { |
c2993fe5 | 11880 | "description" : "Host NUMA nodes to use.", |
44660702 | 11881 | "format_description" : "id[-id];...", |
7aacca6f | 11882 | "optional" : 1, |
44660702 DM |
11883 | "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)", |
11884 | "type" : "string" | |
7aacca6f | 11885 | }, |
44660702 | 11886 | "memory" : { |
c2993fe5 | 11887 | "description" : "Amount of memory this NUMA node provides.", |
44660702 DM |
11888 | "optional" : 1, |
11889 | "type" : "number" | |
7aacca6f DM |
11890 | }, |
11891 | "policy" : { | |
c2993fe5 | 11892 | "description" : "NUMA allocation policy.", |
7aacca6f DM |
11893 | "enum" : [ |
11894 | "preferred", | |
11895 | "bind", | |
11896 | "interleave" | |
11897 | ], | |
7aacca6f | 11898 | "optional" : 1, |
44660702 | 11899 | "type" : "string" |
7aacca6f DM |
11900 | } |
11901 | }, | |
56122987 | 11902 | "optional" : 1, |
4bd7df8b DM |
11903 | "type" : "string", |
11904 | "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]" | |
56122987 | 11905 | }, |
44660702 DM |
11906 | "onboot" : { |
11907 | "default" : 0, | |
11908 | "description" : "Specifies whether a VM will be started during system bootup.", | |
56122987 | 11909 | "optional" : 1, |
013dc89f DM |
11910 | "type" : "boolean", |
11911 | "typetext" : "<boolean>" | |
56122987 DM |
11912 | }, |
11913 | "ostype" : { | |
c2993fe5 | 11914 | "description" : "Specify guest operating system.", |
56122987 DM |
11915 | "enum" : [ |
11916 | "other", | |
11917 | "wxp", | |
11918 | "w2k", | |
11919 | "w2k3", | |
11920 | "w2k8", | |
11921 | "wvista", | |
11922 | "win7", | |
11923 | "win8", | |
11924 | "l24", | |
11925 | "l26", | |
11926 | "solaris" | |
44660702 | 11927 | ], |
56122987 | 11928 | "optional" : 1, |
c2993fe5 DM |
11929 | "type" : "string", |
11930 | "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" | |
56122987 | 11931 | }, |
44660702 | 11932 | "parallel[n]" : { |
c2993fe5 | 11933 | "description" : "Map host parallel devices (n is 0 to 2).", |
56122987 | 11934 | "optional" : 1, |
44660702 | 11935 | "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+", |
c2993fe5 DM |
11936 | "type" : "string", |
11937 | "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" | |
56122987 | 11938 | }, |
44660702 DM |
11939 | "pool" : { |
11940 | "description" : "Add the VM to the specified pool.", | |
11941 | "format" : "pve-poolid", | |
56122987 | 11942 | "optional" : 1, |
013dc89f DM |
11943 | "type" : "string", |
11944 | "typetext" : "<string>" | |
56122987 | 11945 | }, |
44660702 DM |
11946 | "protection" : { |
11947 | "default" : 0, | |
c2993fe5 | 11948 | "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.", |
56122987 | 11949 | "optional" : 1, |
013dc89f DM |
11950 | "type" : "boolean", |
11951 | "typetext" : "<boolean>" | |
56122987 | 11952 | }, |
44660702 | 11953 | "reboot" : { |
7aacca6f | 11954 | "default" : 1, |
44660702 DM |
11955 | "description" : "Allow reboot. If set to '0' the VM exit on reboot.", |
11956 | "optional" : 1, | |
013dc89f DM |
11957 | "type" : "boolean", |
11958 | "typetext" : "<boolean>" | |
56122987 | 11959 | }, |
56122987 | 11960 | "sata[n]" : { |
44660702 | 11961 | "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).", |
56122987 | 11962 | "format" : { |
7aacca6f | 11963 | "aio" : { |
44660702 | 11964 | "description" : "AIO type to use.", |
56122987 | 11965 | "enum" : [ |
7aacca6f DM |
11966 | "native", |
11967 | "threads" | |
56122987 | 11968 | ], |
7aacca6f | 11969 | "optional" : 1, |
44660702 | 11970 | "type" : "string" |
7aacca6f DM |
11971 | }, |
11972 | "backup" : { | |
7aacca6f | 11973 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 11974 | "optional" : 1, |
44660702 | 11975 | "type" : "boolean" |
56122987 | 11976 | }, |
44660702 | 11977 | "bps" : { |
de0983cb | 11978 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 11979 | "format_description" : "bps", |
7aacca6f | 11980 | "optional" : 1, |
44660702 | 11981 | "type" : "integer" |
56122987 | 11982 | }, |
de0983cb DM |
11983 | "bps_max_length" : { |
11984 | "description" : "Maximum length of I/O bursts in seconds.", | |
11985 | "format_description" : "seconds", | |
11986 | "minimum" : 1, | |
11987 | "optional" : 1, | |
11988 | "type" : "integer" | |
11989 | }, | |
44660702 | 11990 | "bps_rd" : { |
de0983cb | 11991 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 11992 | "format_description" : "bps", |
56122987 | 11993 | "optional" : 1, |
44660702 | 11994 | "type" : "integer" |
7aacca6f | 11995 | }, |
de0983cb DM |
11996 | "bps_rd_length" : { |
11997 | "description" : "Maximum length of read I/O bursts in seconds.", | |
11998 | "format_description" : "seconds", | |
11999 | "minimum" : 1, | |
12000 | "optional" : 1, | |
12001 | "type" : "integer" | |
12002 | }, | |
44660702 | 12003 | "bps_wr" : { |
de0983cb | 12004 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 12005 | "format_description" : "bps", |
56122987 | 12006 | "optional" : 1, |
44660702 | 12007 | "type" : "integer" |
56122987 | 12008 | }, |
de0983cb DM |
12009 | "bps_wr_length" : { |
12010 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12011 | "format_description" : "seconds", | |
12012 | "minimum" : 1, | |
12013 | "optional" : 1, | |
12014 | "type" : "integer" | |
12015 | }, | |
7aacca6f | 12016 | "cache" : { |
7aacca6f DM |
12017 | "description" : "The drive's cache mode", |
12018 | "enum" : [ | |
12019 | "none", | |
12020 | "writethrough", | |
12021 | "writeback", | |
12022 | "unsafe", | |
12023 | "directsync" | |
12024 | ], | |
44660702 DM |
12025 | "optional" : 1, |
12026 | "type" : "string" | |
56122987 | 12027 | }, |
44660702 DM |
12028 | "cyls" : { |
12029 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
56122987 | 12030 | "optional" : 1, |
7aacca6f | 12031 | "type" : "integer" |
56122987 | 12032 | }, |
7aacca6f DM |
12033 | "detect_zeroes" : { |
12034 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 12035 | "optional" : 1, |
7aacca6f | 12036 | "type" : "boolean" |
56122987 | 12037 | }, |
44660702 DM |
12038 | "discard" : { |
12039 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
12040 | "enum" : [ | |
12041 | "ignore", | |
12042 | "on" | |
12043 | ], | |
56122987 | 12044 | "optional" : 1, |
44660702 | 12045 | "type" : "string" |
56122987 | 12046 | }, |
44660702 DM |
12047 | "file" : { |
12048 | "default_key" : 1, | |
12049 | "description" : "The drive's backing volume.", | |
12050 | "format" : "pve-volume-id-or-qm-path", | |
12051 | "format_description" : "volume", | |
12052 | "type" : "string" | |
56122987 DM |
12053 | }, |
12054 | "format" : { | |
44660702 | 12055 | "description" : "The drive's backing file's data format.", |
56122987 DM |
12056 | "enum" : [ |
12057 | "raw", | |
12058 | "cow", | |
12059 | "qcow", | |
12060 | "qed", | |
12061 | "qcow2", | |
12062 | "vmdk", | |
12063 | "cloop" | |
12064 | ], | |
56122987 | 12065 | "optional" : 1, |
44660702 | 12066 | "type" : "string" |
56122987 | 12067 | }, |
7aacca6f | 12068 | "heads" : { |
7aacca6f | 12069 | "description" : "Force the drive's physical geometry to have a specific head count.", |
44660702 DM |
12070 | "optional" : 1, |
12071 | "type" : "integer" | |
56122987 | 12072 | }, |
44660702 | 12073 | "iops" : { |
de0983cb | 12074 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 DM |
12075 | "format_description" : "iops", |
12076 | "optional" : 1, | |
12077 | "type" : "integer" | |
56122987 | 12078 | }, |
44660702 | 12079 | "iops_max" : { |
de0983cb | 12080 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 12081 | "format_description" : "iops", |
56122987 | 12082 | "optional" : 1, |
44660702 | 12083 | "type" : "integer" |
56122987 | 12084 | }, |
de0983cb DM |
12085 | "iops_max_length" : { |
12086 | "description" : "Maximum length of I/O bursts in seconds.", | |
12087 | "format_description" : "seconds", | |
12088 | "minimum" : 1, | |
12089 | "optional" : 1, | |
12090 | "type" : "integer" | |
12091 | }, | |
44660702 | 12092 | "iops_rd" : { |
de0983cb | 12093 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 12094 | "format_description" : "iops", |
56122987 | 12095 | "optional" : 1, |
44660702 | 12096 | "type" : "integer" |
56122987 | 12097 | }, |
de0983cb DM |
12098 | "iops_rd_length" : { |
12099 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12100 | "format_description" : "seconds", | |
12101 | "minimum" : 1, | |
12102 | "optional" : 1, | |
12103 | "type" : "integer" | |
12104 | }, | |
44660702 | 12105 | "iops_rd_max" : { |
de0983cb | 12106 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
7aacca6f | 12107 | "format_description" : "iops", |
56122987 | 12108 | "optional" : 1, |
44660702 | 12109 | "type" : "integer" |
56122987 | 12110 | }, |
44660702 | 12111 | "iops_wr" : { |
de0983cb | 12112 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 12113 | "format_description" : "iops", |
7aacca6f | 12114 | "optional" : 1, |
44660702 | 12115 | "type" : "integer" |
7aacca6f | 12116 | }, |
de0983cb DM |
12117 | "iops_wr_length" : { |
12118 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12119 | "format_description" : "seconds", | |
12120 | "minimum" : 1, | |
12121 | "optional" : 1, | |
12122 | "type" : "integer" | |
12123 | }, | |
44660702 | 12124 | "iops_wr_max" : { |
de0983cb | 12125 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 12126 | "format_description" : "iops", |
56122987 | 12127 | "optional" : 1, |
7aacca6f | 12128 | "type" : "integer" |
56122987 | 12129 | }, |
44660702 | 12130 | "mbps" : { |
de0983cb | 12131 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 | 12132 | "format_description" : "mbps", |
56122987 | 12133 | "optional" : 1, |
44660702 | 12134 | "type" : "number" |
56122987 | 12135 | }, |
44660702 | 12136 | "mbps_max" : { |
de0983cb | 12137 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 12138 | "format_description" : "mbps", |
7aacca6f | 12139 | "optional" : 1, |
44660702 | 12140 | "type" : "number" |
7aacca6f | 12141 | }, |
44660702 | 12142 | "mbps_rd" : { |
de0983cb | 12143 | "description" : "Maximum read speed in megabytes per second.", |
44660702 | 12144 | "format_description" : "mbps", |
7aacca6f | 12145 | "optional" : 1, |
44660702 | 12146 | "type" : "number" |
7aacca6f | 12147 | }, |
44660702 | 12148 | "mbps_rd_max" : { |
de0983cb | 12149 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 12150 | "format_description" : "mbps", |
7aacca6f | 12151 | "optional" : 1, |
44660702 | 12152 | "type" : "number" |
7aacca6f | 12153 | }, |
44660702 | 12154 | "mbps_wr" : { |
de0983cb | 12155 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 12156 | "format_description" : "mbps", |
7aacca6f | 12157 | "optional" : 1, |
44660702 | 12158 | "type" : "number" |
7aacca6f DM |
12159 | }, |
12160 | "mbps_wr_max" : { | |
de0983cb | 12161 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 12162 | "format_description" : "mbps", |
7aacca6f | 12163 | "optional" : 1, |
44660702 | 12164 | "type" : "number" |
7aacca6f | 12165 | }, |
44660702 DM |
12166 | "media" : { |
12167 | "default" : "disk", | |
12168 | "description" : "The drive's media type.", | |
56122987 | 12169 | "enum" : [ |
44660702 DM |
12170 | "cdrom", |
12171 | "disk" | |
56122987 | 12172 | ], |
56122987 | 12173 | "optional" : 1, |
44660702 | 12174 | "type" : "string" |
56122987 | 12175 | }, |
44660702 DM |
12176 | "rerror" : { |
12177 | "description" : "Read error action.", | |
7aacca6f DM |
12178 | "enum" : [ |
12179 | "ignore", | |
44660702 DM |
12180 | "report", |
12181 | "stop" | |
7aacca6f | 12182 | ], |
56122987 | 12183 | "optional" : 1, |
44660702 | 12184 | "type" : "string" |
56122987 | 12185 | }, |
44660702 DM |
12186 | "secs" : { |
12187 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
56122987 | 12188 | "optional" : 1, |
44660702 | 12189 | "type" : "integer" |
56122987 | 12190 | }, |
44660702 DM |
12191 | "serial" : { |
12192 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
12193 | "format" : "urlencoded", | |
12194 | "format_description" : "serial", | |
12195 | "maxLength" : 60, | |
12196 | "optional" : 1, | |
12197 | "type" : "string" | |
7aacca6f DM |
12198 | }, |
12199 | "size" : { | |
12200 | "description" : "Disk size. This is purely informational and has no effect.", | |
44660702 | 12201 | "format" : "disk-size", |
f004f5b9 | 12202 | "format_description" : "DiskSize", |
56122987 | 12203 | "optional" : 1, |
44660702 | 12204 | "type" : "string" |
56122987 | 12205 | }, |
44660702 DM |
12206 | "snapshot" : { |
12207 | "description" : "Whether the drive should be included when making snapshots.", | |
56122987 | 12208 | "optional" : 1, |
44660702 | 12209 | "type" : "boolean" |
56122987 | 12210 | }, |
44660702 DM |
12211 | "trans" : { |
12212 | "description" : "Force disk geometry bios translation mode.", | |
56122987 | 12213 | "enum" : [ |
44660702 DM |
12214 | "none", |
12215 | "lba", | |
12216 | "auto" | |
7aacca6f | 12217 | ], |
44660702 DM |
12218 | "optional" : 1, |
12219 | "type" : "string" | |
12220 | }, | |
12221 | "volume" : { | |
12222 | "alias" : "file" | |
56122987 DM |
12223 | }, |
12224 | "werror" : { | |
56122987 DM |
12225 | "description" : "Write error action.", |
12226 | "enum" : [ | |
12227 | "enospc", | |
12228 | "ignore", | |
12229 | "report", | |
12230 | "stop" | |
12231 | ], | |
56122987 | 12232 | "optional" : 1, |
44660702 DM |
12233 | "type" : "string" |
12234 | } | |
12235 | }, | |
12236 | "optional" : 1, | |
4bd7df8b | 12237 | "type" : "string", |
013dc89f | 12238 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
44660702 DM |
12239 | }, |
12240 | "scsi[n]" : { | |
12241 | "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).", | |
12242 | "format" : { | |
12243 | "aio" : { | |
12244 | "description" : "AIO type to use.", | |
12245 | "enum" : [ | |
12246 | "native", | |
12247 | "threads" | |
12248 | ], | |
44660702 DM |
12249 | "optional" : 1, |
12250 | "type" : "string" | |
56122987 | 12251 | }, |
7aacca6f | 12252 | "backup" : { |
44660702 | 12253 | "description" : "Whether the drive should be included when making backups.", |
7aacca6f | 12254 | "optional" : 1, |
44660702 | 12255 | "type" : "boolean" |
7aacca6f | 12256 | }, |
44660702 | 12257 | "bps" : { |
de0983cb | 12258 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 | 12259 | "format_description" : "bps", |
7aacca6f | 12260 | "optional" : 1, |
44660702 | 12261 | "type" : "integer" |
7aacca6f | 12262 | }, |
de0983cb DM |
12263 | "bps_max_length" : { |
12264 | "description" : "Maximum length of I/O bursts in seconds.", | |
12265 | "format_description" : "seconds", | |
12266 | "minimum" : 1, | |
12267 | "optional" : 1, | |
12268 | "type" : "integer" | |
12269 | }, | |
44660702 | 12270 | "bps_rd" : { |
de0983cb | 12271 | "description" : "Maximum read speed in bytes per second.", |
44660702 | 12272 | "format_description" : "bps", |
56122987 | 12273 | "optional" : 1, |
44660702 | 12274 | "type" : "integer" |
56122987 | 12275 | }, |
de0983cb DM |
12276 | "bps_rd_length" : { |
12277 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12278 | "format_description" : "seconds", | |
12279 | "minimum" : 1, | |
12280 | "optional" : 1, | |
12281 | "type" : "integer" | |
12282 | }, | |
44660702 | 12283 | "bps_wr" : { |
de0983cb | 12284 | "description" : "Maximum write speed in bytes per second.", |
44660702 | 12285 | "format_description" : "bps", |
7aacca6f | 12286 | "optional" : 1, |
44660702 | 12287 | "type" : "integer" |
56122987 | 12288 | }, |
de0983cb DM |
12289 | "bps_wr_length" : { |
12290 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12291 | "format_description" : "seconds", | |
12292 | "minimum" : 1, | |
12293 | "optional" : 1, | |
12294 | "type" : "integer" | |
12295 | }, | |
44660702 DM |
12296 | "cache" : { |
12297 | "description" : "The drive's cache mode", | |
7aacca6f DM |
12298 | "enum" : [ |
12299 | "none", | |
44660702 DM |
12300 | "writethrough", |
12301 | "writeback", | |
12302 | "unsafe", | |
12303 | "directsync" | |
7aacca6f | 12304 | ], |
56122987 | 12305 | "optional" : 1, |
44660702 | 12306 | "type" : "string" |
56122987 | 12307 | }, |
7aacca6f DM |
12308 | "cyls" : { |
12309 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
12310 | "optional" : 1, | |
44660702 | 12311 | "type" : "integer" |
7aacca6f | 12312 | }, |
44660702 DM |
12313 | "detect_zeroes" : { |
12314 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
56122987 | 12315 | "optional" : 1, |
44660702 | 12316 | "type" : "boolean" |
56122987 | 12317 | }, |
44660702 DM |
12318 | "discard" : { |
12319 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
7aacca6f | 12320 | "enum" : [ |
44660702 DM |
12321 | "ignore", |
12322 | "on" | |
7aacca6f | 12323 | ], |
7aacca6f | 12324 | "optional" : 1, |
44660702 | 12325 | "type" : "string" |
56122987 DM |
12326 | }, |
12327 | "file" : { | |
7aacca6f DM |
12328 | "default_key" : 1, |
12329 | "description" : "The drive's backing volume.", | |
44660702 DM |
12330 | "format" : "pve-volume-id-or-qm-path", |
12331 | "format_description" : "volume", | |
7aacca6f | 12332 | "type" : "string" |
56122987 | 12333 | }, |
7aacca6f | 12334 | "format" : { |
44660702 | 12335 | "description" : "The drive's backing file's data format.", |
56122987 | 12336 | "enum" : [ |
7aacca6f DM |
12337 | "raw", |
12338 | "cow", | |
12339 | "qcow", | |
12340 | "qed", | |
12341 | "qcow2", | |
12342 | "vmdk", | |
12343 | "cloop" | |
56122987 | 12344 | ], |
44660702 DM |
12345 | "optional" : 1, |
12346 | "type" : "string" | |
56122987 | 12347 | }, |
44660702 DM |
12348 | "heads" : { |
12349 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
12350 | "optional" : 1, |
12351 | "type" : "integer" | |
12352 | }, | |
12353 | "iops" : { | |
de0983cb | 12354 | "description" : "Maximum r/w I/O in operations per second.", |
7aacca6f | 12355 | "format_description" : "iops", |
56122987 | 12356 | "optional" : 1, |
44660702 | 12357 | "type" : "integer" |
56122987 | 12358 | }, |
44660702 | 12359 | "iops_max" : { |
de0983cb | 12360 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 | 12361 | "format_description" : "iops", |
7aacca6f | 12362 | "optional" : 1, |
44660702 | 12363 | "type" : "integer" |
56122987 | 12364 | }, |
de0983cb DM |
12365 | "iops_max_length" : { |
12366 | "description" : "Maximum length of I/O bursts in seconds.", | |
12367 | "format_description" : "seconds", | |
12368 | "minimum" : 1, | |
12369 | "optional" : 1, | |
12370 | "type" : "integer" | |
12371 | }, | |
44660702 | 12372 | "iops_rd" : { |
de0983cb | 12373 | "description" : "Maximum read I/O in operations per second.", |
44660702 | 12374 | "format_description" : "iops", |
56122987 | 12375 | "optional" : 1, |
44660702 | 12376 | "type" : "integer" |
56122987 | 12377 | }, |
de0983cb DM |
12378 | "iops_rd_length" : { |
12379 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12380 | "format_description" : "seconds", | |
12381 | "minimum" : 1, | |
12382 | "optional" : 1, | |
12383 | "type" : "integer" | |
12384 | }, | |
44660702 | 12385 | "iops_rd_max" : { |
de0983cb | 12386 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
12387 | "format_description" : "iops", |
12388 | "optional" : 1, | |
12389 | "type" : "integer" | |
56122987 | 12390 | }, |
44660702 | 12391 | "iops_wr" : { |
de0983cb | 12392 | "description" : "Maximum write I/O in operations per second.", |
44660702 | 12393 | "format_description" : "iops", |
56122987 | 12394 | "optional" : 1, |
44660702 | 12395 | "type" : "integer" |
56122987 | 12396 | }, |
de0983cb DM |
12397 | "iops_wr_length" : { |
12398 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12399 | "format_description" : "seconds", | |
12400 | "minimum" : 1, | |
12401 | "optional" : 1, | |
12402 | "type" : "integer" | |
12403 | }, | |
44660702 | 12404 | "iops_wr_max" : { |
de0983cb | 12405 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 | 12406 | "format_description" : "iops", |
56122987 | 12407 | "optional" : 1, |
56122987 DM |
12408 | "type" : "integer" |
12409 | }, | |
44660702 DM |
12410 | "iothread" : { |
12411 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
12412 | "optional" : 1, |
12413 | "type" : "boolean" | |
12414 | }, | |
12415 | "mbps" : { | |
de0983cb | 12416 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
12417 | "format_description" : "mbps", |
12418 | "optional" : 1, | |
12419 | "type" : "number" | |
12420 | }, | |
7aacca6f | 12421 | "mbps_max" : { |
de0983cb | 12422 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 | 12423 | "format_description" : "mbps", |
56122987 | 12424 | "optional" : 1, |
44660702 | 12425 | "type" : "number" |
56122987 | 12426 | }, |
44660702 | 12427 | "mbps_rd" : { |
de0983cb | 12428 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
12429 | "format_description" : "mbps", |
12430 | "optional" : 1, | |
12431 | "type" : "number" | |
56122987 | 12432 | }, |
44660702 | 12433 | "mbps_rd_max" : { |
de0983cb | 12434 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 | 12435 | "format_description" : "mbps", |
56122987 | 12436 | "optional" : 1, |
44660702 | 12437 | "type" : "number" |
56122987 | 12438 | }, |
44660702 | 12439 | "mbps_wr" : { |
de0983cb | 12440 | "description" : "Maximum write speed in megabytes per second.", |
44660702 | 12441 | "format_description" : "mbps", |
56122987 | 12442 | "optional" : 1, |
44660702 | 12443 | "type" : "number" |
56122987 | 12444 | }, |
44660702 | 12445 | "mbps_wr_max" : { |
de0983cb | 12446 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 | 12447 | "format_description" : "mbps", |
7aacca6f | 12448 | "optional" : 1, |
44660702 | 12449 | "type" : "number" |
56122987 | 12450 | }, |
7aacca6f | 12451 | "media" : { |
44660702 | 12452 | "default" : "disk", |
7aacca6f DM |
12453 | "description" : "The drive's media type.", |
12454 | "enum" : [ | |
12455 | "cdrom", | |
12456 | "disk" | |
12457 | ], | |
56122987 | 12458 | "optional" : 1, |
44660702 | 12459 | "type" : "string" |
56122987 | 12460 | }, |
44660702 DM |
12461 | "queues" : { |
12462 | "description" : "Number of queues.", | |
44660702 DM |
12463 | "minimum" : 2, |
12464 | "optional" : 1, | |
12465 | "type" : "integer" | |
56122987 | 12466 | }, |
7aacca6f | 12467 | "secs" : { |
7aacca6f | 12468 | "description" : "Force the drive's physical geometry to have a specific sector count.", |
44660702 DM |
12469 | "optional" : 1, |
12470 | "type" : "integer" | |
12471 | }, | |
12472 | "serial" : { | |
12473 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
12474 | "format" : "urlencoded", | |
12475 | "format_description" : "serial", | |
12476 | "maxLength" : 60, | |
12477 | "optional" : 1, | |
12478 | "type" : "string" | |
12479 | }, | |
12480 | "size" : { | |
12481 | "description" : "Disk size. This is purely informational and has no effect.", | |
12482 | "format" : "disk-size", | |
f004f5b9 | 12483 | "format_description" : "DiskSize", |
44660702 DM |
12484 | "optional" : 1, |
12485 | "type" : "string" | |
12486 | }, | |
12487 | "snapshot" : { | |
12488 | "description" : "Whether the drive should be included when making snapshots.", | |
44660702 DM |
12489 | "optional" : 1, |
12490 | "type" : "boolean" | |
12491 | }, | |
12492 | "trans" : { | |
12493 | "description" : "Force disk geometry bios translation mode.", | |
12494 | "enum" : [ | |
12495 | "none", | |
12496 | "lba", | |
12497 | "auto" | |
12498 | ], | |
44660702 DM |
12499 | "optional" : 1, |
12500 | "type" : "string" | |
12501 | }, | |
12502 | "volume" : { | |
12503 | "alias" : "file" | |
12504 | }, | |
12505 | "werror" : { | |
12506 | "description" : "Write error action.", | |
12507 | "enum" : [ | |
12508 | "enospc", | |
12509 | "ignore", | |
12510 | "report", | |
12511 | "stop" | |
12512 | ], | |
44660702 DM |
12513 | "optional" : 1, |
12514 | "type" : "string" | |
56122987 DM |
12515 | } |
12516 | }, | |
7aacca6f | 12517 | "optional" : 1, |
4bd7df8b | 12518 | "type" : "string", |
013dc89f | 12519 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
56122987 | 12520 | }, |
44660702 DM |
12521 | "scsihw" : { |
12522 | "default" : "lsi", | |
c2993fe5 | 12523 | "description" : "SCSI controller model", |
44660702 DM |
12524 | "enum" : [ |
12525 | "lsi", | |
12526 | "lsi53c810", | |
12527 | "virtio-scsi-pci", | |
12528 | "virtio-scsi-single", | |
12529 | "megasas", | |
12530 | "pvscsi" | |
12531 | ], | |
7aacca6f | 12532 | "optional" : 1, |
44660702 | 12533 | "type" : "string" |
7aacca6f | 12534 | }, |
44660702 | 12535 | "serial[n]" : { |
c2993fe5 | 12536 | "description" : "Create a serial device inside the VM (n is 0 to 3)", |
44660702 DM |
12537 | "optional" : 1, |
12538 | "pattern" : "(/dev/.+|socket)", | |
c2993fe5 | 12539 | "type" : "string", |
57b78691 | 12540 | "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n" |
44660702 DM |
12541 | }, |
12542 | "shares" : { | |
12543 | "default" : 1000, | |
12544 | "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning", | |
12545 | "maximum" : 50000, | |
12546 | "minimum" : 0, | |
12547 | "optional" : 1, | |
4bd7df8b | 12548 | "type" : "integer", |
013dc89f | 12549 | "typetext" : "<integer> (0 - 50000)" |
44660702 DM |
12550 | }, |
12551 | "smbios1" : { | |
12552 | "description" : "Specify SMBIOS type 1 fields.", | |
12553 | "format" : "pve-qm-smbios1", | |
12554 | "maxLength" : 256, | |
7aacca6f | 12555 | "optional" : 1, |
4bd7df8b DM |
12556 | "type" : "string", |
12557 | "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]" | |
7aacca6f DM |
12558 | }, |
12559 | "smp" : { | |
44660702 | 12560 | "default" : 1, |
7aacca6f | 12561 | "description" : "The number of CPUs. Please use option -sockets instead.", |
44660702 | 12562 | "minimum" : 1, |
56122987 | 12563 | "optional" : 1, |
4bd7df8b | 12564 | "type" : "integer", |
013dc89f | 12565 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
12566 | }, |
12567 | "sockets" : { | |
7aacca6f | 12568 | "default" : 1, |
44660702 DM |
12569 | "description" : "The number of CPU sockets.", |
12570 | "minimum" : 1, | |
12571 | "optional" : 1, | |
4bd7df8b | 12572 | "type" : "integer", |
013dc89f | 12573 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 12574 | }, |
44660702 DM |
12575 | "startdate" : { |
12576 | "default" : "now", | |
12577 | "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.", | |
12578 | "optional" : 1, | |
12579 | "pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)", | |
12580 | "type" : "string", | |
12581 | "typetext" : "(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)" | |
12582 | }, | |
12583 | "startup" : { | |
12584 | "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.", | |
12585 | "format" : "pve-startup-order", | |
12586 | "optional" : 1, | |
12587 | "type" : "string", | |
12588 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
12589 | }, | |
12590 | "storage" : { | |
12591 | "description" : "Default storage.", | |
12592 | "format" : "pve-storage-id", | |
7aacca6f | 12593 | "optional" : 1, |
013dc89f DM |
12594 | "type" : "string", |
12595 | "typetext" : "<string>" | |
56122987 | 12596 | }, |
44660702 DM |
12597 | "tablet" : { |
12598 | "default" : 1, | |
c2993fe5 | 12599 | "description" : "Enable/disable the USB tablet device.", |
56122987 | 12600 | "optional" : 1, |
c2993fe5 | 12601 | "type" : "boolean", |
013dc89f | 12602 | "typetext" : "<boolean>", |
c2993fe5 | 12603 | "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)." |
44660702 DM |
12604 | }, |
12605 | "tdf" : { | |
12606 | "default" : 0, | |
12607 | "description" : "Enable/disable time drift fix.", | |
12608 | "optional" : 1, | |
013dc89f DM |
12609 | "type" : "boolean", |
12610 | "typetext" : "<boolean>" | |
7aacca6f DM |
12611 | }, |
12612 | "template" : { | |
7aacca6f | 12613 | "default" : 0, |
44660702 | 12614 | "description" : "Enable/disable Template.", |
7aacca6f | 12615 | "optional" : 1, |
013dc89f DM |
12616 | "type" : "boolean", |
12617 | "typetext" : "<boolean>" | |
7aacca6f | 12618 | }, |
44660702 DM |
12619 | "unique" : { |
12620 | "description" : "Assign a unique random ethernet address.", | |
7aacca6f | 12621 | "optional" : 1, |
44660702 | 12622 | "requires" : "archive", |
013dc89f DM |
12623 | "type" : "boolean", |
12624 | "typetext" : "<boolean>" | |
56122987 | 12625 | }, |
44660702 | 12626 | "unused[n]" : { |
c2993fe5 | 12627 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
44660702 | 12628 | "format" : "pve-volume-id", |
7aacca6f | 12629 | "optional" : 1, |
013dc89f DM |
12630 | "type" : "string", |
12631 | "typetext" : "<string>" | |
44660702 DM |
12632 | }, |
12633 | "usb[n]" : { | |
c2993fe5 | 12634 | "description" : "Configure an USB device (n is 0 to 4).", |
56122987 | 12635 | "format" : { |
7aacca6f DM |
12636 | "host" : { |
12637 | "default_key" : 1, | |
c2993fe5 | 12638 | "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n", |
7aacca6f | 12639 | "format" : "pve-qm-usb-device", |
44660702 DM |
12640 | "format_description" : "HOSTUSBDEVICE|spice", |
12641 | "type" : "string" | |
7aacca6f | 12642 | }, |
56122987 | 12643 | "usb3" : { |
c2993fe5 DM |
12644 | "default" : 0, |
12645 | "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).", | |
56122987 | 12646 | "optional" : 1, |
56122987 | 12647 | "type" : "boolean" |
7aacca6f | 12648 | } |
56122987 | 12649 | }, |
56122987 | 12650 | "optional" : 1, |
4bd7df8b DM |
12651 | "type" : "string", |
12652 | "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]" | |
56122987 | 12653 | }, |
44660702 DM |
12654 | "vcpus" : { |
12655 | "default" : 0, | |
12656 | "description" : "Number of hotplugged vcpus.", | |
12657 | "minimum" : 1, | |
56122987 | 12658 | "optional" : 1, |
4bd7df8b | 12659 | "type" : "integer", |
013dc89f | 12660 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 12661 | }, |
44660702 | 12662 | "vga" : { |
c2993fe5 | 12663 | "description" : "Select the VGA type.", |
44660702 DM |
12664 | "enum" : [ |
12665 | "std", | |
12666 | "cirrus", | |
12667 | "vmware", | |
12668 | "qxl", | |
12669 | "serial0", | |
12670 | "serial1", | |
12671 | "serial2", | |
12672 | "serial3", | |
12673 | "qxl2", | |
12674 | "qxl3", | |
12675 | "qxl4" | |
12676 | ], | |
12677 | "optional" : 1, | |
c2993fe5 DM |
12678 | "type" : "string", |
12679 | "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal." | |
7aacca6f | 12680 | }, |
44660702 DM |
12681 | "virtio[n]" : { |
12682 | "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).", | |
12683 | "format" : { | |
12684 | "aio" : { | |
12685 | "description" : "AIO type to use.", | |
12686 | "enum" : [ | |
12687 | "native", | |
12688 | "threads" | |
12689 | ], | |
44660702 DM |
12690 | "optional" : 1, |
12691 | "type" : "string" | |
12692 | }, | |
12693 | "backup" : { | |
12694 | "description" : "Whether the drive should be included when making backups.", | |
44660702 DM |
12695 | "optional" : 1, |
12696 | "type" : "boolean" | |
12697 | }, | |
12698 | "bps" : { | |
de0983cb | 12699 | "description" : "Maximum r/w speed in bytes per second.", |
44660702 DM |
12700 | "format_description" : "bps", |
12701 | "optional" : 1, | |
12702 | "type" : "integer" | |
12703 | }, | |
de0983cb DM |
12704 | "bps_max_length" : { |
12705 | "description" : "Maximum length of I/O bursts in seconds.", | |
12706 | "format_description" : "seconds", | |
12707 | "minimum" : 1, | |
12708 | "optional" : 1, | |
12709 | "type" : "integer" | |
12710 | }, | |
44660702 | 12711 | "bps_rd" : { |
de0983cb | 12712 | "description" : "Maximum read speed in bytes per second.", |
44660702 DM |
12713 | "format_description" : "bps", |
12714 | "optional" : 1, | |
12715 | "type" : "integer" | |
12716 | }, | |
de0983cb DM |
12717 | "bps_rd_length" : { |
12718 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12719 | "format_description" : "seconds", | |
12720 | "minimum" : 1, | |
12721 | "optional" : 1, | |
12722 | "type" : "integer" | |
12723 | }, | |
44660702 | 12724 | "bps_wr" : { |
de0983cb | 12725 | "description" : "Maximum write speed in bytes per second.", |
44660702 DM |
12726 | "format_description" : "bps", |
12727 | "optional" : 1, | |
12728 | "type" : "integer" | |
12729 | }, | |
de0983cb DM |
12730 | "bps_wr_length" : { |
12731 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12732 | "format_description" : "seconds", | |
12733 | "minimum" : 1, | |
12734 | "optional" : 1, | |
12735 | "type" : "integer" | |
12736 | }, | |
44660702 DM |
12737 | "cache" : { |
12738 | "description" : "The drive's cache mode", | |
12739 | "enum" : [ | |
12740 | "none", | |
12741 | "writethrough", | |
12742 | "writeback", | |
12743 | "unsafe", | |
12744 | "directsync" | |
12745 | ], | |
44660702 DM |
12746 | "optional" : 1, |
12747 | "type" : "string" | |
12748 | }, | |
12749 | "cyls" : { | |
12750 | "description" : "Force the drive's physical geometry to have a specific cylinder count.", | |
44660702 DM |
12751 | "optional" : 1, |
12752 | "type" : "integer" | |
12753 | }, | |
12754 | "detect_zeroes" : { | |
12755 | "description" : "Controls whether to detect and try to optimize writes of zeroes.", | |
12756 | "optional" : 1, | |
12757 | "type" : "boolean" | |
12758 | }, | |
12759 | "discard" : { | |
12760 | "description" : "Controls whether to pass discard/trim requests to the underlying storage.", | |
12761 | "enum" : [ | |
12762 | "ignore", | |
12763 | "on" | |
12764 | ], | |
44660702 DM |
12765 | "optional" : 1, |
12766 | "type" : "string" | |
12767 | }, | |
12768 | "file" : { | |
12769 | "default_key" : 1, | |
12770 | "description" : "The drive's backing volume.", | |
12771 | "format" : "pve-volume-id-or-qm-path", | |
12772 | "format_description" : "volume", | |
12773 | "type" : "string" | |
12774 | }, | |
12775 | "format" : { | |
12776 | "description" : "The drive's backing file's data format.", | |
12777 | "enum" : [ | |
12778 | "raw", | |
12779 | "cow", | |
12780 | "qcow", | |
12781 | "qed", | |
12782 | "qcow2", | |
12783 | "vmdk", | |
12784 | "cloop" | |
12785 | ], | |
44660702 DM |
12786 | "optional" : 1, |
12787 | "type" : "string" | |
12788 | }, | |
12789 | "heads" : { | |
12790 | "description" : "Force the drive's physical geometry to have a specific head count.", | |
44660702 DM |
12791 | "optional" : 1, |
12792 | "type" : "integer" | |
12793 | }, | |
12794 | "iops" : { | |
de0983cb | 12795 | "description" : "Maximum r/w I/O in operations per second.", |
44660702 DM |
12796 | "format_description" : "iops", |
12797 | "optional" : 1, | |
12798 | "type" : "integer" | |
12799 | }, | |
12800 | "iops_max" : { | |
de0983cb | 12801 | "description" : "Maximum unthrottled r/w I/O pool in operations per second.", |
44660702 DM |
12802 | "format_description" : "iops", |
12803 | "optional" : 1, | |
12804 | "type" : "integer" | |
12805 | }, | |
de0983cb DM |
12806 | "iops_max_length" : { |
12807 | "description" : "Maximum length of I/O bursts in seconds.", | |
12808 | "format_description" : "seconds", | |
12809 | "minimum" : 1, | |
12810 | "optional" : 1, | |
12811 | "type" : "integer" | |
12812 | }, | |
44660702 | 12813 | "iops_rd" : { |
de0983cb | 12814 | "description" : "Maximum read I/O in operations per second.", |
44660702 DM |
12815 | "format_description" : "iops", |
12816 | "optional" : 1, | |
12817 | "type" : "integer" | |
12818 | }, | |
de0983cb DM |
12819 | "iops_rd_length" : { |
12820 | "description" : "Maximum length of read I/O bursts in seconds.", | |
12821 | "format_description" : "seconds", | |
12822 | "minimum" : 1, | |
12823 | "optional" : 1, | |
12824 | "type" : "integer" | |
12825 | }, | |
44660702 | 12826 | "iops_rd_max" : { |
de0983cb | 12827 | "description" : "Maximum unthrottled read I/O pool in operations per second.", |
44660702 DM |
12828 | "format_description" : "iops", |
12829 | "optional" : 1, | |
12830 | "type" : "integer" | |
12831 | }, | |
12832 | "iops_wr" : { | |
de0983cb | 12833 | "description" : "Maximum write I/O in operations per second.", |
44660702 DM |
12834 | "format_description" : "iops", |
12835 | "optional" : 1, | |
12836 | "type" : "integer" | |
12837 | }, | |
de0983cb DM |
12838 | "iops_wr_length" : { |
12839 | "description" : "Maximum length of write I/O bursts in seconds.", | |
12840 | "format_description" : "seconds", | |
12841 | "minimum" : 1, | |
12842 | "optional" : 1, | |
12843 | "type" : "integer" | |
12844 | }, | |
44660702 | 12845 | "iops_wr_max" : { |
de0983cb | 12846 | "description" : "Maximum unthrottled write I/O pool in operations per second.", |
44660702 DM |
12847 | "format_description" : "iops", |
12848 | "optional" : 1, | |
12849 | "type" : "integer" | |
12850 | }, | |
12851 | "iothread" : { | |
12852 | "description" : "Whether to use iothreads for this drive", | |
44660702 DM |
12853 | "optional" : 1, |
12854 | "type" : "boolean" | |
12855 | }, | |
12856 | "mbps" : { | |
de0983cb | 12857 | "description" : "Maximum r/w speed in megabytes per second.", |
44660702 DM |
12858 | "format_description" : "mbps", |
12859 | "optional" : 1, | |
12860 | "type" : "number" | |
12861 | }, | |
12862 | "mbps_max" : { | |
de0983cb | 12863 | "description" : "Maximum unthrottled r/w pool in megabytes per second.", |
44660702 DM |
12864 | "format_description" : "mbps", |
12865 | "optional" : 1, | |
12866 | "type" : "number" | |
12867 | }, | |
12868 | "mbps_rd" : { | |
de0983cb | 12869 | "description" : "Maximum read speed in megabytes per second.", |
44660702 DM |
12870 | "format_description" : "mbps", |
12871 | "optional" : 1, | |
12872 | "type" : "number" | |
12873 | }, | |
12874 | "mbps_rd_max" : { | |
de0983cb | 12875 | "description" : "Maximum unthrottled read pool in megabytes per second.", |
44660702 DM |
12876 | "format_description" : "mbps", |
12877 | "optional" : 1, | |
12878 | "type" : "number" | |
12879 | }, | |
12880 | "mbps_wr" : { | |
de0983cb | 12881 | "description" : "Maximum write speed in megabytes per second.", |
44660702 DM |
12882 | "format_description" : "mbps", |
12883 | "optional" : 1, | |
12884 | "type" : "number" | |
12885 | }, | |
12886 | "mbps_wr_max" : { | |
de0983cb | 12887 | "description" : "Maximum unthrottled write pool in megabytes per second.", |
44660702 DM |
12888 | "format_description" : "mbps", |
12889 | "optional" : 1, | |
12890 | "type" : "number" | |
12891 | }, | |
12892 | "media" : { | |
12893 | "default" : "disk", | |
12894 | "description" : "The drive's media type.", | |
12895 | "enum" : [ | |
12896 | "cdrom", | |
12897 | "disk" | |
12898 | ], | |
44660702 DM |
12899 | "optional" : 1, |
12900 | "type" : "string" | |
12901 | }, | |
12902 | "rerror" : { | |
12903 | "description" : "Read error action.", | |
12904 | "enum" : [ | |
12905 | "ignore", | |
12906 | "report", | |
12907 | "stop" | |
12908 | ], | |
44660702 DM |
12909 | "optional" : 1, |
12910 | "type" : "string" | |
12911 | }, | |
12912 | "secs" : { | |
12913 | "description" : "Force the drive's physical geometry to have a specific sector count.", | |
44660702 DM |
12914 | "optional" : 1, |
12915 | "type" : "integer" | |
12916 | }, | |
12917 | "serial" : { | |
12918 | "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.", | |
12919 | "format" : "urlencoded", | |
12920 | "format_description" : "serial", | |
12921 | "maxLength" : 60, | |
12922 | "optional" : 1, | |
12923 | "type" : "string" | |
12924 | }, | |
12925 | "size" : { | |
12926 | "description" : "Disk size. This is purely informational and has no effect.", | |
12927 | "format" : "disk-size", | |
f004f5b9 | 12928 | "format_description" : "DiskSize", |
44660702 DM |
12929 | "optional" : 1, |
12930 | "type" : "string" | |
12931 | }, | |
12932 | "snapshot" : { | |
12933 | "description" : "Whether the drive should be included when making snapshots.", | |
44660702 DM |
12934 | "optional" : 1, |
12935 | "type" : "boolean" | |
12936 | }, | |
12937 | "trans" : { | |
12938 | "description" : "Force disk geometry bios translation mode.", | |
12939 | "enum" : [ | |
12940 | "none", | |
12941 | "lba", | |
12942 | "auto" | |
12943 | ], | |
44660702 DM |
12944 | "optional" : 1, |
12945 | "type" : "string" | |
12946 | }, | |
12947 | "volume" : { | |
12948 | "alias" : "file" | |
12949 | }, | |
12950 | "werror" : { | |
12951 | "description" : "Write error action.", | |
12952 | "enum" : [ | |
12953 | "enospc", | |
12954 | "ignore", | |
12955 | "report", | |
12956 | "stop" | |
12957 | ], | |
44660702 DM |
12958 | "optional" : 1, |
12959 | "type" : "string" | |
12960 | } | |
12961 | }, | |
12962 | "optional" : 1, | |
4bd7df8b | 12963 | "type" : "string", |
013dc89f | 12964 | "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>] [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]" |
7aacca6f | 12965 | }, |
44660702 DM |
12966 | "vmid" : { |
12967 | "description" : "The (unique) ID of the VM.", | |
12968 | "format" : "pve-vmid", | |
12969 | "minimum" : 1, | |
4bd7df8b | 12970 | "type" : "integer", |
013dc89f | 12971 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
12972 | }, |
12973 | "watchdog" : { | |
c2993fe5 | 12974 | "description" : "Create a virtual hardware watchdog device.", |
44660702 | 12975 | "format" : "pve-qm-watchdog", |
7aacca6f | 12976 | "optional" : 1, |
c2993fe5 | 12977 | "type" : "string", |
013dc89f | 12978 | "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]", |
c2993fe5 | 12979 | "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)" |
56122987 | 12980 | } |
44660702 | 12981 | } |
56122987 | 12982 | }, |
56122987 | 12983 | "permissions" : { |
44660702 DM |
12984 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore (option 'archive'), it is enough if the user has 'VM.Backup' permission and the VM already exists. If you create disks you need 'Datastore.AllocateSpace' on any used storage.", |
12985 | "user" : "all" | |
56122987 | 12986 | }, |
44660702 DM |
12987 | "protected" : 1, |
12988 | "proxyto" : "node", | |
56122987 | 12989 | "returns" : { |
44660702 | 12990 | "type" : "string" |
7aacca6f | 12991 | } |
56122987 | 12992 | } |
7aacca6f | 12993 | }, |
44660702 | 12994 | "leaf" : 0, |
7aacca6f | 12995 | "path" : "/nodes/{node}/qemu", |
44660702 | 12996 | "text" : "qemu" |
56122987 DM |
12997 | }, |
12998 | { | |
12999 | "children" : [ | |
13000 | { | |
56122987 DM |
13001 | "children" : [ |
13002 | { | |
56122987 | 13003 | "info" : { |
44660702 DM |
13004 | "GET" : { |
13005 | "description" : "Get container configuration.", | |
13006 | "method" : "GET", | |
13007 | "name" : "vm_config", | |
13008 | "parameters" : { | |
13009 | "additionalProperties" : 0, | |
13010 | "properties" : { | |
13011 | "node" : { | |
13012 | "description" : "The cluster node name.", | |
13013 | "format" : "pve-node", | |
013dc89f DM |
13014 | "type" : "string", |
13015 | "typetext" : "<string>" | |
44660702 DM |
13016 | }, |
13017 | "vmid" : { | |
13018 | "description" : "The (unique) ID of the VM.", | |
13019 | "format" : "pve-vmid", | |
13020 | "minimum" : 1, | |
4bd7df8b | 13021 | "type" : "integer", |
013dc89f | 13022 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
13023 | } |
13024 | } | |
13025 | }, | |
13026 | "permissions" : { | |
13027 | "check" : [ | |
13028 | "perm", | |
13029 | "/vms/{vmid}", | |
13030 | [ | |
13031 | "VM.Audit" | |
13032 | ] | |
13033 | ] | |
13034 | }, | |
13035 | "proxyto" : "node", | |
13036 | "returns" : { | |
13037 | "properties" : { | |
13038 | "digest" : { | |
13039 | "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.", | |
13040 | "type" : "string" | |
13041 | } | |
13042 | }, | |
13043 | "type" : "object" | |
13044 | } | |
13045 | }, | |
56122987 | 13046 | "PUT" : { |
44660702 DM |
13047 | "description" : "Set container options.", |
13048 | "method" : "PUT", | |
13049 | "name" : "update_vm", | |
56122987 | 13050 | "parameters" : { |
44660702 | 13051 | "additionalProperties" : 0, |
56122987 | 13052 | "properties" : { |
44660702 DM |
13053 | "arch" : { |
13054 | "default" : "amd64", | |
13055 | "description" : "OS architecture type.", | |
13056 | "enum" : [ | |
13057 | "amd64", | |
13058 | "i386" | |
13059 | ], | |
7aacca6f | 13060 | "optional" : 1, |
44660702 DM |
13061 | "type" : "string" |
13062 | }, | |
13063 | "cmode" : { | |
7aacca6f | 13064 | "default" : "tty", |
44660702 | 13065 | "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).", |
7aacca6f DM |
13066 | "enum" : [ |
13067 | "shell", | |
13068 | "console", | |
13069 | "tty" | |
13070 | ], | |
44660702 DM |
13071 | "optional" : 1, |
13072 | "type" : "string" | |
7aacca6f | 13073 | }, |
44660702 DM |
13074 | "console" : { |
13075 | "default" : 1, | |
13076 | "description" : "Attach a console device (/dev/console) to the container.", | |
7aacca6f | 13077 | "optional" : 1, |
013dc89f DM |
13078 | "type" : "boolean", |
13079 | "typetext" : "<boolean>" | |
7aacca6f | 13080 | }, |
de0983cb DM |
13081 | "cores" : { |
13082 | "description" : "The number of cores assigned to the container. A container can use all available cores by default.", | |
13083 | "maximum" : 128, | |
13084 | "minimum" : 1, | |
13085 | "optional" : 1, | |
13086 | "type" : "integer", | |
013dc89f | 13087 | "typetext" : "<integer> (1 - 128)" |
de0983cb | 13088 | }, |
44660702 DM |
13089 | "cpulimit" : { |
13090 | "default" : 0, | |
13091 | "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.", | |
13092 | "maximum" : 128, | |
7aacca6f | 13093 | "minimum" : 0, |
7aacca6f | 13094 | "optional" : 1, |
4bd7df8b | 13095 | "type" : "number", |
013dc89f | 13096 | "typetext" : "<number> (0 - 128)" |
7aacca6f | 13097 | }, |
44660702 DM |
13098 | "cpuunits" : { |
13099 | "default" : 1024, | |
13100 | "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.", | |
13101 | "maximum" : 500000, | |
13102 | "minimum" : 0, | |
13103 | "optional" : 1, | |
4bd7df8b | 13104 | "type" : "integer", |
013dc89f | 13105 | "typetext" : "<integer> (0 - 500000)" |
7aacca6f | 13106 | }, |
44660702 DM |
13107 | "delete" : { |
13108 | "description" : "A list of settings you want to delete.", | |
13109 | "format" : "pve-configid-list", | |
7aacca6f | 13110 | "optional" : 1, |
013dc89f DM |
13111 | "type" : "string", |
13112 | "typetext" : "<string>" | |
7aacca6f | 13113 | }, |
44660702 DM |
13114 | "description" : { |
13115 | "description" : "Container description. Only used on the configuration web interface.", | |
7aacca6f | 13116 | "optional" : 1, |
013dc89f DM |
13117 | "type" : "string", |
13118 | "typetext" : "<string>" | |
7aacca6f | 13119 | }, |
44660702 DM |
13120 | "digest" : { |
13121 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
13122 | "maxLength" : 40, | |
7aacca6f | 13123 | "optional" : 1, |
013dc89f DM |
13124 | "type" : "string", |
13125 | "typetext" : "<string>" | |
7aacca6f | 13126 | }, |
44660702 DM |
13127 | "hostname" : { |
13128 | "description" : "Set a host name for the container.", | |
13129 | "format" : "dns-name", | |
13130 | "maxLength" : 255, | |
56122987 | 13131 | "optional" : 1, |
013dc89f DM |
13132 | "type" : "string", |
13133 | "typetext" : "<string>" | |
44660702 DM |
13134 | }, |
13135 | "lock" : { | |
13136 | "description" : "Lock/unlock the VM.", | |
13137 | "enum" : [ | |
13138 | "migrate", | |
13139 | "backup", | |
13140 | "snapshot", | |
13141 | "rollback" | |
13142 | ], | |
13143 | "optional" : 1, | |
13144 | "type" : "string" | |
13145 | }, | |
13146 | "memory" : { | |
13147 | "default" : 512, | |
13148 | "description" : "Amount of RAM for the VM in MB.", | |
13149 | "minimum" : 16, | |
13150 | "optional" : 1, | |
4bd7df8b | 13151 | "type" : "integer", |
013dc89f | 13152 | "typetext" : "<integer> (16 - N)" |
7aacca6f DM |
13153 | }, |
13154 | "mp[n]" : { | |
c2993fe5 | 13155 | "description" : "Use volume as container mount point.", |
7aacca6f | 13156 | "format" : { |
7aacca6f DM |
13157 | "acl" : { |
13158 | "description" : "Explicitly enable or disable ACL support.", | |
7aacca6f | 13159 | "optional" : 1, |
44660702 | 13160 | "type" : "boolean" |
7aacca6f DM |
13161 | }, |
13162 | "backup" : { | |
de0983cb | 13163 | "description" : "Whether to include the mount point in backups.", |
7aacca6f | 13164 | "optional" : 1, |
4bd7df8b | 13165 | "type" : "boolean", |
de0983cb | 13166 | "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)." |
7aacca6f DM |
13167 | }, |
13168 | "mp" : { | |
de0983cb | 13169 | "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).", |
7aacca6f | 13170 | "format" : "pve-lxc-mp-string", |
44660702 | 13171 | "format_description" : "Path", |
4bd7df8b | 13172 | "type" : "string", |
de0983cb | 13173 | "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons." |
44660702 DM |
13174 | }, |
13175 | "quota" : { | |
13176 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
44660702 DM |
13177 | "optional" : 1, |
13178 | "type" : "boolean" | |
13179 | }, | |
13180 | "ro" : { | |
de0983cb | 13181 | "description" : "Read-only mount point", |
44660702 DM |
13182 | "optional" : 1, |
13183 | "type" : "boolean" | |
13184 | }, | |
de0983cb DM |
13185 | "shared" : { |
13186 | "default" : 0, | |
13187 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
13188 | "optional" : 1, | |
13189 | "type" : "boolean", | |
13190 | "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!" | |
13191 | }, | |
44660702 DM |
13192 | "size" : { |
13193 | "description" : "Volume size (read only value).", | |
13194 | "format" : "disk-size", | |
13195 | "format_description" : "DiskSize", | |
13196 | "optional" : 1, | |
13197 | "type" : "string" | |
13198 | }, | |
13199 | "volume" : { | |
13200 | "default_key" : 1, | |
13201 | "description" : "Volume, device or directory to mount into the container.", | |
13202 | "format" : "pve-lxc-mp-string", | |
13203 | "format_description" : "volume", | |
13204 | "type" : "string" | |
13205 | } | |
13206 | }, | |
7aacca6f | 13207 | "optional" : 1, |
4bd7df8b | 13208 | "type" : "string", |
de0983cb | 13209 | "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
56122987 | 13210 | }, |
44660702 DM |
13211 | "nameserver" : { |
13212 | "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
13213 | "format" : "address-list", | |
56122987 | 13214 | "optional" : 1, |
013dc89f DM |
13215 | "type" : "string", |
13216 | "typetext" : "<string>" | |
56122987 DM |
13217 | }, |
13218 | "net[n]" : { | |
44660702 | 13219 | "description" : "Specifies network interfaces for the container.", |
56122987 | 13220 | "format" : { |
44660702 DM |
13221 | "bridge" : { |
13222 | "description" : "Bridge to attach the network device to.", | |
f004f5b9 | 13223 | "format_description" : "bridge", |
56122987 | 13224 | "optional" : 1, |
44660702 DM |
13225 | "pattern" : "[-_.\\w\\d]+", |
13226 | "type" : "string" | |
56122987 | 13227 | }, |
44660702 DM |
13228 | "firewall" : { |
13229 | "description" : "Controls whether this interface's firewall rules should be used.", | |
56122987 | 13230 | "optional" : 1, |
44660702 | 13231 | "type" : "boolean" |
56122987 | 13232 | }, |
44660702 DM |
13233 | "gw" : { |
13234 | "description" : "Default gateway for IPv4 traffic.", | |
13235 | "format" : "ipv4", | |
13236 | "format_description" : "GatewayIPv4", | |
56122987 | 13237 | "optional" : 1, |
44660702 | 13238 | "type" : "string" |
56122987 DM |
13239 | }, |
13240 | "gw6" : { | |
7aacca6f | 13241 | "description" : "Default gateway for IPv6 traffic.", |
44660702 DM |
13242 | "format" : "ipv6", |
13243 | "format_description" : "GatewayIPv6", | |
7aacca6f | 13244 | "optional" : 1, |
56122987 DM |
13245 | "type" : "string" |
13246 | }, | |
44660702 | 13247 | "hwaddr" : { |
f004f5b9 DM |
13248 | "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)", |
13249 | "format_description" : "XX:XX:XX:XX:XX:XX", | |
44660702 DM |
13250 | "optional" : 1, |
13251 | "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})", | |
13252 | "type" : "string" | |
13253 | }, | |
13254 | "ip" : { | |
13255 | "description" : "IPv4 address in CIDR format.", | |
13256 | "format" : "pve-ipv4-config", | |
13257 | "format_description" : "IPv4Format/CIDR", | |
56122987 | 13258 | "optional" : 1, |
44660702 | 13259 | "type" : "string" |
56122987 | 13260 | }, |
7aacca6f | 13261 | "ip6" : { |
7aacca6f DM |
13262 | "description" : "IPv6 address in CIDR format.", |
13263 | "format" : "pve-ipv6-config", | |
44660702 | 13264 | "format_description" : "IPv6Format/CIDR", |
7aacca6f | 13265 | "optional" : 1, |
44660702 | 13266 | "type" : "string" |
56122987 | 13267 | }, |
44660702 DM |
13268 | "mtu" : { |
13269 | "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)", | |
44660702 | 13270 | "minimum" : 64, |
56122987 | 13271 | "optional" : 1, |
44660702 | 13272 | "type" : "integer" |
56122987 DM |
13273 | }, |
13274 | "name" : { | |
44660702 | 13275 | "description" : "Name of the network device as seen from inside the container. (lxc.network.name)", |
f004f5b9 | 13276 | "format_description" : "string", |
56122987 | 13277 | "pattern" : "[-_.\\w\\d]+", |
44660702 | 13278 | "type" : "string" |
56122987 | 13279 | }, |
44660702 DM |
13280 | "rate" : { |
13281 | "description" : "Apply rate limiting to the interface", | |
13282 | "format_description" : "mbps", | |
56122987 | 13283 | "optional" : 1, |
44660702 | 13284 | "type" : "number" |
7aacca6f | 13285 | }, |
44660702 DM |
13286 | "tag" : { |
13287 | "description" : "VLAN tag for this interface.", | |
4bd7df8b DM |
13288 | "maximum" : 4094, |
13289 | "minimum" : 1, | |
56122987 | 13290 | "optional" : 1, |
7aacca6f | 13291 | "type" : "integer" |
56122987 | 13292 | }, |
44660702 DM |
13293 | "trunks" : { |
13294 | "description" : "VLAN ids to pass through the interface", | |
13295 | "format_description" : "vlanid[;vlanid...]", | |
13296 | "optional" : 1, | |
13297 | "pattern" : "(?^:\\d+(?:;\\d+)*)", | |
13298 | "type" : "string" | |
13299 | }, | |
13300 | "type" : { | |
13301 | "description" : "Network interface type.", | |
13302 | "enum" : [ | |
13303 | "veth" | |
13304 | ], | |
56122987 | 13305 | "optional" : 1, |
44660702 | 13306 | "type" : "string" |
56122987 DM |
13307 | } |
13308 | }, | |
7aacca6f | 13309 | "optional" : 1, |
4bd7df8b DM |
13310 | "type" : "string", |
13311 | "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]" | |
56122987 | 13312 | }, |
44660702 DM |
13313 | "node" : { |
13314 | "description" : "The cluster node name.", | |
13315 | "format" : "pve-node", | |
013dc89f DM |
13316 | "type" : "string", |
13317 | "typetext" : "<string>" | |
56122987 | 13318 | }, |
44660702 DM |
13319 | "onboot" : { |
13320 | "default" : 0, | |
13321 | "description" : "Specifies whether a VM will be started during system bootup.", | |
56122987 | 13322 | "optional" : 1, |
013dc89f DM |
13323 | "type" : "boolean", |
13324 | "typetext" : "<boolean>" | |
56122987 | 13325 | }, |
44660702 DM |
13326 | "ostype" : { |
13327 | "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.", | |
13328 | "enum" : [ | |
13329 | "debian", | |
13330 | "ubuntu", | |
13331 | "centos", | |
13332 | "fedora", | |
13333 | "opensuse", | |
13334 | "archlinux", | |
13335 | "alpine", | |
57b78691 | 13336 | "gentoo", |
44660702 DM |
13337 | "unmanaged" |
13338 | ], | |
56122987 | 13339 | "optional" : 1, |
44660702 | 13340 | "type" : "string" |
56122987 | 13341 | }, |
44660702 DM |
13342 | "protection" : { |
13343 | "default" : 0, | |
13344 | "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.", | |
56122987 | 13345 | "optional" : 1, |
013dc89f DM |
13346 | "type" : "boolean", |
13347 | "typetext" : "<boolean>" | |
56122987 | 13348 | }, |
7aacca6f DM |
13349 | "rootfs" : { |
13350 | "description" : "Use volume as container root.", | |
56122987 DM |
13351 | "format" : { |
13352 | "acl" : { | |
44660702 | 13353 | "description" : "Explicitly enable or disable ACL support.", |
7aacca6f DM |
13354 | "optional" : 1, |
13355 | "type" : "boolean" | |
56122987 | 13356 | }, |
44660702 DM |
13357 | "quota" : { |
13358 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
44660702 DM |
13359 | "optional" : 1, |
13360 | "type" : "boolean" | |
13361 | }, | |
13362 | "ro" : { | |
de0983cb | 13363 | "description" : "Read-only mount point", |
56122987 | 13364 | "optional" : 1, |
44660702 DM |
13365 | "type" : "boolean" |
13366 | }, | |
de0983cb DM |
13367 | "shared" : { |
13368 | "default" : 0, | |
13369 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
13370 | "optional" : 1, | |
13371 | "type" : "boolean", | |
13372 | "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!" | |
13373 | }, | |
44660702 | 13374 | "size" : { |
7aacca6f | 13375 | "description" : "Volume size (read only value).", |
44660702 | 13376 | "format" : "disk-size", |
56122987 | 13377 | "format_description" : "DiskSize", |
56122987 | 13378 | "optional" : 1, |
44660702 | 13379 | "type" : "string" |
7aacca6f DM |
13380 | }, |
13381 | "volume" : { | |
7aacca6f DM |
13382 | "default_key" : 1, |
13383 | "description" : "Volume, device or directory to mount into the container.", | |
44660702 DM |
13384 | "format" : "pve-lxc-mp-string", |
13385 | "format_description" : "volume", | |
7aacca6f | 13386 | "type" : "string" |
56122987 | 13387 | } |
44660702 DM |
13388 | }, |
13389 | "optional" : 1, | |
4bd7df8b | 13390 | "type" : "string", |
de0983cb | 13391 | "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
44660702 DM |
13392 | }, |
13393 | "searchdomain" : { | |
13394 | "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
13395 | "format" : "dns-name-list", | |
13396 | "optional" : 1, | |
013dc89f DM |
13397 | "type" : "string", |
13398 | "typetext" : "<string>" | |
44660702 DM |
13399 | }, |
13400 | "startup" : { | |
13401 | "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.", | |
13402 | "format" : "pve-startup-order", | |
13403 | "optional" : 1, | |
13404 | "type" : "string", | |
13405 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " | |
13406 | }, | |
13407 | "swap" : { | |
13408 | "default" : 512, | |
13409 | "description" : "Amount of SWAP for the VM in MB.", | |
13410 | "minimum" : 0, | |
13411 | "optional" : 1, | |
4bd7df8b | 13412 | "type" : "integer", |
013dc89f | 13413 | "typetext" : "<integer> (0 - N)" |
56122987 | 13414 | }, |
56122987 | 13415 | "template" : { |
44660702 | 13416 | "default" : 0, |
7aacca6f | 13417 | "description" : "Enable/disable Template.", |
56122987 | 13418 | "optional" : 1, |
013dc89f DM |
13419 | "type" : "boolean", |
13420 | "typetext" : "<boolean>" | |
56122987 | 13421 | }, |
44660702 DM |
13422 | "tty" : { |
13423 | "default" : 2, | |
13424 | "description" : "Specify the number of tty available to the container", | |
13425 | "maximum" : 6, | |
13426 | "minimum" : 0, | |
13427 | "optional" : 1, | |
4bd7df8b | 13428 | "type" : "integer", |
013dc89f | 13429 | "typetext" : "<integer> (0 - 6)" |
56122987 | 13430 | }, |
44660702 DM |
13431 | "unprivileged" : { |
13432 | "default" : 0, | |
13433 | "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)", | |
56122987 | 13434 | "optional" : 1, |
013dc89f DM |
13435 | "type" : "boolean", |
13436 | "typetext" : "<boolean>" | |
56122987 | 13437 | }, |
44660702 | 13438 | "unused[n]" : { |
c2993fe5 | 13439 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
44660702 | 13440 | "format" : "pve-volume-id", |
56122987 | 13441 | "optional" : 1, |
013dc89f DM |
13442 | "type" : "string", |
13443 | "typetext" : "<string>" | |
44660702 DM |
13444 | }, |
13445 | "vmid" : { | |
13446 | "description" : "The (unique) ID of the VM.", | |
13447 | "format" : "pve-vmid", | |
13448 | "minimum" : 1, | |
4bd7df8b | 13449 | "type" : "integer", |
013dc89f | 13450 | "typetext" : "<integer> (1 - N)" |
56122987 | 13451 | } |
44660702 | 13452 | } |
56122987 | 13453 | }, |
56122987 DM |
13454 | "permissions" : { |
13455 | "check" : [ | |
13456 | "perm", | |
13457 | "/vms/{vmid}", | |
13458 | [ | |
13459 | "VM.Config.Disk", | |
13460 | "VM.Config.CPU", | |
13461 | "VM.Config.Memory", | |
13462 | "VM.Config.Network", | |
13463 | "VM.Config.Options" | |
13464 | ], | |
13465 | "any", | |
13466 | 1 | |
13467 | ] | |
13468 | }, | |
44660702 DM |
13469 | "protected" : 1, |
13470 | "proxyto" : "node", | |
56122987 DM |
13471 | "returns" : { |
13472 | "type" : "null" | |
7aacca6f | 13473 | } |
56122987 | 13474 | } |
7aacca6f | 13475 | }, |
44660702 | 13476 | "leaf" : 1, |
7aacca6f | 13477 | "path" : "/nodes/{node}/lxc/{vmid}/config", |
44660702 | 13478 | "text" : "config" |
56122987 DM |
13479 | }, |
13480 | { | |
56122987 DM |
13481 | "children" : [ |
13482 | { | |
13483 | "info" : { | |
13484 | "GET" : { | |
44660702 | 13485 | "description" : "Get virtual machine status.", |
7aacca6f | 13486 | "method" : "GET", |
44660702 | 13487 | "name" : "vm_status", |
56122987 | 13488 | "parameters" : { |
44660702 | 13489 | "additionalProperties" : 0, |
56122987 | 13490 | "properties" : { |
56122987 | 13491 | "node" : { |
44660702 | 13492 | "description" : "The cluster node name.", |
56122987 | 13493 | "format" : "pve-node", |
013dc89f DM |
13494 | "type" : "string", |
13495 | "typetext" : "<string>" | |
7aacca6f DM |
13496 | }, |
13497 | "vmid" : { | |
13498 | "description" : "The (unique) ID of the VM.", | |
44660702 | 13499 | "format" : "pve-vmid", |
7aacca6f | 13500 | "minimum" : 1, |
4bd7df8b | 13501 | "type" : "integer", |
013dc89f | 13502 | "typetext" : "<integer> (1 - N)" |
56122987 | 13503 | } |
44660702 | 13504 | } |
7aacca6f DM |
13505 | }, |
13506 | "permissions" : { | |
13507 | "check" : [ | |
13508 | "perm", | |
13509 | "/vms/{vmid}", | |
13510 | [ | |
13511 | "VM.Audit" | |
13512 | ] | |
13513 | ] | |
13514 | }, | |
44660702 | 13515 | "protected" : 1, |
7aacca6f | 13516 | "proxyto" : "node", |
44660702 DM |
13517 | "returns" : { |
13518 | "type" : "object" | |
13519 | } | |
56122987 DM |
13520 | } |
13521 | }, | |
44660702 DM |
13522 | "leaf" : 1, |
13523 | "path" : "/nodes/{node}/lxc/{vmid}/status/current", | |
56122987 DM |
13524 | "text" : "current" |
13525 | }, | |
13526 | { | |
56122987 DM |
13527 | "info" : { |
13528 | "POST" : { | |
7aacca6f | 13529 | "description" : "Start the container.", |
44660702 | 13530 | "method" : "POST", |
7aacca6f | 13531 | "name" : "vm_start", |
56122987 DM |
13532 | "parameters" : { |
13533 | "additionalProperties" : 0, | |
13534 | "properties" : { | |
56122987 | 13535 | "node" : { |
7aacca6f | 13536 | "description" : "The cluster node name.", |
44660702 | 13537 | "format" : "pve-node", |
013dc89f DM |
13538 | "type" : "string", |
13539 | "typetext" : "<string>" | |
56122987 | 13540 | }, |
7aacca6f | 13541 | "skiplock" : { |
44660702 | 13542 | "description" : "Ignore locks - only root is allowed to use this option.", |
7aacca6f | 13543 | "optional" : 1, |
013dc89f DM |
13544 | "type" : "boolean", |
13545 | "typetext" : "<boolean>" | |
7aacca6f | 13546 | }, |
56122987 | 13547 | "vmid" : { |
7aacca6f | 13548 | "description" : "The (unique) ID of the VM.", |
44660702 | 13549 | "format" : "pve-vmid", |
56122987 | 13550 | "minimum" : 1, |
4bd7df8b | 13551 | "type" : "integer", |
013dc89f | 13552 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
13553 | } |
13554 | } | |
13555 | }, | |
13556 | "permissions" : { | |
13557 | "check" : [ | |
13558 | "perm", | |
13559 | "/vms/{vmid}", | |
13560 | [ | |
13561 | "VM.PowerMgmt" | |
13562 | ] | |
13563 | ] | |
13564 | }, | |
44660702 | 13565 | "protected" : 1, |
7aacca6f | 13566 | "proxyto" : "node", |
44660702 DM |
13567 | "returns" : { |
13568 | "type" : "string" | |
13569 | } | |
13570 | } | |
13571 | }, | |
13572 | "leaf" : 1, | |
13573 | "path" : "/nodes/{node}/lxc/{vmid}/status/start", | |
13574 | "text" : "start" | |
13575 | }, | |
13576 | { | |
13577 | "info" : { | |
13578 | "POST" : { | |
13579 | "description" : "Stop the container. This will abruptly stop all processes running in the container.", | |
7aacca6f DM |
13580 | "method" : "POST", |
13581 | "name" : "vm_stop", | |
13582 | "parameters" : { | |
44660702 | 13583 | "additionalProperties" : 0, |
7aacca6f | 13584 | "properties" : { |
44660702 DM |
13585 | "node" : { |
13586 | "description" : "The cluster node name.", | |
13587 | "format" : "pve-node", | |
013dc89f DM |
13588 | "type" : "string", |
13589 | "typetext" : "<string>" | |
44660702 | 13590 | }, |
7aacca6f DM |
13591 | "skiplock" : { |
13592 | "description" : "Ignore locks - only root is allowed to use this option.", | |
44660702 | 13593 | "optional" : 1, |
013dc89f DM |
13594 | "type" : "boolean", |
13595 | "typetext" : "<boolean>" | |
7aacca6f DM |
13596 | }, |
13597 | "vmid" : { | |
44660702 | 13598 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
13599 | "format" : "pve-vmid", |
13600 | "minimum" : 1, | |
4bd7df8b | 13601 | "type" : "integer", |
013dc89f | 13602 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 13603 | } |
44660702 DM |
13604 | } |
13605 | }, | |
13606 | "permissions" : { | |
13607 | "check" : [ | |
13608 | "perm", | |
13609 | "/vms/{vmid}", | |
13610 | [ | |
13611 | "VM.PowerMgmt" | |
13612 | ] | |
13613 | ] | |
7aacca6f | 13614 | }, |
44660702 DM |
13615 | "protected" : 1, |
13616 | "proxyto" : "node", | |
13617 | "returns" : { | |
13618 | "type" : "string" | |
13619 | } | |
56122987 | 13620 | } |
7aacca6f | 13621 | }, |
7aacca6f | 13622 | "leaf" : 1, |
44660702 DM |
13623 | "path" : "/nodes/{node}/lxc/{vmid}/status/stop", |
13624 | "text" : "stop" | |
56122987 DM |
13625 | }, |
13626 | { | |
56122987 DM |
13627 | "info" : { |
13628 | "POST" : { | |
44660702 DM |
13629 | "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.", |
13630 | "method" : "POST", | |
7aacca6f | 13631 | "name" : "vm_shutdown", |
56122987 | 13632 | "parameters" : { |
44660702 | 13633 | "additionalProperties" : 0, |
56122987 | 13634 | "properties" : { |
7aacca6f | 13635 | "forceStop" : { |
44660702 | 13636 | "default" : 0, |
7aacca6f DM |
13637 | "description" : "Make sure the Container stops.", |
13638 | "optional" : 1, | |
013dc89f DM |
13639 | "type" : "boolean", |
13640 | "typetext" : "<boolean>" | |
44660702 DM |
13641 | }, |
13642 | "node" : { | |
13643 | "description" : "The cluster node name.", | |
13644 | "format" : "pve-node", | |
013dc89f DM |
13645 | "type" : "string", |
13646 | "typetext" : "<string>" | |
7aacca6f DM |
13647 | }, |
13648 | "timeout" : { | |
7aacca6f | 13649 | "default" : 60, |
44660702 DM |
13650 | "description" : "Wait maximal timeout seconds.", |
13651 | "minimum" : 0, | |
56122987 | 13652 | "optional" : 1, |
4bd7df8b | 13653 | "type" : "integer", |
013dc89f | 13654 | "typetext" : "<integer> (0 - N)" |
56122987 DM |
13655 | }, |
13656 | "vmid" : { | |
7aacca6f | 13657 | "description" : "The (unique) ID of the VM.", |
44660702 DM |
13658 | "format" : "pve-vmid", |
13659 | "minimum" : 1, | |
4bd7df8b | 13660 | "type" : "integer", |
013dc89f | 13661 | "typetext" : "<integer> (1 - N)" |
56122987 | 13662 | } |
44660702 | 13663 | } |
56122987 DM |
13664 | }, |
13665 | "permissions" : { | |
13666 | "check" : [ | |
13667 | "perm", | |
13668 | "/vms/{vmid}", | |
13669 | [ | |
13670 | "VM.PowerMgmt" | |
13671 | ] | |
13672 | ] | |
13673 | }, | |
44660702 DM |
13674 | "protected" : 1, |
13675 | "proxyto" : "node", | |
7aacca6f DM |
13676 | "returns" : { |
13677 | "type" : "string" | |
13678 | } | |
56122987 DM |
13679 | } |
13680 | }, | |
44660702 DM |
13681 | "leaf" : 1, |
13682 | "path" : "/nodes/{node}/lxc/{vmid}/status/shutdown", | |
7aacca6f | 13683 | "text" : "shutdown" |
56122987 DM |
13684 | }, |
13685 | { | |
56122987 DM |
13686 | "info" : { |
13687 | "POST" : { | |
7aacca6f | 13688 | "description" : "Suspend the container.", |
7aacca6f | 13689 | "method" : "POST", |
7aacca6f | 13690 | "name" : "vm_suspend", |
56122987 DM |
13691 | "parameters" : { |
13692 | "additionalProperties" : 0, | |
13693 | "properties" : { | |
44660702 DM |
13694 | "node" : { |
13695 | "description" : "The cluster node name.", | |
13696 | "format" : "pve-node", | |
013dc89f DM |
13697 | "type" : "string", |
13698 | "typetext" : "<string>" | |
44660702 | 13699 | }, |
7aacca6f | 13700 | "vmid" : { |
7aacca6f DM |
13701 | "description" : "The (unique) ID of the VM.", |
13702 | "format" : "pve-vmid", | |
44660702 | 13703 | "minimum" : 1, |
4bd7df8b | 13704 | "type" : "integer", |
013dc89f | 13705 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
13706 | } |
13707 | } | |
7aacca6f | 13708 | }, |
56122987 DM |
13709 | "permissions" : { |
13710 | "check" : [ | |
13711 | "perm", | |
13712 | "/vms/{vmid}", | |
13713 | [ | |
13714 | "VM.PowerMgmt" | |
13715 | ] | |
13716 | ] | |
13717 | }, | |
7aacca6f | 13718 | "protected" : 1, |
44660702 DM |
13719 | "proxyto" : "node", |
13720 | "returns" : { | |
13721 | "type" : "string" | |
13722 | } | |
13723 | } | |
13724 | }, | |
13725 | "leaf" : 1, | |
13726 | "path" : "/nodes/{node}/lxc/{vmid}/status/suspend", | |
13727 | "text" : "suspend" | |
13728 | }, | |
13729 | { | |
13730 | "info" : { | |
13731 | "POST" : { | |
13732 | "description" : "Resume the container.", | |
13733 | "method" : "POST", | |
13734 | "name" : "vm_resume", | |
56122987 | 13735 | "parameters" : { |
44660702 | 13736 | "additionalProperties" : 0, |
56122987 DM |
13737 | "properties" : { |
13738 | "node" : { | |
7aacca6f | 13739 | "description" : "The cluster node name.", |
44660702 | 13740 | "format" : "pve-node", |
013dc89f DM |
13741 | "type" : "string", |
13742 | "typetext" : "<string>" | |
56122987 DM |
13743 | }, |
13744 | "vmid" : { | |
7aacca6f | 13745 | "description" : "The (unique) ID of the VM.", |
56122987 | 13746 | "format" : "pve-vmid", |
44660702 | 13747 | "minimum" : 1, |
4bd7df8b | 13748 | "type" : "integer", |
013dc89f | 13749 | "typetext" : "<integer> (1 - N)" |
56122987 | 13750 | } |
44660702 DM |
13751 | } |
13752 | }, | |
13753 | "permissions" : { | |
13754 | "check" : [ | |
13755 | "perm", | |
13756 | "/vms/{vmid}", | |
13757 | [ | |
13758 | "VM.PowerMgmt" | |
13759 | ] | |
13760 | ] | |
56122987 | 13761 | }, |
44660702 DM |
13762 | "protected" : 1, |
13763 | "proxyto" : "node", | |
13764 | "returns" : { | |
13765 | "type" : "string" | |
13766 | } | |
7aacca6f DM |
13767 | } |
13768 | }, | |
44660702 DM |
13769 | "leaf" : 1, |
13770 | "path" : "/nodes/{node}/lxc/{vmid}/status/resume", | |
7aacca6f DM |
13771 | "text" : "resume" |
13772 | } | |
13773 | ], | |
13774 | "info" : { | |
13775 | "GET" : { | |
7aacca6f | 13776 | "description" : "Directory index", |
44660702 | 13777 | "method" : "GET", |
7aacca6f | 13778 | "name" : "vmcmdidx", |
7aacca6f DM |
13779 | "parameters" : { |
13780 | "additionalProperties" : 0, | |
13781 | "properties" : { | |
13782 | "node" : { | |
13783 | "description" : "The cluster node name.", | |
44660702 | 13784 | "format" : "pve-node", |
013dc89f DM |
13785 | "type" : "string", |
13786 | "typetext" : "<string>" | |
56122987 | 13787 | }, |
7aacca6f | 13788 | "vmid" : { |
44660702 | 13789 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
13790 | "format" : "pve-vmid", |
13791 | "minimum" : 1, | |
4bd7df8b | 13792 | "type" : "integer", |
013dc89f | 13793 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 13794 | } |
56122987 DM |
13795 | } |
13796 | }, | |
44660702 DM |
13797 | "permissions" : { |
13798 | "user" : "all" | |
13799 | }, | |
13800 | "proxyto" : "node", | |
7aacca6f | 13801 | "returns" : { |
7aacca6f DM |
13802 | "items" : { |
13803 | "properties" : { | |
13804 | "subdir" : { | |
13805 | "type" : "string" | |
13806 | } | |
13807 | }, | |
13808 | "type" : "object" | |
13809 | }, | |
13810 | "links" : [ | |
13811 | { | |
44660702 DM |
13812 | "href" : "{subdir}", |
13813 | "rel" : "child" | |
7aacca6f | 13814 | } |
44660702 DM |
13815 | ], |
13816 | "type" : "array" | |
7aacca6f DM |
13817 | } |
13818 | } | |
44660702 DM |
13819 | }, |
13820 | "leaf" : 0, | |
13821 | "path" : "/nodes/{node}/lxc/{vmid}/status", | |
13822 | "text" : "status" | |
7aacca6f DM |
13823 | }, |
13824 | { | |
7aacca6f | 13825 | "children" : [ |
56122987 | 13826 | { |
7aacca6f DM |
13827 | "children" : [ |
13828 | { | |
13829 | "info" : { | |
13830 | "POST" : { | |
7aacca6f | 13831 | "description" : "Rollback LXC state to specified snapshot.", |
7aacca6f | 13832 | "method" : "POST", |
44660702 | 13833 | "name" : "rollback", |
7aacca6f | 13834 | "parameters" : { |
44660702 | 13835 | "additionalProperties" : 0, |
7aacca6f | 13836 | "properties" : { |
44660702 DM |
13837 | "node" : { |
13838 | "description" : "The cluster node name.", | |
13839 | "format" : "pve-node", | |
013dc89f DM |
13840 | "type" : "string", |
13841 | "typetext" : "<string>" | |
44660702 | 13842 | }, |
7aacca6f | 13843 | "snapname" : { |
44660702 | 13844 | "description" : "The name of the snapshot.", |
7aacca6f DM |
13845 | "format" : "pve-configid", |
13846 | "maxLength" : 40, | |
013dc89f DM |
13847 | "type" : "string", |
13848 | "typetext" : "<string>" | |
7aacca6f | 13849 | }, |
7aacca6f | 13850 | "vmid" : { |
44660702 | 13851 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 13852 | "format" : "pve-vmid", |
44660702 | 13853 | "minimum" : 1, |
4bd7df8b | 13854 | "type" : "integer", |
013dc89f | 13855 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 13856 | } |
44660702 DM |
13857 | } |
13858 | }, | |
13859 | "permissions" : { | |
13860 | "check" : [ | |
13861 | "perm", | |
13862 | "/vms/{vmid}", | |
13863 | [ | |
13864 | "VM.Snapshot" | |
13865 | ] | |
13866 | ] | |
7aacca6f | 13867 | }, |
44660702 DM |
13868 | "protected" : 1, |
13869 | "proxyto" : "node", | |
13870 | "returns" : { | |
13871 | "description" : "the task ID.", | |
13872 | "type" : "string" | |
13873 | } | |
7aacca6f DM |
13874 | } |
13875 | }, | |
7aacca6f | 13876 | "leaf" : 1, |
44660702 DM |
13877 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback", |
13878 | "text" : "rollback" | |
7aacca6f DM |
13879 | }, |
13880 | { | |
7aacca6f DM |
13881 | "info" : { |
13882 | "GET" : { | |
7aacca6f | 13883 | "description" : "Get snapshot configuration", |
44660702 DM |
13884 | "method" : "GET", |
13885 | "name" : "get_snapshot_config", | |
7aacca6f DM |
13886 | "parameters" : { |
13887 | "additionalProperties" : 0, | |
13888 | "properties" : { | |
7aacca6f | 13889 | "node" : { |
7aacca6f | 13890 | "description" : "The cluster node name.", |
44660702 | 13891 | "format" : "pve-node", |
013dc89f DM |
13892 | "type" : "string", |
13893 | "typetext" : "<string>" | |
7aacca6f DM |
13894 | }, |
13895 | "snapname" : { | |
44660702 | 13896 | "description" : "The name of the snapshot.", |
7aacca6f DM |
13897 | "format" : "pve-configid", |
13898 | "maxLength" : 40, | |
013dc89f DM |
13899 | "type" : "string", |
13900 | "typetext" : "<string>" | |
44660702 DM |
13901 | }, |
13902 | "vmid" : { | |
13903 | "description" : "The (unique) ID of the VM.", | |
13904 | "format" : "pve-vmid", | |
13905 | "minimum" : 1, | |
4bd7df8b | 13906 | "type" : "integer", |
013dc89f | 13907 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
13908 | } |
13909 | } | |
13910 | }, | |
13911 | "permissions" : { | |
13912 | "check" : [ | |
13913 | "perm", | |
13914 | "/vms/{vmid}", | |
13915 | [ | |
13916 | "VM.Snapshot" | |
13917 | ] | |
13918 | ] | |
13919 | }, | |
44660702 DM |
13920 | "proxyto" : "node", |
13921 | "returns" : { | |
13922 | "type" : "object" | |
13923 | } | |
7aacca6f DM |
13924 | }, |
13925 | "PUT" : { | |
44660702 DM |
13926 | "description" : "Update snapshot metadata.", |
13927 | "method" : "PUT", | |
7aacca6f DM |
13928 | "name" : "update_snapshot_config", |
13929 | "parameters" : { | |
13930 | "additionalProperties" : 0, | |
13931 | "properties" : { | |
44660702 DM |
13932 | "description" : { |
13933 | "description" : "A textual description or comment.", | |
13934 | "optional" : 1, | |
013dc89f DM |
13935 | "type" : "string", |
13936 | "typetext" : "<string>" | |
44660702 | 13937 | }, |
7aacca6f | 13938 | "node" : { |
7aacca6f | 13939 | "description" : "The cluster node name.", |
44660702 | 13940 | "format" : "pve-node", |
013dc89f DM |
13941 | "type" : "string", |
13942 | "typetext" : "<string>" | |
7aacca6f DM |
13943 | }, |
13944 | "snapname" : { | |
13945 | "description" : "The name of the snapshot.", | |
7aacca6f | 13946 | "format" : "pve-configid", |
44660702 | 13947 | "maxLength" : 40, |
013dc89f DM |
13948 | "type" : "string", |
13949 | "typetext" : "<string>" | |
7aacca6f DM |
13950 | }, |
13951 | "vmid" : { | |
44660702 | 13952 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 13953 | "format" : "pve-vmid", |
44660702 | 13954 | "minimum" : 1, |
4bd7df8b | 13955 | "type" : "integer", |
013dc89f | 13956 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
13957 | } |
13958 | } | |
13959 | }, | |
7aacca6f DM |
13960 | "permissions" : { |
13961 | "check" : [ | |
13962 | "perm", | |
13963 | "/vms/{vmid}", | |
13964 | [ | |
13965 | "VM.Snapshot" | |
13966 | ] | |
13967 | ] | |
13968 | }, | |
44660702 DM |
13969 | "protected" : 1, |
13970 | "proxyto" : "node", | |
7aacca6f DM |
13971 | "returns" : { |
13972 | "type" : "null" | |
13973 | } | |
13974 | } | |
13975 | }, | |
44660702 | 13976 | "leaf" : 1, |
7aacca6f | 13977 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config", |
44660702 | 13978 | "text" : "config" |
7aacca6f DM |
13979 | } |
13980 | ], | |
56122987 | 13981 | "info" : { |
44660702 DM |
13982 | "DELETE" : { |
13983 | "description" : "Delete a LXC snapshot.", | |
13984 | "method" : "DELETE", | |
13985 | "name" : "delsnapshot", | |
56122987 | 13986 | "parameters" : { |
44660702 | 13987 | "additionalProperties" : 0, |
56122987 | 13988 | "properties" : { |
44660702 DM |
13989 | "force" : { |
13990 | "description" : "For removal from config file, even if removing disk snapshots fails.", | |
13991 | "optional" : 1, | |
013dc89f DM |
13992 | "type" : "boolean", |
13993 | "typetext" : "<boolean>" | |
44660702 DM |
13994 | }, |
13995 | "node" : { | |
13996 | "description" : "The cluster node name.", | |
13997 | "format" : "pve-node", | |
013dc89f DM |
13998 | "type" : "string", |
13999 | "typetext" : "<string>" | |
7aacca6f DM |
14000 | }, |
14001 | "snapname" : { | |
7aacca6f DM |
14002 | "description" : "The name of the snapshot.", |
14003 | "format" : "pve-configid", | |
44660702 | 14004 | "maxLength" : 40, |
013dc89f DM |
14005 | "type" : "string", |
14006 | "typetext" : "<string>" | |
44660702 DM |
14007 | }, |
14008 | "vmid" : { | |
14009 | "description" : "The (unique) ID of the VM.", | |
14010 | "format" : "pve-vmid", | |
14011 | "minimum" : 1, | |
4bd7df8b | 14012 | "type" : "integer", |
013dc89f | 14013 | "typetext" : "<integer> (1 - N)" |
56122987 | 14014 | } |
44660702 | 14015 | } |
7aacca6f | 14016 | }, |
56122987 DM |
14017 | "permissions" : { |
14018 | "check" : [ | |
14019 | "perm", | |
14020 | "/vms/{vmid}", | |
14021 | [ | |
7aacca6f | 14022 | "VM.Snapshot" |
56122987 DM |
14023 | ] |
14024 | ] | |
14025 | }, | |
44660702 | 14026 | "protected" : 1, |
7aacca6f | 14027 | "proxyto" : "node", |
56122987 | 14028 | "returns" : { |
7aacca6f | 14029 | "description" : "the task ID.", |
56122987 | 14030 | "type" : "string" |
44660702 DM |
14031 | } |
14032 | }, | |
14033 | "GET" : { | |
14034 | "description" : "", | |
14035 | "method" : "GET", | |
14036 | "name" : "snapshot_cmd_idx", | |
7aacca6f DM |
14037 | "parameters" : { |
14038 | "additionalProperties" : 0, | |
14039 | "properties" : { | |
7aacca6f | 14040 | "node" : { |
44660702 | 14041 | "description" : "The cluster node name.", |
7aacca6f | 14042 | "format" : "pve-node", |
013dc89f DM |
14043 | "type" : "string", |
14044 | "typetext" : "<string>" | |
7aacca6f DM |
14045 | }, |
14046 | "snapname" : { | |
44660702 | 14047 | "description" : "The name of the snapshot.", |
7aacca6f | 14048 | "format" : "pve-configid", |
44660702 | 14049 | "maxLength" : 40, |
013dc89f DM |
14050 | "type" : "string", |
14051 | "typetext" : "<string>" | |
44660702 DM |
14052 | }, |
14053 | "vmid" : { | |
14054 | "description" : "The (unique) ID of the VM.", | |
14055 | "format" : "pve-vmid", | |
14056 | "minimum" : 1, | |
4bd7df8b | 14057 | "type" : "integer", |
013dc89f | 14058 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
14059 | } |
14060 | } | |
14061 | }, | |
44660702 DM |
14062 | "permissions" : { |
14063 | "user" : "all" | |
14064 | }, | |
14065 | "returns" : { | |
14066 | "items" : { | |
14067 | "properties" : {}, | |
14068 | "type" : "object" | |
14069 | }, | |
14070 | "links" : [ | |
14071 | { | |
14072 | "href" : "{cmd}", | |
14073 | "rel" : "child" | |
14074 | } | |
14075 | ], | |
14076 | "type" : "array" | |
14077 | } | |
14078 | } | |
14079 | }, | |
14080 | "leaf" : 0, | |
14081 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot/{snapname}", | |
14082 | "text" : "{snapname}" | |
14083 | } | |
14084 | ], | |
14085 | "info" : { | |
14086 | "GET" : { | |
14087 | "description" : "List all snapshots.", | |
14088 | "method" : "GET", | |
14089 | "name" : "list", | |
14090 | "parameters" : { | |
14091 | "additionalProperties" : 0, | |
14092 | "properties" : { | |
14093 | "node" : { | |
14094 | "description" : "The cluster node name.", | |
14095 | "format" : "pve-node", | |
013dc89f DM |
14096 | "type" : "string", |
14097 | "typetext" : "<string>" | |
44660702 DM |
14098 | }, |
14099 | "vmid" : { | |
14100 | "description" : "The (unique) ID of the VM.", | |
14101 | "format" : "pve-vmid", | |
14102 | "minimum" : 1, | |
4bd7df8b | 14103 | "type" : "integer", |
013dc89f | 14104 | "typetext" : "<integer> (1 - N)" |
44660702 | 14105 | } |
56122987 DM |
14106 | } |
14107 | }, | |
56122987 | 14108 | "permissions" : { |
7aacca6f DM |
14109 | "check" : [ |
14110 | "perm", | |
14111 | "/vms/{vmid}", | |
14112 | [ | |
14113 | "VM.Audit" | |
14114 | ] | |
14115 | ] | |
14116 | }, | |
44660702 | 14117 | "protected" : 1, |
56122987 | 14118 | "proxyto" : "node", |
7aacca6f | 14119 | "returns" : { |
44660702 DM |
14120 | "items" : { |
14121 | "properties" : {}, | |
14122 | "type" : "object" | |
14123 | }, | |
7aacca6f DM |
14124 | "links" : [ |
14125 | { | |
14126 | "href" : "{name}", | |
14127 | "rel" : "child" | |
14128 | } | |
14129 | ], | |
7aacca6f | 14130 | "type" : "array" |
44660702 | 14131 | } |
7aacca6f DM |
14132 | }, |
14133 | "POST" : { | |
44660702 DM |
14134 | "description" : "Snapshot a container.", |
14135 | "method" : "POST", | |
14136 | "name" : "snapshot", | |
56122987 DM |
14137 | "parameters" : { |
14138 | "additionalProperties" : 0, | |
14139 | "properties" : { | |
7aacca6f | 14140 | "description" : { |
44660702 | 14141 | "description" : "A textual description or comment.", |
7aacca6f | 14142 | "optional" : 1, |
013dc89f DM |
14143 | "type" : "string", |
14144 | "typetext" : "<string>" | |
44660702 DM |
14145 | }, |
14146 | "node" : { | |
14147 | "description" : "The cluster node name.", | |
14148 | "format" : "pve-node", | |
013dc89f DM |
14149 | "type" : "string", |
14150 | "typetext" : "<string>" | |
56122987 DM |
14151 | }, |
14152 | "snapname" : { | |
56122987 | 14153 | "description" : "The name of the snapshot.", |
44660702 | 14154 | "format" : "pve-configid", |
7aacca6f | 14155 | "maxLength" : 40, |
013dc89f DM |
14156 | "type" : "string", |
14157 | "typetext" : "<string>" | |
56122987 | 14158 | }, |
44660702 DM |
14159 | "vmid" : { |
14160 | "description" : "The (unique) ID of the VM.", | |
14161 | "format" : "pve-vmid", | |
14162 | "minimum" : 1, | |
4bd7df8b | 14163 | "type" : "integer", |
013dc89f | 14164 | "typetext" : "<integer> (1 - N)" |
56122987 | 14165 | } |
7aacca6f | 14166 | } |
56122987 | 14167 | }, |
56122987 DM |
14168 | "permissions" : { |
14169 | "check" : [ | |
14170 | "perm", | |
14171 | "/vms/{vmid}", | |
14172 | [ | |
7aacca6f | 14173 | "VM.Snapshot" |
56122987 DM |
14174 | ] |
14175 | ] | |
7aacca6f | 14176 | }, |
44660702 | 14177 | "protected" : 1, |
7aacca6f DM |
14178 | "proxyto" : "node", |
14179 | "returns" : { | |
14180 | "description" : "the task ID.", | |
14181 | "type" : "string" | |
56122987 DM |
14182 | } |
14183 | } | |
44660702 DM |
14184 | }, |
14185 | "leaf" : 0, | |
14186 | "path" : "/nodes/{node}/lxc/{vmid}/snapshot", | |
14187 | "text" : "snapshot" | |
7aacca6f DM |
14188 | }, |
14189 | { | |
56122987 DM |
14190 | "children" : [ |
14191 | { | |
56122987 DM |
14192 | "children" : [ |
14193 | { | |
56122987 | 14194 | "info" : { |
44660702 DM |
14195 | "DELETE" : { |
14196 | "description" : "Delete rule.", | |
14197 | "method" : "DELETE", | |
14198 | "name" : "delete_rule", | |
56122987 | 14199 | "parameters" : { |
44660702 | 14200 | "additionalProperties" : 0, |
56122987 | 14201 | "properties" : { |
44660702 DM |
14202 | "digest" : { |
14203 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14204 | "maxLength" : 40, | |
7aacca6f | 14205 | "optional" : 1, |
013dc89f DM |
14206 | "type" : "string", |
14207 | "typetext" : "<string>" | |
7aacca6f DM |
14208 | }, |
14209 | "node" : { | |
44660702 | 14210 | "description" : "The cluster node name.", |
7aacca6f | 14211 | "format" : "pve-node", |
013dc89f DM |
14212 | "type" : "string", |
14213 | "typetext" : "<string>" | |
44660702 DM |
14214 | }, |
14215 | "pos" : { | |
14216 | "description" : "Update rule at position <pos>.", | |
14217 | "minimum" : 0, | |
14218 | "optional" : 1, | |
4bd7df8b | 14219 | "type" : "integer", |
013dc89f | 14220 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
14221 | }, |
14222 | "vmid" : { | |
14223 | "description" : "The (unique) ID of the VM.", | |
14224 | "format" : "pve-vmid", | |
14225 | "minimum" : 1, | |
4bd7df8b | 14226 | "type" : "integer", |
013dc89f | 14227 | "typetext" : "<integer> (1 - N)" |
56122987 | 14228 | } |
44660702 | 14229 | } |
56122987 | 14230 | }, |
56122987 DM |
14231 | "permissions" : { |
14232 | "check" : [ | |
14233 | "perm", | |
14234 | "/vms/{vmid}", | |
14235 | [ | |
44660702 | 14236 | "VM.Config.Network" |
56122987 DM |
14237 | ] |
14238 | ] | |
14239 | }, | |
44660702 | 14240 | "protected" : 1, |
7aacca6f | 14241 | "proxyto" : null, |
44660702 DM |
14242 | "returns" : { |
14243 | "type" : "null" | |
14244 | } | |
7aacca6f | 14245 | }, |
44660702 DM |
14246 | "GET" : { |
14247 | "description" : "Get single rule data.", | |
14248 | "method" : "GET", | |
14249 | "name" : "get_rule", | |
56122987 | 14250 | "parameters" : { |
44660702 | 14251 | "additionalProperties" : 0, |
56122987 | 14252 | "properties" : { |
7aacca6f | 14253 | "node" : { |
7aacca6f | 14254 | "description" : "The cluster node name.", |
44660702 | 14255 | "format" : "pve-node", |
013dc89f DM |
14256 | "type" : "string", |
14257 | "typetext" : "<string>" | |
56122987 | 14258 | }, |
7aacca6f | 14259 | "pos" : { |
7aacca6f | 14260 | "description" : "Update rule at position <pos>.", |
44660702 | 14261 | "minimum" : 0, |
7aacca6f | 14262 | "optional" : 1, |
4bd7df8b | 14263 | "type" : "integer", |
013dc89f | 14264 | "typetext" : "<integer> (0 - N)" |
56122987 | 14265 | }, |
7aacca6f | 14266 | "vmid" : { |
44660702 | 14267 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
14268 | "format" : "pve-vmid", |
14269 | "minimum" : 1, | |
4bd7df8b | 14270 | "type" : "integer", |
013dc89f | 14271 | "typetext" : "<integer> (1 - N)" |
56122987 | 14272 | } |
44660702 | 14273 | } |
56122987 | 14274 | }, |
7aacca6f DM |
14275 | "permissions" : { |
14276 | "check" : [ | |
14277 | "perm", | |
14278 | "/vms/{vmid}", | |
14279 | [ | |
44660702 | 14280 | "VM.Audit" |
7aacca6f DM |
14281 | ] |
14282 | ] | |
14283 | }, | |
7aacca6f DM |
14284 | "proxyto" : null, |
14285 | "returns" : { | |
44660702 DM |
14286 | "properties" : { |
14287 | "pos" : { | |
14288 | "type" : "integer" | |
14289 | } | |
14290 | }, | |
14291 | "type" : "object" | |
7aacca6f | 14292 | } |
56122987 | 14293 | }, |
44660702 DM |
14294 | "PUT" : { |
14295 | "description" : "Modify rule data.", | |
14296 | "method" : "PUT", | |
14297 | "name" : "update_rule", | |
56122987 DM |
14298 | "parameters" : { |
14299 | "additionalProperties" : 0, | |
14300 | "properties" : { | |
44660702 DM |
14301 | "action" : { |
14302 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
14303 | "maxLength" : 20, | |
14304 | "minLength" : 2, | |
14305 | "optional" : 1, | |
14306 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
14307 | "type" : "string" | |
14308 | }, | |
14309 | "comment" : { | |
e94f0d56 | 14310 | "description" : "Descriptive comment.", |
44660702 | 14311 | "optional" : 1, |
013dc89f DM |
14312 | "type" : "string", |
14313 | "typetext" : "<string>" | |
44660702 DM |
14314 | }, |
14315 | "delete" : { | |
14316 | "description" : "A list of settings you want to delete.", | |
14317 | "format" : "pve-configid-list", | |
14318 | "optional" : 1, | |
013dc89f DM |
14319 | "type" : "string", |
14320 | "typetext" : "<string>" | |
44660702 DM |
14321 | }, |
14322 | "dest" : { | |
14323 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
14324 | "format" : "pve-fw-addr-spec", | |
14325 | "optional" : 1, | |
013dc89f DM |
14326 | "type" : "string", |
14327 | "typetext" : "<string>" | |
44660702 DM |
14328 | }, |
14329 | "digest" : { | |
14330 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14331 | "maxLength" : 40, | |
14332 | "optional" : 1, | |
013dc89f DM |
14333 | "type" : "string", |
14334 | "typetext" : "<string>" | |
44660702 DM |
14335 | }, |
14336 | "dport" : { | |
14337 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
14338 | "format" : "pve-fw-dport-spec", | |
14339 | "optional" : 1, | |
013dc89f DM |
14340 | "type" : "string", |
14341 | "typetext" : "<string>" | |
44660702 DM |
14342 | }, |
14343 | "enable" : { | |
e94f0d56 | 14344 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
14345 | "minimum" : 0, |
14346 | "optional" : 1, | |
4bd7df8b | 14347 | "type" : "integer", |
013dc89f | 14348 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
14349 | }, |
14350 | "iface" : { | |
14351 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
14352 | "format" : "pve-iface", | |
14353 | "maxLength" : 20, | |
14354 | "minLength" : 2, | |
14355 | "optional" : 1, | |
013dc89f DM |
14356 | "type" : "string", |
14357 | "typetext" : "<string>" | |
44660702 DM |
14358 | }, |
14359 | "macro" : { | |
e94f0d56 | 14360 | "description" : "Use predefined standard macro.", |
44660702 DM |
14361 | "maxLength" : 128, |
14362 | "optional" : 1, | |
013dc89f DM |
14363 | "type" : "string", |
14364 | "typetext" : "<string>" | |
44660702 DM |
14365 | }, |
14366 | "moveto" : { | |
14367 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
14368 | "minimum" : 0, | |
14369 | "optional" : 1, | |
4bd7df8b | 14370 | "type" : "integer", |
013dc89f | 14371 | "typetext" : "<integer> (0 - N)" |
44660702 | 14372 | }, |
7aacca6f DM |
14373 | "node" : { |
14374 | "description" : "The cluster node name.", | |
44660702 | 14375 | "format" : "pve-node", |
013dc89f DM |
14376 | "type" : "string", |
14377 | "typetext" : "<string>" | |
56122987 DM |
14378 | }, |
14379 | "pos" : { | |
44660702 | 14380 | "description" : "Update rule at position <pos>.", |
56122987 | 14381 | "minimum" : 0, |
7aacca6f | 14382 | "optional" : 1, |
4bd7df8b | 14383 | "type" : "integer", |
013dc89f | 14384 | "typetext" : "<integer> (0 - N)" |
56122987 | 14385 | }, |
44660702 DM |
14386 | "proto" : { |
14387 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
14388 | "format" : "pve-fw-protocol-spec", | |
14389 | "optional" : 1, | |
013dc89f DM |
14390 | "type" : "string", |
14391 | "typetext" : "<string>" | |
7aacca6f | 14392 | }, |
44660702 DM |
14393 | "source" : { |
14394 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
14395 | "format" : "pve-fw-addr-spec", | |
14396 | "optional" : 1, | |
013dc89f DM |
14397 | "type" : "string", |
14398 | "typetext" : "<string>" | |
44660702 DM |
14399 | }, |
14400 | "sport" : { | |
14401 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
14402 | "format" : "pve-fw-sport-spec", | |
14403 | "optional" : 1, | |
013dc89f DM |
14404 | "type" : "string", |
14405 | "typetext" : "<string>" | |
44660702 DM |
14406 | }, |
14407 | "type" : { | |
e94f0d56 | 14408 | "description" : "Rule type.", |
44660702 DM |
14409 | "enum" : [ |
14410 | "in", | |
14411 | "out", | |
14412 | "group" | |
14413 | ], | |
7aacca6f | 14414 | "optional" : 1, |
44660702 DM |
14415 | "type" : "string" |
14416 | }, | |
14417 | "vmid" : { | |
14418 | "description" : "The (unique) ID of the VM.", | |
14419 | "format" : "pve-vmid", | |
14420 | "minimum" : 1, | |
4bd7df8b | 14421 | "type" : "integer", |
013dc89f | 14422 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
14423 | } |
14424 | } | |
14425 | }, | |
56122987 DM |
14426 | "permissions" : { |
14427 | "check" : [ | |
14428 | "perm", | |
14429 | "/vms/{vmid}", | |
14430 | [ | |
7aacca6f | 14431 | "VM.Config.Network" |
56122987 DM |
14432 | ] |
14433 | ] | |
14434 | }, | |
44660702 | 14435 | "protected" : 1, |
56122987 | 14436 | "proxyto" : null, |
56122987 | 14437 | "returns" : { |
7aacca6f DM |
14438 | "type" : "null" |
14439 | } | |
56122987 | 14440 | } |
44660702 DM |
14441 | }, |
14442 | "leaf" : 1, | |
14443 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}", | |
14444 | "text" : "{pos}" | |
56122987 DM |
14445 | } |
14446 | ], | |
14447 | "info" : { | |
7aacca6f | 14448 | "GET" : { |
44660702 DM |
14449 | "description" : "List rules.", |
14450 | "method" : "GET", | |
14451 | "name" : "get_rules", | |
7aacca6f | 14452 | "parameters" : { |
44660702 | 14453 | "additionalProperties" : 0, |
7aacca6f DM |
14454 | "properties" : { |
14455 | "node" : { | |
7aacca6f | 14456 | "description" : "The cluster node name.", |
44660702 | 14457 | "format" : "pve-node", |
013dc89f DM |
14458 | "type" : "string", |
14459 | "typetext" : "<string>" | |
7aacca6f DM |
14460 | }, |
14461 | "vmid" : { | |
14462 | "description" : "The (unique) ID of the VM.", | |
44660702 | 14463 | "format" : "pve-vmid", |
7aacca6f | 14464 | "minimum" : 1, |
4bd7df8b | 14465 | "type" : "integer", |
013dc89f | 14466 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 14467 | } |
44660702 | 14468 | } |
56122987 | 14469 | }, |
56122987 DM |
14470 | "permissions" : { |
14471 | "check" : [ | |
14472 | "perm", | |
14473 | "/vms/{vmid}", | |
14474 | [ | |
7aacca6f | 14475 | "VM.Audit" |
56122987 DM |
14476 | ] |
14477 | ] | |
14478 | }, | |
14479 | "proxyto" : null, | |
7aacca6f | 14480 | "returns" : { |
7aacca6f DM |
14481 | "items" : { |
14482 | "properties" : { | |
14483 | "pos" : { | |
14484 | "type" : "integer" | |
14485 | } | |
14486 | }, | |
14487 | "type" : "object" | |
14488 | }, | |
14489 | "links" : [ | |
14490 | { | |
44660702 DM |
14491 | "href" : "{pos}", |
14492 | "rel" : "child" | |
7aacca6f | 14493 | } |
44660702 DM |
14494 | ], |
14495 | "type" : "array" | |
14496 | } | |
7aacca6f DM |
14497 | }, |
14498 | "POST" : { | |
44660702 DM |
14499 | "description" : "Create new rule.", |
14500 | "method" : "POST", | |
7aacca6f | 14501 | "name" : "create_rule", |
56122987 | 14502 | "parameters" : { |
44660702 | 14503 | "additionalProperties" : 0, |
56122987 | 14504 | "properties" : { |
7aacca6f | 14505 | "action" : { |
44660702 | 14506 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", |
7aacca6f | 14507 | "maxLength" : 20, |
44660702 | 14508 | "minLength" : 2, |
7aacca6f DM |
14509 | "optional" : 0, |
14510 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
56122987 DM |
14511 | "type" : "string" |
14512 | }, | |
44660702 | 14513 | "comment" : { |
e94f0d56 | 14514 | "description" : "Descriptive comment.", |
7aacca6f | 14515 | "optional" : 1, |
013dc89f DM |
14516 | "type" : "string", |
14517 | "typetext" : "<string>" | |
56122987 | 14518 | }, |
44660702 DM |
14519 | "dest" : { |
14520 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
14521 | "format" : "pve-fw-addr-spec", | |
56122987 | 14522 | "optional" : 1, |
013dc89f DM |
14523 | "type" : "string", |
14524 | "typetext" : "<string>" | |
56122987 | 14525 | }, |
44660702 DM |
14526 | "digest" : { |
14527 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14528 | "maxLength" : 40, | |
56122987 | 14529 | "optional" : 1, |
013dc89f DM |
14530 | "type" : "string", |
14531 | "typetext" : "<string>" | |
56122987 | 14532 | }, |
44660702 DM |
14533 | "dport" : { |
14534 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
14535 | "format" : "pve-fw-dport-spec", | |
56122987 | 14536 | "optional" : 1, |
013dc89f DM |
14537 | "type" : "string", |
14538 | "typetext" : "<string>" | |
56122987 | 14539 | }, |
44660702 | 14540 | "enable" : { |
e94f0d56 | 14541 | "description" : "Flag to enable/disable a rule.", |
44660702 | 14542 | "minimum" : 0, |
56122987 | 14543 | "optional" : 1, |
4bd7df8b | 14544 | "type" : "integer", |
013dc89f | 14545 | "typetext" : "<integer> (0 - N)" |
56122987 | 14546 | }, |
44660702 DM |
14547 | "iface" : { |
14548 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", | |
14549 | "format" : "pve-iface", | |
14550 | "maxLength" : 20, | |
14551 | "minLength" : 2, | |
7aacca6f | 14552 | "optional" : 1, |
013dc89f DM |
14553 | "type" : "string", |
14554 | "typetext" : "<string>" | |
56122987 | 14555 | }, |
44660702 | 14556 | "macro" : { |
e94f0d56 | 14557 | "description" : "Use predefined standard macro.", |
44660702 | 14558 | "maxLength" : 128, |
56122987 | 14559 | "optional" : 1, |
013dc89f DM |
14560 | "type" : "string", |
14561 | "typetext" : "<string>" | |
56122987 DM |
14562 | }, |
14563 | "node" : { | |
7aacca6f | 14564 | "description" : "The cluster node name.", |
44660702 | 14565 | "format" : "pve-node", |
013dc89f DM |
14566 | "type" : "string", |
14567 | "typetext" : "<string>" | |
7aacca6f | 14568 | }, |
44660702 DM |
14569 | "pos" : { |
14570 | "description" : "Update rule at position <pos>.", | |
14571 | "minimum" : 0, | |
14572 | "optional" : 1, | |
4bd7df8b | 14573 | "type" : "integer", |
013dc89f | 14574 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
14575 | }, |
14576 | "proto" : { | |
14577 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
14578 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 14579 | "optional" : 1, |
013dc89f DM |
14580 | "type" : "string", |
14581 | "typetext" : "<string>" | |
7aacca6f | 14582 | }, |
44660702 DM |
14583 | "source" : { |
14584 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
14585 | "format" : "pve-fw-addr-spec", | |
14586 | "optional" : 1, | |
013dc89f DM |
14587 | "type" : "string", |
14588 | "typetext" : "<string>" | |
56122987 | 14589 | }, |
44660702 DM |
14590 | "sport" : { |
14591 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
14592 | "format" : "pve-fw-sport-spec", | |
14593 | "optional" : 1, | |
013dc89f DM |
14594 | "type" : "string", |
14595 | "typetext" : "<string>" | |
7aacca6f | 14596 | }, |
44660702 | 14597 | "type" : { |
e94f0d56 | 14598 | "description" : "Rule type.", |
44660702 DM |
14599 | "enum" : [ |
14600 | "in", | |
14601 | "out", | |
14602 | "group" | |
14603 | ], | |
14604 | "optional" : 0, | |
14605 | "type" : "string" | |
14606 | }, | |
14607 | "vmid" : { | |
14608 | "description" : "The (unique) ID of the VM.", | |
14609 | "format" : "pve-vmid", | |
14610 | "minimum" : 1, | |
4bd7df8b | 14611 | "type" : "integer", |
013dc89f | 14612 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
14613 | } |
14614 | } | |
14615 | }, | |
14616 | "permissions" : { | |
14617 | "check" : [ | |
14618 | "perm", | |
14619 | "/vms/{vmid}", | |
14620 | [ | |
14621 | "VM.Config.Network" | |
14622 | ] | |
14623 | ] | |
14624 | }, | |
14625 | "protected" : 1, | |
14626 | "proxyto" : null, | |
14627 | "returns" : { | |
14628 | "type" : "null" | |
14629 | } | |
14630 | } | |
14631 | }, | |
14632 | "leaf" : 0, | |
14633 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/rules", | |
14634 | "text" : "rules" | |
14635 | }, | |
14636 | { | |
14637 | "children" : [ | |
14638 | { | |
14639 | "info" : { | |
14640 | "DELETE" : { | |
14641 | "description" : "Remove IP or Network alias.", | |
14642 | "method" : "DELETE", | |
14643 | "name" : "remove_alias", | |
56122987 | 14644 | "parameters" : { |
44660702 | 14645 | "additionalProperties" : 0, |
56122987 | 14646 | "properties" : { |
44660702 DM |
14647 | "digest" : { |
14648 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14649 | "maxLength" : 40, | |
56122987 | 14650 | "optional" : 1, |
013dc89f DM |
14651 | "type" : "string", |
14652 | "typetext" : "<string>" | |
56122987 | 14653 | }, |
7aacca6f | 14654 | "name" : { |
44660702 | 14655 | "description" : "Alias name.", |
7aacca6f | 14656 | "maxLength" : 64, |
7aacca6f DM |
14657 | "minLength" : 2, |
14658 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 14659 | "type" : "string" |
7aacca6f DM |
14660 | }, |
14661 | "node" : { | |
44660702 | 14662 | "description" : "The cluster node name.", |
56122987 | 14663 | "format" : "pve-node", |
013dc89f DM |
14664 | "type" : "string", |
14665 | "typetext" : "<string>" | |
7aacca6f | 14666 | }, |
56122987 | 14667 | "vmid" : { |
44660702 | 14668 | "description" : "The (unique) ID of the VM.", |
56122987 | 14669 | "format" : "pve-vmid", |
44660702 | 14670 | "minimum" : 1, |
4bd7df8b | 14671 | "type" : "integer", |
013dc89f | 14672 | "typetext" : "<integer> (1 - N)" |
56122987 | 14673 | } |
44660702 | 14674 | } |
56122987 | 14675 | }, |
56122987 DM |
14676 | "permissions" : { |
14677 | "check" : [ | |
14678 | "perm", | |
14679 | "/vms/{vmid}", | |
14680 | [ | |
7aacca6f | 14681 | "VM.Config.Network" |
56122987 DM |
14682 | ] |
14683 | ] | |
14684 | }, | |
44660702 | 14685 | "protected" : 1, |
56122987 | 14686 | "returns" : { |
7aacca6f | 14687 | "type" : "null" |
44660702 | 14688 | } |
56122987 | 14689 | }, |
44660702 DM |
14690 | "GET" : { |
14691 | "description" : "Read alias.", | |
14692 | "method" : "GET", | |
14693 | "name" : "read_alias", | |
14694 | "parameters" : { | |
14695 | "additionalProperties" : 0, | |
14696 | "properties" : { | |
14697 | "name" : { | |
14698 | "description" : "Alias name.", | |
14699 | "maxLength" : 64, | |
14700 | "minLength" : 2, | |
14701 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
14702 | "type" : "string" | |
14703 | }, | |
14704 | "node" : { | |
14705 | "description" : "The cluster node name.", | |
14706 | "format" : "pve-node", | |
013dc89f DM |
14707 | "type" : "string", |
14708 | "typetext" : "<string>" | |
44660702 DM |
14709 | }, |
14710 | "vmid" : { | |
14711 | "description" : "The (unique) ID of the VM.", | |
14712 | "format" : "pve-vmid", | |
14713 | "minimum" : 1, | |
4bd7df8b | 14714 | "type" : "integer", |
013dc89f | 14715 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
14716 | } |
14717 | } | |
56122987 | 14718 | }, |
7aacca6f DM |
14719 | "permissions" : { |
14720 | "check" : [ | |
14721 | "perm", | |
14722 | "/vms/{vmid}", | |
14723 | [ | |
44660702 | 14724 | "VM.Audit" |
7aacca6f DM |
14725 | ] |
14726 | ] | |
14727 | }, | |
44660702 DM |
14728 | "returns" : { |
14729 | "type" : "object" | |
14730 | } | |
14731 | }, | |
14732 | "PUT" : { | |
14733 | "description" : "Update IP or Network alias.", | |
14734 | "method" : "PUT", | |
14735 | "name" : "update_alias", | |
56122987 DM |
14736 | "parameters" : { |
14737 | "additionalProperties" : 0, | |
14738 | "properties" : { | |
44660702 DM |
14739 | "cidr" : { |
14740 | "description" : "Network/IP specification in CIDR format.", | |
14741 | "format" : "IPorCIDR", | |
013dc89f DM |
14742 | "type" : "string", |
14743 | "typetext" : "<string>" | |
44660702 DM |
14744 | }, |
14745 | "comment" : { | |
14746 | "optional" : 1, | |
013dc89f DM |
14747 | "type" : "string", |
14748 | "typetext" : "<string>" | |
44660702 DM |
14749 | }, |
14750 | "digest" : { | |
14751 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
14752 | "maxLength" : 40, | |
14753 | "optional" : 1, | |
013dc89f DM |
14754 | "type" : "string", |
14755 | "typetext" : "<string>" | |
44660702 | 14756 | }, |
56122987 | 14757 | "name" : { |
7aacca6f | 14758 | "description" : "Alias name.", |
44660702 DM |
14759 | "maxLength" : 64, |
14760 | "minLength" : 2, | |
7aacca6f | 14761 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
44660702 | 14762 | "type" : "string" |
56122987 DM |
14763 | }, |
14764 | "node" : { | |
14765 | "description" : "The cluster node name.", | |
44660702 | 14766 | "format" : "pve-node", |
013dc89f DM |
14767 | "type" : "string", |
14768 | "typetext" : "<string>" | |
44660702 DM |
14769 | }, |
14770 | "rename" : { | |
14771 | "description" : "Rename an existing alias.", | |
14772 | "maxLength" : 64, | |
14773 | "minLength" : 2, | |
14774 | "optional" : 1, | |
14775 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
14776 | "type" : "string" | |
56122987 | 14777 | }, |
7aacca6f | 14778 | "vmid" : { |
7aacca6f | 14779 | "description" : "The (unique) ID of the VM.", |
44660702 | 14780 | "format" : "pve-vmid", |
7aacca6f | 14781 | "minimum" : 1, |
4bd7df8b | 14782 | "type" : "integer", |
013dc89f | 14783 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
14784 | } |
14785 | } | |
14786 | }, | |
44660702 DM |
14787 | "permissions" : { |
14788 | "check" : [ | |
14789 | "perm", | |
14790 | "/vms/{vmid}", | |
14791 | [ | |
14792 | "VM.Config.Network" | |
14793 | ] | |
14794 | ] | |
7aacca6f | 14795 | }, |
44660702 DM |
14796 | "protected" : 1, |
14797 | "returns" : { | |
14798 | "type" : "null" | |
7aacca6f DM |
14799 | } |
14800 | } | |
14801 | }, | |
44660702 DM |
14802 | "leaf" : 1, |
14803 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}", | |
14804 | "text" : "{name}" | |
14805 | } | |
14806 | ], | |
14807 | "info" : { | |
14808 | "GET" : { | |
14809 | "description" : "List aliases", | |
14810 | "method" : "GET", | |
14811 | "name" : "get_aliases", | |
56122987 DM |
14812 | "parameters" : { |
14813 | "additionalProperties" : 0, | |
14814 | "properties" : { | |
14815 | "node" : { | |
44660702 | 14816 | "description" : "The cluster node name.", |
56122987 | 14817 | "format" : "pve-node", |
013dc89f DM |
14818 | "type" : "string", |
14819 | "typetext" : "<string>" | |
56122987 DM |
14820 | }, |
14821 | "vmid" : { | |
7aacca6f | 14822 | "description" : "The (unique) ID of the VM.", |
44660702 | 14823 | "format" : "pve-vmid", |
7aacca6f | 14824 | "minimum" : 1, |
4bd7df8b | 14825 | "type" : "integer", |
013dc89f | 14826 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
14827 | } |
14828 | } | |
14829 | }, | |
44660702 DM |
14830 | "permissions" : { |
14831 | "check" : [ | |
14832 | "perm", | |
14833 | "/vms/{vmid}", | |
14834 | [ | |
14835 | "VM.Audit" | |
14836 | ] | |
14837 | ] | |
14838 | }, | |
56122987 DM |
14839 | "returns" : { |
14840 | "items" : { | |
56122987 | 14841 | "properties" : { |
44660702 DM |
14842 | "cidr" : { |
14843 | "type" : "string" | |
7aacca6f | 14844 | }, |
44660702 DM |
14845 | "comment" : { |
14846 | "optional" : 1, | |
56122987 DM |
14847 | "type" : "string" |
14848 | }, | |
56122987 | 14849 | "digest" : { |
56122987 | 14850 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 DM |
14851 | "maxLength" : 40, |
14852 | "optional" : 0, | |
14853 | "type" : "string" | |
14854 | }, | |
14855 | "name" : { | |
14856 | "type" : "string" | |
56122987 | 14857 | } |
44660702 DM |
14858 | }, |
14859 | "type" : "object" | |
14860 | }, | |
14861 | "links" : [ | |
14862 | { | |
14863 | "href" : "{name}", | |
14864 | "rel" : "child" | |
56122987 | 14865 | } |
44660702 DM |
14866 | ], |
14867 | "type" : "array" | |
7aacca6f DM |
14868 | } |
14869 | }, | |
14870 | "POST" : { | |
44660702 | 14871 | "description" : "Create IP or Network Alias.", |
7aacca6f | 14872 | "method" : "POST", |
44660702 | 14873 | "name" : "create_alias", |
7aacca6f DM |
14874 | "parameters" : { |
14875 | "additionalProperties" : 0, | |
14876 | "properties" : { | |
44660702 DM |
14877 | "cidr" : { |
14878 | "description" : "Network/IP specification in CIDR format.", | |
14879 | "format" : "IPorCIDR", | |
013dc89f DM |
14880 | "type" : "string", |
14881 | "typetext" : "<string>" | |
7aacca6f DM |
14882 | }, |
14883 | "comment" : { | |
14884 | "optional" : 1, | |
013dc89f DM |
14885 | "type" : "string", |
14886 | "typetext" : "<string>" | |
7aacca6f | 14887 | }, |
44660702 DM |
14888 | "name" : { |
14889 | "description" : "Alias name.", | |
14890 | "maxLength" : 64, | |
7aacca6f DM |
14891 | "minLength" : 2, |
14892 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
44660702 | 14893 | "type" : "string" |
7aacca6f DM |
14894 | }, |
14895 | "node" : { | |
44660702 | 14896 | "description" : "The cluster node name.", |
7aacca6f | 14897 | "format" : "pve-node", |
013dc89f DM |
14898 | "type" : "string", |
14899 | "typetext" : "<string>" | |
7aacca6f | 14900 | }, |
44660702 DM |
14901 | "vmid" : { |
14902 | "description" : "The (unique) ID of the VM.", | |
14903 | "format" : "pve-vmid", | |
14904 | "minimum" : 1, | |
4bd7df8b | 14905 | "type" : "integer", |
013dc89f | 14906 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
14907 | } |
14908 | } | |
14909 | }, | |
44660702 DM |
14910 | "permissions" : { |
14911 | "check" : [ | |
14912 | "perm", | |
14913 | "/vms/{vmid}", | |
14914 | [ | |
14915 | "VM.Config.Network" | |
14916 | ] | |
14917 | ] | |
14918 | }, | |
14919 | "protected" : 1, | |
14920 | "returns" : { | |
14921 | "type" : "null" | |
14922 | } | |
56122987 DM |
14923 | } |
14924 | }, | |
44660702 DM |
14925 | "leaf" : 0, |
14926 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/aliases", | |
14927 | "text" : "aliases" | |
14928 | }, | |
14929 | { | |
56122987 DM |
14930 | "children" : [ |
14931 | { | |
56122987 DM |
14932 | "children" : [ |
14933 | { | |
14934 | "info" : { | |
14935 | "DELETE" : { | |
44660702 | 14936 | "description" : "Remove IP or Network from IPSet.", |
7aacca6f | 14937 | "method" : "DELETE", |
44660702 | 14938 | "name" : "remove_ip", |
56122987 DM |
14939 | "parameters" : { |
14940 | "additionalProperties" : 0, | |
14941 | "properties" : { | |
44660702 DM |
14942 | "cidr" : { |
14943 | "description" : "Network/IP specification in CIDR format.", | |
14944 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
14945 | "type" : "string", |
14946 | "typetext" : "<string>" | |
56122987 DM |
14947 | }, |
14948 | "digest" : { | |
44660702 | 14949 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
56122987 | 14950 | "maxLength" : 40, |
7aacca6f | 14951 | "optional" : 1, |
013dc89f DM |
14952 | "type" : "string", |
14953 | "typetext" : "<string>" | |
56122987 | 14954 | }, |
56122987 | 14955 | "name" : { |
44660702 | 14956 | "description" : "IP set name.", |
56122987 | 14957 | "maxLength" : 64, |
7aacca6f | 14958 | "minLength" : 2, |
56122987 | 14959 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
56122987 | 14960 | "type" : "string" |
7aacca6f DM |
14961 | }, |
14962 | "node" : { | |
7aacca6f | 14963 | "description" : "The cluster node name.", |
44660702 | 14964 | "format" : "pve-node", |
013dc89f DM |
14965 | "type" : "string", |
14966 | "typetext" : "<string>" | |
44660702 DM |
14967 | }, |
14968 | "vmid" : { | |
14969 | "description" : "The (unique) ID of the VM.", | |
14970 | "format" : "pve-vmid", | |
14971 | "minimum" : 1, | |
4bd7df8b | 14972 | "type" : "integer", |
013dc89f | 14973 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
14974 | } |
14975 | } | |
14976 | }, | |
44660702 DM |
14977 | "permissions" : { |
14978 | "check" : [ | |
14979 | "perm", | |
14980 | "/vms/{vmid}", | |
14981 | [ | |
14982 | "VM.Config.Network" | |
14983 | ] | |
14984 | ] | |
14985 | }, | |
7aacca6f | 14986 | "protected" : 1, |
56122987 DM |
14987 | "returns" : { |
14988 | "type" : "null" | |
44660702 DM |
14989 | } |
14990 | }, | |
14991 | "GET" : { | |
14992 | "description" : "Read IP or Network settings from IPSet.", | |
14993 | "method" : "GET", | |
14994 | "name" : "read_ip", | |
56122987 DM |
14995 | "parameters" : { |
14996 | "additionalProperties" : 0, | |
14997 | "properties" : { | |
7aacca6f | 14998 | "cidr" : { |
7aacca6f | 14999 | "description" : "Network/IP specification in CIDR format.", |
44660702 | 15000 | "format" : "IPorCIDRorAlias", |
013dc89f DM |
15001 | "type" : "string", |
15002 | "typetext" : "<string>" | |
56122987 | 15003 | }, |
7aacca6f | 15004 | "name" : { |
44660702 | 15005 | "description" : "IP set name.", |
7aacca6f DM |
15006 | "maxLength" : 64, |
15007 | "minLength" : 2, | |
7aacca6f DM |
15008 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
15009 | "type" : "string" | |
56122987 | 15010 | }, |
44660702 DM |
15011 | "node" : { |
15012 | "description" : "The cluster node name.", | |
15013 | "format" : "pve-node", | |
013dc89f DM |
15014 | "type" : "string", |
15015 | "typetext" : "<string>" | |
44660702 DM |
15016 | }, |
15017 | "vmid" : { | |
15018 | "description" : "The (unique) ID of the VM.", | |
15019 | "format" : "pve-vmid", | |
15020 | "minimum" : 1, | |
4bd7df8b | 15021 | "type" : "integer", |
013dc89f | 15022 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
15023 | } |
15024 | } | |
15025 | }, | |
56122987 DM |
15026 | "permissions" : { |
15027 | "check" : [ | |
15028 | "perm", | |
15029 | "/vms/{vmid}", | |
15030 | [ | |
44660702 | 15031 | "VM.Audit" |
56122987 DM |
15032 | ] |
15033 | ] | |
7aacca6f | 15034 | }, |
44660702 | 15035 | "protected" : 1, |
7aacca6f DM |
15036 | "returns" : { |
15037 | "type" : "object" | |
44660702 DM |
15038 | } |
15039 | }, | |
15040 | "PUT" : { | |
15041 | "description" : "Update IP or Network settings", | |
15042 | "method" : "PUT", | |
15043 | "name" : "update_ip", | |
7aacca6f | 15044 | "parameters" : { |
44660702 | 15045 | "additionalProperties" : 0, |
7aacca6f DM |
15046 | "properties" : { |
15047 | "cidr" : { | |
44660702 | 15048 | "description" : "Network/IP specification in CIDR format.", |
7aacca6f | 15049 | "format" : "IPorCIDRorAlias", |
013dc89f DM |
15050 | "type" : "string", |
15051 | "typetext" : "<string>" | |
7aacca6f | 15052 | }, |
44660702 DM |
15053 | "comment" : { |
15054 | "optional" : 1, | |
013dc89f DM |
15055 | "type" : "string", |
15056 | "typetext" : "<string>" | |
44660702 DM |
15057 | }, |
15058 | "digest" : { | |
15059 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15060 | "maxLength" : 40, | |
15061 | "optional" : 1, | |
013dc89f DM |
15062 | "type" : "string", |
15063 | "typetext" : "<string>" | |
44660702 DM |
15064 | }, |
15065 | "name" : { | |
15066 | "description" : "IP set name.", | |
15067 | "maxLength" : 64, | |
15068 | "minLength" : 2, | |
15069 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
15070 | "type" : "string" | |
7aacca6f DM |
15071 | }, |
15072 | "node" : { | |
7aacca6f | 15073 | "description" : "The cluster node name.", |
44660702 | 15074 | "format" : "pve-node", |
013dc89f DM |
15075 | "type" : "string", |
15076 | "typetext" : "<string>" | |
7aacca6f | 15077 | }, |
44660702 DM |
15078 | "nomatch" : { |
15079 | "optional" : 1, | |
013dc89f DM |
15080 | "type" : "boolean", |
15081 | "typetext" : "<boolean>" | |
44660702 DM |
15082 | }, |
15083 | "vmid" : { | |
15084 | "description" : "The (unique) ID of the VM.", | |
15085 | "format" : "pve-vmid", | |
15086 | "minimum" : 1, | |
4bd7df8b | 15087 | "type" : "integer", |
013dc89f | 15088 | "typetext" : "<integer> (1 - N)" |
7aacca6f | 15089 | } |
44660702 DM |
15090 | } |
15091 | }, | |
15092 | "permissions" : { | |
15093 | "check" : [ | |
15094 | "perm", | |
15095 | "/vms/{vmid}", | |
15096 | [ | |
15097 | "VM.Config.Network" | |
15098 | ] | |
15099 | ] | |
7aacca6f DM |
15100 | }, |
15101 | "protected" : 1, | |
44660702 DM |
15102 | "returns" : { |
15103 | "type" : "null" | |
15104 | } | |
56122987 DM |
15105 | } |
15106 | }, | |
56122987 | 15107 | "leaf" : 1, |
44660702 DM |
15108 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}", |
15109 | "text" : "{cidr}" | |
56122987 DM |
15110 | } |
15111 | ], | |
15112 | "info" : { | |
44660702 DM |
15113 | "DELETE" : { |
15114 | "description" : "Delete IPSet", | |
15115 | "method" : "DELETE", | |
15116 | "name" : "delete_ipset", | |
15117 | "parameters" : { | |
15118 | "additionalProperties" : 0, | |
15119 | "properties" : { | |
15120 | "name" : { | |
15121 | "description" : "IP set name.", | |
15122 | "maxLength" : 64, | |
15123 | "minLength" : 2, | |
15124 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
15125 | "type" : "string" | |
15126 | }, | |
15127 | "node" : { | |
15128 | "description" : "The cluster node name.", | |
15129 | "format" : "pve-node", | |
013dc89f DM |
15130 | "type" : "string", |
15131 | "typetext" : "<string>" | |
44660702 DM |
15132 | }, |
15133 | "vmid" : { | |
15134 | "description" : "The (unique) ID of the VM.", | |
15135 | "format" : "pve-vmid", | |
15136 | "minimum" : 1, | |
4bd7df8b | 15137 | "type" : "integer", |
013dc89f | 15138 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
15139 | } |
15140 | } | |
15141 | }, | |
15142 | "permissions" : { | |
15143 | "check" : [ | |
15144 | "perm", | |
15145 | "/vms/{vmid}", | |
15146 | [ | |
15147 | "VM.Config.Network" | |
15148 | ] | |
15149 | ] | |
15150 | }, | |
15151 | "protected" : 1, | |
15152 | "returns" : { | |
15153 | "type" : "null" | |
15154 | } | |
15155 | }, | |
56122987 | 15156 | "GET" : { |
7aacca6f | 15157 | "description" : "List IPSet content", |
44660702 DM |
15158 | "method" : "GET", |
15159 | "name" : "get_ipset", | |
7aacca6f DM |
15160 | "parameters" : { |
15161 | "additionalProperties" : 0, | |
15162 | "properties" : { | |
15163 | "name" : { | |
15164 | "description" : "IP set name.", | |
44660702 | 15165 | "maxLength" : 64, |
7aacca6f | 15166 | "minLength" : 2, |
44660702 DM |
15167 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
15168 | "type" : "string" | |
7aacca6f DM |
15169 | }, |
15170 | "node" : { | |
7aacca6f | 15171 | "description" : "The cluster node name.", |
44660702 | 15172 | "format" : "pve-node", |
013dc89f DM |
15173 | "type" : "string", |
15174 | "typetext" : "<string>" | |
7aacca6f DM |
15175 | }, |
15176 | "vmid" : { | |
15177 | "description" : "The (unique) ID of the VM.", | |
44660702 | 15178 | "format" : "pve-vmid", |
7aacca6f | 15179 | "minimum" : 1, |
4bd7df8b | 15180 | "type" : "integer", |
013dc89f | 15181 | "typetext" : "<integer> (1 - N)" |
56122987 | 15182 | } |
7aacca6f DM |
15183 | } |
15184 | }, | |
7aacca6f DM |
15185 | "permissions" : { |
15186 | "check" : [ | |
15187 | "perm", | |
15188 | "/vms/{vmid}", | |
15189 | [ | |
15190 | "VM.Audit" | |
15191 | ] | |
15192 | ] | |
15193 | }, | |
15194 | "returns" : { | |
56122987 DM |
15195 | "items" : { |
15196 | "properties" : { | |
15197 | "cidr" : { | |
15198 | "type" : "string" | |
15199 | }, | |
44660702 DM |
15200 | "comment" : { |
15201 | "optional" : 1, | |
15202 | "type" : "string" | |
15203 | }, | |
56122987 | 15204 | "digest" : { |
56122987 | 15205 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
44660702 | 15206 | "maxLength" : 40, |
7aacca6f | 15207 | "optional" : 0, |
56122987 | 15208 | "type" : "string" |
7aacca6f DM |
15209 | }, |
15210 | "nomatch" : { | |
44660702 DM |
15211 | "optional" : 1, |
15212 | "type" : "boolean" | |
56122987 | 15213 | } |
44660702 DM |
15214 | }, |
15215 | "type" : "object" | |
56122987 | 15216 | }, |
7aacca6f DM |
15217 | "links" : [ |
15218 | { | |
44660702 DM |
15219 | "href" : "{cidr}", |
15220 | "rel" : "child" | |
56122987 | 15221 | } |
44660702 DM |
15222 | ], |
15223 | "type" : "array" | |
15224 | } | |
56122987 | 15225 | }, |
7aacca6f DM |
15226 | "POST" : { |
15227 | "description" : "Add IP or Network to IPSet.", | |
44660702 | 15228 | "method" : "POST", |
7aacca6f | 15229 | "name" : "create_ip", |
56122987 | 15230 | "parameters" : { |
44660702 | 15231 | "additionalProperties" : 0, |
56122987 | 15232 | "properties" : { |
44660702 DM |
15233 | "cidr" : { |
15234 | "description" : "Network/IP specification in CIDR format.", | |
15235 | "format" : "IPorCIDRorAlias", | |
013dc89f DM |
15236 | "type" : "string", |
15237 | "typetext" : "<string>" | |
44660702 DM |
15238 | }, |
15239 | "comment" : { | |
15240 | "optional" : 1, | |
013dc89f DM |
15241 | "type" : "string", |
15242 | "typetext" : "<string>" | |
56122987 DM |
15243 | }, |
15244 | "name" : { | |
56122987 | 15245 | "description" : "IP set name.", |
44660702 | 15246 | "maxLength" : 64, |
7aacca6f | 15247 | "minLength" : 2, |
44660702 | 15248 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
7aacca6f | 15249 | "type" : "string" |
56122987 | 15250 | }, |
7aacca6f | 15251 | "node" : { |
7aacca6f | 15252 | "description" : "The cluster node name.", |
44660702 | 15253 | "format" : "pve-node", |
013dc89f DM |
15254 | "type" : "string", |
15255 | "typetext" : "<string>" | |
56122987 | 15256 | }, |
44660702 DM |
15257 | "nomatch" : { |
15258 | "optional" : 1, | |
013dc89f DM |
15259 | "type" : "boolean", |
15260 | "typetext" : "<boolean>" | |
7aacca6f DM |
15261 | }, |
15262 | "vmid" : { | |
44660702 | 15263 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
15264 | "format" : "pve-vmid", |
15265 | "minimum" : 1, | |
4bd7df8b | 15266 | "type" : "integer", |
013dc89f | 15267 | "typetext" : "<integer> (1 - N)" |
56122987 | 15268 | } |
44660702 DM |
15269 | } |
15270 | }, | |
15271 | "permissions" : { | |
15272 | "check" : [ | |
15273 | "perm", | |
15274 | "/vms/{vmid}", | |
15275 | [ | |
15276 | "VM.Config.Network" | |
15277 | ] | |
15278 | ] | |
15279 | }, | |
15280 | "protected" : 1, | |
15281 | "returns" : { | |
15282 | "type" : "null" | |
15283 | } | |
15284 | } | |
15285 | }, | |
15286 | "leaf" : 0, | |
15287 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}", | |
15288 | "text" : "{name}" | |
15289 | } | |
15290 | ], | |
15291 | "info" : { | |
15292 | "GET" : { | |
15293 | "description" : "List IPSets", | |
15294 | "method" : "GET", | |
15295 | "name" : "ipset_index", | |
15296 | "parameters" : { | |
15297 | "additionalProperties" : 0, | |
15298 | "properties" : { | |
15299 | "node" : { | |
15300 | "description" : "The cluster node name.", | |
15301 | "format" : "pve-node", | |
013dc89f DM |
15302 | "type" : "string", |
15303 | "typetext" : "<string>" | |
44660702 DM |
15304 | }, |
15305 | "vmid" : { | |
15306 | "description" : "The (unique) ID of the VM.", | |
15307 | "format" : "pve-vmid", | |
15308 | "minimum" : 1, | |
4bd7df8b | 15309 | "type" : "integer", |
013dc89f | 15310 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
15311 | } |
15312 | } | |
15313 | }, | |
15314 | "permissions" : { | |
15315 | "check" : [ | |
15316 | "perm", | |
15317 | "/vms/{vmid}", | |
15318 | [ | |
15319 | "VM.Audit" | |
15320 | ] | |
15321 | ] | |
15322 | }, | |
15323 | "returns" : { | |
15324 | "items" : { | |
15325 | "properties" : { | |
15326 | "comment" : { | |
15327 | "optional" : 1, | |
15328 | "type" : "string" | |
15329 | }, | |
15330 | "digest" : { | |
15331 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15332 | "maxLength" : 40, | |
15333 | "optional" : 0, | |
15334 | "type" : "string" | |
7aacca6f | 15335 | }, |
44660702 DM |
15336 | "name" : { |
15337 | "description" : "IP set name.", | |
15338 | "maxLength" : 64, | |
15339 | "minLength" : 2, | |
15340 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
15341 | "type" : "string" | |
15342 | } | |
15343 | }, | |
15344 | "type" : "object" | |
15345 | }, | |
15346 | "links" : [ | |
15347 | { | |
15348 | "href" : "{name}", | |
15349 | "rel" : "child" | |
15350 | } | |
15351 | ], | |
15352 | "type" : "array" | |
15353 | } | |
15354 | }, | |
15355 | "POST" : { | |
15356 | "description" : "Create new IPSet", | |
15357 | "method" : "POST", | |
15358 | "name" : "create_ipset", | |
15359 | "parameters" : { | |
15360 | "additionalProperties" : 0, | |
15361 | "properties" : { | |
15362 | "comment" : { | |
15363 | "optional" : 1, | |
013dc89f DM |
15364 | "type" : "string", |
15365 | "typetext" : "<string>" | |
44660702 DM |
15366 | }, |
15367 | "digest" : { | |
15368 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15369 | "maxLength" : 40, | |
15370 | "optional" : 1, | |
013dc89f DM |
15371 | "type" : "string", |
15372 | "typetext" : "<string>" | |
56122987 | 15373 | }, |
44660702 DM |
15374 | "name" : { |
15375 | "description" : "IP set name.", | |
15376 | "maxLength" : 64, | |
15377 | "minLength" : 2, | |
15378 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
15379 | "type" : "string" | |
15380 | }, | |
15381 | "node" : { | |
15382 | "description" : "The cluster node name.", | |
15383 | "format" : "pve-node", | |
013dc89f DM |
15384 | "type" : "string", |
15385 | "typetext" : "<string>" | |
7aacca6f | 15386 | }, |
44660702 DM |
15387 | "rename" : { |
15388 | "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.", | |
15389 | "maxLength" : 64, | |
15390 | "minLength" : 2, | |
15391 | "optional" : 1, | |
15392 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", | |
15393 | "type" : "string" | |
15394 | }, | |
15395 | "vmid" : { | |
15396 | "description" : "The (unique) ID of the VM.", | |
15397 | "format" : "pve-vmid", | |
15398 | "minimum" : 1, | |
4bd7df8b | 15399 | "type" : "integer", |
013dc89f | 15400 | "typetext" : "<integer> (1 - N)" |
44660702 | 15401 | } |
56122987 | 15402 | } |
44660702 DM |
15403 | }, |
15404 | "permissions" : { | |
15405 | "check" : [ | |
15406 | "perm", | |
15407 | "/vms/{vmid}", | |
15408 | [ | |
15409 | "VM.Config.Network" | |
15410 | ] | |
15411 | ] | |
15412 | }, | |
15413 | "protected" : 1, | |
15414 | "returns" : { | |
15415 | "type" : "null" | |
56122987 DM |
15416 | } |
15417 | } | |
44660702 DM |
15418 | }, |
15419 | "leaf" : 0, | |
15420 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/ipset", | |
15421 | "text" : "ipset" | |
56122987 DM |
15422 | }, |
15423 | { | |
56122987 | 15424 | "info" : { |
7aacca6f | 15425 | "GET" : { |
44660702 | 15426 | "description" : "Get VM firewall options.", |
7aacca6f | 15427 | "method" : "GET", |
44660702 DM |
15428 | "name" : "get_options", |
15429 | "parameters" : { | |
15430 | "additionalProperties" : 0, | |
15431 | "properties" : { | |
15432 | "node" : { | |
15433 | "description" : "The cluster node name.", | |
15434 | "format" : "pve-node", | |
013dc89f DM |
15435 | "type" : "string", |
15436 | "typetext" : "<string>" | |
44660702 DM |
15437 | }, |
15438 | "vmid" : { | |
15439 | "description" : "The (unique) ID of the VM.", | |
15440 | "format" : "pve-vmid", | |
15441 | "minimum" : 1, | |
4bd7df8b | 15442 | "type" : "integer", |
013dc89f | 15443 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
15444 | } |
15445 | } | |
15446 | }, | |
15447 | "permissions" : { | |
15448 | "check" : [ | |
15449 | "perm", | |
15450 | "/vms/{vmid}", | |
15451 | [ | |
15452 | "VM.Audit" | |
15453 | ] | |
15454 | ] | |
15455 | }, | |
15456 | "proxyto" : "node", | |
56122987 | 15457 | "returns" : { |
56122987 | 15458 | "properties" : { |
44660702 DM |
15459 | "dhcp" : { |
15460 | "description" : "Enable DHCP.", | |
15461 | "optional" : 1, | |
15462 | "type" : "boolean" | |
15463 | }, | |
15464 | "enable" : { | |
15465 | "description" : "Enable/disable firewall rules.", | |
15466 | "optional" : 1, | |
15467 | "type" : "boolean" | |
15468 | }, | |
15469 | "ipfilter" : { | |
15470 | "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.", | |
7aacca6f | 15471 | "optional" : 1, |
44660702 DM |
15472 | "type" : "boolean" |
15473 | }, | |
15474 | "log_level_in" : { | |
7aacca6f DM |
15475 | "description" : "Log level for incoming traffic.", |
15476 | "enum" : [ | |
15477 | "emerg", | |
15478 | "alert", | |
15479 | "crit", | |
15480 | "err", | |
15481 | "warning", | |
15482 | "notice", | |
15483 | "info", | |
15484 | "debug", | |
15485 | "nolog" | |
44660702 DM |
15486 | ], |
15487 | "optional" : 1, | |
15488 | "type" : "string" | |
56122987 | 15489 | }, |
44660702 DM |
15490 | "log_level_out" : { |
15491 | "description" : "Log level for outgoing traffic.", | |
56122987 | 15492 | "enum" : [ |
44660702 DM |
15493 | "emerg", |
15494 | "alert", | |
15495 | "crit", | |
15496 | "err", | |
15497 | "warning", | |
15498 | "notice", | |
15499 | "info", | |
15500 | "debug", | |
15501 | "nolog" | |
7aacca6f | 15502 | ], |
7aacca6f DM |
15503 | "optional" : 1, |
15504 | "type" : "string" | |
56122987 | 15505 | }, |
44660702 DM |
15506 | "macfilter" : { |
15507 | "description" : "Enable/disable MAC address filter.", | |
15508 | "optional" : 1, | |
15509 | "type" : "boolean" | |
7aacca6f | 15510 | }, |
44660702 DM |
15511 | "ndp" : { |
15512 | "description" : "Enable NDP.", | |
56122987 | 15513 | "optional" : 1, |
44660702 | 15514 | "type" : "boolean" |
56122987 DM |
15515 | }, |
15516 | "policy_in" : { | |
7aacca6f | 15517 | "description" : "Input policy.", |
56122987 DM |
15518 | "enum" : [ |
15519 | "ACCEPT", | |
15520 | "REJECT", | |
15521 | "DROP" | |
15522 | ], | |
7aacca6f | 15523 | "optional" : 1, |
44660702 | 15524 | "type" : "string" |
56122987 | 15525 | }, |
44660702 DM |
15526 | "policy_out" : { |
15527 | "description" : "Output policy.", | |
56122987 | 15528 | "enum" : [ |
44660702 DM |
15529 | "ACCEPT", |
15530 | "REJECT", | |
15531 | "DROP" | |
56122987 | 15532 | ], |
7aacca6f | 15533 | "optional" : 1, |
56122987 DM |
15534 | "type" : "string" |
15535 | }, | |
44660702 DM |
15536 | "radv" : { |
15537 | "description" : "Allow sending Router Advertisement.", | |
56122987 | 15538 | "optional" : 1, |
7aacca6f DM |
15539 | "type" : "boolean" |
15540 | } | |
7aacca6f | 15541 | }, |
44660702 DM |
15542 | "type" : "object" |
15543 | } | |
7aacca6f DM |
15544 | }, |
15545 | "PUT" : { | |
44660702 DM |
15546 | "description" : "Set Firewall options.", |
15547 | "method" : "PUT", | |
7aacca6f DM |
15548 | "name" : "set_options", |
15549 | "parameters" : { | |
44660702 | 15550 | "additionalProperties" : 0, |
7aacca6f | 15551 | "properties" : { |
44660702 DM |
15552 | "delete" : { |
15553 | "description" : "A list of settings you want to delete.", | |
15554 | "format" : "pve-configid-list", | |
15555 | "optional" : 1, | |
013dc89f DM |
15556 | "type" : "string", |
15557 | "typetext" : "<string>" | |
44660702 DM |
15558 | }, |
15559 | "dhcp" : { | |
15560 | "description" : "Enable DHCP.", | |
15561 | "optional" : 1, | |
013dc89f DM |
15562 | "type" : "boolean", |
15563 | "typetext" : "<boolean>" | |
44660702 DM |
15564 | }, |
15565 | "digest" : { | |
15566 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
15567 | "maxLength" : 40, | |
15568 | "optional" : 1, | |
013dc89f DM |
15569 | "type" : "string", |
15570 | "typetext" : "<string>" | |
44660702 | 15571 | }, |
7aacca6f DM |
15572 | "enable" : { |
15573 | "description" : "Enable/disable firewall rules.", | |
56122987 | 15574 | "optional" : 1, |
013dc89f DM |
15575 | "type" : "boolean", |
15576 | "typetext" : "<boolean>" | |
56122987 | 15577 | }, |
44660702 DM |
15578 | "ipfilter" : { |
15579 | "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.", | |
15580 | "optional" : 1, | |
013dc89f DM |
15581 | "type" : "boolean", |
15582 | "typetext" : "<boolean>" | |
44660702 DM |
15583 | }, |
15584 | "log_level_in" : { | |
15585 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
15586 | "enum" : [ |
15587 | "emerg", | |
15588 | "alert", | |
15589 | "crit", | |
15590 | "err", | |
15591 | "warning", | |
15592 | "notice", | |
15593 | "info", | |
15594 | "debug", | |
15595 | "nolog" | |
15596 | ], | |
56122987 | 15597 | "optional" : 1, |
44660702 | 15598 | "type" : "string" |
56122987 | 15599 | }, |
44660702 DM |
15600 | "log_level_out" : { |
15601 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
15602 | "enum" : [ |
15603 | "emerg", | |
15604 | "alert", | |
15605 | "crit", | |
15606 | "err", | |
15607 | "warning", | |
15608 | "notice", | |
15609 | "info", | |
15610 | "debug", | |
15611 | "nolog" | |
15612 | ], | |
44660702 DM |
15613 | "optional" : 1, |
15614 | "type" : "string" | |
56122987 | 15615 | }, |
44660702 DM |
15616 | "macfilter" : { |
15617 | "description" : "Enable/disable MAC address filter.", | |
15618 | "optional" : 1, | |
013dc89f DM |
15619 | "type" : "boolean", |
15620 | "typetext" : "<boolean>" | |
44660702 DM |
15621 | }, |
15622 | "ndp" : { | |
15623 | "description" : "Enable NDP.", | |
56122987 | 15624 | "optional" : 1, |
013dc89f DM |
15625 | "type" : "boolean", |
15626 | "typetext" : "<boolean>" | |
56122987 | 15627 | }, |
7aacca6f DM |
15628 | "node" : { |
15629 | "description" : "The cluster node name.", | |
44660702 | 15630 | "format" : "pve-node", |
013dc89f DM |
15631 | "type" : "string", |
15632 | "typetext" : "<string>" | |
7aacca6f | 15633 | }, |
44660702 DM |
15634 | "policy_in" : { |
15635 | "description" : "Input policy.", | |
15636 | "enum" : [ | |
15637 | "ACCEPT", | |
15638 | "REJECT", | |
15639 | "DROP" | |
15640 | ], | |
7aacca6f | 15641 | "optional" : 1, |
44660702 | 15642 | "type" : "string" |
7aacca6f | 15643 | }, |
44660702 DM |
15644 | "policy_out" : { |
15645 | "description" : "Output policy.", | |
56122987 | 15646 | "enum" : [ |
7aacca6f DM |
15647 | "ACCEPT", |
15648 | "REJECT", | |
15649 | "DROP" | |
56122987 DM |
15650 | ], |
15651 | "optional" : 1, | |
56122987 | 15652 | "type" : "string" |
7aacca6f | 15653 | }, |
44660702 DM |
15654 | "radv" : { |
15655 | "description" : "Allow sending Router Advertisement.", | |
7aacca6f | 15656 | "optional" : 1, |
013dc89f DM |
15657 | "type" : "boolean", |
15658 | "typetext" : "<boolean>" | |
44660702 DM |
15659 | }, |
15660 | "vmid" : { | |
15661 | "description" : "The (unique) ID of the VM.", | |
15662 | "format" : "pve-vmid", | |
15663 | "minimum" : 1, | |
4bd7df8b | 15664 | "type" : "integer", |
013dc89f | 15665 | "typetext" : "<integer> (1 - N)" |
56122987 | 15666 | } |
44660702 | 15667 | } |
56122987 | 15668 | }, |
7aacca6f DM |
15669 | "permissions" : { |
15670 | "check" : [ | |
15671 | "perm", | |
15672 | "/vms/{vmid}", | |
15673 | [ | |
15674 | "VM.Config.Network" | |
15675 | ] | |
15676 | ] | |
15677 | }, | |
44660702 DM |
15678 | "protected" : 1, |
15679 | "proxyto" : "node", | |
7aacca6f DM |
15680 | "returns" : { |
15681 | "type" : "null" | |
56122987 DM |
15682 | } |
15683 | } | |
15684 | }, | |
44660702 | 15685 | "leaf" : 1, |
7aacca6f | 15686 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/options", |
44660702 | 15687 | "text" : "options" |
56122987 DM |
15688 | }, |
15689 | { | |
56122987 DM |
15690 | "info" : { |
15691 | "GET" : { | |
44660702 | 15692 | "description" : "Read firewall log", |
56122987 | 15693 | "method" : "GET", |
7aacca6f | 15694 | "name" : "log", |
56122987 DM |
15695 | "parameters" : { |
15696 | "additionalProperties" : 0, | |
15697 | "properties" : { | |
44660702 DM |
15698 | "limit" : { |
15699 | "minimum" : 0, | |
15700 | "optional" : 1, | |
4bd7df8b | 15701 | "type" : "integer", |
013dc89f | 15702 | "typetext" : "<integer> (0 - N)" |
44660702 | 15703 | }, |
56122987 DM |
15704 | "node" : { |
15705 | "description" : "The cluster node name.", | |
44660702 | 15706 | "format" : "pve-node", |
013dc89f DM |
15707 | "type" : "string", |
15708 | "typetext" : "<string>" | |
56122987 | 15709 | }, |
44660702 DM |
15710 | "start" : { |
15711 | "minimum" : 0, | |
7aacca6f | 15712 | "optional" : 1, |
4bd7df8b | 15713 | "type" : "integer", |
013dc89f | 15714 | "typetext" : "<integer> (0 - N)" |
56122987 DM |
15715 | }, |
15716 | "vmid" : { | |
44660702 | 15717 | "description" : "The (unique) ID of the VM.", |
7aacca6f | 15718 | "format" : "pve-vmid", |
56122987 | 15719 | "minimum" : 1, |
4bd7df8b | 15720 | "type" : "integer", |
013dc89f | 15721 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
15722 | } |
15723 | } | |
15724 | }, | |
44660702 DM |
15725 | "permissions" : { |
15726 | "check" : [ | |
15727 | "perm", | |
15728 | "/vms/{vmid}", | |
15729 | [ | |
15730 | "VM.Console" | |
15731 | ] | |
15732 | ] | |
15733 | }, | |
56122987 | 15734 | "protected" : 1, |
44660702 | 15735 | "proxyto" : "node", |
7aacca6f DM |
15736 | "returns" : { |
15737 | "items" : { | |
15738 | "properties" : { | |
7aacca6f DM |
15739 | "n" : { |
15740 | "description" : "Line number", | |
15741 | "type" : "integer" | |
44660702 DM |
15742 | }, |
15743 | "t" : { | |
15744 | "description" : "Line text", | |
15745 | "type" : "string" | |
7aacca6f DM |
15746 | } |
15747 | }, | |
15748 | "type" : "object" | |
15749 | }, | |
15750 | "type" : "array" | |
44660702 | 15751 | } |
56122987 DM |
15752 | } |
15753 | }, | |
7aacca6f | 15754 | "leaf" : 1, |
44660702 DM |
15755 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/log", |
15756 | "text" : "log" | |
56122987 DM |
15757 | }, |
15758 | { | |
56122987 DM |
15759 | "info" : { |
15760 | "GET" : { | |
7aacca6f | 15761 | "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.", |
44660702 DM |
15762 | "method" : "GET", |
15763 | "name" : "refs", | |
56122987 | 15764 | "parameters" : { |
7aacca6f | 15765 | "additionalProperties" : 0, |
56122987 | 15766 | "properties" : { |
44660702 DM |
15767 | "node" : { |
15768 | "description" : "The cluster node name.", | |
15769 | "format" : "pve-node", | |
013dc89f DM |
15770 | "type" : "string", |
15771 | "typetext" : "<string>" | |
7aacca6f | 15772 | }, |
56122987 | 15773 | "type" : { |
44660702 | 15774 | "description" : "Only list references of specified type.", |
56122987 DM |
15775 | "enum" : [ |
15776 | "alias", | |
15777 | "ipset" | |
15778 | ], | |
44660702 DM |
15779 | "optional" : 1, |
15780 | "type" : "string" | |
56122987 | 15781 | }, |
44660702 DM |
15782 | "vmid" : { |
15783 | "description" : "The (unique) ID of the VM.", | |
15784 | "format" : "pve-vmid", | |
15785 | "minimum" : 1, | |
4bd7df8b | 15786 | "type" : "integer", |
013dc89f | 15787 | "typetext" : "<integer> (1 - N)" |
56122987 | 15788 | } |
7aacca6f | 15789 | } |
56122987 | 15790 | }, |
44660702 DM |
15791 | "permissions" : { |
15792 | "check" : [ | |
15793 | "perm", | |
15794 | "/vms/{vmid}", | |
15795 | [ | |
15796 | "VM.Audit" | |
15797 | ] | |
15798 | ] | |
15799 | }, | |
56122987 | 15800 | "returns" : { |
56122987 | 15801 | "items" : { |
56122987 | 15802 | "properties" : { |
44660702 DM |
15803 | "comment" : { |
15804 | "optional" : 1, | |
15805 | "type" : "string" | |
15806 | }, | |
15807 | "name" : { | |
15808 | "type" : "string" | |
15809 | }, | |
56122987 | 15810 | "type" : { |
56122987 DM |
15811 | "enum" : [ |
15812 | "alias", | |
15813 | "ipset" | |
44660702 | 15814 | ], |
7aacca6f | 15815 | "type" : "string" |
56122987 | 15816 | } |
44660702 DM |
15817 | }, |
15818 | "type" : "object" | |
15819 | }, | |
15820 | "type" : "array" | |
56122987 DM |
15821 | } |
15822 | } | |
15823 | }, | |
44660702 | 15824 | "leaf" : 1, |
7aacca6f | 15825 | "path" : "/nodes/{node}/lxc/{vmid}/firewall/refs", |
44660702 | 15826 | "text" : "refs" |
56122987 DM |
15827 | } |
15828 | ], | |
56122987 DM |
15829 | "info" : { |
15830 | "GET" : { | |
7aacca6f | 15831 | "description" : "Directory index.", |
44660702 DM |
15832 | "method" : "GET", |
15833 | "name" : "index", | |
56122987 | 15834 | "parameters" : { |
44660702 | 15835 | "additionalProperties" : 0, |
56122987 | 15836 | "properties" : { |
56122987 | 15837 | "node" : { |
44660702 | 15838 | "description" : "The cluster node name.", |
56122987 | 15839 | "format" : "pve-node", |
013dc89f DM |
15840 | "type" : "string", |
15841 | "typetext" : "<string>" | |
44660702 DM |
15842 | }, |
15843 | "vmid" : { | |
15844 | "description" : "The (unique) ID of the VM.", | |
15845 | "format" : "pve-vmid", | |
15846 | "minimum" : 1, | |
4bd7df8b | 15847 | "type" : "integer", |
013dc89f | 15848 | "typetext" : "<integer> (1 - N)" |
56122987 | 15849 | } |
44660702 DM |
15850 | } |
15851 | }, | |
15852 | "permissions" : { | |
15853 | "user" : "all" | |
56122987 DM |
15854 | }, |
15855 | "returns" : { | |
7aacca6f | 15856 | "items" : { |
44660702 DM |
15857 | "properties" : {}, |
15858 | "type" : "object" | |
7aacca6f | 15859 | }, |
56122987 DM |
15860 | "links" : [ |
15861 | { | |
44660702 DM |
15862 | "href" : "{name}", |
15863 | "rel" : "child" | |
56122987 | 15864 | } |
44660702 DM |
15865 | ], |
15866 | "type" : "array" | |
56122987 DM |
15867 | } |
15868 | } | |
15869 | }, | |
44660702 | 15870 | "leaf" : 0, |
7aacca6f | 15871 | "path" : "/nodes/{node}/lxc/{vmid}/firewall", |
44660702 | 15872 | "text" : "firewall" |
56122987 DM |
15873 | }, |
15874 | { | |
56122987 DM |
15875 | "info" : { |
15876 | "GET" : { | |
56122987 | 15877 | "description" : "Read VM RRD statistics (returns PNG)", |
44660702 | 15878 | "method" : "GET", |
7aacca6f | 15879 | "name" : "rrd", |
56122987 | 15880 | "parameters" : { |
7aacca6f | 15881 | "additionalProperties" : 0, |
56122987 | 15882 | "properties" : { |
44660702 DM |
15883 | "cf" : { |
15884 | "description" : "The RRD consolidation function", | |
15885 | "enum" : [ | |
15886 | "AVERAGE", | |
15887 | "MAX" | |
15888 | ], | |
15889 | "optional" : 1, | |
15890 | "type" : "string" | |
15891 | }, | |
15892 | "ds" : { | |
15893 | "description" : "The list of datasources you want to display.", | |
15894 | "format" : "pve-configid-list", | |
013dc89f DM |
15895 | "type" : "string", |
15896 | "typetext" : "<string>" | |
44660702 | 15897 | }, |
7aacca6f DM |
15898 | "node" : { |
15899 | "description" : "The cluster node name.", | |
44660702 | 15900 | "format" : "pve-node", |
013dc89f DM |
15901 | "type" : "string", |
15902 | "typetext" : "<string>" | |
56122987 DM |
15903 | }, |
15904 | "timeframe" : { | |
15905 | "description" : "Specify the time frame you are interested in.", | |
15906 | "enum" : [ | |
15907 | "hour", | |
15908 | "day", | |
15909 | "week", | |
15910 | "month", | |
15911 | "year" | |
7aacca6f | 15912 | ], |
44660702 | 15913 | "type" : "string" |
7aacca6f DM |
15914 | }, |
15915 | "vmid" : { | |
44660702 | 15916 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
15917 | "format" : "pve-vmid", |
15918 | "minimum" : 1, | |
4bd7df8b | 15919 | "type" : "integer", |
013dc89f | 15920 | "typetext" : "<integer> (1 - N)" |
56122987 | 15921 | } |
7aacca6f DM |
15922 | } |
15923 | }, | |
15924 | "permissions" : { | |
15925 | "check" : [ | |
15926 | "perm", | |
15927 | "/vms/{vmid}", | |
15928 | [ | |
15929 | "VM.Audit" | |
15930 | ] | |
15931 | ] | |
56122987 | 15932 | }, |
44660702 | 15933 | "protected" : 1, |
7aacca6f DM |
15934 | "returns" : { |
15935 | "properties" : { | |
15936 | "filename" : { | |
15937 | "type" : "string" | |
15938 | } | |
15939 | }, | |
15940 | "type" : "object" | |
15941 | } | |
56122987 | 15942 | } |
7aacca6f | 15943 | }, |
44660702 | 15944 | "leaf" : 1, |
7aacca6f | 15945 | "path" : "/nodes/{node}/lxc/{vmid}/rrd", |
44660702 | 15946 | "text" : "rrd" |
56122987 DM |
15947 | }, |
15948 | { | |
56122987 DM |
15949 | "info" : { |
15950 | "GET" : { | |
44660702 DM |
15951 | "description" : "Read VM RRD statistics", |
15952 | "method" : "GET", | |
15953 | "name" : "rrddata", | |
56122987 | 15954 | "parameters" : { |
7aacca6f | 15955 | "additionalProperties" : 0, |
56122987 | 15956 | "properties" : { |
44660702 DM |
15957 | "cf" : { |
15958 | "description" : "The RRD consolidation function", | |
15959 | "enum" : [ | |
15960 | "AVERAGE", | |
15961 | "MAX" | |
15962 | ], | |
15963 | "optional" : 1, | |
15964 | "type" : "string" | |
15965 | }, | |
7aacca6f | 15966 | "node" : { |
44660702 | 15967 | "description" : "The cluster node name.", |
7aacca6f | 15968 | "format" : "pve-node", |
013dc89f DM |
15969 | "type" : "string", |
15970 | "typetext" : "<string>" | |
7aacca6f | 15971 | }, |
56122987 DM |
15972 | "timeframe" : { |
15973 | "description" : "Specify the time frame you are interested in.", | |
15974 | "enum" : [ | |
15975 | "hour", | |
15976 | "day", | |
15977 | "week", | |
15978 | "month", | |
15979 | "year" | |
44660702 DM |
15980 | ], |
15981 | "type" : "string" | |
7aacca6f DM |
15982 | }, |
15983 | "vmid" : { | |
15984 | "description" : "The (unique) ID of the VM.", | |
44660702 | 15985 | "format" : "pve-vmid", |
7aacca6f | 15986 | "minimum" : 1, |
4bd7df8b | 15987 | "type" : "integer", |
013dc89f | 15988 | "typetext" : "<integer> (1 - N)" |
56122987 | 15989 | } |
56122987 DM |
15990 | } |
15991 | }, | |
56122987 DM |
15992 | "permissions" : { |
15993 | "check" : [ | |
15994 | "perm", | |
15995 | "/vms/{vmid}", | |
15996 | [ | |
15997 | "VM.Audit" | |
15998 | ] | |
15999 | ] | |
16000 | }, | |
7aacca6f DM |
16001 | "protected" : 1, |
16002 | "returns" : { | |
7aacca6f DM |
16003 | "items" : { |
16004 | "properties" : {}, | |
16005 | "type" : "object" | |
44660702 DM |
16006 | }, |
16007 | "type" : "array" | |
16008 | } | |
56122987 DM |
16009 | } |
16010 | }, | |
44660702 | 16011 | "leaf" : 1, |
7aacca6f | 16012 | "path" : "/nodes/{node}/lxc/{vmid}/rrddata", |
44660702 | 16013 | "text" : "rrddata" |
56122987 DM |
16014 | }, |
16015 | { | |
16016 | "info" : { | |
16017 | "POST" : { | |
16018 | "description" : "Creates a TCP VNC proxy connections.", | |
44660702 DM |
16019 | "method" : "POST", |
16020 | "name" : "vncproxy", | |
7aacca6f | 16021 | "parameters" : { |
44660702 | 16022 | "additionalProperties" : 0, |
7aacca6f | 16023 | "properties" : { |
44660702 DM |
16024 | "node" : { |
16025 | "description" : "The cluster node name.", | |
16026 | "format" : "pve-node", | |
013dc89f DM |
16027 | "type" : "string", |
16028 | "typetext" : "<string>" | |
44660702 | 16029 | }, |
7aacca6f | 16030 | "vmid" : { |
44660702 | 16031 | "description" : "The (unique) ID of the VM.", |
7aacca6f DM |
16032 | "format" : "pve-vmid", |
16033 | "minimum" : 1, | |
4bd7df8b | 16034 | "type" : "integer", |
013dc89f | 16035 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
16036 | }, |
16037 | "websocket" : { | |
44660702 | 16038 | "description" : "use websocket instead of standard VNC.", |
7aacca6f | 16039 | "optional" : 1, |
013dc89f DM |
16040 | "type" : "boolean", |
16041 | "typetext" : "<boolean>" | |
7aacca6f | 16042 | } |
44660702 | 16043 | } |
7aacca6f | 16044 | }, |
56122987 DM |
16045 | "permissions" : { |
16046 | "check" : [ | |
16047 | "perm", | |
16048 | "/vms/{vmid}", | |
16049 | [ | |
16050 | "VM.Console" | |
16051 | ] | |
16052 | ] | |
16053 | }, | |
44660702 | 16054 | "protected" : 1, |
56122987 | 16055 | "returns" : { |
7aacca6f | 16056 | "additionalProperties" : 0, |
56122987 | 16057 | "properties" : { |
7aacca6f | 16058 | "cert" : { |
56122987 DM |
16059 | "type" : "string" |
16060 | }, | |
44660702 DM |
16061 | "port" : { |
16062 | "type" : "integer" | |
56122987 | 16063 | }, |
44660702 | 16064 | "ticket" : { |
56122987 DM |
16065 | "type" : "string" |
16066 | }, | |
44660702 | 16067 | "upid" : { |
56122987 DM |
16068 | "type" : "string" |
16069 | }, | |
44660702 DM |
16070 | "user" : { |
16071 | "type" : "string" | |
56122987 | 16072 | } |
7aacca6f | 16073 | } |
56122987 DM |
16074 | } |
16075 | } | |
16076 | }, | |
44660702 | 16077 | "leaf" : 1, |
56122987 | 16078 | "path" : "/nodes/{node}/lxc/{vmid}/vncproxy", |
44660702 | 16079 | "text" : "vncproxy" |
56122987 DM |
16080 | }, |
16081 | { | |
56122987 DM |
16082 | "info" : { |
16083 | "GET" : { | |
44660702 DM |
16084 | "description" : "Opens a weksocket for VNC traffic.", |
16085 | "method" : "GET", | |
16086 | "name" : "vncwebsocket", | |
56122987 | 16087 | "parameters" : { |
44660702 | 16088 | "additionalProperties" : 0, |
56122987 | 16089 | "properties" : { |
56122987 DM |
16090 | "node" : { |
16091 | "description" : "The cluster node name.", | |
44660702 | 16092 | "format" : "pve-node", |
013dc89f DM |
16093 | "type" : "string", |
16094 | "typetext" : "<string>" | |
7aacca6f | 16095 | }, |
44660702 DM |
16096 | "port" : { |
16097 | "description" : "Port number returned by previous vncproxy call.", | |
16098 | "maximum" : 5999, | |
16099 | "minimum" : 5900, | |
4bd7df8b | 16100 | "type" : "integer", |
013dc89f | 16101 | "typetext" : "<integer> (5900 - 5999)" |
44660702 | 16102 | }, |
7aacca6f DM |
16103 | "vmid" : { |
16104 | "description" : "The (unique) ID of the VM.", | |
7aacca6f | 16105 | "format" : "pve-vmid", |
44660702 | 16106 | "minimum" : 1, |
4bd7df8b | 16107 | "type" : "integer", |
013dc89f | 16108 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
16109 | }, |
16110 | "vncticket" : { | |
16111 | "description" : "Ticket from previous call to vncproxy.", | |
16112 | "maxLength" : 512, | |
013dc89f DM |
16113 | "type" : "string", |
16114 | "typetext" : "<string>" | |
56122987 | 16115 | } |
44660702 | 16116 | } |
7aacca6f | 16117 | }, |
7aacca6f DM |
16118 | "permissions" : { |
16119 | "check" : [ | |
16120 | "perm", | |
16121 | "/vms/{vmid}", | |
16122 | [ | |
16123 | "VM.Console" | |
16124 | ] | |
16125 | ], | |
16126 | "description" : "You also need to pass a valid ticket (vncticket)." | |
56122987 DM |
16127 | }, |
16128 | "returns" : { | |
56122987 DM |
16129 | "properties" : { |
16130 | "port" : { | |
16131 | "type" : "string" | |
16132 | } | |
44660702 DM |
16133 | }, |
16134 | "type" : "object" | |
16135 | } | |
56122987 DM |
16136 | } |
16137 | }, | |
44660702 | 16138 | "leaf" : 1, |
7aacca6f | 16139 | "path" : "/nodes/{node}/lxc/{vmid}/vncwebsocket", |
44660702 | 16140 | "text" : "vncwebsocket" |
56122987 DM |
16141 | }, |
16142 | { | |
56122987 DM |
16143 | "info" : { |
16144 | "POST" : { | |
44660702 DM |
16145 | "description" : "Returns a SPICE configuration to connect to the CT.", |
16146 | "method" : "POST", | |
16147 | "name" : "spiceproxy", | |
56122987 DM |
16148 | "parameters" : { |
16149 | "additionalProperties" : 0, | |
16150 | "properties" : { | |
44660702 DM |
16151 | "node" : { |
16152 | "description" : "The cluster node name.", | |
16153 | "format" : "pve-node", | |
013dc89f DM |
16154 | "type" : "string", |
16155 | "typetext" : "<string>" | |
56122987 DM |
16156 | }, |
16157 | "proxy" : { | |
7aacca6f | 16158 | "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", |
44660702 DM |
16159 | "format" : "address", |
16160 | "optional" : 1, | |
013dc89f DM |
16161 | "type" : "string", |
16162 | "typetext" : "<string>" | |
44660702 DM |
16163 | }, |
16164 | "vmid" : { | |
16165 | "description" : "The (unique) ID of the VM.", | |
16166 | "format" : "pve-vmid", | |
16167 | "minimum" : 1, | |
4bd7df8b | 16168 | "type" : "integer", |
013dc89f | 16169 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
16170 | } |
16171 | } | |
16172 | }, | |
56122987 DM |
16173 | "permissions" : { |
16174 | "check" : [ | |
16175 | "perm", | |
16176 | "/vms/{vmid}", | |
16177 | [ | |
16178 | "VM.Console" | |
16179 | ] | |
16180 | ] | |
16181 | }, | |
44660702 DM |
16182 | "protected" : 1, |
16183 | "proxyto" : "node", | |
56122987 | 16184 | "returns" : { |
7aacca6f | 16185 | "additionalProperties" : 1, |
44660702 | 16186 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", |
56122987 | 16187 | "properties" : { |
44660702 | 16188 | "host" : { |
56122987 DM |
16189 | "type" : "string" |
16190 | }, | |
44660702 | 16191 | "password" : { |
56122987 DM |
16192 | "type" : "string" |
16193 | }, | |
16194 | "proxy" : { | |
16195 | "type" : "string" | |
16196 | }, | |
56122987 DM |
16197 | "tls-port" : { |
16198 | "type" : "integer" | |
7aacca6f | 16199 | }, |
44660702 | 16200 | "type" : { |
7aacca6f | 16201 | "type" : "string" |
56122987 | 16202 | } |
7aacca6f DM |
16203 | } |
16204 | } | |
56122987 | 16205 | } |
44660702 DM |
16206 | }, |
16207 | "leaf" : 1, | |
16208 | "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy", | |
16209 | "text" : "spiceproxy" | |
56122987 DM |
16210 | }, |
16211 | { | |
56122987 DM |
16212 | "info" : { |
16213 | "POST" : { | |
44660702 | 16214 | "description" : "Migrate the container to another node. Creates a new migration task.", |
7aacca6f | 16215 | "method" : "POST", |
44660702 | 16216 | "name" : "migrate_vm", |
56122987 | 16217 | "parameters" : { |
44660702 | 16218 | "additionalProperties" : 0, |
56122987 | 16219 | "properties" : { |
44660702 | 16220 | "force" : { |
de0983cb | 16221 | "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.", |
44660702 | 16222 | "optional" : 1, |
013dc89f DM |
16223 | "type" : "boolean", |
16224 | "typetext" : "<boolean>" | |
44660702 DM |
16225 | }, |
16226 | "node" : { | |
16227 | "description" : "The cluster node name.", | |
7aacca6f | 16228 | "format" : "pve-node", |
013dc89f DM |
16229 | "type" : "string", |
16230 | "typetext" : "<string>" | |
7aacca6f | 16231 | }, |
56122987 | 16232 | "online" : { |
56122987 | 16233 | "description" : "Use online/live migration.", |
44660702 | 16234 | "optional" : 1, |
013dc89f DM |
16235 | "type" : "boolean", |
16236 | "typetext" : "<boolean>" | |
56122987 | 16237 | }, |
44660702 DM |
16238 | "target" : { |
16239 | "description" : "Target node.", | |
56122987 | 16240 | "format" : "pve-node", |
013dc89f DM |
16241 | "type" : "string", |
16242 | "typetext" : "<string>" | |
56122987 | 16243 | }, |
44660702 DM |
16244 | "vmid" : { |
16245 | "description" : "The (unique) ID of the VM.", | |
16246 | "format" : "pve-vmid", | |
16247 | "minimum" : 1, | |
4bd7df8b | 16248 | "type" : "integer", |
013dc89f | 16249 | "typetext" : "<integer> (1 - N)" |
56122987 | 16250 | } |
44660702 | 16251 | } |
7aacca6f | 16252 | }, |
56122987 DM |
16253 | "permissions" : { |
16254 | "check" : [ | |
16255 | "perm", | |
16256 | "/vms/{vmid}", | |
16257 | [ | |
16258 | "VM.Migrate" | |
16259 | ] | |
16260 | ] | |
16261 | }, | |
44660702 | 16262 | "protected" : 1, |
7aacca6f | 16263 | "proxyto" : "node", |
44660702 DM |
16264 | "returns" : { |
16265 | "description" : "the task ID.", | |
16266 | "type" : "string" | |
16267 | } | |
56122987 DM |
16268 | } |
16269 | }, | |
44660702 DM |
16270 | "leaf" : 1, |
16271 | "path" : "/nodes/{node}/lxc/{vmid}/migrate", | |
7aacca6f | 16272 | "text" : "migrate" |
56122987 DM |
16273 | }, |
16274 | { | |
56122987 DM |
16275 | "info" : { |
16276 | "GET" : { | |
44660702 DM |
16277 | "description" : "Check if feature for virtual machine is available.", |
16278 | "method" : "GET", | |
56122987 | 16279 | "name" : "vm_feature", |
56122987 | 16280 | "parameters" : { |
7aacca6f | 16281 | "additionalProperties" : 0, |
56122987 | 16282 | "properties" : { |
44660702 DM |
16283 | "feature" : { |
16284 | "description" : "Feature to check.", | |
16285 | "enum" : [ | |
16286 | "snapshot" | |
16287 | ], | |
16288 | "type" : "string" | |
16289 | }, | |
7aacca6f | 16290 | "node" : { |
44660702 | 16291 | "description" : "The cluster node name.", |
7aacca6f | 16292 | "format" : "pve-node", |
013dc89f DM |
16293 | "type" : "string", |
16294 | "typetext" : "<string>" | |
7aacca6f | 16295 | }, |
56122987 | 16296 | "snapname" : { |
7aacca6f DM |
16297 | "description" : "The name of the snapshot.", |
16298 | "format" : "pve-configid", | |
44660702 DM |
16299 | "maxLength" : 40, |
16300 | "optional" : 1, | |
013dc89f DM |
16301 | "type" : "string", |
16302 | "typetext" : "<string>" | |
56122987 DM |
16303 | }, |
16304 | "vmid" : { | |
7aacca6f | 16305 | "description" : "The (unique) ID of the VM.", |
44660702 | 16306 | "format" : "pve-vmid", |
7aacca6f | 16307 | "minimum" : 1, |
4bd7df8b | 16308 | "type" : "integer", |
013dc89f | 16309 | "typetext" : "<integer> (1 - N)" |
56122987 | 16310 | } |
7aacca6f | 16311 | } |
56122987 DM |
16312 | }, |
16313 | "permissions" : { | |
16314 | "check" : [ | |
16315 | "perm", | |
16316 | "/vms/{vmid}", | |
16317 | [ | |
16318 | "VM.Audit" | |
16319 | ] | |
16320 | ] | |
16321 | }, | |
44660702 | 16322 | "protected" : 1, |
7aacca6f | 16323 | "proxyto" : "node", |
7aacca6f DM |
16324 | "returns" : { |
16325 | "properties" : { | |
16326 | "hasFeature" : { | |
16327 | "type" : "boolean" | |
16328 | } | |
16329 | }, | |
16330 | "type" : "object" | |
16331 | } | |
56122987 DM |
16332 | } |
16333 | }, | |
7aacca6f | 16334 | "leaf" : 1, |
44660702 DM |
16335 | "path" : "/nodes/{node}/lxc/{vmid}/feature", |
16336 | "text" : "feature" | |
56122987 DM |
16337 | }, |
16338 | { | |
56122987 DM |
16339 | "info" : { |
16340 | "POST" : { | |
44660702 DM |
16341 | "description" : "Create a Template.", |
16342 | "method" : "POST", | |
56122987 | 16343 | "name" : "template", |
56122987 DM |
16344 | "parameters" : { |
16345 | "additionalProperties" : 0, | |
16346 | "properties" : { | |
44660702 DM |
16347 | "experimental" : { |
16348 | "default" : 0, | |
16349 | "description" : "The template feature is experimental, set this flag if you know what you are doing.", | |
013dc89f DM |
16350 | "type" : "boolean", |
16351 | "typetext" : "<boolean>" | |
7aacca6f DM |
16352 | }, |
16353 | "node" : { | |
7aacca6f | 16354 | "description" : "The cluster node name.", |
44660702 | 16355 | "format" : "pve-node", |
013dc89f DM |
16356 | "type" : "string", |
16357 | "typetext" : "<string>" | |
56122987 | 16358 | }, |
44660702 DM |
16359 | "vmid" : { |
16360 | "description" : "The (unique) ID of the VM.", | |
16361 | "format" : "pve-vmid", | |
16362 | "minimum" : 1, | |
4bd7df8b | 16363 | "type" : "integer", |
013dc89f | 16364 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
16365 | } |
16366 | } | |
16367 | }, | |
56122987 | 16368 | "permissions" : { |
56122987 DM |
16369 | "check" : [ |
16370 | "perm", | |
16371 | "/vms/{vmid}", | |
16372 | [ | |
16373 | "VM.Allocate" | |
16374 | ] | |
44660702 DM |
16375 | ], |
16376 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}" | |
7aacca6f | 16377 | }, |
44660702 | 16378 | "protected" : 1, |
7aacca6f DM |
16379 | "proxyto" : "node", |
16380 | "returns" : { | |
16381 | "type" : "null" | |
56122987 DM |
16382 | } |
16383 | } | |
16384 | }, | |
44660702 | 16385 | "leaf" : 1, |
7aacca6f | 16386 | "path" : "/nodes/{node}/lxc/{vmid}/template", |
44660702 | 16387 | "text" : "template" |
56122987 DM |
16388 | }, |
16389 | { | |
56122987 DM |
16390 | "info" : { |
16391 | "POST" : { | |
44660702 DM |
16392 | "description" : "Create a container clone/copy", |
16393 | "method" : "POST", | |
56122987 | 16394 | "name" : "clone_vm", |
7aacca6f DM |
16395 | "parameters" : { |
16396 | "additionalProperties" : 0, | |
16397 | "properties" : { | |
44660702 DM |
16398 | "description" : { |
16399 | "description" : "Description for the new CT.", | |
7aacca6f | 16400 | "optional" : 1, |
013dc89f DM |
16401 | "type" : "string", |
16402 | "typetext" : "<string>" | |
7aacca6f DM |
16403 | }, |
16404 | "experimental" : { | |
7aacca6f | 16405 | "default" : 0, |
44660702 | 16406 | "description" : "The clone feature is experimental, set this flag if you know what you are doing.", |
013dc89f DM |
16407 | "type" : "boolean", |
16408 | "typetext" : "<boolean>" | |
7aacca6f | 16409 | }, |
44660702 DM |
16410 | "full" : { |
16411 | "default" : 0, | |
16412 | "description" : "Create a full copy of all disk. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.", | |
7aacca6f | 16413 | "optional" : 1, |
013dc89f DM |
16414 | "type" : "boolean", |
16415 | "typetext" : "<boolean>" | |
7aacca6f DM |
16416 | }, |
16417 | "hostname" : { | |
44660702 | 16418 | "description" : "Set a hostname for the new CT.", |
7aacca6f | 16419 | "format" : "dns-name", |
7aacca6f | 16420 | "optional" : 1, |
013dc89f DM |
16421 | "type" : "string", |
16422 | "typetext" : "<string>" | |
7aacca6f | 16423 | }, |
44660702 DM |
16424 | "newid" : { |
16425 | "description" : "VMID for the clone.", | |
7aacca6f | 16426 | "format" : "pve-vmid", |
44660702 | 16427 | "minimum" : 1, |
4bd7df8b | 16428 | "type" : "integer", |
013dc89f | 16429 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
16430 | }, |
16431 | "node" : { | |
16432 | "description" : "The cluster node name.", | |
44660702 | 16433 | "format" : "pve-node", |
013dc89f DM |
16434 | "type" : "string", |
16435 | "typetext" : "<string>" | |
44660702 DM |
16436 | }, |
16437 | "pool" : { | |
16438 | "description" : "Add the new CT to the specified pool.", | |
16439 | "format" : "pve-poolid", | |
16440 | "optional" : 1, | |
013dc89f DM |
16441 | "type" : "string", |
16442 | "typetext" : "<string>" | |
7aacca6f DM |
16443 | }, |
16444 | "snapname" : { | |
44660702 | 16445 | "description" : "The name of the snapshot.", |
7aacca6f DM |
16446 | "format" : "pve-configid", |
16447 | "maxLength" : 40, | |
7aacca6f | 16448 | "optional" : 1, |
013dc89f DM |
16449 | "type" : "string", |
16450 | "typetext" : "<string>" | |
7aacca6f DM |
16451 | }, |
16452 | "storage" : { | |
44660702 | 16453 | "description" : "Target storage for full clone.", |
7aacca6f DM |
16454 | "format" : "pve-storage-id", |
16455 | "optional" : 1, | |
7aacca6f | 16456 | "requires" : "full", |
013dc89f DM |
16457 | "type" : "string", |
16458 | "typetext" : "<string>" | |
44660702 DM |
16459 | }, |
16460 | "vmid" : { | |
16461 | "description" : "The (unique) ID of the VM.", | |
16462 | "format" : "pve-vmid", | |
16463 | "minimum" : 1, | |
4bd7df8b | 16464 | "type" : "integer", |
013dc89f | 16465 | "typetext" : "<integer> (1 - N)" |
7aacca6f DM |
16466 | } |
16467 | } | |
56122987 DM |
16468 | }, |
16469 | "permissions" : { | |
56122987 DM |
16470 | "check" : [ |
16471 | "and", | |
16472 | [ | |
16473 | "perm", | |
16474 | "/vms/{vmid}", | |
16475 | [ | |
16476 | "VM.Clone" | |
16477 | ] | |
16478 | ], | |
16479 | [ | |
16480 | "or", | |
16481 | [ | |
16482 | "perm", | |
16483 | "/vms/{newid}", | |
16484 | [ | |
16485 | "VM.Allocate" | |
16486 | ] | |
16487 | ], | |
16488 | [ | |
16489 | "perm", | |
16490 | "/pool/{pool}", | |
16491 | [ | |
16492 | "VM.Allocate" | |
16493 | ], | |
16494 | "require_param", | |
16495 | "pool" | |
16496 | ] | |
16497 | ] | |
7aacca6f DM |
16498 | ], |
16499 | "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage." | |
56122987 | 16500 | }, |
44660702 | 16501 | "protected" : 1, |
56122987 | 16502 | "proxyto" : "node", |
7aacca6f DM |
16503 | "returns" : { |
16504 | "type" : "string" | |
56122987 DM |
16505 | } |
16506 | } | |
44660702 DM |
16507 | }, |
16508 | "leaf" : 1, | |
16509 | "path" : "/nodes/{node}/lxc/{vmid}/clone", | |
16510 | "text" : "clone" | |
56122987 DM |
16511 | }, |
16512 | { | |
56122987 DM |
16513 | "info" : { |
16514 | "PUT" : { | |
de0983cb | 16515 | "description" : "Resize a container mount point.", |
44660702 DM |
16516 | "method" : "PUT", |
16517 | "name" : "resize_vm", | |
56122987 | 16518 | "parameters" : { |
44660702 | 16519 | "additionalProperties" : 0, |
56122987 | 16520 | "properties" : { |
44660702 DM |
16521 | "digest" : { |
16522 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
16523 | "maxLength" : 40, | |
16524 | "optional" : 1, | |
013dc89f DM |
16525 | "type" : "string", |
16526 | "typetext" : "<string>" | |
56122987 DM |
16527 | }, |
16528 | "disk" : { | |
7aacca6f | 16529 | "description" : "The disk you want to resize.", |
56122987 DM |
16530 | "enum" : [ |
16531 | "rootfs", | |
16532 | "mp0", | |
16533 | "mp1", | |
16534 | "mp2", | |
16535 | "mp3", | |
16536 | "mp4", | |
16537 | "mp5", | |
16538 | "mp6", | |
16539 | "mp7", | |
16540 | "mp8", | |
16541 | "mp9" | |
16542 | ], | |
7aacca6f DM |
16543 | "type" : "string" |
16544 | }, | |
44660702 DM |
16545 | "node" : { |
16546 | "description" : "The cluster node name.", | |
16547 | "format" : "pve-node", | |
013dc89f DM |
16548 | "type" : "string", |
16549 | "typetext" : "<string>" | |
44660702 DM |
16550 | }, |
16551 | "size" : { | |
16552 | "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.", | |
16553 | "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?", | |
16554 | "type" : "string" | |
16555 | }, | |
16556 | "vmid" : { | |
16557 | "description" : "The (unique) ID of the VM.", | |
16558 | "format" : "pve-vmid", | |
16559 | "minimum" : 1, | |
4bd7df8b | 16560 | "type" : "integer", |
013dc89f | 16561 | "typetext" : "<integer> (1 - N)" |
56122987 | 16562 | } |
44660702 | 16563 | } |
56122987 | 16564 | }, |
7aacca6f DM |
16565 | "permissions" : { |
16566 | "check" : [ | |
16567 | "perm", | |
16568 | "/vms/{vmid}", | |
16569 | [ | |
16570 | "VM.Config.Disk" | |
16571 | ], | |
16572 | "any", | |
16573 | 1 | |
16574 | ] | |
16575 | }, | |
44660702 | 16576 | "protected" : 1, |
7aacca6f DM |
16577 | "proxyto" : "node", |
16578 | "returns" : { | |
16579 | "description" : "the task ID.", | |
16580 | "type" : "string" | |
16581 | } | |
56122987 DM |
16582 | } |
16583 | }, | |
44660702 | 16584 | "leaf" : 1, |
7aacca6f | 16585 | "path" : "/nodes/{node}/lxc/{vmid}/resize", |
44660702 | 16586 | "text" : "resize" |
56122987 DM |
16587 | } |
16588 | ], | |
16589 | "info" : { | |
16590 | "DELETE" : { | |
7aacca6f | 16591 | "description" : "Destroy the container (also delete all uses files).", |
44660702 DM |
16592 | "method" : "DELETE", |
16593 | "name" : "destroy_vm", | |
16594 | "parameters" : { | |
16595 | "additionalProperties" : 0, | |
16596 | "properties" : { | |
16597 | "node" : { | |
16598 | "description" : "The cluster node name.", | |
16599 | "format" : "pve-node", | |
013dc89f DM |
16600 | "type" : "string", |
16601 | "typetext" : "<string>" | |
44660702 DM |
16602 | }, |
16603 | "vmid" : { | |
16604 | "description" : "The (unique) ID of the VM.", | |
16605 | "format" : "pve-vmid", | |
16606 | "minimum" : 1, | |
4bd7df8b | 16607 | "type" : "integer", |
013dc89f | 16608 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
16609 | } |
16610 | } | |
16611 | }, | |
7aacca6f DM |
16612 | "permissions" : { |
16613 | "check" : [ | |
16614 | "perm", | |
16615 | "/vms/{vmid}", | |
16616 | [ | |
16617 | "VM.Allocate" | |
16618 | ] | |
16619 | ] | |
16620 | }, | |
44660702 DM |
16621 | "protected" : 1, |
16622 | "proxyto" : "node", | |
56122987 DM |
16623 | "returns" : { |
16624 | "type" : "string" | |
44660702 | 16625 | } |
56122987 DM |
16626 | }, |
16627 | "GET" : { | |
7aacca6f | 16628 | "description" : "Directory index", |
44660702 | 16629 | "method" : "GET", |
7aacca6f | 16630 | "name" : "vmdiridx", |
56122987 | 16631 | "parameters" : { |
7aacca6f | 16632 | "additionalProperties" : 0, |
56122987 DM |
16633 | "properties" : { |
16634 | "node" : { | |
7aacca6f | 16635 | "description" : "The cluster node name.", |
44660702 | 16636 | "format" : "pve-node", |
013dc89f DM |
16637 | "type" : "string", |
16638 | "typetext" : "<string>" | |
56122987 DM |
16639 | }, |
16640 | "vmid" : { | |
16641 | "description" : "The (unique) ID of the VM.", | |
56122987 | 16642 | "format" : "pve-vmid", |
44660702 | 16643 | "minimum" : 1, |
4bd7df8b | 16644 | "type" : "integer", |
013dc89f | 16645 | "typetext" : "<integer> (1 - N)" |
56122987 | 16646 | } |
7aacca6f | 16647 | } |
56122987 | 16648 | }, |
56122987 DM |
16649 | "permissions" : { |
16650 | "user" : "all" | |
44660702 DM |
16651 | }, |
16652 | "proxyto" : "node", | |
16653 | "returns" : { | |
16654 | "items" : { | |
16655 | "properties" : { | |
16656 | "subdir" : { | |
16657 | "type" : "string" | |
16658 | } | |
16659 | }, | |
16660 | "type" : "object" | |
16661 | }, | |
16662 | "links" : [ | |
16663 | { | |
16664 | "href" : "{subdir}", | |
16665 | "rel" : "child" | |
16666 | } | |
16667 | ], | |
16668 | "type" : "array" | |
56122987 DM |
16669 | } |
16670 | } | |
44660702 DM |
16671 | }, |
16672 | "leaf" : 0, | |
16673 | "path" : "/nodes/{node}/lxc/{vmid}", | |
16674 | "text" : "{vmid}" | |
56122987 DM |
16675 | } |
16676 | ], | |
56122987 | 16677 | "info" : { |
44660702 DM |
16678 | "GET" : { |
16679 | "description" : "LXC container index (per node).", | |
16680 | "method" : "GET", | |
16681 | "name" : "vmlist", | |
16682 | "parameters" : { | |
16683 | "additionalProperties" : 0, | |
16684 | "properties" : { | |
16685 | "node" : { | |
16686 | "description" : "The cluster node name.", | |
16687 | "format" : "pve-node", | |
013dc89f DM |
16688 | "type" : "string", |
16689 | "typetext" : "<string>" | |
44660702 DM |
16690 | } |
16691 | } | |
16692 | }, | |
16693 | "permissions" : { | |
16694 | "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.", | |
16695 | "user" : "all" | |
16696 | }, | |
16697 | "protected" : 1, | |
16698 | "proxyto" : "node", | |
16699 | "returns" : { | |
16700 | "items" : { | |
16701 | "properties" : {}, | |
16702 | "type" : "object" | |
16703 | }, | |
16704 | "links" : [ | |
16705 | { | |
16706 | "href" : "{vmid}", | |
16707 | "rel" : "child" | |
16708 | } | |
16709 | ], | |
16710 | "type" : "array" | |
16711 | } | |
16712 | }, | |
56122987 | 16713 | "POST" : { |
44660702 | 16714 | "description" : "Create or restore a container.", |
7aacca6f DM |
16715 | "method" : "POST", |
16716 | "name" : "create_vm", | |
56122987 | 16717 | "parameters" : { |
7aacca6f | 16718 | "additionalProperties" : 0, |
56122987 | 16719 | "properties" : { |
44660702 DM |
16720 | "arch" : { |
16721 | "default" : "amd64", | |
16722 | "description" : "OS architecture type.", | |
16723 | "enum" : [ | |
16724 | "amd64", | |
16725 | "i386" | |
16726 | ], | |
7aacca6f | 16727 | "optional" : 1, |
44660702 | 16728 | "type" : "string" |
7aacca6f | 16729 | }, |
44660702 DM |
16730 | "cmode" : { |
16731 | "default" : "tty", | |
16732 | "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).", | |
16733 | "enum" : [ | |
16734 | "shell", | |
16735 | "console", | |
16736 | "tty" | |
16737 | ], | |
7aacca6f | 16738 | "optional" : 1, |
44660702 | 16739 | "type" : "string" |
7aacca6f DM |
16740 | }, |
16741 | "console" : { | |
7aacca6f | 16742 | "default" : 1, |
44660702 | 16743 | "description" : "Attach a console device (/dev/console) to the container.", |
56122987 | 16744 | "optional" : 1, |
013dc89f DM |
16745 | "type" : "boolean", |
16746 | "typetext" : "<boolean>" | |
56122987 | 16747 | }, |
de0983cb DM |
16748 | "cores" : { |
16749 | "description" : "The number of cores assigned to the container. A container can use all available cores by default.", | |
16750 | "maximum" : 128, | |
16751 | "minimum" : 1, | |
16752 | "optional" : 1, | |
16753 | "type" : "integer", | |
013dc89f | 16754 | "typetext" : "<integer> (1 - 128)" |
de0983cb | 16755 | }, |
44660702 DM |
16756 | "cpulimit" : { |
16757 | "default" : 0, | |
16758 | "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.", | |
16759 | "maximum" : 128, | |
16760 | "minimum" : 0, | |
56122987 | 16761 | "optional" : 1, |
4bd7df8b | 16762 | "type" : "number", |
013dc89f | 16763 | "typetext" : "<number> (0 - 128)" |
56122987 | 16764 | }, |
44660702 DM |
16765 | "cpuunits" : { |
16766 | "default" : 1024, | |
16767 | "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.", | |
16768 | "maximum" : 500000, | |
16769 | "minimum" : 0, | |
56122987 | 16770 | "optional" : 1, |
4bd7df8b | 16771 | "type" : "integer", |
013dc89f | 16772 | "typetext" : "<integer> (0 - 500000)" |
7aacca6f DM |
16773 | }, |
16774 | "description" : { | |
44660702 | 16775 | "description" : "Container description. Only used on the configuration web interface.", |
7aacca6f | 16776 | "optional" : 1, |
013dc89f DM |
16777 | "type" : "string", |
16778 | "typetext" : "<string>" | |
7aacca6f | 16779 | }, |
44660702 DM |
16780 | "force" : { |
16781 | "description" : "Allow to overwrite existing container.", | |
7aacca6f | 16782 | "optional" : 1, |
013dc89f DM |
16783 | "type" : "boolean", |
16784 | "typetext" : "<boolean>" | |
44660702 DM |
16785 | }, |
16786 | "hostname" : { | |
16787 | "description" : "Set a host name for the container.", | |
16788 | "format" : "dns-name", | |
16789 | "maxLength" : 255, | |
16790 | "optional" : 1, | |
013dc89f DM |
16791 | "type" : "string", |
16792 | "typetext" : "<string>" | |
44660702 DM |
16793 | }, |
16794 | "ignore-unpack-errors" : { | |
16795 | "description" : "Ignore errors when extracting the template.", | |
16796 | "optional" : 1, | |
013dc89f DM |
16797 | "type" : "boolean", |
16798 | "typetext" : "<boolean>" | |
44660702 DM |
16799 | }, |
16800 | "lock" : { | |
16801 | "description" : "Lock/unlock the VM.", | |
7aacca6f DM |
16802 | "enum" : [ |
16803 | "migrate", | |
16804 | "backup", | |
16805 | "snapshot", | |
16806 | "rollback" | |
16807 | ], | |
44660702 DM |
16808 | "optional" : 1, |
16809 | "type" : "string" | |
7aacca6f | 16810 | }, |
44660702 DM |
16811 | "memory" : { |
16812 | "default" : 512, | |
16813 | "description" : "Amount of RAM for the VM in MB.", | |
16814 | "minimum" : 16, | |
7aacca6f | 16815 | "optional" : 1, |
4bd7df8b | 16816 | "type" : "integer", |
013dc89f | 16817 | "typetext" : "<integer> (16 - N)" |
44660702 DM |
16818 | }, |
16819 | "mp[n]" : { | |
c2993fe5 | 16820 | "description" : "Use volume as container mount point.", |
56122987 | 16821 | "format" : { |
7aacca6f DM |
16822 | "acl" : { |
16823 | "description" : "Explicitly enable or disable ACL support.", | |
16824 | "optional" : 1, | |
44660702 | 16825 | "type" : "boolean" |
56122987 DM |
16826 | }, |
16827 | "backup" : { | |
de0983cb | 16828 | "description" : "Whether to include the mount point in backups.", |
44660702 | 16829 | "optional" : 1, |
4bd7df8b | 16830 | "type" : "boolean", |
de0983cb | 16831 | "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)." |
44660702 DM |
16832 | }, |
16833 | "mp" : { | |
de0983cb | 16834 | "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).", |
44660702 DM |
16835 | "format" : "pve-lxc-mp-string", |
16836 | "format_description" : "Path", | |
4bd7df8b | 16837 | "type" : "string", |
de0983cb | 16838 | "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons." |
44660702 DM |
16839 | }, |
16840 | "quota" : { | |
16841 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
7aacca6f | 16842 | "optional" : 1, |
44660702 DM |
16843 | "type" : "boolean" |
16844 | }, | |
16845 | "ro" : { | |
de0983cb | 16846 | "description" : "Read-only mount point", |
44660702 DM |
16847 | "optional" : 1, |
16848 | "type" : "boolean" | |
7aacca6f | 16849 | }, |
de0983cb DM |
16850 | "shared" : { |
16851 | "default" : 0, | |
16852 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
16853 | "optional" : 1, | |
16854 | "type" : "boolean", | |
16855 | "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!" | |
16856 | }, | |
7aacca6f | 16857 | "size" : { |
44660702 | 16858 | "description" : "Volume size (read only value).", |
7aacca6f DM |
16859 | "format" : "disk-size", |
16860 | "format_description" : "DiskSize", | |
7aacca6f DM |
16861 | "optional" : 1, |
16862 | "type" : "string" | |
56122987 DM |
16863 | }, |
16864 | "volume" : { | |
7aacca6f | 16865 | "default_key" : 1, |
44660702 | 16866 | "description" : "Volume, device or directory to mount into the container.", |
56122987 | 16867 | "format" : "pve-lxc-mp-string", |
56122987 | 16868 | "format_description" : "volume", |
44660702 | 16869 | "type" : "string" |
56122987 | 16870 | } |
44660702 | 16871 | }, |
56122987 | 16872 | "optional" : 1, |
4bd7df8b | 16873 | "type" : "string", |
de0983cb | 16874 | "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
56122987 | 16875 | }, |
44660702 DM |
16876 | "nameserver" : { |
16877 | "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
16878 | "format" : "address-list", | |
56122987 | 16879 | "optional" : 1, |
013dc89f DM |
16880 | "type" : "string", |
16881 | "typetext" : "<string>" | |
56122987 | 16882 | }, |
44660702 DM |
16883 | "net[n]" : { |
16884 | "description" : "Specifies network interfaces for the container.", | |
7aacca6f | 16885 | "format" : { |
44660702 DM |
16886 | "bridge" : { |
16887 | "description" : "Bridge to attach the network device to.", | |
f004f5b9 | 16888 | "format_description" : "bridge", |
7aacca6f | 16889 | "optional" : 1, |
44660702 DM |
16890 | "pattern" : "[-_.\\w\\d]+", |
16891 | "type" : "string" | |
7aacca6f | 16892 | }, |
44660702 DM |
16893 | "firewall" : { |
16894 | "description" : "Controls whether this interface's firewall rules should be used.", | |
7aacca6f | 16895 | "optional" : 1, |
44660702 | 16896 | "type" : "boolean" |
7aacca6f | 16897 | }, |
44660702 DM |
16898 | "gw" : { |
16899 | "description" : "Default gateway for IPv4 traffic.", | |
16900 | "format" : "ipv4", | |
16901 | "format_description" : "GatewayIPv4", | |
7aacca6f | 16902 | "optional" : 1, |
44660702 | 16903 | "type" : "string" |
7aacca6f | 16904 | }, |
44660702 DM |
16905 | "gw6" : { |
16906 | "description" : "Default gateway for IPv6 traffic.", | |
16907 | "format" : "ipv6", | |
16908 | "format_description" : "GatewayIPv6", | |
16909 | "optional" : 1, | |
16910 | "type" : "string" | |
7aacca6f | 16911 | }, |
44660702 | 16912 | "hwaddr" : { |
f004f5b9 DM |
16913 | "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)", |
16914 | "format_description" : "XX:XX:XX:XX:XX:XX", | |
44660702 DM |
16915 | "optional" : 1, |
16916 | "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})", | |
7aacca6f DM |
16917 | "type" : "string" |
16918 | }, | |
44660702 DM |
16919 | "ip" : { |
16920 | "description" : "IPv4 address in CIDR format.", | |
16921 | "format" : "pve-ipv4-config", | |
16922 | "format_description" : "IPv4Format/CIDR", | |
7aacca6f | 16923 | "optional" : 1, |
44660702 | 16924 | "type" : "string" |
7aacca6f | 16925 | }, |
44660702 DM |
16926 | "ip6" : { |
16927 | "description" : "IPv6 address in CIDR format.", | |
16928 | "format" : "pve-ipv6-config", | |
16929 | "format_description" : "IPv6Format/CIDR", | |
16930 | "optional" : 1, | |
16931 | "type" : "string" | |
16932 | }, | |
16933 | "mtu" : { | |
16934 | "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)", | |
44660702 DM |
16935 | "minimum" : 64, |
16936 | "optional" : 1, | |
16937 | "type" : "integer" | |
16938 | }, | |
16939 | "name" : { | |
16940 | "description" : "Name of the network device as seen from inside the container. (lxc.network.name)", | |
f004f5b9 | 16941 | "format_description" : "string", |
44660702 DM |
16942 | "pattern" : "[-_.\\w\\d]+", |
16943 | "type" : "string" | |
16944 | }, | |
16945 | "rate" : { | |
16946 | "description" : "Apply rate limiting to the interface", | |
16947 | "format_description" : "mbps", | |
16948 | "optional" : 1, | |
16949 | "type" : "number" | |
16950 | }, | |
16951 | "tag" : { | |
16952 | "description" : "VLAN tag for this interface.", | |
4bd7df8b DM |
16953 | "maximum" : 4094, |
16954 | "minimum" : 1, | |
44660702 DM |
16955 | "optional" : 1, |
16956 | "type" : "integer" | |
16957 | }, | |
16958 | "trunks" : { | |
16959 | "description" : "VLAN ids to pass through the interface", | |
16960 | "format_description" : "vlanid[;vlanid...]", | |
16961 | "optional" : 1, | |
16962 | "pattern" : "(?^:\\d+(?:;\\d+)*)", | |
16963 | "type" : "string" | |
16964 | }, | |
16965 | "type" : { | |
16966 | "description" : "Network interface type.", | |
16967 | "enum" : [ | |
16968 | "veth" | |
16969 | ], | |
16970 | "optional" : 1, | |
16971 | "type" : "string" | |
7aacca6f DM |
16972 | } |
16973 | }, | |
56122987 | 16974 | "optional" : 1, |
4bd7df8b DM |
16975 | "type" : "string", |
16976 | "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]" | |
56122987 | 16977 | }, |
44660702 DM |
16978 | "node" : { |
16979 | "description" : "The cluster node name.", | |
16980 | "format" : "pve-node", | |
013dc89f DM |
16981 | "type" : "string", |
16982 | "typetext" : "<string>" | |
56122987 | 16983 | }, |
44660702 DM |
16984 | "onboot" : { |
16985 | "default" : 0, | |
16986 | "description" : "Specifies whether a VM will be started during system bootup.", | |
56122987 | 16987 | "optional" : 1, |
013dc89f DM |
16988 | "type" : "boolean", |
16989 | "typetext" : "<boolean>" | |
44660702 DM |
16990 | }, |
16991 | "ostemplate" : { | |
16992 | "description" : "The OS template or backup file.", | |
16993 | "maxLength" : 255, | |
013dc89f DM |
16994 | "type" : "string", |
16995 | "typetext" : "<string>" | |
56122987 DM |
16996 | }, |
16997 | "ostype" : { | |
7aacca6f | 16998 | "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.", |
56122987 DM |
16999 | "enum" : [ |
17000 | "debian", | |
17001 | "ubuntu", | |
17002 | "centos", | |
17003 | "fedora", | |
17004 | "opensuse", | |
17005 | "archlinux", | |
17006 | "alpine", | |
57b78691 | 17007 | "gentoo", |
56122987 | 17008 | "unmanaged" |
44660702 | 17009 | ], |
56122987 | 17010 | "optional" : 1, |
7aacca6f | 17011 | "type" : "string" |
56122987 | 17012 | }, |
44660702 DM |
17013 | "password" : { |
17014 | "description" : "Sets root password inside container.", | |
17015 | "minLength" : 5, | |
7aacca6f | 17016 | "optional" : 1, |
013dc89f DM |
17017 | "type" : "string", |
17018 | "typetext" : "<string>" | |
7aacca6f | 17019 | }, |
44660702 DM |
17020 | "pool" : { |
17021 | "description" : "Add the VM to the specified pool.", | |
17022 | "format" : "pve-poolid", | |
7aacca6f | 17023 | "optional" : 1, |
013dc89f DM |
17024 | "type" : "string", |
17025 | "typetext" : "<string>" | |
7aacca6f | 17026 | }, |
44660702 DM |
17027 | "protection" : { |
17028 | "default" : 0, | |
17029 | "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.", | |
7aacca6f | 17030 | "optional" : 1, |
013dc89f DM |
17031 | "type" : "boolean", |
17032 | "typetext" : "<boolean>" | |
7aacca6f | 17033 | }, |
44660702 DM |
17034 | "restore" : { |
17035 | "description" : "Mark this as restore task.", | |
17036 | "optional" : 1, | |
013dc89f DM |
17037 | "type" : "boolean", |
17038 | "typetext" : "<boolean>" | |
7aacca6f | 17039 | }, |
44660702 DM |
17040 | "rootfs" : { |
17041 | "description" : "Use volume as container root.", | |
56122987 | 17042 | "format" : { |
44660702 DM |
17043 | "acl" : { |
17044 | "description" : "Explicitly enable or disable ACL support.", | |
56122987 | 17045 | "optional" : 1, |
44660702 | 17046 | "type" : "boolean" |
56122987 | 17047 | }, |
44660702 DM |
17048 | "quota" : { |
17049 | "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)", | |
7aacca6f | 17050 | "optional" : 1, |
44660702 | 17051 | "type" : "boolean" |
7aacca6f | 17052 | }, |
44660702 | 17053 | "ro" : { |
de0983cb | 17054 | "description" : "Read-only mount point", |
7aacca6f | 17055 | "optional" : 1, |
44660702 | 17056 | "type" : "boolean" |
7aacca6f | 17057 | }, |
de0983cb DM |
17058 | "shared" : { |
17059 | "default" : 0, | |
17060 | "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')", | |
17061 | "optional" : 1, | |
17062 | "type" : "boolean", | |
17063 | "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!" | |
17064 | }, | |
44660702 DM |
17065 | "size" : { |
17066 | "description" : "Volume size (read only value).", | |
17067 | "format" : "disk-size", | |
17068 | "format_description" : "DiskSize", | |
7aacca6f DM |
17069 | "optional" : 1, |
17070 | "type" : "string" | |
17071 | }, | |
44660702 DM |
17072 | "volume" : { |
17073 | "default_key" : 1, | |
17074 | "description" : "Volume, device or directory to mount into the container.", | |
17075 | "format" : "pve-lxc-mp-string", | |
17076 | "format_description" : "volume", | |
17077 | "type" : "string" | |
56122987 | 17078 | } |
7aacca6f | 17079 | }, |
7aacca6f | 17080 | "optional" : 1, |
4bd7df8b | 17081 | "type" : "string", |
de0983cb | 17082 | "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]" |
44660702 DM |
17083 | }, |
17084 | "searchdomain" : { | |
17085 | "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.", | |
17086 | "format" : "dns-name-list", | |
17087 | "optional" : 1, | |
013dc89f DM |
17088 | "type" : "string", |
17089 | "typetext" : "<string>" | |
44660702 DM |
17090 | }, |
17091 | "ssh-public-keys" : { | |
17092 | "description" : "Setup public SSH keys (one key per line, OpenSSH format).", | |
17093 | "optional" : 1, | |
013dc89f DM |
17094 | "type" : "string", |
17095 | "typetext" : "<string>" | |
44660702 DM |
17096 | }, |
17097 | "startup" : { | |
17098 | "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.", | |
17099 | "format" : "pve-startup-order", | |
17100 | "optional" : 1, | |
7aacca6f | 17101 | "type" : "string", |
44660702 | 17102 | "typetext" : "[[order=]\\d+] [,up=\\d+] [,down=\\d+] " |
7aacca6f | 17103 | }, |
44660702 DM |
17104 | "storage" : { |
17105 | "default" : "local", | |
17106 | "description" : "Default Storage.", | |
17107 | "format" : "pve-storage-id", | |
17108 | "optional" : 1, | |
013dc89f DM |
17109 | "type" : "string", |
17110 | "typetext" : "<string>" | |
7aacca6f | 17111 | }, |
44660702 DM |
17112 | "swap" : { |
17113 | "default" : 512, | |
17114 | "description" : "Amount of SWAP for the VM in MB.", | |
17115 | "minimum" : 0, | |
17116 | "optional" : 1, | |
4bd7df8b | 17117 | "type" : "integer", |
013dc89f | 17118 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
17119 | }, |
17120 | "template" : { | |
17121 | "default" : 0, | |
17122 | "description" : "Enable/disable Template.", | |
17123 | "optional" : 1, | |
013dc89f DM |
17124 | "type" : "boolean", |
17125 | "typetext" : "<boolean>" | |
7aacca6f | 17126 | }, |
44660702 DM |
17127 | "tty" : { |
17128 | "default" : 2, | |
17129 | "description" : "Specify the number of tty available to the container", | |
17130 | "maximum" : 6, | |
17131 | "minimum" : 0, | |
17132 | "optional" : 1, | |
4bd7df8b | 17133 | "type" : "integer", |
013dc89f | 17134 | "typetext" : "<integer> (0 - 6)" |
7aacca6f | 17135 | }, |
44660702 DM |
17136 | "unprivileged" : { |
17137 | "default" : 0, | |
17138 | "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)", | |
17139 | "optional" : 1, | |
013dc89f DM |
17140 | "type" : "boolean", |
17141 | "typetext" : "<boolean>" | |
44660702 DM |
17142 | }, |
17143 | "unused[n]" : { | |
c2993fe5 | 17144 | "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.", |
44660702 DM |
17145 | "format" : "pve-volume-id", |
17146 | "optional" : 1, | |
013dc89f DM |
17147 | "type" : "string", |
17148 | "typetext" : "<string>" | |
44660702 DM |
17149 | }, |
17150 | "vmid" : { | |
17151 | "description" : "The (unique) ID of the VM.", | |
17152 | "format" : "pve-vmid", | |
17153 | "minimum" : 1, | |
4bd7df8b | 17154 | "type" : "integer", |
013dc89f | 17155 | "typetext" : "<integer> (1 - N)" |
44660702 | 17156 | } |
7aacca6f DM |
17157 | } |
17158 | }, | |
44660702 DM |
17159 | "permissions" : { |
17160 | "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore, it is enough if the user has 'VM.Backup' permission and the VM already exists. You also need 'Datastore.AllocateSpace' permissions on the storage.", | |
17161 | "user" : "all" | |
17162 | }, | |
17163 | "protected" : 1, | |
17164 | "proxyto" : "node", | |
17165 | "returns" : { | |
17166 | "type" : "string" | |
17167 | } | |
17168 | } | |
17169 | }, | |
17170 | "leaf" : 0, | |
17171 | "path" : "/nodes/{node}/lxc", | |
17172 | "text" : "lxc" | |
17173 | }, | |
17174 | { | |
17175 | "children" : [ | |
17176 | { | |
56122987 DM |
17177 | "children" : [ |
17178 | { | |
7aacca6f DM |
17179 | "children" : [ |
17180 | { | |
7aacca6f DM |
17181 | "info" : { |
17182 | "POST" : { | |
44660702 DM |
17183 | "description" : "ceph osd in", |
17184 | "method" : "POST", | |
17185 | "name" : "in", | |
17186 | "parameters" : { | |
17187 | "additionalProperties" : 0, | |
17188 | "properties" : { | |
17189 | "node" : { | |
17190 | "description" : "The cluster node name.", | |
17191 | "format" : "pve-node", | |
013dc89f DM |
17192 | "type" : "string", |
17193 | "typetext" : "<string>" | |
44660702 DM |
17194 | }, |
17195 | "osdid" : { | |
17196 | "description" : "OSD ID", | |
013dc89f DM |
17197 | "type" : "integer", |
17198 | "typetext" : "<integer>" | |
44660702 DM |
17199 | } |
17200 | } | |
17201 | }, | |
56122987 DM |
17202 | "permissions" : { |
17203 | "check" : [ | |
17204 | "perm", | |
17205 | "/", | |
17206 | [ | |
17207 | "Sys.Modify" | |
17208 | ] | |
17209 | ] | |
7aacca6f | 17210 | }, |
44660702 | 17211 | "protected" : 1, |
7aacca6f DM |
17212 | "proxyto" : "node", |
17213 | "returns" : { | |
17214 | "type" : "null" | |
44660702 | 17215 | } |
56122987 DM |
17216 | } |
17217 | }, | |
44660702 | 17218 | "leaf" : 1, |
7aacca6f | 17219 | "path" : "/nodes/{node}/ceph/osd/{osdid}/in", |
44660702 | 17220 | "text" : "in" |
56122987 DM |
17221 | }, |
17222 | { | |
56122987 DM |
17223 | "info" : { |
17224 | "POST" : { | |
44660702 DM |
17225 | "description" : "ceph osd out", |
17226 | "method" : "POST", | |
17227 | "name" : "out", | |
17228 | "parameters" : { | |
17229 | "additionalProperties" : 0, | |
17230 | "properties" : { | |
17231 | "node" : { | |
17232 | "description" : "The cluster node name.", | |
17233 | "format" : "pve-node", | |
013dc89f DM |
17234 | "type" : "string", |
17235 | "typetext" : "<string>" | |
44660702 DM |
17236 | }, |
17237 | "osdid" : { | |
17238 | "description" : "OSD ID", | |
013dc89f DM |
17239 | "type" : "integer", |
17240 | "typetext" : "<integer>" | |
44660702 DM |
17241 | } |
17242 | } | |
17243 | }, | |
56122987 DM |
17244 | "permissions" : { |
17245 | "check" : [ | |
17246 | "perm", | |
17247 | "/", | |
17248 | [ | |
17249 | "Sys.Modify" | |
17250 | ] | |
17251 | ] | |
17252 | }, | |
44660702 | 17253 | "protected" : 1, |
56122987 | 17254 | "proxyto" : "node", |
7aacca6f DM |
17255 | "returns" : { |
17256 | "type" : "null" | |
44660702 DM |
17257 | } |
17258 | } | |
17259 | }, | |
17260 | "leaf" : 1, | |
17261 | "path" : "/nodes/{node}/ceph/osd/{osdid}/out", | |
17262 | "text" : "out" | |
17263 | } | |
17264 | ], | |
17265 | "info" : { | |
17266 | "DELETE" : { | |
17267 | "description" : "Destroy OSD", | |
17268 | "method" : "DELETE", | |
17269 | "name" : "destroyosd", | |
17270 | "parameters" : { | |
17271 | "additionalProperties" : 0, | |
17272 | "properties" : { | |
17273 | "cleanup" : { | |
17274 | "default" : 0, | |
17275 | "description" : "If set, we remove partition table entries.", | |
17276 | "optional" : 1, | |
013dc89f DM |
17277 | "type" : "boolean", |
17278 | "typetext" : "<boolean>" | |
7aacca6f | 17279 | }, |
44660702 DM |
17280 | "node" : { |
17281 | "description" : "The cluster node name.", | |
17282 | "format" : "pve-node", | |
013dc89f DM |
17283 | "type" : "string", |
17284 | "typetext" : "<string>" | |
56122987 | 17285 | }, |
44660702 DM |
17286 | "osdid" : { |
17287 | "description" : "OSD ID", | |
013dc89f DM |
17288 | "type" : "integer", |
17289 | "typetext" : "<integer>" | |
44660702 | 17290 | } |
56122987 DM |
17291 | } |
17292 | }, | |
44660702 DM |
17293 | "protected" : 1, |
17294 | "proxyto" : "node", | |
17295 | "returns" : { | |
17296 | "type" : "string" | |
17297 | } | |
17298 | } | |
17299 | }, | |
17300 | "leaf" : 0, | |
17301 | "path" : "/nodes/{node}/ceph/osd/{osdid}", | |
17302 | "text" : "{osdid}" | |
17303 | } | |
17304 | ], | |
17305 | "info" : { | |
17306 | "GET" : { | |
17307 | "description" : "Get Ceph osd list/tree.", | |
17308 | "method" : "GET", | |
17309 | "name" : "index", | |
17310 | "parameters" : { | |
17311 | "additionalProperties" : 0, | |
17312 | "properties" : { | |
17313 | "node" : { | |
17314 | "description" : "The cluster node name.", | |
17315 | "format" : "pve-node", | |
013dc89f DM |
17316 | "type" : "string", |
17317 | "typetext" : "<string>" | |
44660702 DM |
17318 | } |
17319 | } | |
17320 | }, | |
17321 | "permissions" : { | |
17322 | "check" : [ | |
17323 | "perm", | |
17324 | "/", | |
17325 | [ | |
17326 | "Sys.Audit", | |
17327 | "Datastore.Audit" | |
17328 | ], | |
17329 | "any", | |
17330 | 1 | |
17331 | ] | |
17332 | }, | |
17333 | "protected" : 1, | |
17334 | "proxyto" : "node", | |
17335 | "returns" : { | |
17336 | "type" : "object" | |
17337 | } | |
17338 | }, | |
17339 | "POST" : { | |
17340 | "description" : "Create OSD", | |
17341 | "method" : "POST", | |
17342 | "name" : "createosd", | |
17343 | "parameters" : { | |
17344 | "additionalProperties" : 0, | |
17345 | "properties" : { | |
17346 | "dev" : { | |
17347 | "description" : "Block device name.", | |
013dc89f DM |
17348 | "type" : "string", |
17349 | "typetext" : "<string>" | |
44660702 DM |
17350 | }, |
17351 | "fstype" : { | |
17352 | "default" : "xfs", | |
17353 | "description" : "File system type.", | |
17354 | "enum" : [ | |
17355 | "xfs", | |
17356 | "ext4", | |
17357 | "btrfs" | |
17358 | ], | |
17359 | "optional" : 1, | |
17360 | "type" : "string" | |
17361 | }, | |
17362 | "journal_dev" : { | |
17363 | "description" : "Block device name for journal.", | |
17364 | "optional" : 1, | |
013dc89f DM |
17365 | "type" : "string", |
17366 | "typetext" : "<string>" | |
44660702 DM |
17367 | }, |
17368 | "node" : { | |
17369 | "description" : "The cluster node name.", | |
17370 | "format" : "pve-node", | |
013dc89f DM |
17371 | "type" : "string", |
17372 | "typetext" : "<string>" | |
44660702 | 17373 | } |
56122987 | 17374 | } |
44660702 DM |
17375 | }, |
17376 | "protected" : 1, | |
17377 | "proxyto" : "node", | |
17378 | "returns" : { | |
17379 | "type" : "string" | |
17380 | } | |
56122987 | 17381 | } |
44660702 | 17382 | }, |
7aacca6f | 17383 | "leaf" : 0, |
44660702 DM |
17384 | "path" : "/nodes/{node}/ceph/osd", |
17385 | "text" : "osd" | |
7aacca6f DM |
17386 | }, |
17387 | { | |
56122987 DM |
17388 | "info" : { |
17389 | "GET" : { | |
7aacca6f | 17390 | "description" : "List local disks.", |
44660702 DM |
17391 | "method" : "GET", |
17392 | "name" : "disks", | |
17393 | "parameters" : { | |
17394 | "additionalProperties" : 0, | |
17395 | "properties" : { | |
17396 | "node" : { | |
17397 | "description" : "The cluster node name.", | |
17398 | "format" : "pve-node", | |
013dc89f DM |
17399 | "type" : "string", |
17400 | "typetext" : "<string>" | |
44660702 DM |
17401 | }, |
17402 | "type" : { | |
17403 | "description" : "Only list specific types of disks.", | |
17404 | "enum" : [ | |
17405 | "unused", | |
17406 | "journal_disks" | |
17407 | ], | |
17408 | "optional" : 1, | |
17409 | "type" : "string" | |
17410 | } | |
17411 | } | |
17412 | }, | |
56122987 DM |
17413 | "permissions" : { |
17414 | "check" : [ | |
17415 | "perm", | |
17416 | "/", | |
17417 | [ | |
17418 | "Sys.Audit", | |
17419 | "Datastore.Audit" | |
17420 | ], | |
17421 | "any", | |
17422 | 1 | |
17423 | ] | |
7aacca6f | 17424 | }, |
44660702 DM |
17425 | "protected" : 1, |
17426 | "proxyto" : "node", | |
56122987 | 17427 | "returns" : { |
7aacca6f DM |
17428 | "items" : { |
17429 | "properties" : { | |
44660702 DM |
17430 | "dev" : { |
17431 | "type" : "string" | |
17432 | }, | |
17433 | "gpt" : { | |
17434 | "type" : "boolean" | |
17435 | }, | |
17436 | "model" : { | |
17437 | "optional" : 1, | |
17438 | "type" : "string" | |
7aacca6f DM |
17439 | }, |
17440 | "osdid" : { | |
17441 | "type" : "integer" | |
17442 | }, | |
17443 | "serial" : { | |
7aacca6f DM |
17444 | "optional" : 1, |
17445 | "type" : "string" | |
17446 | }, | |
17447 | "size" : { | |
17448 | "type" : "integer" | |
17449 | }, | |
44660702 DM |
17450 | "used" : { |
17451 | "optional" : 1, | |
7aacca6f DM |
17452 | "type" : "string" |
17453 | }, | |
44660702 DM |
17454 | "vendor" : { |
17455 | "optional" : 1, | |
17456 | "type" : "string" | |
7aacca6f DM |
17457 | } |
17458 | }, | |
17459 | "type" : "object" | |
44660702 DM |
17460 | }, |
17461 | "type" : "array" | |
17462 | } | |
56122987 | 17463 | } |
44660702 DM |
17464 | }, |
17465 | "leaf" : 1, | |
17466 | "path" : "/nodes/{node}/ceph/disks", | |
17467 | "text" : "disks" | |
56122987 DM |
17468 | }, |
17469 | { | |
56122987 DM |
17470 | "info" : { |
17471 | "GET" : { | |
7aacca6f | 17472 | "description" : "Get Ceph configuration.", |
44660702 DM |
17473 | "method" : "GET", |
17474 | "name" : "config", | |
56122987 | 17475 | "parameters" : { |
7aacca6f | 17476 | "additionalProperties" : 0, |
56122987 | 17477 | "properties" : { |
56122987 | 17478 | "node" : { |
7aacca6f | 17479 | "description" : "The cluster node name.", |
44660702 | 17480 | "format" : "pve-node", |
013dc89f DM |
17481 | "type" : "string", |
17482 | "typetext" : "<string>" | |
56122987 | 17483 | } |
7aacca6f | 17484 | } |
56122987 | 17485 | }, |
56122987 DM |
17486 | "permissions" : { |
17487 | "check" : [ | |
17488 | "perm", | |
17489 | "/", | |
17490 | [ | |
17491 | "Sys.Audit", | |
17492 | "Datastore.Audit" | |
17493 | ], | |
17494 | "any", | |
17495 | 1 | |
17496 | ] | |
44660702 DM |
17497 | }, |
17498 | "returns" : { | |
17499 | "type" : "string" | |
7aacca6f DM |
17500 | } |
17501 | } | |
44660702 DM |
17502 | }, |
17503 | "leaf" : 1, | |
17504 | "path" : "/nodes/{node}/ceph/config", | |
17505 | "text" : "config" | |
7aacca6f DM |
17506 | }, |
17507 | { | |
7aacca6f DM |
17508 | "children" : [ |
17509 | { | |
7aacca6f DM |
17510 | "info" : { |
17511 | "DELETE" : { | |
7aacca6f | 17512 | "description" : "Destroy Ceph monitor.", |
44660702 DM |
17513 | "method" : "DELETE", |
17514 | "name" : "destroymon", | |
17515 | "parameters" : { | |
17516 | "additionalProperties" : 0, | |
17517 | "properties" : { | |
17518 | "monid" : { | |
17519 | "description" : "Monitor ID", | |
013dc89f DM |
17520 | "type" : "integer", |
17521 | "typetext" : "<integer>" | |
44660702 DM |
17522 | }, |
17523 | "node" : { | |
17524 | "description" : "The cluster node name.", | |
17525 | "format" : "pve-node", | |
013dc89f DM |
17526 | "type" : "string", |
17527 | "typetext" : "<string>" | |
44660702 DM |
17528 | } |
17529 | } | |
17530 | }, | |
7aacca6f DM |
17531 | "permissions" : { |
17532 | "check" : [ | |
17533 | "perm", | |
17534 | "/", | |
17535 | [ | |
17536 | "Sys.Modify" | |
17537 | ] | |
17538 | ] | |
17539 | }, | |
44660702 DM |
17540 | "protected" : 1, |
17541 | "proxyto" : "node", | |
7aacca6f DM |
17542 | "returns" : { |
17543 | "type" : "string" | |
44660702 | 17544 | } |
7aacca6f | 17545 | } |
44660702 DM |
17546 | }, |
17547 | "leaf" : 1, | |
17548 | "path" : "/nodes/{node}/ceph/mon/{monid}", | |
17549 | "text" : "{monid}" | |
7aacca6f DM |
17550 | } |
17551 | ], | |
17552 | "info" : { | |
17553 | "GET" : { | |
44660702 | 17554 | "description" : "Get Ceph monitor list.", |
7aacca6f | 17555 | "method" : "GET", |
44660702 | 17556 | "name" : "listmon", |
7aacca6f DM |
17557 | "parameters" : { |
17558 | "additionalProperties" : 0, | |
17559 | "properties" : { | |
17560 | "node" : { | |
7aacca6f | 17561 | "description" : "The cluster node name.", |
44660702 | 17562 | "format" : "pve-node", |
013dc89f DM |
17563 | "type" : "string", |
17564 | "typetext" : "<string>" | |
7aacca6f DM |
17565 | } |
17566 | } | |
17567 | }, | |
44660702 DM |
17568 | "permissions" : { |
17569 | "check" : [ | |
17570 | "perm", | |
17571 | "/", | |
17572 | [ | |
17573 | "Sys.Audit", | |
17574 | "Datastore.Audit" | |
17575 | ], | |
17576 | "any", | |
17577 | 1 | |
17578 | ] | |
17579 | }, | |
7aacca6f | 17580 | "protected" : 1, |
44660702 | 17581 | "proxyto" : "node", |
7aacca6f DM |
17582 | "returns" : { |
17583 | "items" : { | |
17584 | "properties" : { | |
44660702 | 17585 | "addr" : { |
7aacca6f | 17586 | "type" : "string" |
56122987 | 17587 | }, |
44660702 | 17588 | "name" : { |
56122987 DM |
17589 | "type" : "string" |
17590 | } | |
7aacca6f DM |
17591 | }, |
17592 | "type" : "object" | |
56122987 | 17593 | }, |
7aacca6f DM |
17594 | "links" : [ |
17595 | { | |
17596 | "href" : "{name}", | |
17597 | "rel" : "child" | |
17598 | } | |
17599 | ], | |
56122987 | 17600 | "type" : "array" |
44660702 | 17601 | } |
7aacca6f DM |
17602 | }, |
17603 | "POST" : { | |
44660702 DM |
17604 | "description" : "Create Ceph Monitor", |
17605 | "method" : "POST", | |
17606 | "name" : "createmon", | |
17607 | "parameters" : { | |
17608 | "additionalProperties" : 0, | |
17609 | "properties" : { | |
17610 | "node" : { | |
17611 | "description" : "The cluster node name.", | |
17612 | "format" : "pve-node", | |
013dc89f DM |
17613 | "type" : "string", |
17614 | "typetext" : "<string>" | |
44660702 DM |
17615 | } |
17616 | } | |
17617 | }, | |
7aacca6f DM |
17618 | "permissions" : { |
17619 | "check" : [ | |
17620 | "perm", | |
17621 | "/", | |
17622 | [ | |
17623 | "Sys.Modify" | |
17624 | ] | |
17625 | ] | |
17626 | }, | |
44660702 | 17627 | "protected" : 1, |
7aacca6f | 17628 | "proxyto" : "node", |
56122987 DM |
17629 | "returns" : { |
17630 | "type" : "string" | |
44660702 | 17631 | } |
56122987 | 17632 | } |
44660702 DM |
17633 | }, |
17634 | "leaf" : 0, | |
17635 | "path" : "/nodes/{node}/ceph/mon", | |
17636 | "text" : "mon" | |
56122987 DM |
17637 | }, |
17638 | { | |
17639 | "info" : { | |
17640 | "POST" : { | |
44660702 DM |
17641 | "description" : "Create initial ceph default configuration and setup symlinks.", |
17642 | "method" : "POST", | |
17643 | "name" : "init", | |
17644 | "parameters" : { | |
17645 | "additionalProperties" : 0, | |
17646 | "properties" : { | |
17647 | "network" : { | |
17648 | "description" : "Use specific network for all ceph related traffic", | |
17649 | "format" : "CIDR", | |
17650 | "maxLength" : 128, | |
17651 | "optional" : 1, | |
013dc89f DM |
17652 | "type" : "string", |
17653 | "typetext" : "<string>" | |
44660702 DM |
17654 | }, |
17655 | "node" : { | |
17656 | "description" : "The cluster node name.", | |
17657 | "format" : "pve-node", | |
013dc89f DM |
17658 | "type" : "string", |
17659 | "typetext" : "<string>" | |
44660702 DM |
17660 | }, |
17661 | "pg_bits" : { | |
17662 | "default" : 6, | |
17663 | "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.", | |
17664 | "maximum" : 14, | |
17665 | "minimum" : 6, | |
17666 | "optional" : 1, | |
4bd7df8b | 17667 | "type" : "integer", |
013dc89f | 17668 | "typetext" : "<integer> (6 - 14)" |
44660702 DM |
17669 | }, |
17670 | "size" : { | |
17671 | "default" : 2, | |
17672 | "description" : "Number of replicas per object", | |
17673 | "maximum" : 3, | |
17674 | "minimum" : 1, | |
17675 | "optional" : 1, | |
4bd7df8b | 17676 | "type" : "integer", |
013dc89f | 17677 | "typetext" : "<integer> (1 - 3)" |
44660702 DM |
17678 | } |
17679 | } | |
7aacca6f | 17680 | }, |
56122987 DM |
17681 | "permissions" : { |
17682 | "check" : [ | |
17683 | "perm", | |
17684 | "/", | |
17685 | [ | |
17686 | "Sys.Modify" | |
17687 | ] | |
17688 | ] | |
17689 | }, | |
7aacca6f | 17690 | "protected" : 1, |
44660702 DM |
17691 | "proxyto" : "node", |
17692 | "returns" : { | |
17693 | "type" : "null" | |
7aacca6f DM |
17694 | } |
17695 | } | |
17696 | }, | |
7aacca6f | 17697 | "leaf" : 1, |
44660702 DM |
17698 | "path" : "/nodes/{node}/ceph/init", |
17699 | "text" : "init" | |
7aacca6f DM |
17700 | }, |
17701 | { | |
7aacca6f DM |
17702 | "info" : { |
17703 | "POST" : { | |
44660702 | 17704 | "description" : "Stop ceph services.", |
7aacca6f DM |
17705 | "method" : "POST", |
17706 | "name" : "stop", | |
17707 | "parameters" : { | |
44660702 | 17708 | "additionalProperties" : 0, |
7aacca6f DM |
17709 | "properties" : { |
17710 | "node" : { | |
7aacca6f | 17711 | "description" : "The cluster node name.", |
44660702 | 17712 | "format" : "pve-node", |
013dc89f DM |
17713 | "type" : "string", |
17714 | "typetext" : "<string>" | |
7aacca6f DM |
17715 | }, |
17716 | "service" : { | |
7aacca6f | 17717 | "description" : "Ceph service name.", |
44660702 DM |
17718 | "optional" : 1, |
17719 | "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}", | |
17720 | "type" : "string" | |
56122987 | 17721 | } |
44660702 | 17722 | } |
7aacca6f DM |
17723 | }, |
17724 | "permissions" : { | |
17725 | "check" : [ | |
17726 | "perm", | |
17727 | "/", | |
17728 | [ | |
17729 | "Sys.Modify" | |
17730 | ] | |
17731 | ] | |
17732 | }, | |
44660702 DM |
17733 | "protected" : 1, |
17734 | "proxyto" : "node", | |
17735 | "returns" : { | |
17736 | "type" : "string" | |
17737 | } | |
7aacca6f | 17738 | } |
44660702 DM |
17739 | }, |
17740 | "leaf" : 1, | |
17741 | "path" : "/nodes/{node}/ceph/stop", | |
17742 | "text" : "stop" | |
7aacca6f DM |
17743 | }, |
17744 | { | |
7aacca6f DM |
17745 | "info" : { |
17746 | "POST" : { | |
7aacca6f | 17747 | "description" : "Start ceph services.", |
44660702 | 17748 | "method" : "POST", |
7aacca6f | 17749 | "name" : "start", |
56122987 DM |
17750 | "parameters" : { |
17751 | "additionalProperties" : 0, | |
17752 | "properties" : { | |
17753 | "node" : { | |
7aacca6f | 17754 | "description" : "The cluster node name.", |
44660702 | 17755 | "format" : "pve-node", |
013dc89f DM |
17756 | "type" : "string", |
17757 | "typetext" : "<string>" | |
7aacca6f DM |
17758 | }, |
17759 | "service" : { | |
17760 | "description" : "Ceph service name.", | |
44660702 | 17761 | "optional" : 1, |
7aacca6f | 17762 | "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}", |
44660702 | 17763 | "type" : "string" |
7aacca6f DM |
17764 | } |
17765 | } | |
17766 | }, | |
44660702 DM |
17767 | "permissions" : { |
17768 | "check" : [ | |
17769 | "perm", | |
17770 | "/", | |
17771 | [ | |
17772 | "Sys.Modify" | |
17773 | ] | |
17774 | ] | |
17775 | }, | |
7aacca6f | 17776 | "protected" : 1, |
44660702 DM |
17777 | "proxyto" : "node", |
17778 | "returns" : { | |
17779 | "type" : "string" | |
17780 | } | |
7aacca6f | 17781 | } |
44660702 DM |
17782 | }, |
17783 | "leaf" : 1, | |
17784 | "path" : "/nodes/{node}/ceph/start", | |
17785 | "text" : "start" | |
7aacca6f DM |
17786 | }, |
17787 | { | |
7aacca6f DM |
17788 | "info" : { |
17789 | "GET" : { | |
44660702 DM |
17790 | "description" : "Get ceph status.", |
17791 | "method" : "GET", | |
17792 | "name" : "status", | |
7aacca6f DM |
17793 | "parameters" : { |
17794 | "additionalProperties" : 0, | |
17795 | "properties" : { | |
17796 | "node" : { | |
7aacca6f | 17797 | "description" : "The cluster node name.", |
44660702 | 17798 | "format" : "pve-node", |
013dc89f DM |
17799 | "type" : "string", |
17800 | "typetext" : "<string>" | |
56122987 DM |
17801 | } |
17802 | } | |
17803 | }, | |
17804 | "permissions" : { | |
17805 | "check" : [ | |
17806 | "perm", | |
17807 | "/", | |
17808 | [ | |
17809 | "Sys.Audit", | |
17810 | "Datastore.Audit" | |
17811 | ], | |
17812 | "any", | |
17813 | 1 | |
17814 | ] | |
17815 | }, | |
44660702 DM |
17816 | "protected" : 1, |
17817 | "proxyto" : "node", | |
56122987 | 17818 | "returns" : { |
7aacca6f DM |
17819 | "type" : "object" |
17820 | } | |
17821 | } | |
17822 | }, | |
44660702 | 17823 | "leaf" : 1, |
7aacca6f | 17824 | "path" : "/nodes/{node}/ceph/status", |
44660702 | 17825 | "text" : "status" |
7aacca6f DM |
17826 | }, |
17827 | { | |
44660702 DM |
17828 | "children" : [ |
17829 | { | |
17830 | "info" : { | |
17831 | "DELETE" : { | |
17832 | "description" : "Destroy pool", | |
17833 | "method" : "DELETE", | |
17834 | "name" : "destroypool", | |
17835 | "parameters" : { | |
17836 | "additionalProperties" : 0, | |
17837 | "properties" : { | |
4bd7df8b DM |
17838 | "force" : { |
17839 | "default" : 0, | |
17840 | "description" : "If true, destroys pool even if in use", | |
17841 | "optional" : 1, | |
013dc89f DM |
17842 | "type" : "boolean", |
17843 | "typetext" : "<boolean>" | |
4bd7df8b | 17844 | }, |
44660702 DM |
17845 | "name" : { |
17846 | "description" : "The name of the pool. It must be unique.", | |
013dc89f DM |
17847 | "type" : "string", |
17848 | "typetext" : "<string>" | |
44660702 DM |
17849 | }, |
17850 | "node" : { | |
17851 | "description" : "The cluster node name.", | |
17852 | "format" : "pve-node", | |
013dc89f DM |
17853 | "type" : "string", |
17854 | "typetext" : "<string>" | |
44660702 DM |
17855 | } |
17856 | } | |
17857 | }, | |
17858 | "permissions" : { | |
17859 | "check" : [ | |
17860 | "perm", | |
17861 | "/", | |
17862 | [ | |
17863 | "Sys.Modify" | |
17864 | ] | |
17865 | ] | |
17866 | }, | |
17867 | "protected" : 1, | |
17868 | "proxyto" : "node", | |
17869 | "returns" : { | |
17870 | "type" : "null" | |
17871 | } | |
17872 | } | |
17873 | }, | |
17874 | "leaf" : 1, | |
17875 | "path" : "/nodes/{node}/ceph/pools/{name}", | |
17876 | "text" : "{name}" | |
17877 | } | |
17878 | ], | |
7aacca6f DM |
17879 | "info" : { |
17880 | "GET" : { | |
44660702 DM |
17881 | "description" : "List all pools.", |
17882 | "method" : "GET", | |
17883 | "name" : "lspools", | |
7aacca6f DM |
17884 | "parameters" : { |
17885 | "additionalProperties" : 0, | |
17886 | "properties" : { | |
17887 | "node" : { | |
7aacca6f | 17888 | "description" : "The cluster node name.", |
44660702 | 17889 | "format" : "pve-node", |
013dc89f DM |
17890 | "type" : "string", |
17891 | "typetext" : "<string>" | |
7aacca6f DM |
17892 | } |
17893 | } | |
17894 | }, | |
7aacca6f DM |
17895 | "permissions" : { |
17896 | "check" : [ | |
17897 | "perm", | |
17898 | "/", | |
17899 | [ | |
17900 | "Sys.Audit", | |
17901 | "Datastore.Audit" | |
17902 | ], | |
17903 | "any", | |
17904 | 1 | |
17905 | ] | |
17906 | }, | |
44660702 DM |
17907 | "protected" : 1, |
17908 | "proxyto" : "node", | |
7aacca6f | 17909 | "returns" : { |
56122987 | 17910 | "items" : { |
56122987 | 17911 | "properties" : { |
7aacca6f DM |
17912 | "pool" : { |
17913 | "type" : "integer" | |
17914 | }, | |
44660702 DM |
17915 | "pool_name" : { |
17916 | "type" : "string" | |
17917 | }, | |
7aacca6f DM |
17918 | "size" : { |
17919 | "type" : "integer" | |
56122987 | 17920 | } |
44660702 DM |
17921 | }, |
17922 | "type" : "object" | |
7aacca6f | 17923 | }, |
44660702 DM |
17924 | "links" : [ |
17925 | { | |
17926 | "href" : "{pool_name}", | |
17927 | "rel" : "child" | |
17928 | } | |
17929 | ], | |
7aacca6f DM |
17930 | "type" : "array" |
17931 | } | |
17932 | }, | |
17933 | "POST" : { | |
7aacca6f | 17934 | "description" : "Create POOL", |
7aacca6f | 17935 | "method" : "POST", |
7aacca6f DM |
17936 | "name" : "createpool", |
17937 | "parameters" : { | |
17938 | "additionalProperties" : 0, | |
17939 | "properties" : { | |
7aacca6f | 17940 | "crush_ruleset" : { |
7aacca6f | 17941 | "default" : 0, |
44660702 | 17942 | "description" : "The ruleset to use for mapping object placement in the cluster.", |
7aacca6f | 17943 | "maximum" : 32768, |
44660702 | 17944 | "minimum" : 0, |
7aacca6f | 17945 | "optional" : 1, |
4bd7df8b | 17946 | "type" : "integer", |
013dc89f | 17947 | "typetext" : "<integer> (0 - 32768)" |
56122987 | 17948 | }, |
44660702 DM |
17949 | "min_size" : { |
17950 | "default" : 1, | |
17951 | "description" : "Minimum number of replicas per object", | |
17952 | "maximum" : 3, | |
17953 | "minimum" : 1, | |
17954 | "optional" : 1, | |
4bd7df8b | 17955 | "type" : "integer", |
013dc89f | 17956 | "typetext" : "<integer> (1 - 3)" |
7aacca6f | 17957 | }, |
44660702 DM |
17958 | "name" : { |
17959 | "description" : "The name of the pool. It must be unique.", | |
013dc89f DM |
17960 | "type" : "string", |
17961 | "typetext" : "<string>" | |
44660702 DM |
17962 | }, |
17963 | "node" : { | |
17964 | "description" : "The cluster node name.", | |
17965 | "format" : "pve-node", | |
013dc89f DM |
17966 | "type" : "string", |
17967 | "typetext" : "<string>" | |
44660702 DM |
17968 | }, |
17969 | "pg_num" : { | |
17970 | "default" : 64, | |
17971 | "description" : "Number of placement groups.", | |
17972 | "maximum" : 32768, | |
17973 | "minimum" : 8, | |
17974 | "optional" : 1, | |
4bd7df8b | 17975 | "type" : "integer", |
013dc89f | 17976 | "typetext" : "<integer> (8 - 32768)" |
44660702 DM |
17977 | }, |
17978 | "size" : { | |
17979 | "default" : 2, | |
17980 | "description" : "Number of replicas per object", | |
17981 | "maximum" : 3, | |
17982 | "minimum" : 1, | |
17983 | "optional" : 1, | |
4bd7df8b | 17984 | "type" : "integer", |
013dc89f | 17985 | "typetext" : "<integer> (1 - 3)" |
56122987 DM |
17986 | } |
17987 | } | |
44660702 DM |
17988 | }, |
17989 | "permissions" : { | |
17990 | "check" : [ | |
17991 | "perm", | |
17992 | "/", | |
17993 | [ | |
17994 | "Sys.Modify" | |
17995 | ] | |
17996 | ] | |
17997 | }, | |
17998 | "protected" : 1, | |
17999 | "proxyto" : "node", | |
18000 | "returns" : { | |
18001 | "type" : "null" | |
7aacca6f | 18002 | } |
56122987 | 18003 | } |
44660702 | 18004 | }, |
56122987 | 18005 | "leaf" : 0, |
44660702 DM |
18006 | "path" : "/nodes/{node}/ceph/pools", |
18007 | "text" : "pools" | |
56122987 DM |
18008 | }, |
18009 | { | |
56122987 | 18010 | "info" : { |
7aacca6f | 18011 | "GET" : { |
44660702 DM |
18012 | "description" : "Get OSD crush map", |
18013 | "method" : "GET", | |
18014 | "name" : "crush", | |
18015 | "parameters" : { | |
18016 | "additionalProperties" : 0, | |
18017 | "properties" : { | |
18018 | "node" : { | |
18019 | "description" : "The cluster node name.", | |
18020 | "format" : "pve-node", | |
013dc89f DM |
18021 | "type" : "string", |
18022 | "typetext" : "<string>" | |
44660702 DM |
18023 | } |
18024 | } | |
18025 | }, | |
7aacca6f DM |
18026 | "permissions" : { |
18027 | "check" : [ | |
18028 | "perm", | |
18029 | "/", | |
18030 | [ | |
18031 | "Sys.Audit", | |
18032 | "Datastore.Audit" | |
18033 | ], | |
18034 | "any", | |
18035 | 1 | |
18036 | ] | |
18037 | }, | |
44660702 | 18038 | "protected" : 1, |
7aacca6f | 18039 | "proxyto" : "node", |
56122987 | 18040 | "returns" : { |
7aacca6f | 18041 | "type" : "string" |
44660702 | 18042 | } |
56122987 DM |
18043 | } |
18044 | }, | |
44660702 DM |
18045 | "leaf" : 1, |
18046 | "path" : "/nodes/{node}/ceph/crush", | |
7aacca6f | 18047 | "text" : "crush" |
56122987 DM |
18048 | }, |
18049 | { | |
56122987 | 18050 | "info" : { |
7aacca6f | 18051 | "GET" : { |
44660702 DM |
18052 | "description" : "Read ceph log", |
18053 | "method" : "GET", | |
18054 | "name" : "log", | |
18055 | "parameters" : { | |
18056 | "additionalProperties" : 0, | |
18057 | "properties" : { | |
18058 | "limit" : { | |
18059 | "minimum" : 0, | |
18060 | "optional" : 1, | |
4bd7df8b | 18061 | "type" : "integer", |
013dc89f | 18062 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 18063 | }, |
44660702 DM |
18064 | "node" : { |
18065 | "description" : "The cluster node name.", | |
18066 | "format" : "pve-node", | |
013dc89f DM |
18067 | "type" : "string", |
18068 | "typetext" : "<string>" | |
44660702 DM |
18069 | }, |
18070 | "start" : { | |
18071 | "minimum" : 0, | |
18072 | "optional" : 1, | |
4bd7df8b | 18073 | "type" : "integer", |
013dc89f | 18074 | "typetext" : "<integer> (0 - N)" |
44660702 | 18075 | } |
7aacca6f | 18076 | } |
56122987 | 18077 | }, |
56122987 DM |
18078 | "permissions" : { |
18079 | "check" : [ | |
18080 | "perm", | |
7aacca6f | 18081 | "/nodes/{node}", |
56122987 | 18082 | [ |
7aacca6f | 18083 | "Sys.Syslog" |
56122987 DM |
18084 | ] |
18085 | ] | |
18086 | }, | |
7aacca6f | 18087 | "protected" : 1, |
44660702 DM |
18088 | "proxyto" : "node", |
18089 | "returns" : { | |
18090 | "items" : { | |
18091 | "properties" : { | |
18092 | "n" : { | |
18093 | "description" : "Line number", | |
18094 | "type" : "integer" | |
18095 | }, | |
18096 | "t" : { | |
18097 | "description" : "Line text", | |
18098 | "type" : "string" | |
18099 | } | |
56122987 | 18100 | }, |
44660702 | 18101 | "type" : "object" |
56122987 | 18102 | }, |
44660702 | 18103 | "type" : "array" |
7aacca6f | 18104 | } |
56122987 DM |
18105 | } |
18106 | }, | |
18107 | "leaf" : 1, | |
44660702 DM |
18108 | "path" : "/nodes/{node}/ceph/log", |
18109 | "text" : "log" | |
7aacca6f DM |
18110 | } |
18111 | ], | |
44660702 DM |
18112 | "info" : { |
18113 | "GET" : { | |
18114 | "description" : "Directory index.", | |
18115 | "method" : "GET", | |
18116 | "name" : "index", | |
18117 | "parameters" : { | |
18118 | "additionalProperties" : 0, | |
18119 | "properties" : { | |
18120 | "node" : { | |
18121 | "description" : "The cluster node name.", | |
18122 | "format" : "pve-node", | |
013dc89f DM |
18123 | "type" : "string", |
18124 | "typetext" : "<string>" | |
44660702 DM |
18125 | } |
18126 | } | |
18127 | }, | |
18128 | "permissions" : { | |
18129 | "check" : [ | |
18130 | "perm", | |
18131 | "/", | |
18132 | [ | |
18133 | "Sys.Audit", | |
18134 | "Datastore.Audit" | |
18135 | ], | |
18136 | "any", | |
18137 | 1 | |
18138 | ] | |
18139 | }, | |
18140 | "returns" : { | |
18141 | "items" : { | |
18142 | "properties" : {}, | |
18143 | "type" : "object" | |
18144 | }, | |
18145 | "links" : [ | |
18146 | { | |
18147 | "href" : "{name}", | |
18148 | "rel" : "child" | |
18149 | } | |
18150 | ], | |
18151 | "type" : "array" | |
18152 | } | |
18153 | } | |
18154 | }, | |
7aacca6f | 18155 | "leaf" : 0, |
44660702 DM |
18156 | "path" : "/nodes/{node}/ceph", |
18157 | "text" : "ceph" | |
7aacca6f DM |
18158 | }, |
18159 | { | |
4bd7df8b DM |
18160 | "children" : [ |
18161 | { | |
18162 | "info" : { | |
18163 | "GET" : { | |
18164 | "description" : "Extract configuration from vzdump backup archive.", | |
18165 | "method" : "GET", | |
18166 | "name" : "extractconfig", | |
18167 | "parameters" : { | |
18168 | "additionalProperties" : 0, | |
18169 | "properties" : { | |
18170 | "node" : { | |
18171 | "description" : "The cluster node name.", | |
18172 | "format" : "pve-node", | |
013dc89f DM |
18173 | "type" : "string", |
18174 | "typetext" : "<string>" | |
4bd7df8b DM |
18175 | }, |
18176 | "volume" : { | |
18177 | "description" : "Volume identifier", | |
013dc89f DM |
18178 | "type" : "string", |
18179 | "typetext" : "<string>" | |
4bd7df8b DM |
18180 | } |
18181 | } | |
18182 | }, | |
18183 | "permissions" : { | |
18184 | "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.", | |
18185 | "user" : "all" | |
18186 | }, | |
18187 | "protected" : 1, | |
18188 | "proxyto" : "node", | |
18189 | "returns" : { | |
18190 | "type" : "string" | |
18191 | } | |
18192 | } | |
18193 | }, | |
18194 | "leaf" : 1, | |
18195 | "path" : "/nodes/{node}/vzdump/extractconfig", | |
18196 | "text" : "extractconfig" | |
18197 | } | |
18198 | ], | |
7aacca6f DM |
18199 | "info" : { |
18200 | "POST" : { | |
7aacca6f | 18201 | "description" : "Create backup.", |
44660702 | 18202 | "method" : "POST", |
7aacca6f DM |
18203 | "name" : "vzdump", |
18204 | "parameters" : { | |
44660702 | 18205 | "additionalProperties" : 0, |
7aacca6f | 18206 | "properties" : { |
44660702 DM |
18207 | "all" : { |
18208 | "default" : 0, | |
18209 | "description" : "Backup all known guest systems on this host.", | |
7aacca6f | 18210 | "optional" : 1, |
013dc89f DM |
18211 | "type" : "boolean", |
18212 | "typetext" : "<boolean>" | |
56122987 | 18213 | }, |
44660702 | 18214 | "bwlimit" : { |
7aacca6f | 18215 | "default" : 0, |
44660702 DM |
18216 | "description" : "Limit I/O bandwidth (KBytes per second).", |
18217 | "minimum" : 0, | |
7aacca6f | 18218 | "optional" : 1, |
4bd7df8b | 18219 | "type" : "integer", |
013dc89f | 18220 | "typetext" : "<integer> (0 - N)" |
56122987 | 18221 | }, |
44660702 DM |
18222 | "compress" : { |
18223 | "default" : "0", | |
18224 | "description" : "Compress dump file.", | |
18225 | "enum" : [ | |
18226 | "0", | |
18227 | "1", | |
18228 | "gzip", | |
18229 | "lzo" | |
18230 | ], | |
7aacca6f | 18231 | "optional" : 1, |
44660702 | 18232 | "type" : "string" |
56122987 | 18233 | }, |
44660702 DM |
18234 | "dumpdir" : { |
18235 | "description" : "Store resulting files to specified directory.", | |
7aacca6f | 18236 | "optional" : 1, |
013dc89f DM |
18237 | "type" : "string", |
18238 | "typetext" : "<string>" | |
7aacca6f | 18239 | }, |
44660702 DM |
18240 | "exclude" : { |
18241 | "description" : "Exclude specified guest systems (assumes --all)", | |
18242 | "format" : "pve-vmid-list", | |
7aacca6f | 18243 | "optional" : 1, |
013dc89f DM |
18244 | "type" : "string", |
18245 | "typetext" : "<string>" | |
7aacca6f | 18246 | }, |
44660702 DM |
18247 | "exclude-path" : { |
18248 | "description" : "Exclude certain files/directories (shell globs).", | |
18249 | "format" : "string-alist", | |
7aacca6f | 18250 | "optional" : 1, |
013dc89f DM |
18251 | "type" : "string", |
18252 | "typetext" : "<string>" | |
7aacca6f | 18253 | }, |
44660702 DM |
18254 | "ionice" : { |
18255 | "default" : 7, | |
18256 | "description" : "Set CFQ ionice priority.", | |
18257 | "maximum" : 8, | |
18258 | "minimum" : 0, | |
18259 | "optional" : 1, | |
4bd7df8b | 18260 | "type" : "integer", |
013dc89f | 18261 | "typetext" : "<integer> (0 - 8)" |
7aacca6f | 18262 | }, |
44660702 DM |
18263 | "lockwait" : { |
18264 | "default" : 180, | |
18265 | "description" : "Maximal time to wait for the global lock (minutes).", | |
18266 | "minimum" : 0, | |
7aacca6f | 18267 | "optional" : 1, |
4bd7df8b | 18268 | "type" : "integer", |
013dc89f | 18269 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
18270 | }, |
18271 | "mailnotification" : { | |
44660702 | 18272 | "default" : "always", |
7aacca6f DM |
18273 | "description" : "Specify when to send an email", |
18274 | "enum" : [ | |
18275 | "always", | |
18276 | "failure" | |
18277 | ], | |
7aacca6f | 18278 | "optional" : 1, |
44660702 | 18279 | "type" : "string" |
7aacca6f DM |
18280 | }, |
18281 | "mailto" : { | |
7aacca6f | 18282 | "description" : "Comma-separated list of email addresses that should receive email notifications.", |
44660702 | 18283 | "format" : "string-list", |
7aacca6f | 18284 | "optional" : 1, |
013dc89f DM |
18285 | "type" : "string", |
18286 | "typetext" : "<string>" | |
56122987 | 18287 | }, |
44660702 DM |
18288 | "maxfiles" : { |
18289 | "default" : 1, | |
18290 | "description" : "Maximal number of backup files per guest system.", | |
18291 | "minimum" : 1, | |
7aacca6f | 18292 | "optional" : 1, |
4bd7df8b | 18293 | "type" : "integer", |
013dc89f | 18294 | "typetext" : "<integer> (1 - N)" |
56122987 | 18295 | }, |
7aacca6f | 18296 | "mode" : { |
44660702 | 18297 | "default" : "snapshot", |
7aacca6f DM |
18298 | "description" : "Backup mode.", |
18299 | "enum" : [ | |
18300 | "snapshot", | |
18301 | "suspend", | |
18302 | "stop" | |
18303 | ], | |
44660702 DM |
18304 | "optional" : 1, |
18305 | "type" : "string" | |
7aacca6f | 18306 | }, |
44660702 DM |
18307 | "node" : { |
18308 | "description" : "Only run if executed on this node.", | |
18309 | "format" : "pve-node", | |
18310 | "optional" : 1, | |
013dc89f DM |
18311 | "type" : "string", |
18312 | "typetext" : "<string>" | |
44660702 DM |
18313 | }, |
18314 | "pigz" : { | |
18315 | "default" : 0, | |
18316 | "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.", | |
18317 | "optional" : 1, | |
013dc89f DM |
18318 | "type" : "integer", |
18319 | "typetext" : "<integer>" | |
44660702 DM |
18320 | }, |
18321 | "quiet" : { | |
18322 | "default" : 0, | |
18323 | "description" : "Be quiet.", | |
18324 | "optional" : 1, | |
013dc89f DM |
18325 | "type" : "boolean", |
18326 | "typetext" : "<boolean>" | |
44660702 DM |
18327 | }, |
18328 | "remove" : { | |
7aacca6f | 18329 | "default" : 1, |
44660702 | 18330 | "description" : "Remove old backup files if there are more than 'maxfiles' backup files.", |
7aacca6f | 18331 | "optional" : 1, |
013dc89f DM |
18332 | "type" : "boolean", |
18333 | "typetext" : "<boolean>" | |
7aacca6f | 18334 | }, |
44660702 DM |
18335 | "script" : { |
18336 | "description" : "Use specified hook script.", | |
18337 | "optional" : 1, | |
013dc89f DM |
18338 | "type" : "string", |
18339 | "typetext" : "<string>" | |
44660702 DM |
18340 | }, |
18341 | "size" : { | |
18342 | "default" : 1024, | |
18343 | "description" : "Unused, will be removed in a future release.", | |
18344 | "minimum" : 500, | |
18345 | "optional" : 1, | |
4bd7df8b | 18346 | "type" : "integer", |
013dc89f | 18347 | "typetext" : "<integer> (500 - N)" |
44660702 DM |
18348 | }, |
18349 | "stdexcludes" : { | |
18350 | "default" : 1, | |
18351 | "description" : "Exclude temporary files and logs.", | |
18352 | "optional" : 1, | |
013dc89f DM |
18353 | "type" : "boolean", |
18354 | "typetext" : "<boolean>" | |
44660702 DM |
18355 | }, |
18356 | "stdout" : { | |
18357 | "description" : "Write tar to stdout, not to a file.", | |
7aacca6f | 18358 | "optional" : 1, |
013dc89f DM |
18359 | "type" : "boolean", |
18360 | "typetext" : "<boolean>" | |
44660702 DM |
18361 | }, |
18362 | "stop" : { | |
7aacca6f | 18363 | "default" : 0, |
44660702 DM |
18364 | "description" : "Stop runnig backup jobs on this host.", |
18365 | "optional" : 1, | |
013dc89f DM |
18366 | "type" : "boolean", |
18367 | "typetext" : "<boolean>" | |
7aacca6f | 18368 | }, |
44660702 DM |
18369 | "stopwait" : { |
18370 | "default" : 10, | |
18371 | "description" : "Maximal time to wait until a guest system is stopped (minutes).", | |
7aacca6f DM |
18372 | "minimum" : 0, |
18373 | "optional" : 1, | |
4bd7df8b | 18374 | "type" : "integer", |
013dc89f | 18375 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 18376 | }, |
44660702 DM |
18377 | "storage" : { |
18378 | "description" : "Store resulting file to this storage.", | |
18379 | "format" : "pve-storage-id", | |
7aacca6f | 18380 | "optional" : 1, |
013dc89f DM |
18381 | "type" : "string", |
18382 | "typetext" : "<string>" | |
44660702 DM |
18383 | }, |
18384 | "tmpdir" : { | |
18385 | "description" : "Store temporary files to specified directory.", | |
18386 | "optional" : 1, | |
013dc89f DM |
18387 | "type" : "string", |
18388 | "typetext" : "<string>" | |
7aacca6f DM |
18389 | }, |
18390 | "vmid" : { | |
7aacca6f | 18391 | "description" : "The ID of the guest system you want to backup.", |
44660702 | 18392 | "format" : "pve-vmid-list", |
7aacca6f | 18393 | "optional" : 1, |
013dc89f DM |
18394 | "type" : "string", |
18395 | "typetext" : "<string>" | |
7aacca6f | 18396 | } |
7aacca6f DM |
18397 | } |
18398 | }, | |
7aacca6f | 18399 | "permissions" : { |
de0983cb | 18400 | "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.", |
44660702 | 18401 | "user" : "all" |
7aacca6f | 18402 | }, |
44660702 | 18403 | "protected" : 1, |
7aacca6f | 18404 | "proxyto" : "node", |
7aacca6f | 18405 | "returns" : { |
44660702 | 18406 | "type" : "string" |
7aacca6f DM |
18407 | } |
18408 | } | |
18409 | }, | |
4bd7df8b | 18410 | "leaf" : 0, |
44660702 DM |
18411 | "path" : "/nodes/{node}/vzdump", |
18412 | "text" : "vzdump" | |
18413 | }, | |
18414 | { | |
7aacca6f DM |
18415 | "children" : [ |
18416 | { | |
7aacca6f DM |
18417 | "children" : [ |
18418 | { | |
7aacca6f DM |
18419 | "info" : { |
18420 | "GET" : { | |
7aacca6f DM |
18421 | "description" : "Read service properties", |
18422 | "method" : "GET", | |
18423 | "name" : "service_state", | |
18424 | "parameters" : { | |
44660702 | 18425 | "additionalProperties" : 0, |
7aacca6f DM |
18426 | "properties" : { |
18427 | "node" : { | |
7aacca6f | 18428 | "description" : "The cluster node name.", |
44660702 | 18429 | "format" : "pve-node", |
013dc89f DM |
18430 | "type" : "string", |
18431 | "typetext" : "<string>" | |
7aacca6f DM |
18432 | }, |
18433 | "service" : { | |
44660702 | 18434 | "description" : "Service ID", |
7aacca6f DM |
18435 | "enum" : [ |
18436 | "pveproxy", | |
18437 | "pvedaemon", | |
18438 | "spiceproxy", | |
18439 | "pvestatd", | |
18440 | "pve-cluster", | |
18441 | "corosync", | |
18442 | "pve-firewall", | |
18443 | "pvefw-logger", | |
18444 | "pve-ha-crm", | |
18445 | "pve-ha-lrm", | |
18446 | "sshd", | |
18447 | "syslog", | |
18448 | "cron", | |
18449 | "postfix", | |
18450 | "ksmtuned", | |
18451 | "systemd-timesyncd" | |
18452 | ], | |
7aacca6f DM |
18453 | "type" : "string" |
18454 | } | |
44660702 | 18455 | } |
56122987 | 18456 | }, |
7aacca6f DM |
18457 | "permissions" : { |
18458 | "check" : [ | |
18459 | "perm", | |
18460 | "/nodes/{node}", | |
18461 | [ | |
44660702 | 18462 | "Sys.Audit" |
7aacca6f DM |
18463 | ] |
18464 | ] | |
56122987 | 18465 | }, |
44660702 | 18466 | "protected" : 1, |
7aacca6f | 18467 | "proxyto" : "node", |
44660702 DM |
18468 | "returns" : { |
18469 | "properties" : {}, | |
18470 | "type" : "object" | |
18471 | } | |
18472 | } | |
18473 | }, | |
18474 | "leaf" : 1, | |
18475 | "path" : "/nodes/{node}/services/{service}/state", | |
18476 | "text" : "state" | |
18477 | }, | |
18478 | { | |
18479 | "info" : { | |
18480 | "POST" : { | |
18481 | "description" : "Start service.", | |
7aacca6f DM |
18482 | "method" : "POST", |
18483 | "name" : "service_start", | |
18484 | "parameters" : { | |
44660702 | 18485 | "additionalProperties" : 0, |
7aacca6f | 18486 | "properties" : { |
44660702 DM |
18487 | "node" : { |
18488 | "description" : "The cluster node name.", | |
18489 | "format" : "pve-node", | |
013dc89f DM |
18490 | "type" : "string", |
18491 | "typetext" : "<string>" | |
44660702 | 18492 | }, |
7aacca6f | 18493 | "service" : { |
44660702 | 18494 | "description" : "Service ID", |
7aacca6f DM |
18495 | "enum" : [ |
18496 | "pveproxy", | |
18497 | "pvedaemon", | |
18498 | "spiceproxy", | |
18499 | "pvestatd", | |
18500 | "pve-cluster", | |
18501 | "corosync", | |
18502 | "pve-firewall", | |
18503 | "pvefw-logger", | |
18504 | "pve-ha-crm", | |
18505 | "pve-ha-lrm", | |
18506 | "sshd", | |
18507 | "syslog", | |
18508 | "cron", | |
18509 | "postfix", | |
18510 | "ksmtuned", | |
18511 | "systemd-timesyncd" | |
18512 | ], | |
7aacca6f DM |
18513 | "type" : "string" |
18514 | } | |
44660702 | 18515 | } |
56122987 | 18516 | }, |
56122987 DM |
18517 | "permissions" : { |
18518 | "check" : [ | |
18519 | "perm", | |
18520 | "/nodes/{node}", | |
18521 | [ | |
7aacca6f | 18522 | "Sys.Modify" |
56122987 DM |
18523 | ] |
18524 | ] | |
7aacca6f | 18525 | }, |
7aacca6f | 18526 | "protected" : 1, |
44660702 DM |
18527 | "proxyto" : "node", |
18528 | "returns" : { | |
18529 | "type" : "string" | |
18530 | } | |
18531 | } | |
18532 | }, | |
18533 | "leaf" : 1, | |
18534 | "path" : "/nodes/{node}/services/{service}/start", | |
18535 | "text" : "start" | |
18536 | }, | |
18537 | { | |
18538 | "info" : { | |
18539 | "POST" : { | |
18540 | "description" : "Stop service.", | |
18541 | "method" : "POST", | |
7aacca6f | 18542 | "name" : "service_stop", |
56122987 | 18543 | "parameters" : { |
7aacca6f | 18544 | "additionalProperties" : 0, |
56122987 DM |
18545 | "properties" : { |
18546 | "node" : { | |
44660702 | 18547 | "description" : "The cluster node name.", |
56122987 | 18548 | "format" : "pve-node", |
013dc89f DM |
18549 | "type" : "string", |
18550 | "typetext" : "<string>" | |
56122987 DM |
18551 | }, |
18552 | "service" : { | |
44660702 | 18553 | "description" : "Service ID", |
56122987 DM |
18554 | "enum" : [ |
18555 | "pveproxy", | |
18556 | "pvedaemon", | |
18557 | "spiceproxy", | |
18558 | "pvestatd", | |
18559 | "pve-cluster", | |
18560 | "corosync", | |
18561 | "pve-firewall", | |
18562 | "pvefw-logger", | |
18563 | "pve-ha-crm", | |
18564 | "pve-ha-lrm", | |
18565 | "sshd", | |
18566 | "syslog", | |
18567 | "cron", | |
18568 | "postfix", | |
18569 | "ksmtuned", | |
18570 | "systemd-timesyncd" | |
18571 | ], | |
56122987 DM |
18572 | "type" : "string" |
18573 | } | |
7aacca6f | 18574 | } |
44660702 | 18575 | }, |
56122987 DM |
18576 | "permissions" : { |
18577 | "check" : [ | |
18578 | "perm", | |
18579 | "/nodes/{node}", | |
18580 | [ | |
18581 | "Sys.Modify" | |
18582 | ] | |
18583 | ] | |
18584 | }, | |
44660702 DM |
18585 | "protected" : 1, |
18586 | "proxyto" : "node", | |
7aacca6f DM |
18587 | "returns" : { |
18588 | "type" : "string" | |
44660702 DM |
18589 | } |
18590 | } | |
18591 | }, | |
18592 | "leaf" : 1, | |
18593 | "path" : "/nodes/{node}/services/{service}/stop", | |
18594 | "text" : "stop" | |
18595 | }, | |
18596 | { | |
18597 | "info" : { | |
18598 | "POST" : { | |
18599 | "description" : "Restart service.", | |
18600 | "method" : "POST", | |
18601 | "name" : "service_restart", | |
56122987 DM |
18602 | "parameters" : { |
18603 | "additionalProperties" : 0, | |
18604 | "properties" : { | |
7aacca6f DM |
18605 | "node" : { |
18606 | "description" : "The cluster node name.", | |
44660702 | 18607 | "format" : "pve-node", |
013dc89f DM |
18608 | "type" : "string", |
18609 | "typetext" : "<string>" | |
7aacca6f DM |
18610 | }, |
18611 | "service" : { | |
44660702 | 18612 | "description" : "Service ID", |
56122987 DM |
18613 | "enum" : [ |
18614 | "pveproxy", | |
18615 | "pvedaemon", | |
18616 | "spiceproxy", | |
18617 | "pvestatd", | |
18618 | "pve-cluster", | |
18619 | "corosync", | |
18620 | "pve-firewall", | |
18621 | "pvefw-logger", | |
18622 | "pve-ha-crm", | |
18623 | "pve-ha-lrm", | |
18624 | "sshd", | |
18625 | "syslog", | |
18626 | "cron", | |
18627 | "postfix", | |
18628 | "ksmtuned", | |
18629 | "systemd-timesyncd" | |
7aacca6f | 18630 | ], |
7aacca6f | 18631 | "type" : "string" |
56122987 DM |
18632 | } |
18633 | } | |
18634 | }, | |
44660702 DM |
18635 | "permissions" : { |
18636 | "check" : [ | |
18637 | "perm", | |
18638 | "/nodes/{node}", | |
18639 | [ | |
18640 | "Sys.Modify" | |
18641 | ] | |
18642 | ] | |
18643 | }, | |
18644 | "protected" : 1, | |
18645 | "proxyto" : "node", | |
18646 | "returns" : { | |
18647 | "type" : "string" | |
18648 | } | |
56122987 | 18649 | } |
44660702 DM |
18650 | }, |
18651 | "leaf" : 1, | |
18652 | "path" : "/nodes/{node}/services/{service}/restart", | |
18653 | "text" : "restart" | |
56122987 DM |
18654 | }, |
18655 | { | |
56122987 DM |
18656 | "info" : { |
18657 | "POST" : { | |
44660702 DM |
18658 | "description" : "Reload service.", |
18659 | "method" : "POST", | |
7aacca6f | 18660 | "name" : "service_reload", |
56122987 DM |
18661 | "parameters" : { |
18662 | "additionalProperties" : 0, | |
18663 | "properties" : { | |
44660702 DM |
18664 | "node" : { |
18665 | "description" : "The cluster node name.", | |
18666 | "format" : "pve-node", | |
013dc89f DM |
18667 | "type" : "string", |
18668 | "typetext" : "<string>" | |
44660702 | 18669 | }, |
56122987 | 18670 | "service" : { |
56122987 DM |
18671 | "description" : "Service ID", |
18672 | "enum" : [ | |
18673 | "pveproxy", | |
18674 | "pvedaemon", | |
18675 | "spiceproxy", | |
18676 | "pvestatd", | |
18677 | "pve-cluster", | |
18678 | "corosync", | |
18679 | "pve-firewall", | |
18680 | "pvefw-logger", | |
18681 | "pve-ha-crm", | |
18682 | "pve-ha-lrm", | |
18683 | "sshd", | |
18684 | "syslog", | |
18685 | "cron", | |
18686 | "postfix", | |
18687 | "ksmtuned", | |
18688 | "systemd-timesyncd" | |
44660702 DM |
18689 | ], |
18690 | "type" : "string" | |
56122987 DM |
18691 | } |
18692 | } | |
18693 | }, | |
56122987 DM |
18694 | "permissions" : { |
18695 | "check" : [ | |
18696 | "perm", | |
18697 | "/nodes/{node}", | |
18698 | [ | |
18699 | "Sys.Modify" | |
18700 | ] | |
18701 | ] | |
18702 | }, | |
44660702 | 18703 | "protected" : 1, |
56122987 | 18704 | "proxyto" : "node", |
7aacca6f DM |
18705 | "returns" : { |
18706 | "type" : "string" | |
56122987 DM |
18707 | } |
18708 | } | |
44660702 DM |
18709 | }, |
18710 | "leaf" : 1, | |
18711 | "path" : "/nodes/{node}/services/{service}/reload", | |
18712 | "text" : "reload" | |
18713 | } | |
18714 | ], | |
18715 | "info" : { | |
18716 | "GET" : { | |
18717 | "description" : "Directory index", | |
18718 | "method" : "GET", | |
18719 | "name" : "srvcmdidx", | |
18720 | "parameters" : { | |
18721 | "additionalProperties" : 0, | |
18722 | "properties" : { | |
18723 | "node" : { | |
18724 | "description" : "The cluster node name.", | |
18725 | "format" : "pve-node", | |
013dc89f DM |
18726 | "type" : "string", |
18727 | "typetext" : "<string>" | |
44660702 DM |
18728 | }, |
18729 | "service" : { | |
18730 | "description" : "Service ID", | |
18731 | "enum" : [ | |
18732 | "pveproxy", | |
18733 | "pvedaemon", | |
18734 | "spiceproxy", | |
18735 | "pvestatd", | |
18736 | "pve-cluster", | |
18737 | "corosync", | |
18738 | "pve-firewall", | |
18739 | "pvefw-logger", | |
18740 | "pve-ha-crm", | |
18741 | "pve-ha-lrm", | |
18742 | "sshd", | |
18743 | "syslog", | |
18744 | "cron", | |
18745 | "postfix", | |
18746 | "ksmtuned", | |
18747 | "systemd-timesyncd" | |
18748 | ], | |
18749 | "type" : "string" | |
18750 | } | |
18751 | } | |
18752 | }, | |
18753 | "permissions" : { | |
18754 | "check" : [ | |
18755 | "perm", | |
18756 | "/nodes/{node}", | |
18757 | [ | |
18758 | "Sys.Audit" | |
18759 | ] | |
18760 | ] | |
18761 | }, | |
18762 | "returns" : { | |
18763 | "items" : { | |
18764 | "properties" : { | |
18765 | "subdir" : { | |
18766 | "type" : "string" | |
18767 | } | |
18768 | }, | |
18769 | "type" : "object" | |
18770 | }, | |
18771 | "links" : [ | |
18772 | { | |
18773 | "href" : "{subdir}", | |
18774 | "rel" : "child" | |
18775 | } | |
18776 | ], | |
18777 | "type" : "array" | |
18778 | } | |
18779 | } | |
18780 | }, | |
18781 | "leaf" : 0, | |
18782 | "path" : "/nodes/{node}/services/{service}", | |
18783 | "text" : "{service}" | |
18784 | } | |
18785 | ], | |
18786 | "info" : { | |
18787 | "GET" : { | |
18788 | "description" : "Service list.", | |
18789 | "method" : "GET", | |
18790 | "name" : "index", | |
18791 | "parameters" : { | |
18792 | "additionalProperties" : 0, | |
18793 | "properties" : { | |
18794 | "node" : { | |
18795 | "description" : "The cluster node name.", | |
18796 | "format" : "pve-node", | |
013dc89f DM |
18797 | "type" : "string", |
18798 | "typetext" : "<string>" | |
44660702 DM |
18799 | } |
18800 | } | |
18801 | }, | |
18802 | "permissions" : { | |
18803 | "check" : [ | |
18804 | "perm", | |
18805 | "/nodes/{node}", | |
18806 | [ | |
18807 | "Sys.Audit" | |
18808 | ] | |
18809 | ] | |
18810 | }, | |
18811 | "protected" : 1, | |
18812 | "proxyto" : "node", | |
18813 | "returns" : { | |
18814 | "items" : { | |
18815 | "properties" : {}, | |
18816 | "type" : "object" | |
18817 | }, | |
18818 | "links" : [ | |
18819 | { | |
18820 | "href" : "{service}", | |
18821 | "rel" : "child" | |
56122987 | 18822 | } |
44660702 DM |
18823 | ], |
18824 | "type" : "array" | |
18825 | } | |
7aacca6f | 18826 | } |
44660702 | 18827 | }, |
7aacca6f | 18828 | "leaf" : 0, |
44660702 DM |
18829 | "path" : "/nodes/{node}/services", |
18830 | "text" : "services" | |
7aacca6f DM |
18831 | }, |
18832 | { | |
7aacca6f DM |
18833 | "info" : { |
18834 | "GET" : { | |
44660702 DM |
18835 | "description" : "Read subscription info.", |
18836 | "method" : "GET", | |
18837 | "name" : "get", | |
7aacca6f | 18838 | "parameters" : { |
44660702 | 18839 | "additionalProperties" : 0, |
7aacca6f DM |
18840 | "properties" : { |
18841 | "node" : { | |
18842 | "description" : "The cluster node name.", | |
44660702 | 18843 | "format" : "pve-node", |
013dc89f DM |
18844 | "type" : "string", |
18845 | "typetext" : "<string>" | |
7aacca6f | 18846 | } |
44660702 DM |
18847 | } |
18848 | }, | |
18849 | "permissions" : { | |
18850 | "user" : "all" | |
7aacca6f | 18851 | }, |
7aacca6f DM |
18852 | "proxyto" : "node", |
18853 | "returns" : { | |
18854 | "type" : "object" | |
44660702 | 18855 | } |
7aacca6f | 18856 | }, |
44660702 DM |
18857 | "POST" : { |
18858 | "description" : "Update subscription info.", | |
18859 | "method" : "POST", | |
18860 | "name" : "update", | |
7aacca6f DM |
18861 | "parameters" : { |
18862 | "additionalProperties" : 0, | |
18863 | "properties" : { | |
44660702 DM |
18864 | "force" : { |
18865 | "default" : 0, | |
18866 | "description" : "Always connect to server, even if we have up to date info inside local cache.", | |
18867 | "optional" : 1, | |
013dc89f DM |
18868 | "type" : "boolean", |
18869 | "typetext" : "<boolean>" | |
44660702 | 18870 | }, |
7aacca6f | 18871 | "node" : { |
7aacca6f | 18872 | "description" : "The cluster node name.", |
44660702 | 18873 | "format" : "pve-node", |
013dc89f DM |
18874 | "type" : "string", |
18875 | "typetext" : "<string>" | |
7aacca6f DM |
18876 | } |
18877 | } | |
18878 | }, | |
7aacca6f | 18879 | "protected" : 1, |
7aacca6f | 18880 | "proxyto" : "node", |
44660702 DM |
18881 | "returns" : { |
18882 | "type" : "null" | |
18883 | } | |
18884 | }, | |
18885 | "PUT" : { | |
18886 | "description" : "Set subscription key.", | |
18887 | "method" : "PUT", | |
18888 | "name" : "set", | |
7aacca6f DM |
18889 | "parameters" : { |
18890 | "additionalProperties" : 0, | |
18891 | "properties" : { | |
44660702 DM |
18892 | "key" : { |
18893 | "description" : "Proxmox VE subscription key", | |
013dc89f DM |
18894 | "type" : "string", |
18895 | "typetext" : "<string>" | |
7aacca6f DM |
18896 | }, |
18897 | "node" : { | |
7aacca6f | 18898 | "description" : "The cluster node name.", |
44660702 | 18899 | "format" : "pve-node", |
013dc89f DM |
18900 | "type" : "string", |
18901 | "typetext" : "<string>" | |
7aacca6f DM |
18902 | } |
18903 | } | |
18904 | }, | |
44660702 DM |
18905 | "protected" : 1, |
18906 | "proxyto" : "node", | |
7aacca6f DM |
18907 | "returns" : { |
18908 | "type" : "null" | |
44660702 | 18909 | } |
7aacca6f DM |
18910 | } |
18911 | }, | |
44660702 | 18912 | "leaf" : 1, |
7aacca6f | 18913 | "path" : "/nodes/{node}/subscription", |
44660702 | 18914 | "text" : "subscription" |
7aacca6f DM |
18915 | }, |
18916 | { | |
7aacca6f DM |
18917 | "children" : [ |
18918 | { | |
56122987 | 18919 | "info" : { |
7aacca6f | 18920 | "DELETE" : { |
44660702 DM |
18921 | "description" : "Delete network device configuration", |
18922 | "method" : "DELETE", | |
18923 | "name" : "delete_network", | |
18924 | "parameters" : { | |
18925 | "additionalProperties" : 0, | |
18926 | "properties" : { | |
18927 | "iface" : { | |
18928 | "description" : "Network interface name.", | |
18929 | "format" : "pve-iface", | |
18930 | "maxLength" : 20, | |
18931 | "minLength" : 2, | |
013dc89f DM |
18932 | "type" : "string", |
18933 | "typetext" : "<string>" | |
44660702 DM |
18934 | }, |
18935 | "node" : { | |
18936 | "description" : "The cluster node name.", | |
18937 | "format" : "pve-node", | |
013dc89f DM |
18938 | "type" : "string", |
18939 | "typetext" : "<string>" | |
44660702 DM |
18940 | } |
18941 | } | |
7aacca6f DM |
18942 | }, |
18943 | "permissions" : { | |
18944 | "check" : [ | |
18945 | "perm", | |
18946 | "/nodes/{node}", | |
18947 | [ | |
18948 | "Sys.Modify" | |
18949 | ] | |
18950 | ] | |
18951 | }, | |
44660702 | 18952 | "protected" : 1, |
7aacca6f | 18953 | "proxyto" : "node", |
44660702 DM |
18954 | "returns" : { |
18955 | "type" : "null" | |
18956 | } | |
18957 | }, | |
18958 | "GET" : { | |
18959 | "description" : "Read network device configuration", | |
18960 | "method" : "GET", | |
18961 | "name" : "network_config", | |
56122987 | 18962 | "parameters" : { |
44660702 | 18963 | "additionalProperties" : 0, |
56122987 | 18964 | "properties" : { |
7aacca6f | 18965 | "iface" : { |
7aacca6f | 18966 | "description" : "Network interface name.", |
44660702 DM |
18967 | "format" : "pve-iface", |
18968 | "maxLength" : 20, | |
7aacca6f | 18969 | "minLength" : 2, |
013dc89f DM |
18970 | "type" : "string", |
18971 | "typetext" : "<string>" | |
44660702 DM |
18972 | }, |
18973 | "node" : { | |
18974 | "description" : "The cluster node name.", | |
18975 | "format" : "pve-node", | |
013dc89f DM |
18976 | "type" : "string", |
18977 | "typetext" : "<string>" | |
56122987 | 18978 | } |
44660702 | 18979 | } |
7aacca6f DM |
18980 | }, |
18981 | "permissions" : { | |
18982 | "check" : [ | |
18983 | "perm", | |
18984 | "/nodes/{node}", | |
18985 | [ | |
44660702 | 18986 | "Sys.Audit" |
7aacca6f DM |
18987 | ] |
18988 | ] | |
18989 | }, | |
18990 | "proxyto" : "node", | |
44660702 DM |
18991 | "returns" : { |
18992 | "properties" : { | |
18993 | "method" : { | |
18994 | "type" : "string" | |
18995 | }, | |
18996 | "type" : { | |
18997 | "type" : "string" | |
18998 | } | |
18999 | }, | |
19000 | "type" : "object" | |
19001 | } | |
19002 | }, | |
19003 | "PUT" : { | |
7aacca6f DM |
19004 | "description" : "Update network device configuration", |
19005 | "method" : "PUT", | |
19006 | "name" : "update_network", | |
19007 | "parameters" : { | |
19008 | "additionalProperties" : 0, | |
19009 | "properties" : { | |
7aacca6f | 19010 | "address" : { |
44660702 | 19011 | "description" : "IP address.", |
7aacca6f | 19012 | "format" : "ipv4", |
44660702 | 19013 | "optional" : 1, |
7aacca6f | 19014 | "requires" : "netmask", |
013dc89f DM |
19015 | "type" : "string", |
19016 | "typetext" : "<string>" | |
7aacca6f | 19017 | }, |
44660702 DM |
19018 | "address6" : { |
19019 | "description" : "IP address.", | |
19020 | "format" : "ipv6", | |
19021 | "optional" : 1, | |
19022 | "requires" : "netmask6", | |
013dc89f DM |
19023 | "type" : "string", |
19024 | "typetext" : "<string>" | |
7aacca6f DM |
19025 | }, |
19026 | "autostart" : { | |
44660702 | 19027 | "description" : "Automatically start interface on boot.", |
7aacca6f | 19028 | "optional" : 1, |
013dc89f DM |
19029 | "type" : "boolean", |
19030 | "typetext" : "<boolean>" | |
7aacca6f | 19031 | }, |
44660702 DM |
19032 | "bond_mode" : { |
19033 | "description" : "Bonding mode.", | |
7aacca6f | 19034 | "enum" : [ |
44660702 DM |
19035 | "balance-rr", |
19036 | "active-backup", | |
19037 | "balance-xor", | |
19038 | "broadcast", | |
19039 | "802.3ad", | |
19040 | "balance-tlb", | |
19041 | "balance-alb", | |
19042 | "balance-slb", | |
19043 | "lacp-balance-slb", | |
19044 | "lacp-balance-tcp" | |
19045 | ], | |
7aacca6f | 19046 | "optional" : 1, |
44660702 | 19047 | "type" : "string" |
7aacca6f | 19048 | }, |
44660702 DM |
19049 | "bond_xmit_hash_policy" : { |
19050 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
19051 | "enum" : [ | |
19052 | "layer2", | |
19053 | "layer2+3", | |
19054 | "layer3+4" | |
19055 | ], | |
7aacca6f | 19056 | "optional" : 1, |
44660702 | 19057 | "type" : "string" |
7aacca6f | 19058 | }, |
44660702 DM |
19059 | "bridge_ports" : { |
19060 | "description" : "Specify the iterfaces you want to add to your bridge.", | |
19061 | "format" : "pve-iface-list", | |
7aacca6f | 19062 | "optional" : 1, |
013dc89f DM |
19063 | "type" : "string", |
19064 | "typetext" : "<string>" | |
7aacca6f | 19065 | }, |
44660702 DM |
19066 | "bridge_vlan_aware" : { |
19067 | "description" : "Enable bridge vlan support.", | |
7aacca6f | 19068 | "optional" : 1, |
013dc89f DM |
19069 | "type" : "boolean", |
19070 | "typetext" : "<boolean>" | |
7aacca6f DM |
19071 | }, |
19072 | "comments" : { | |
44660702 | 19073 | "description" : "Comments", |
7aacca6f | 19074 | "optional" : 1, |
013dc89f DM |
19075 | "type" : "string", |
19076 | "typetext" : "<string>" | |
7aacca6f | 19077 | }, |
44660702 DM |
19078 | "comments6" : { |
19079 | "description" : "Comments", | |
7aacca6f | 19080 | "optional" : 1, |
013dc89f DM |
19081 | "type" : "string", |
19082 | "typetext" : "<string>" | |
7aacca6f | 19083 | }, |
44660702 DM |
19084 | "delete" : { |
19085 | "description" : "A list of settings you want to delete.", | |
19086 | "format" : "pve-configid-list", | |
7aacca6f | 19087 | "optional" : 1, |
013dc89f DM |
19088 | "type" : "string", |
19089 | "typetext" : "<string>" | |
7aacca6f | 19090 | }, |
44660702 DM |
19091 | "gateway" : { |
19092 | "description" : "Default gateway address.", | |
19093 | "format" : "ipv4", | |
7aacca6f | 19094 | "optional" : 1, |
013dc89f DM |
19095 | "type" : "string", |
19096 | "typetext" : "<string>" | |
7aacca6f | 19097 | }, |
44660702 DM |
19098 | "gateway6" : { |
19099 | "description" : "Default ipv6 gateway address.", | |
19100 | "format" : "ipv6", | |
7aacca6f | 19101 | "optional" : 1, |
013dc89f DM |
19102 | "type" : "string", |
19103 | "typetext" : "<string>" | |
7aacca6f DM |
19104 | }, |
19105 | "iface" : { | |
44660702 | 19106 | "description" : "Network interface name.", |
7aacca6f DM |
19107 | "format" : "pve-iface", |
19108 | "maxLength" : 20, | |
19109 | "minLength" : 2, | |
013dc89f DM |
19110 | "type" : "string", |
19111 | "typetext" : "<string>" | |
7aacca6f | 19112 | }, |
44660702 DM |
19113 | "netmask" : { |
19114 | "description" : "Network mask.", | |
19115 | "format" : "ipv4mask", | |
7aacca6f | 19116 | "optional" : 1, |
44660702 | 19117 | "requires" : "address", |
013dc89f DM |
19118 | "type" : "string", |
19119 | "typetext" : "<string>" | |
7aacca6f DM |
19120 | }, |
19121 | "netmask6" : { | |
44660702 | 19122 | "description" : "Network mask.", |
7aacca6f | 19123 | "maximum" : 128, |
44660702 | 19124 | "minimum" : 0, |
7aacca6f DM |
19125 | "optional" : 1, |
19126 | "requires" : "address6", | |
4bd7df8b | 19127 | "type" : "integer", |
013dc89f | 19128 | "typetext" : "<integer> (0 - 128)" |
44660702 | 19129 | }, |
7aacca6f | 19130 | "node" : { |
44660702 | 19131 | "description" : "The cluster node name.", |
7aacca6f | 19132 | "format" : "pve-node", |
013dc89f DM |
19133 | "type" : "string", |
19134 | "typetext" : "<string>" | |
7aacca6f | 19135 | }, |
44660702 DM |
19136 | "ovs_bonds" : { |
19137 | "description" : "Specify the interfaces used by the bonding device.", | |
19138 | "format" : "pve-iface-list", | |
19139 | "optional" : 1, | |
013dc89f DM |
19140 | "type" : "string", |
19141 | "typetext" : "<string>" | |
44660702 DM |
19142 | }, |
19143 | "ovs_bridge" : { | |
19144 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
19145 | "format" : "pve-iface", | |
19146 | "optional" : 1, | |
013dc89f DM |
19147 | "type" : "string", |
19148 | "typetext" : "<string>" | |
44660702 DM |
19149 | }, |
19150 | "ovs_options" : { | |
19151 | "description" : "OVS interface options.", | |
19152 | "maxLength" : 1024, | |
19153 | "optional" : 1, | |
013dc89f DM |
19154 | "type" : "string", |
19155 | "typetext" : "<string>" | |
44660702 DM |
19156 | }, |
19157 | "ovs_ports" : { | |
19158 | "description" : "Specify the iterfaces you want to add to your bridge.", | |
19159 | "format" : "pve-iface-list", | |
19160 | "optional" : 1, | |
013dc89f DM |
19161 | "type" : "string", |
19162 | "typetext" : "<string>" | |
44660702 DM |
19163 | }, |
19164 | "ovs_tag" : { | |
19165 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
19166 | "maximum" : 4094, | |
19167 | "minimum" : 1, | |
19168 | "optional" : 1, | |
4bd7df8b | 19169 | "type" : "integer", |
013dc89f | 19170 | "typetext" : "<integer> (1 - 4094)" |
44660702 DM |
19171 | }, |
19172 | "slaves" : { | |
19173 | "description" : "Specify the interfaces used by the bonding device.", | |
19174 | "format" : "pve-iface-list", | |
19175 | "optional" : 1, | |
013dc89f DM |
19176 | "type" : "string", |
19177 | "typetext" : "<string>" | |
44660702 DM |
19178 | }, |
19179 | "type" : { | |
19180 | "description" : "Network interface type", | |
19181 | "enum" : [ | |
19182 | "bridge", | |
19183 | "bond", | |
19184 | "eth", | |
19185 | "alias", | |
19186 | "vlan", | |
19187 | "OVSBridge", | |
19188 | "OVSBond", | |
19189 | "OVSPort", | |
19190 | "OVSIntPort", | |
19191 | "unknown" | |
19192 | ], | |
19193 | "type" : "string" | |
7aacca6f DM |
19194 | } |
19195 | } | |
19196 | }, | |
7aacca6f DM |
19197 | "permissions" : { |
19198 | "check" : [ | |
19199 | "perm", | |
19200 | "/nodes/{node}", | |
19201 | [ | |
44660702 | 19202 | "Sys.Modify" |
7aacca6f DM |
19203 | ] |
19204 | ] | |
19205 | }, | |
44660702 DM |
19206 | "protected" : 1, |
19207 | "proxyto" : "node", | |
7aacca6f | 19208 | "returns" : { |
44660702 DM |
19209 | "type" : "null" |
19210 | } | |
7aacca6f DM |
19211 | } |
19212 | }, | |
7aacca6f | 19213 | "leaf" : 1, |
44660702 DM |
19214 | "path" : "/nodes/{node}/network/{iface}", |
19215 | "text" : "{iface}" | |
7aacca6f DM |
19216 | } |
19217 | ], | |
7aacca6f | 19218 | "info" : { |
44660702 DM |
19219 | "DELETE" : { |
19220 | "description" : "Revert network configuration changes.", | |
19221 | "method" : "DELETE", | |
19222 | "name" : "revert_network_changes", | |
7aacca6f DM |
19223 | "parameters" : { |
19224 | "additionalProperties" : 0, | |
19225 | "properties" : { | |
7aacca6f | 19226 | "node" : { |
7aacca6f | 19227 | "description" : "The cluster node name.", |
44660702 | 19228 | "format" : "pve-node", |
013dc89f DM |
19229 | "type" : "string", |
19230 | "typetext" : "<string>" | |
7aacca6f DM |
19231 | } |
19232 | } | |
44660702 | 19233 | }, |
7aacca6f DM |
19234 | "permissions" : { |
19235 | "check" : [ | |
19236 | "perm", | |
19237 | "/nodes/{node}", | |
19238 | [ | |
19239 | "Sys.Modify" | |
19240 | ] | |
19241 | ] | |
19242 | }, | |
44660702 DM |
19243 | "protected" : 1, |
19244 | "proxyto" : "node", | |
7aacca6f DM |
19245 | "returns" : { |
19246 | "type" : "null" | |
44660702 | 19247 | } |
7aacca6f | 19248 | }, |
44660702 DM |
19249 | "GET" : { |
19250 | "description" : "List available networks", | |
19251 | "method" : "GET", | |
19252 | "name" : "index", | |
7aacca6f | 19253 | "parameters" : { |
44660702 | 19254 | "additionalProperties" : 0, |
7aacca6f | 19255 | "properties" : { |
7aacca6f | 19256 | "node" : { |
44660702 DM |
19257 | "description" : "The cluster node name.", |
19258 | "format" : "pve-node", | |
013dc89f DM |
19259 | "type" : "string", |
19260 | "typetext" : "<string>" | |
7aacca6f DM |
19261 | }, |
19262 | "type" : { | |
44660702 | 19263 | "description" : "Only list specific interface types.", |
7aacca6f DM |
19264 | "enum" : [ |
19265 | "bridge", | |
19266 | "bond", | |
19267 | "eth", | |
19268 | "alias", | |
19269 | "vlan", | |
19270 | "OVSBridge", | |
19271 | "OVSBond", | |
19272 | "OVSPort", | |
19273 | "OVSIntPort", | |
44660702 | 19274 | "any_bridge" |
7aacca6f | 19275 | ], |
7aacca6f | 19276 | "optional" : 1, |
44660702 DM |
19277 | "type" : "string" |
19278 | } | |
19279 | } | |
19280 | }, | |
19281 | "permissions" : { | |
19282 | "user" : "all" | |
19283 | }, | |
19284 | "proxyto" : "node", | |
19285 | "returns" : { | |
19286 | "items" : { | |
19287 | "properties" : {}, | |
19288 | "type" : "object" | |
19289 | }, | |
19290 | "links" : [ | |
19291 | { | |
19292 | "href" : "{iface}", | |
19293 | "rel" : "child" | |
19294 | } | |
19295 | ], | |
19296 | "type" : "array" | |
19297 | } | |
19298 | }, | |
19299 | "POST" : { | |
19300 | "description" : "Create network device configuration", | |
19301 | "method" : "POST", | |
19302 | "name" : "create_network", | |
19303 | "parameters" : { | |
19304 | "additionalProperties" : 0, | |
19305 | "properties" : { | |
7aacca6f | 19306 | "address" : { |
44660702 DM |
19307 | "description" : "IP address.", |
19308 | "format" : "ipv4", | |
19309 | "optional" : 1, | |
7aacca6f | 19310 | "requires" : "netmask", |
013dc89f DM |
19311 | "type" : "string", |
19312 | "typetext" : "<string>" | |
44660702 DM |
19313 | }, |
19314 | "address6" : { | |
7aacca6f | 19315 | "description" : "IP address.", |
44660702 DM |
19316 | "format" : "ipv6", |
19317 | "optional" : 1, | |
19318 | "requires" : "netmask6", | |
013dc89f DM |
19319 | "type" : "string", |
19320 | "typetext" : "<string>" | |
44660702 DM |
19321 | }, |
19322 | "autostart" : { | |
19323 | "description" : "Automatically start interface on boot.", | |
7aacca6f | 19324 | "optional" : 1, |
013dc89f DM |
19325 | "type" : "boolean", |
19326 | "typetext" : "<boolean>" | |
7aacca6f DM |
19327 | }, |
19328 | "bond_mode" : { | |
19329 | "description" : "Bonding mode.", | |
19330 | "enum" : [ | |
19331 | "balance-rr", | |
19332 | "active-backup", | |
19333 | "balance-xor", | |
19334 | "broadcast", | |
19335 | "802.3ad", | |
19336 | "balance-tlb", | |
19337 | "balance-alb", | |
19338 | "balance-slb", | |
19339 | "lacp-balance-slb", | |
19340 | "lacp-balance-tcp" | |
19341 | ], | |
19342 | "optional" : 1, | |
19343 | "type" : "string" | |
19344 | }, | |
44660702 DM |
19345 | "bond_xmit_hash_policy" : { |
19346 | "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.", | |
19347 | "enum" : [ | |
19348 | "layer2", | |
19349 | "layer2+3", | |
19350 | "layer3+4" | |
19351 | ], | |
19352 | "optional" : 1, | |
19353 | "type" : "string" | |
19354 | }, | |
19355 | "bridge_ports" : { | |
19356 | "description" : "Specify the iterfaces you want to add to your bridge.", | |
7aacca6f | 19357 | "format" : "pve-iface-list", |
7aacca6f | 19358 | "optional" : 1, |
013dc89f DM |
19359 | "type" : "string", |
19360 | "typetext" : "<string>" | |
7aacca6f | 19361 | }, |
44660702 DM |
19362 | "bridge_vlan_aware" : { |
19363 | "description" : "Enable bridge vlan support.", | |
7aacca6f | 19364 | "optional" : 1, |
013dc89f DM |
19365 | "type" : "boolean", |
19366 | "typetext" : "<boolean>" | |
7aacca6f | 19367 | }, |
44660702 DM |
19368 | "comments" : { |
19369 | "description" : "Comments", | |
7aacca6f | 19370 | "optional" : 1, |
013dc89f DM |
19371 | "type" : "string", |
19372 | "typetext" : "<string>" | |
44660702 DM |
19373 | }, |
19374 | "comments6" : { | |
19375 | "description" : "Comments", | |
19376 | "optional" : 1, | |
013dc89f DM |
19377 | "type" : "string", |
19378 | "typetext" : "<string>" | |
44660702 DM |
19379 | }, |
19380 | "gateway" : { | |
19381 | "description" : "Default gateway address.", | |
19382 | "format" : "ipv4", | |
19383 | "optional" : 1, | |
013dc89f DM |
19384 | "type" : "string", |
19385 | "typetext" : "<string>" | |
44660702 DM |
19386 | }, |
19387 | "gateway6" : { | |
19388 | "description" : "Default ipv6 gateway address.", | |
19389 | "format" : "ipv6", | |
19390 | "optional" : 1, | |
013dc89f DM |
19391 | "type" : "string", |
19392 | "typetext" : "<string>" | |
56122987 | 19393 | }, |
7aacca6f | 19394 | "iface" : { |
44660702 | 19395 | "description" : "Network interface name.", |
7aacca6f DM |
19396 | "format" : "pve-iface", |
19397 | "maxLength" : 20, | |
44660702 | 19398 | "minLength" : 2, |
013dc89f DM |
19399 | "type" : "string", |
19400 | "typetext" : "<string>" | |
56122987 | 19401 | }, |
44660702 DM |
19402 | "netmask" : { |
19403 | "description" : "Network mask.", | |
19404 | "format" : "ipv4mask", | |
7aacca6f | 19405 | "optional" : 1, |
44660702 | 19406 | "requires" : "address", |
013dc89f DM |
19407 | "type" : "string", |
19408 | "typetext" : "<string>" | |
7aacca6f | 19409 | }, |
44660702 DM |
19410 | "netmask6" : { |
19411 | "description" : "Network mask.", | |
19412 | "maximum" : 128, | |
19413 | "minimum" : 0, | |
7aacca6f | 19414 | "optional" : 1, |
44660702 | 19415 | "requires" : "address6", |
4bd7df8b | 19416 | "type" : "integer", |
013dc89f | 19417 | "typetext" : "<integer> (0 - 128)" |
7aacca6f | 19418 | }, |
44660702 DM |
19419 | "node" : { |
19420 | "description" : "The cluster node name.", | |
19421 | "format" : "pve-node", | |
013dc89f DM |
19422 | "type" : "string", |
19423 | "typetext" : "<string>" | |
44660702 DM |
19424 | }, |
19425 | "ovs_bonds" : { | |
19426 | "description" : "Specify the interfaces used by the bonding device.", | |
19427 | "format" : "pve-iface-list", | |
7aacca6f | 19428 | "optional" : 1, |
013dc89f DM |
19429 | "type" : "string", |
19430 | "typetext" : "<string>" | |
7aacca6f | 19431 | }, |
44660702 DM |
19432 | "ovs_bridge" : { |
19433 | "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.", | |
19434 | "format" : "pve-iface", | |
19435 | "optional" : 1, | |
013dc89f DM |
19436 | "type" : "string", |
19437 | "typetext" : "<string>" | |
44660702 DM |
19438 | }, |
19439 | "ovs_options" : { | |
19440 | "description" : "OVS interface options.", | |
19441 | "maxLength" : 1024, | |
19442 | "optional" : 1, | |
013dc89f DM |
19443 | "type" : "string", |
19444 | "typetext" : "<string>" | |
44660702 DM |
19445 | }, |
19446 | "ovs_ports" : { | |
19447 | "description" : "Specify the iterfaces you want to add to your bridge.", | |
19448 | "format" : "pve-iface-list", | |
19449 | "optional" : 1, | |
013dc89f DM |
19450 | "type" : "string", |
19451 | "typetext" : "<string>" | |
44660702 DM |
19452 | }, |
19453 | "ovs_tag" : { | |
19454 | "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)", | |
19455 | "maximum" : 4094, | |
19456 | "minimum" : 1, | |
19457 | "optional" : 1, | |
4bd7df8b | 19458 | "type" : "integer", |
013dc89f | 19459 | "typetext" : "<integer> (1 - 4094)" |
44660702 DM |
19460 | }, |
19461 | "slaves" : { | |
19462 | "description" : "Specify the interfaces used by the bonding device.", | |
19463 | "format" : "pve-iface-list", | |
7aacca6f | 19464 | "optional" : 1, |
013dc89f DM |
19465 | "type" : "string", |
19466 | "typetext" : "<string>" | |
44660702 DM |
19467 | }, |
19468 | "type" : { | |
19469 | "description" : "Network interface type", | |
7aacca6f | 19470 | "enum" : [ |
44660702 DM |
19471 | "bridge", |
19472 | "bond", | |
19473 | "eth", | |
19474 | "alias", | |
19475 | "vlan", | |
19476 | "OVSBridge", | |
19477 | "OVSBond", | |
19478 | "OVSPort", | |
19479 | "OVSIntPort", | |
19480 | "unknown" | |
7aacca6f | 19481 | ], |
44660702 | 19482 | "type" : "string" |
56122987 | 19483 | } |
44660702 | 19484 | } |
56122987 | 19485 | }, |
56122987 DM |
19486 | "permissions" : { |
19487 | "check" : [ | |
19488 | "perm", | |
19489 | "/nodes/{node}", | |
19490 | [ | |
7aacca6f | 19491 | "Sys.Modify" |
44660702 DM |
19492 | ] |
19493 | ] | |
7aacca6f | 19494 | }, |
44660702 DM |
19495 | "protected" : 1, |
19496 | "proxyto" : "node", | |
19497 | "returns" : { | |
19498 | "type" : "null" | |
19499 | } | |
19500 | } | |
19501 | }, | |
19502 | "leaf" : 0, | |
19503 | "path" : "/nodes/{node}/network", | |
19504 | "text" : "network" | |
19505 | }, | |
19506 | { | |
19507 | "children" : [ | |
19508 | { | |
7aacca6f DM |
19509 | "children" : [ |
19510 | { | |
19511 | "info" : { | |
19512 | "GET" : { | |
44660702 | 19513 | "description" : "Read task log.", |
7aacca6f DM |
19514 | "method" : "GET", |
19515 | "name" : "read_task_log", | |
19516 | "parameters" : { | |
44660702 | 19517 | "additionalProperties" : 0, |
7aacca6f | 19518 | "properties" : { |
44660702 DM |
19519 | "limit" : { |
19520 | "minimum" : 0, | |
7aacca6f | 19521 | "optional" : 1, |
4bd7df8b | 19522 | "type" : "integer", |
013dc89f | 19523 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
19524 | }, |
19525 | "node" : { | |
19526 | "description" : "The cluster node name.", | |
44660702 | 19527 | "format" : "pve-node", |
013dc89f DM |
19528 | "type" : "string", |
19529 | "typetext" : "<string>" | |
7aacca6f | 19530 | }, |
44660702 DM |
19531 | "start" : { |
19532 | "minimum" : 0, | |
7aacca6f | 19533 | "optional" : 1, |
4bd7df8b | 19534 | "type" : "integer", |
013dc89f | 19535 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
19536 | }, |
19537 | "upid" : { | |
013dc89f DM |
19538 | "type" : "string", |
19539 | "typetext" : "<string>" | |
7aacca6f | 19540 | } |
44660702 DM |
19541 | } |
19542 | }, | |
19543 | "permissions" : { | |
19544 | "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.", | |
19545 | "user" : "all" | |
7aacca6f DM |
19546 | }, |
19547 | "protected" : 1, | |
44660702 | 19548 | "proxyto" : "node", |
7aacca6f | 19549 | "returns" : { |
7aacca6f | 19550 | "items" : { |
7aacca6f DM |
19551 | "properties" : { |
19552 | "n" : { | |
44660702 DM |
19553 | "description" : "Line number", |
19554 | "type" : "integer" | |
7aacca6f DM |
19555 | }, |
19556 | "t" : { | |
44660702 DM |
19557 | "description" : "Line text", |
19558 | "type" : "string" | |
7aacca6f | 19559 | } |
44660702 DM |
19560 | }, |
19561 | "type" : "object" | |
19562 | }, | |
19563 | "type" : "array" | |
19564 | } | |
7aacca6f | 19565 | } |
56122987 | 19566 | }, |
7aacca6f | 19567 | "leaf" : 1, |
44660702 DM |
19568 | "path" : "/nodes/{node}/tasks/{upid}/log", |
19569 | "text" : "log" | |
7aacca6f DM |
19570 | }, |
19571 | { | |
7aacca6f DM |
19572 | "info" : { |
19573 | "GET" : { | |
44660702 DM |
19574 | "description" : "Read task status.", |
19575 | "method" : "GET", | |
7aacca6f DM |
19576 | "name" : "read_task_status", |
19577 | "parameters" : { | |
19578 | "additionalProperties" : 0, | |
19579 | "properties" : { | |
19580 | "node" : { | |
7aacca6f | 19581 | "description" : "The cluster node name.", |
44660702 | 19582 | "format" : "pve-node", |
013dc89f DM |
19583 | "type" : "string", |
19584 | "typetext" : "<string>" | |
7aacca6f DM |
19585 | }, |
19586 | "upid" : { | |
013dc89f DM |
19587 | "type" : "string", |
19588 | "typetext" : "<string>" | |
7aacca6f DM |
19589 | } |
19590 | } | |
19591 | }, | |
7aacca6f DM |
19592 | "permissions" : { |
19593 | "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.", | |
19594 | "user" : "all" | |
56122987 | 19595 | }, |
44660702 | 19596 | "protected" : 1, |
7aacca6f | 19597 | "proxyto" : "node", |
7aacca6f DM |
19598 | "returns" : { |
19599 | "properties" : { | |
19600 | "pid" : { | |
19601 | "type" : "integer" | |
19602 | }, | |
19603 | "status" : { | |
7aacca6f DM |
19604 | "enum" : [ |
19605 | "running", | |
19606 | "stopped" | |
44660702 DM |
19607 | ], |
19608 | "type" : "string" | |
7aacca6f DM |
19609 | } |
19610 | }, | |
19611 | "type" : "object" | |
56122987 | 19612 | } |
7aacca6f | 19613 | } |
44660702 DM |
19614 | }, |
19615 | "leaf" : 1, | |
19616 | "path" : "/nodes/{node}/tasks/{upid}/status", | |
19617 | "text" : "status" | |
56122987 | 19618 | } |
7aacca6f | 19619 | ], |
44660702 DM |
19620 | "info" : { |
19621 | "DELETE" : { | |
19622 | "description" : "Stop a task.", | |
19623 | "method" : "DELETE", | |
19624 | "name" : "stop_task", | |
19625 | "parameters" : { | |
19626 | "additionalProperties" : 0, | |
19627 | "properties" : { | |
19628 | "node" : { | |
19629 | "description" : "The cluster node name.", | |
19630 | "format" : "pve-node", | |
013dc89f DM |
19631 | "type" : "string", |
19632 | "typetext" : "<string>" | |
44660702 DM |
19633 | }, |
19634 | "upid" : { | |
013dc89f DM |
19635 | "type" : "string", |
19636 | "typetext" : "<string>" | |
44660702 | 19637 | } |
7aacca6f | 19638 | } |
44660702 DM |
19639 | }, |
19640 | "permissions" : { | |
19641 | "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.", | |
19642 | "user" : "all" | |
19643 | }, | |
19644 | "protected" : 1, | |
19645 | "proxyto" : "node", | |
19646 | "returns" : { | |
19647 | "type" : "null" | |
7aacca6f | 19648 | } |
56122987 | 19649 | }, |
44660702 DM |
19650 | "GET" : { |
19651 | "description" : "", | |
19652 | "method" : "GET", | |
19653 | "name" : "upid_index", | |
19654 | "parameters" : { | |
19655 | "additionalProperties" : 0, | |
19656 | "properties" : { | |
19657 | "node" : { | |
19658 | "description" : "The cluster node name.", | |
19659 | "format" : "pve-node", | |
013dc89f DM |
19660 | "type" : "string", |
19661 | "typetext" : "<string>" | |
44660702 DM |
19662 | }, |
19663 | "upid" : { | |
013dc89f DM |
19664 | "type" : "string", |
19665 | "typetext" : "<string>" | |
44660702 DM |
19666 | } |
19667 | } | |
19668 | }, | |
19669 | "permissions" : { | |
19670 | "user" : "all" | |
19671 | }, | |
19672 | "returns" : { | |
19673 | "items" : { | |
19674 | "properties" : {}, | |
19675 | "type" : "object" | |
19676 | }, | |
19677 | "links" : [ | |
19678 | { | |
19679 | "href" : "{name}", | |
19680 | "rel" : "child" | |
19681 | } | |
19682 | ], | |
19683 | "type" : "array" | |
56122987 | 19684 | } |
44660702 | 19685 | } |
56122987 | 19686 | }, |
44660702 DM |
19687 | "leaf" : 0, |
19688 | "path" : "/nodes/{node}/tasks/{upid}", | |
19689 | "text" : "{upid}" | |
19690 | } | |
19691 | ], | |
19692 | "info" : { | |
19693 | "GET" : { | |
7aacca6f | 19694 | "description" : "Read task list for one node (finished tasks).", |
44660702 DM |
19695 | "method" : "GET", |
19696 | "name" : "node_tasks", | |
56122987 | 19697 | "parameters" : { |
7aacca6f | 19698 | "additionalProperties" : 0, |
56122987 | 19699 | "properties" : { |
44660702 | 19700 | "errors" : { |
56122987 | 19701 | "optional" : 1, |
013dc89f DM |
19702 | "type" : "boolean", |
19703 | "typetext" : "<boolean>" | |
56122987 | 19704 | }, |
44660702 | 19705 | "limit" : { |
56122987 | 19706 | "minimum" : 0, |
56122987 | 19707 | "optional" : 1, |
4bd7df8b | 19708 | "type" : "integer", |
013dc89f | 19709 | "typetext" : "<integer> (0 - N)" |
56122987 | 19710 | }, |
56122987 DM |
19711 | "node" : { |
19712 | "description" : "The cluster node name.", | |
44660702 | 19713 | "format" : "pve-node", |
013dc89f DM |
19714 | "type" : "string", |
19715 | "typetext" : "<string>" | |
56122987 | 19716 | }, |
44660702 | 19717 | "start" : { |
7aacca6f | 19718 | "minimum" : 0, |
44660702 | 19719 | "optional" : 1, |
4bd7df8b | 19720 | "type" : "integer", |
013dc89f | 19721 | "typetext" : "<integer> (0 - N)" |
56122987 | 19722 | }, |
7aacca6f | 19723 | "userfilter" : { |
44660702 | 19724 | "optional" : 1, |
013dc89f DM |
19725 | "type" : "string", |
19726 | "typetext" : "<string>" | |
44660702 DM |
19727 | }, |
19728 | "vmid" : { | |
19729 | "description" : "Only list tasks for this VM.", | |
19730 | "format" : "pve-vmid", | |
19731 | "minimum" : 1, | |
19732 | "optional" : 1, | |
4bd7df8b | 19733 | "type" : "integer", |
013dc89f | 19734 | "typetext" : "<integer> (1 - N)" |
56122987 DM |
19735 | } |
19736 | } | |
19737 | }, | |
7aacca6f | 19738 | "permissions" : { |
44660702 | 19739 | "description" : "List task associated with the current user, or all task the user has 'Sys.Audit' permissions on /nodes/<node> (the <node> the task runs on).", |
7aacca6f DM |
19740 | "user" : "all" |
19741 | }, | |
44660702 | 19742 | "proxyto" : "node", |
56122987 DM |
19743 | "returns" : { |
19744 | "items" : { | |
19745 | "properties" : { | |
44660702 | 19746 | "upid" : { |
56122987 DM |
19747 | "type" : "string" |
19748 | } | |
19749 | }, | |
19750 | "type" : "object" | |
19751 | }, | |
56122987 DM |
19752 | "links" : [ |
19753 | { | |
44660702 DM |
19754 | "href" : "{upid}", |
19755 | "rel" : "child" | |
56122987 | 19756 | } |
44660702 DM |
19757 | ], |
19758 | "type" : "array" | |
56122987 DM |
19759 | } |
19760 | } | |
19761 | }, | |
44660702 DM |
19762 | "leaf" : 0, |
19763 | "path" : "/nodes/{node}/tasks", | |
19764 | "text" : "tasks" | |
19765 | }, | |
19766 | { | |
56122987 DM |
19767 | "children" : [ |
19768 | { | |
56122987 DM |
19769 | "info" : { |
19770 | "GET" : { | |
7aacca6f | 19771 | "description" : "Scan zfs pool list on local node.", |
44660702 DM |
19772 | "method" : "GET", |
19773 | "name" : "zfsscan", | |
56122987 | 19774 | "parameters" : { |
44660702 | 19775 | "additionalProperties" : 0, |
56122987 | 19776 | "properties" : { |
56122987 DM |
19777 | "node" : { |
19778 | "description" : "The cluster node name.", | |
44660702 | 19779 | "format" : "pve-node", |
013dc89f DM |
19780 | "type" : "string", |
19781 | "typetext" : "<string>" | |
56122987 | 19782 | } |
44660702 DM |
19783 | } |
19784 | }, | |
7aacca6f DM |
19785 | "permissions" : { |
19786 | "check" : [ | |
19787 | "perm", | |
19788 | "/storage", | |
19789 | [ | |
19790 | "Datastore.Allocate" | |
19791 | ] | |
19792 | ] | |
19793 | }, | |
44660702 DM |
19794 | "protected" : 1, |
19795 | "proxyto" : "node", | |
56122987 | 19796 | "returns" : { |
56122987 DM |
19797 | "items" : { |
19798 | "properties" : { | |
44660702 | 19799 | "pool" : { |
56122987 DM |
19800 | "type" : "string" |
19801 | } | |
44660702 DM |
19802 | }, |
19803 | "type" : "object" | |
19804 | }, | |
19805 | "type" : "array" | |
19806 | } | |
19807 | } | |
19808 | }, | |
19809 | "leaf" : 1, | |
19810 | "path" : "/nodes/{node}/scan/zfs", | |
19811 | "text" : "zfs" | |
19812 | }, | |
19813 | { | |
19814 | "info" : { | |
19815 | "GET" : { | |
19816 | "description" : "Scan remote NFS server.", | |
19817 | "method" : "GET", | |
7aacca6f | 19818 | "name" : "nfsscan", |
56122987 | 19819 | "parameters" : { |
44660702 | 19820 | "additionalProperties" : 0, |
56122987 DM |
19821 | "properties" : { |
19822 | "node" : { | |
7aacca6f | 19823 | "description" : "The cluster node name.", |
44660702 | 19824 | "format" : "pve-node", |
013dc89f DM |
19825 | "type" : "string", |
19826 | "typetext" : "<string>" | |
7aacca6f DM |
19827 | }, |
19828 | "server" : { | |
19829 | "format" : "pve-storage-server", | |
013dc89f DM |
19830 | "type" : "string", |
19831 | "typetext" : "<string>" | |
56122987 | 19832 | } |
44660702 | 19833 | } |
56122987 | 19834 | }, |
56122987 DM |
19835 | "permissions" : { |
19836 | "check" : [ | |
19837 | "perm", | |
19838 | "/storage", | |
19839 | [ | |
19840 | "Datastore.Allocate" | |
19841 | ] | |
19842 | ] | |
19843 | }, | |
44660702 | 19844 | "protected" : 1, |
56122987 | 19845 | "proxyto" : "node", |
44660702 DM |
19846 | "returns" : { |
19847 | "items" : { | |
19848 | "properties" : { | |
19849 | "options" : { | |
19850 | "type" : "string" | |
19851 | }, | |
19852 | "path" : { | |
19853 | "type" : "string" | |
19854 | } | |
19855 | }, | |
19856 | "type" : "object" | |
19857 | }, | |
19858 | "type" : "array" | |
19859 | } | |
19860 | } | |
19861 | }, | |
19862 | "leaf" : 1, | |
19863 | "path" : "/nodes/{node}/scan/nfs", | |
19864 | "text" : "nfs" | |
19865 | }, | |
19866 | { | |
19867 | "info" : { | |
19868 | "GET" : { | |
19869 | "description" : "Scan remote GlusterFS server.", | |
7aacca6f DM |
19870 | "method" : "GET", |
19871 | "name" : "glusterfsscan", | |
56122987 | 19872 | "parameters" : { |
44660702 | 19873 | "additionalProperties" : 0, |
56122987 | 19874 | "properties" : { |
56122987 | 19875 | "node" : { |
44660702 | 19876 | "description" : "The cluster node name.", |
56122987 | 19877 | "format" : "pve-node", |
013dc89f DM |
19878 | "type" : "string", |
19879 | "typetext" : "<string>" | |
7aacca6f DM |
19880 | }, |
19881 | "server" : { | |
19882 | "format" : "pve-storage-server", | |
013dc89f DM |
19883 | "type" : "string", |
19884 | "typetext" : "<string>" | |
56122987 | 19885 | } |
44660702 DM |
19886 | } |
19887 | }, | |
19888 | "permissions" : { | |
19889 | "check" : [ | |
19890 | "perm", | |
19891 | "/storage", | |
19892 | [ | |
19893 | "Datastore.Allocate" | |
19894 | ] | |
19895 | ] | |
7aacca6f | 19896 | }, |
44660702 DM |
19897 | "protected" : 1, |
19898 | "proxyto" : "node", | |
19899 | "returns" : { | |
19900 | "items" : { | |
19901 | "properties" : { | |
19902 | "volname" : { | |
19903 | "type" : "string" | |
19904 | } | |
19905 | }, | |
19906 | "type" : "object" | |
19907 | }, | |
19908 | "type" : "array" | |
19909 | } | |
56122987 DM |
19910 | } |
19911 | }, | |
44660702 DM |
19912 | "leaf" : 1, |
19913 | "path" : "/nodes/{node}/scan/glusterfs", | |
7aacca6f | 19914 | "text" : "glusterfs" |
56122987 DM |
19915 | }, |
19916 | { | |
56122987 DM |
19917 | "info" : { |
19918 | "GET" : { | |
7aacca6f | 19919 | "description" : "Scan remote iSCSI server.", |
44660702 DM |
19920 | "method" : "GET", |
19921 | "name" : "iscsiscan", | |
19922 | "parameters" : { | |
19923 | "additionalProperties" : 0, | |
19924 | "properties" : { | |
19925 | "node" : { | |
19926 | "description" : "The cluster node name.", | |
19927 | "format" : "pve-node", | |
013dc89f DM |
19928 | "type" : "string", |
19929 | "typetext" : "<string>" | |
44660702 DM |
19930 | }, |
19931 | "portal" : { | |
19932 | "format" : "pve-storage-portal-dns", | |
013dc89f DM |
19933 | "type" : "string", |
19934 | "typetext" : "<string>" | |
44660702 DM |
19935 | } |
19936 | } | |
19937 | }, | |
56122987 DM |
19938 | "permissions" : { |
19939 | "check" : [ | |
19940 | "perm", | |
19941 | "/storage", | |
19942 | [ | |
19943 | "Datastore.Allocate" | |
19944 | ] | |
19945 | ] | |
19946 | }, | |
44660702 DM |
19947 | "protected" : 1, |
19948 | "proxyto" : "node", | |
56122987 | 19949 | "returns" : { |
56122987 DM |
19950 | "items" : { |
19951 | "properties" : { | |
44660702 | 19952 | "portal" : { |
56122987 DM |
19953 | "type" : "string" |
19954 | }, | |
44660702 | 19955 | "target" : { |
56122987 DM |
19956 | "type" : "string" |
19957 | } | |
19958 | }, | |
19959 | "type" : "object" | |
56122987 | 19960 | }, |
44660702 DM |
19961 | "type" : "array" |
19962 | } | |
56122987 DM |
19963 | } |
19964 | }, | |
44660702 | 19965 | "leaf" : 1, |
7aacca6f | 19966 | "path" : "/nodes/{node}/scan/iscsi", |
44660702 | 19967 | "text" : "iscsi" |
56122987 DM |
19968 | }, |
19969 | { | |
56122987 DM |
19970 | "info" : { |
19971 | "GET" : { | |
44660702 DM |
19972 | "description" : "List local LVM volume groups.", |
19973 | "method" : "GET", | |
19974 | "name" : "lvmscan", | |
19975 | "parameters" : { | |
19976 | "additionalProperties" : 0, | |
19977 | "properties" : { | |
19978 | "node" : { | |
19979 | "description" : "The cluster node name.", | |
19980 | "format" : "pve-node", | |
013dc89f DM |
19981 | "type" : "string", |
19982 | "typetext" : "<string>" | |
56122987 | 19983 | } |
7aacca6f | 19984 | } |
56122987 | 19985 | }, |
56122987 DM |
19986 | "permissions" : { |
19987 | "check" : [ | |
19988 | "perm", | |
19989 | "/storage", | |
19990 | [ | |
19991 | "Datastore.Allocate" | |
19992 | ] | |
19993 | ] | |
19994 | }, | |
7aacca6f | 19995 | "protected" : 1, |
44660702 DM |
19996 | "proxyto" : "node", |
19997 | "returns" : { | |
19998 | "items" : { | |
19999 | "properties" : { | |
20000 | "vg" : { | |
20001 | "type" : "string" | |
20002 | } | |
20003 | }, | |
20004 | "type" : "object" | |
20005 | }, | |
20006 | "type" : "array" | |
7aacca6f | 20007 | } |
56122987 DM |
20008 | } |
20009 | }, | |
20010 | "leaf" : 1, | |
44660702 DM |
20011 | "path" : "/nodes/{node}/scan/lvm", |
20012 | "text" : "lvm" | |
56122987 DM |
20013 | }, |
20014 | { | |
56122987 DM |
20015 | "info" : { |
20016 | "GET" : { | |
44660702 DM |
20017 | "description" : "List local LVM Thin Pools.", |
20018 | "method" : "GET", | |
20019 | "name" : "lvmthinscan", | |
56122987 | 20020 | "parameters" : { |
44660702 | 20021 | "additionalProperties" : 0, |
56122987 DM |
20022 | "properties" : { |
20023 | "node" : { | |
44660702 | 20024 | "description" : "The cluster node name.", |
56122987 | 20025 | "format" : "pve-node", |
013dc89f DM |
20026 | "type" : "string", |
20027 | "typetext" : "<string>" | |
56122987 DM |
20028 | }, |
20029 | "vg" : { | |
44660702 | 20030 | "maxLength" : 100, |
56122987 | 20031 | "pattern" : "[a-zA-Z0-9\\.\\+\\_][a-zA-Z0-9\\.\\+\\_\\-]+", |
44660702 | 20032 | "type" : "string" |
56122987 | 20033 | } |
44660702 | 20034 | } |
56122987 | 20035 | }, |
7aacca6f DM |
20036 | "permissions" : { |
20037 | "check" : [ | |
20038 | "perm", | |
20039 | "/storage", | |
20040 | [ | |
20041 | "Datastore.Allocate" | |
20042 | ] | |
20043 | ] | |
20044 | }, | |
44660702 | 20045 | "protected" : 1, |
7aacca6f | 20046 | "proxyto" : "node", |
56122987 | 20047 | "returns" : { |
56122987 DM |
20048 | "items" : { |
20049 | "properties" : { | |
20050 | "lv" : { | |
20051 | "type" : "string" | |
20052 | } | |
20053 | }, | |
20054 | "type" : "object" | |
44660702 DM |
20055 | }, |
20056 | "type" : "array" | |
7aacca6f | 20057 | } |
56122987 DM |
20058 | } |
20059 | }, | |
7aacca6f | 20060 | "leaf" : 1, |
44660702 DM |
20061 | "path" : "/nodes/{node}/scan/lvmthin", |
20062 | "text" : "lvmthin" | |
56122987 DM |
20063 | }, |
20064 | { | |
56122987 DM |
20065 | "info" : { |
20066 | "GET" : { | |
44660702 DM |
20067 | "description" : "List local USB devices.", |
20068 | "method" : "GET", | |
20069 | "name" : "usbscan", | |
20070 | "parameters" : { | |
20071 | "additionalProperties" : 0, | |
20072 | "properties" : { | |
20073 | "node" : { | |
20074 | "description" : "The cluster node name.", | |
20075 | "format" : "pve-node", | |
013dc89f DM |
20076 | "type" : "string", |
20077 | "typetext" : "<string>" | |
44660702 DM |
20078 | } |
20079 | } | |
20080 | }, | |
7aacca6f DM |
20081 | "permissions" : { |
20082 | "check" : [ | |
20083 | "perm", | |
20084 | "/", | |
20085 | [ | |
20086 | "Sys.Modify" | |
20087 | ] | |
20088 | ] | |
20089 | }, | |
44660702 | 20090 | "protected" : 1, |
7aacca6f | 20091 | "proxyto" : "node", |
56122987 DM |
20092 | "returns" : { |
20093 | "items" : { | |
20094 | "properties" : { | |
44660702 DM |
20095 | "busnum" : { |
20096 | "type" : "integer" | |
56122987 | 20097 | }, |
44660702 DM |
20098 | "class" : { |
20099 | "type" : "integer" | |
56122987 | 20100 | }, |
7aacca6f | 20101 | "devnum" : { |
56122987 DM |
20102 | "type" : "integer" |
20103 | }, | |
44660702 DM |
20104 | "level" : { |
20105 | "type" : "integer" | |
20106 | }, | |
20107 | "manufacturer" : { | |
20108 | "optional" : 1, | |
7aacca6f DM |
20109 | "type" : "string" |
20110 | }, | |
44660702 | 20111 | "port" : { |
56122987 DM |
20112 | "type" : "integer" |
20113 | }, | |
44660702 DM |
20114 | "prodid" : { |
20115 | "type" : "string" | |
56122987 | 20116 | }, |
44660702 DM |
20117 | "product" : { |
20118 | "optional" : 1, | |
20119 | "type" : "string" | |
20120 | }, | |
20121 | "serial" : { | |
7aacca6f | 20122 | "optional" : 1, |
56122987 DM |
20123 | "type" : "string" |
20124 | }, | |
44660702 | 20125 | "speed" : { |
7aacca6f | 20126 | "type" : "string" |
56122987 | 20127 | }, |
44660702 | 20128 | "usbpath" : { |
56122987 DM |
20129 | "optional" : 1, |
20130 | "type" : "string" | |
20131 | }, | |
44660702 DM |
20132 | "vendid" : { |
20133 | "type" : "string" | |
56122987 DM |
20134 | } |
20135 | }, | |
20136 | "type" : "object" | |
7aacca6f DM |
20137 | }, |
20138 | "type" : "array" | |
44660702 DM |
20139 | } |
20140 | } | |
20141 | }, | |
20142 | "leaf" : 1, | |
20143 | "path" : "/nodes/{node}/scan/usb", | |
20144 | "text" : "usb" | |
20145 | } | |
20146 | ], | |
20147 | "info" : { | |
20148 | "GET" : { | |
20149 | "description" : "Index of available scan methods", | |
20150 | "method" : "GET", | |
20151 | "name" : "index", | |
20152 | "parameters" : { | |
20153 | "additionalProperties" : 0, | |
20154 | "properties" : { | |
20155 | "node" : { | |
20156 | "description" : "The cluster node name.", | |
20157 | "format" : "pve-node", | |
013dc89f DM |
20158 | "type" : "string", |
20159 | "typetext" : "<string>" | |
44660702 DM |
20160 | } |
20161 | } | |
20162 | }, | |
20163 | "permissions" : { | |
20164 | "user" : "all" | |
20165 | }, | |
20166 | "returns" : { | |
20167 | "items" : { | |
20168 | "properties" : { | |
20169 | "method" : { | |
20170 | "type" : "string" | |
56122987 DM |
20171 | } |
20172 | }, | |
44660702 DM |
20173 | "type" : "object" |
20174 | }, | |
20175 | "links" : [ | |
20176 | { | |
20177 | "href" : "{method}", | |
20178 | "rel" : "child" | |
20179 | } | |
20180 | ], | |
20181 | "type" : "array" | |
56122987 DM |
20182 | } |
20183 | } | |
44660702 DM |
20184 | }, |
20185 | "leaf" : 0, | |
20186 | "path" : "/nodes/{node}/scan", | |
7aacca6f | 20187 | "text" : "scan" |
56122987 DM |
20188 | }, |
20189 | { | |
56122987 DM |
20190 | "children" : [ |
20191 | { | |
56122987 DM |
20192 | "children" : [ |
20193 | { | |
7aacca6f DM |
20194 | "children" : [ |
20195 | { | |
20196 | "info" : { | |
44660702 DM |
20197 | "DELETE" : { |
20198 | "description" : "Delete volume", | |
20199 | "method" : "DELETE", | |
20200 | "name" : "delete", | |
7aacca6f DM |
20201 | "parameters" : { |
20202 | "additionalProperties" : 0, | |
20203 | "properties" : { | |
7aacca6f DM |
20204 | "node" : { |
20205 | "description" : "The cluster node name.", | |
44660702 | 20206 | "format" : "pve-node", |
013dc89f DM |
20207 | "type" : "string", |
20208 | "typetext" : "<string>" | |
44660702 DM |
20209 | }, |
20210 | "storage" : { | |
20211 | "description" : "The storage identifier.", | |
20212 | "format" : "pve-storage-id", | |
20213 | "optional" : 1, | |
013dc89f DM |
20214 | "type" : "string", |
20215 | "typetext" : "<string>" | |
7aacca6f DM |
20216 | }, |
20217 | "volume" : { | |
20218 | "description" : "Volume identifier", | |
013dc89f DM |
20219 | "type" : "string", |
20220 | "typetext" : "<string>" | |
7aacca6f DM |
20221 | } |
20222 | } | |
20223 | }, | |
44660702 DM |
20224 | "permissions" : { |
20225 | "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).", | |
20226 | "user" : "all" | |
20227 | }, | |
20228 | "protected" : 1, | |
20229 | "proxyto" : "node", | |
20230 | "returns" : { | |
20231 | "type" : "null" | |
20232 | } | |
7aacca6f | 20233 | }, |
44660702 DM |
20234 | "GET" : { |
20235 | "description" : "Get volume attributes", | |
20236 | "method" : "GET", | |
20237 | "name" : "info", | |
7aacca6f DM |
20238 | "parameters" : { |
20239 | "additionalProperties" : 0, | |
20240 | "properties" : { | |
7aacca6f DM |
20241 | "node" : { |
20242 | "description" : "The cluster node name.", | |
44660702 | 20243 | "format" : "pve-node", |
013dc89f DM |
20244 | "type" : "string", |
20245 | "typetext" : "<string>" | |
7aacca6f DM |
20246 | }, |
20247 | "storage" : { | |
7aacca6f | 20248 | "description" : "The storage identifier.", |
44660702 | 20249 | "format" : "pve-storage-id", |
7aacca6f | 20250 | "optional" : 1, |
013dc89f DM |
20251 | "type" : "string", |
20252 | "typetext" : "<string>" | |
44660702 DM |
20253 | }, |
20254 | "volume" : { | |
20255 | "description" : "Volume identifier", | |
013dc89f DM |
20256 | "type" : "string", |
20257 | "typetext" : "<string>" | |
7aacca6f DM |
20258 | } |
20259 | } | |
20260 | }, | |
7aacca6f | 20261 | "permissions" : { |
44660702 | 20262 | "description" : "You need read access for the volume.", |
7aacca6f DM |
20263 | "user" : "all" |
20264 | }, | |
44660702 | 20265 | "protected" : 1, |
7aacca6f | 20266 | "proxyto" : "node", |
7aacca6f | 20267 | "returns" : { |
44660702 | 20268 | "type" : "object" |
7aacca6f DM |
20269 | } |
20270 | }, | |
20271 | "POST" : { | |
44660702 DM |
20272 | "description" : "Copy a volume. This is experimental code - do not use.", |
20273 | "method" : "POST", | |
20274 | "name" : "copy", | |
7aacca6f DM |
20275 | "parameters" : { |
20276 | "additionalProperties" : 0, | |
20277 | "properties" : { | |
44660702 DM |
20278 | "node" : { |
20279 | "description" : "The cluster node name.", | |
20280 | "format" : "pve-node", | |
013dc89f DM |
20281 | "type" : "string", |
20282 | "typetext" : "<string>" | |
44660702 DM |
20283 | }, |
20284 | "storage" : { | |
20285 | "description" : "The storage identifier.", | |
20286 | "format" : "pve-storage-id", | |
20287 | "optional" : 1, | |
013dc89f DM |
20288 | "type" : "string", |
20289 | "typetext" : "<string>" | |
44660702 | 20290 | }, |
7aacca6f | 20291 | "target" : { |
44660702 | 20292 | "description" : "Target volume identifier", |
013dc89f DM |
20293 | "type" : "string", |
20294 | "typetext" : "<string>" | |
7aacca6f DM |
20295 | }, |
20296 | "target_node" : { | |
7aacca6f | 20297 | "description" : "Target node. Default is local node.", |
44660702 DM |
20298 | "format" : "pve-node", |
20299 | "optional" : 1, | |
013dc89f DM |
20300 | "type" : "string", |
20301 | "typetext" : "<string>" | |
7aacca6f DM |
20302 | }, |
20303 | "volume" : { | |
44660702 | 20304 | "description" : "Source volume identifier", |
013dc89f DM |
20305 | "type" : "string", |
20306 | "typetext" : "<string>" | |
7aacca6f DM |
20307 | } |
20308 | } | |
20309 | }, | |
7aacca6f DM |
20310 | "protected" : 1, |
20311 | "proxyto" : "node", | |
20312 | "returns" : { | |
20313 | "type" : "string" | |
44660702 | 20314 | } |
7aacca6f DM |
20315 | } |
20316 | }, | |
7aacca6f | 20317 | "leaf" : 1, |
44660702 DM |
20318 | "path" : "/nodes/{node}/storage/{storage}/content/{volume}", |
20319 | "text" : "{volume}" | |
7aacca6f DM |
20320 | } |
20321 | ], | |
56122987 DM |
20322 | "info" : { |
20323 | "GET" : { | |
44660702 DM |
20324 | "description" : "List storage content.", |
20325 | "method" : "GET", | |
20326 | "name" : "index", | |
20327 | "parameters" : { | |
20328 | "additionalProperties" : 0, | |
20329 | "properties" : { | |
20330 | "content" : { | |
20331 | "description" : "Only list content of this type.", | |
20332 | "format" : "pve-storage-content", | |
20333 | "optional" : 1, | |
013dc89f DM |
20334 | "type" : "string", |
20335 | "typetext" : "<string>" | |
44660702 DM |
20336 | }, |
20337 | "node" : { | |
20338 | "description" : "The cluster node name.", | |
20339 | "format" : "pve-node", | |
013dc89f DM |
20340 | "type" : "string", |
20341 | "typetext" : "<string>" | |
44660702 DM |
20342 | }, |
20343 | "storage" : { | |
20344 | "description" : "The storage identifier.", | |
20345 | "format" : "pve-storage-id", | |
013dc89f DM |
20346 | "type" : "string", |
20347 | "typetext" : "<string>" | |
44660702 DM |
20348 | }, |
20349 | "vmid" : { | |
20350 | "description" : "Only list images for this VM", | |
20351 | "format" : "pve-vmid", | |
20352 | "minimum" : 1, | |
20353 | "optional" : 1, | |
4bd7df8b | 20354 | "type" : "integer", |
013dc89f | 20355 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
20356 | } |
20357 | } | |
20358 | }, | |
7aacca6f DM |
20359 | "permissions" : { |
20360 | "check" : [ | |
20361 | "perm", | |
20362 | "/storage/{storage}", | |
20363 | [ | |
20364 | "Datastore.Audit", | |
20365 | "Datastore.AllocateSpace" | |
20366 | ], | |
20367 | "any", | |
20368 | 1 | |
20369 | ] | |
20370 | }, | |
44660702 | 20371 | "protected" : 1, |
7aacca6f | 20372 | "proxyto" : "node", |
56122987 | 20373 | "returns" : { |
44660702 DM |
20374 | "items" : { |
20375 | "properties" : { | |
20376 | "volid" : { | |
20377 | "type" : "string" | |
20378 | } | |
20379 | }, | |
20380 | "type" : "object" | |
20381 | }, | |
20382 | "links" : [ | |
20383 | { | |
20384 | "href" : "{volid}", | |
20385 | "rel" : "child" | |
20386 | } | |
20387 | ], | |
20388 | "type" : "array" | |
20389 | } | |
20390 | }, | |
20391 | "POST" : { | |
20392 | "description" : "Allocate disk images.", | |
20393 | "method" : "POST", | |
20394 | "name" : "create", | |
56122987 | 20395 | "parameters" : { |
44660702 | 20396 | "additionalProperties" : 0, |
56122987 | 20397 | "properties" : { |
44660702 DM |
20398 | "filename" : { |
20399 | "description" : "The name of the file to create.", | |
013dc89f DM |
20400 | "type" : "string", |
20401 | "typetext" : "<string>" | |
44660702 DM |
20402 | }, |
20403 | "format" : { | |
20404 | "enum" : [ | |
20405 | "raw", | |
20406 | "qcow2", | |
20407 | "subvol" | |
20408 | ], | |
20409 | "optional" : 1, | |
20410 | "requires" : "size", | |
20411 | "type" : "string" | |
20412 | }, | |
20413 | "node" : { | |
20414 | "description" : "The cluster node name.", | |
20415 | "format" : "pve-node", | |
013dc89f DM |
20416 | "type" : "string", |
20417 | "typetext" : "<string>" | |
44660702 DM |
20418 | }, |
20419 | "size" : { | |
20420 | "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)", | |
20421 | "pattern" : "\\d+[MG]?", | |
20422 | "type" : "string" | |
20423 | }, | |
56122987 DM |
20424 | "storage" : { |
20425 | "description" : "The storage identifier.", | |
44660702 | 20426 | "format" : "pve-storage-id", |
013dc89f DM |
20427 | "type" : "string", |
20428 | "typetext" : "<string>" | |
56122987 | 20429 | }, |
44660702 DM |
20430 | "vmid" : { |
20431 | "description" : "Specify owner VM", | |
20432 | "format" : "pve-vmid", | |
20433 | "minimum" : 1, | |
4bd7df8b | 20434 | "type" : "integer", |
013dc89f | 20435 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
20436 | } |
20437 | } | |
20438 | }, | |
20439 | "permissions" : { | |
20440 | "check" : [ | |
20441 | "perm", | |
20442 | "/storage/{storage}", | |
20443 | [ | |
20444 | "Datastore.AllocateSpace" | |
20445 | ] | |
20446 | ] | |
20447 | }, | |
20448 | "protected" : 1, | |
20449 | "proxyto" : "node", | |
20450 | "returns" : { | |
20451 | "description" : "Volume identifier", | |
20452 | "type" : "string" | |
20453 | } | |
20454 | } | |
20455 | }, | |
20456 | "leaf" : 0, | |
20457 | "path" : "/nodes/{node}/storage/{storage}/content", | |
20458 | "text" : "content" | |
20459 | }, | |
20460 | { | |
20461 | "info" : { | |
20462 | "GET" : { | |
20463 | "description" : "Read storage status.", | |
20464 | "method" : "GET", | |
20465 | "name" : "read_status", | |
20466 | "parameters" : { | |
20467 | "additionalProperties" : 0, | |
20468 | "properties" : { | |
56122987 DM |
20469 | "node" : { |
20470 | "description" : "The cluster node name.", | |
44660702 | 20471 | "format" : "pve-node", |
013dc89f DM |
20472 | "type" : "string", |
20473 | "typetext" : "<string>" | |
44660702 DM |
20474 | }, |
20475 | "storage" : { | |
20476 | "description" : "The storage identifier.", | |
20477 | "format" : "pve-storage-id", | |
013dc89f DM |
20478 | "type" : "string", |
20479 | "typetext" : "<string>" | |
56122987 | 20480 | } |
44660702 DM |
20481 | } |
20482 | }, | |
20483 | "permissions" : { | |
20484 | "check" : [ | |
20485 | "perm", | |
20486 | "/storage/{storage}", | |
20487 | [ | |
20488 | "Datastore.Audit", | |
20489 | "Datastore.AllocateSpace" | |
20490 | ], | |
20491 | "any", | |
20492 | 1 | |
20493 | ] | |
56122987 DM |
20494 | }, |
20495 | "protected" : 1, | |
44660702 DM |
20496 | "proxyto" : "node", |
20497 | "returns" : { | |
20498 | "properties" : {}, | |
20499 | "type" : "object" | |
20500 | } | |
56122987 DM |
20501 | } |
20502 | }, | |
44660702 DM |
20503 | "leaf" : 1, |
20504 | "path" : "/nodes/{node}/storage/{storage}/status", | |
7aacca6f | 20505 | "text" : "status" |
56122987 DM |
20506 | }, |
20507 | { | |
56122987 DM |
20508 | "info" : { |
20509 | "GET" : { | |
44660702 DM |
20510 | "description" : "Read storage RRD statistics (returns PNG).", |
20511 | "method" : "GET", | |
20512 | "name" : "rrd", | |
56122987 | 20513 | "parameters" : { |
44660702 | 20514 | "additionalProperties" : 0, |
56122987 | 20515 | "properties" : { |
44660702 DM |
20516 | "cf" : { |
20517 | "description" : "The RRD consolidation function", | |
20518 | "enum" : [ | |
20519 | "AVERAGE", | |
20520 | "MAX" | |
20521 | ], | |
20522 | "optional" : 1, | |
20523 | "type" : "string" | |
20524 | }, | |
7aacca6f | 20525 | "ds" : { |
7aacca6f | 20526 | "description" : "The list of datasources you want to display.", |
44660702 | 20527 | "format" : "pve-configid-list", |
013dc89f DM |
20528 | "type" : "string", |
20529 | "typetext" : "<string>" | |
56122987 | 20530 | }, |
7aacca6f DM |
20531 | "node" : { |
20532 | "description" : "The cluster node name.", | |
44660702 | 20533 | "format" : "pve-node", |
013dc89f DM |
20534 | "type" : "string", |
20535 | "typetext" : "<string>" | |
56122987 | 20536 | }, |
7aacca6f | 20537 | "storage" : { |
7aacca6f | 20538 | "description" : "The storage identifier.", |
44660702 | 20539 | "format" : "pve-storage-id", |
013dc89f DM |
20540 | "type" : "string", |
20541 | "typetext" : "<string>" | |
44660702 DM |
20542 | }, |
20543 | "timeframe" : { | |
20544 | "description" : "Specify the time frame you are interested in.", | |
7aacca6f | 20545 | "enum" : [ |
44660702 DM |
20546 | "hour", |
20547 | "day", | |
20548 | "week", | |
20549 | "month", | |
20550 | "year" | |
7aacca6f | 20551 | ], |
44660702 | 20552 | "type" : "string" |
56122987 | 20553 | } |
44660702 | 20554 | } |
56122987 DM |
20555 | }, |
20556 | "permissions" : { | |
20557 | "check" : [ | |
20558 | "perm", | |
20559 | "/storage/{storage}", | |
20560 | [ | |
20561 | "Datastore.Audit", | |
20562 | "Datastore.AllocateSpace" | |
20563 | ], | |
20564 | "any", | |
20565 | 1 | |
20566 | ] | |
20567 | }, | |
44660702 DM |
20568 | "protected" : 1, |
20569 | "proxyto" : "node", | |
7aacca6f DM |
20570 | "returns" : { |
20571 | "properties" : { | |
20572 | "filename" : { | |
20573 | "type" : "string" | |
20574 | } | |
20575 | }, | |
20576 | "type" : "object" | |
20577 | } | |
56122987 DM |
20578 | } |
20579 | }, | |
20580 | "leaf" : 1, | |
44660702 DM |
20581 | "path" : "/nodes/{node}/storage/{storage}/rrd", |
20582 | "text" : "rrd" | |
56122987 DM |
20583 | }, |
20584 | { | |
56122987 DM |
20585 | "info" : { |
20586 | "GET" : { | |
44660702 DM |
20587 | "description" : "Read storage RRD statistics.", |
20588 | "method" : "GET", | |
20589 | "name" : "rrddata", | |
56122987 | 20590 | "parameters" : { |
44660702 | 20591 | "additionalProperties" : 0, |
56122987 | 20592 | "properties" : { |
44660702 DM |
20593 | "cf" : { |
20594 | "description" : "The RRD consolidation function", | |
20595 | "enum" : [ | |
20596 | "AVERAGE", | |
20597 | "MAX" | |
20598 | ], | |
20599 | "optional" : 1, | |
20600 | "type" : "string" | |
20601 | }, | |
7aacca6f | 20602 | "node" : { |
7aacca6f | 20603 | "description" : "The cluster node name.", |
44660702 | 20604 | "format" : "pve-node", |
013dc89f DM |
20605 | "type" : "string", |
20606 | "typetext" : "<string>" | |
44660702 DM |
20607 | }, |
20608 | "storage" : { | |
20609 | "description" : "The storage identifier.", | |
20610 | "format" : "pve-storage-id", | |
013dc89f DM |
20611 | "type" : "string", |
20612 | "typetext" : "<string>" | |
7aacca6f | 20613 | }, |
56122987 | 20614 | "timeframe" : { |
7aacca6f | 20615 | "description" : "Specify the time frame you are interested in.", |
56122987 DM |
20616 | "enum" : [ |
20617 | "hour", | |
20618 | "day", | |
20619 | "week", | |
20620 | "month", | |
20621 | "year" | |
56122987 | 20622 | ], |
44660702 | 20623 | "type" : "string" |
56122987 | 20624 | } |
44660702 | 20625 | } |
7aacca6f | 20626 | }, |
7aacca6f DM |
20627 | "permissions" : { |
20628 | "check" : [ | |
20629 | "perm", | |
20630 | "/storage/{storage}", | |
20631 | [ | |
20632 | "Datastore.Audit", | |
20633 | "Datastore.AllocateSpace" | |
20634 | ], | |
20635 | "any", | |
20636 | 1 | |
20637 | ] | |
20638 | }, | |
44660702 DM |
20639 | "protected" : 1, |
20640 | "proxyto" : "node", | |
7aacca6f DM |
20641 | "returns" : { |
20642 | "items" : { | |
44660702 DM |
20643 | "properties" : {}, |
20644 | "type" : "object" | |
7aacca6f DM |
20645 | }, |
20646 | "type" : "array" | |
56122987 DM |
20647 | } |
20648 | } | |
7aacca6f | 20649 | }, |
7aacca6f | 20650 | "leaf" : 1, |
44660702 DM |
20651 | "path" : "/nodes/{node}/storage/{storage}/rrddata", |
20652 | "text" : "rrddata" | |
56122987 DM |
20653 | }, |
20654 | { | |
56122987 DM |
20655 | "info" : { |
20656 | "POST" : { | |
7aacca6f | 20657 | "description" : "Upload templates and ISO images.", |
44660702 DM |
20658 | "method" : "POST", |
20659 | "name" : "upload", | |
56122987 | 20660 | "parameters" : { |
7aacca6f | 20661 | "additionalProperties" : 0, |
56122987 | 20662 | "properties" : { |
56122987 | 20663 | "content" : { |
7aacca6f | 20664 | "description" : "Content type.", |
44660702 | 20665 | "format" : "pve-storage-content", |
013dc89f DM |
20666 | "type" : "string", |
20667 | "typetext" : "<string>" | |
56122987 DM |
20668 | }, |
20669 | "filename" : { | |
44660702 | 20670 | "description" : "The name of the file to create.", |
013dc89f DM |
20671 | "type" : "string", |
20672 | "typetext" : "<string>" | |
56122987 DM |
20673 | }, |
20674 | "node" : { | |
20675 | "description" : "The cluster node name.", | |
44660702 | 20676 | "format" : "pve-node", |
013dc89f DM |
20677 | "type" : "string", |
20678 | "typetext" : "<string>" | |
44660702 DM |
20679 | }, |
20680 | "storage" : { | |
20681 | "description" : "The storage identifier.", | |
20682 | "format" : "pve-storage-id", | |
013dc89f DM |
20683 | "type" : "string", |
20684 | "typetext" : "<string>" | |
44660702 DM |
20685 | }, |
20686 | "tmpfilename" : { | |
20687 | "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.", | |
20688 | "optional" : 1, | |
013dc89f DM |
20689 | "type" : "string", |
20690 | "typetext" : "<string>" | |
56122987 | 20691 | } |
7aacca6f | 20692 | } |
56122987 | 20693 | }, |
56122987 DM |
20694 | "permissions" : { |
20695 | "check" : [ | |
20696 | "perm", | |
20697 | "/storage/{storage}", | |
20698 | [ | |
20699 | "Datastore.AllocateTemplate" | |
20700 | ] | |
20701 | ] | |
44660702 DM |
20702 | }, |
20703 | "protected" : 1, | |
20704 | "returns" : { | |
20705 | "type" : "string" | |
20706 | } | |
20707 | } | |
20708 | }, | |
20709 | "leaf" : 1, | |
20710 | "path" : "/nodes/{node}/storage/{storage}/upload", | |
20711 | "text" : "upload" | |
20712 | } | |
20713 | ], | |
20714 | "info" : { | |
20715 | "GET" : { | |
20716 | "description" : "", | |
20717 | "method" : "GET", | |
20718 | "name" : "diridx", | |
20719 | "parameters" : { | |
20720 | "additionalProperties" : 0, | |
20721 | "properties" : { | |
20722 | "node" : { | |
20723 | "description" : "The cluster node name.", | |
20724 | "format" : "pve-node", | |
013dc89f DM |
20725 | "type" : "string", |
20726 | "typetext" : "<string>" | |
44660702 DM |
20727 | }, |
20728 | "storage" : { | |
20729 | "description" : "The storage identifier.", | |
20730 | "format" : "pve-storage-id", | |
013dc89f DM |
20731 | "type" : "string", |
20732 | "typetext" : "<string>" | |
56122987 DM |
20733 | } |
20734 | } | |
44660702 DM |
20735 | }, |
20736 | "permissions" : { | |
20737 | "check" : [ | |
20738 | "perm", | |
20739 | "/storage/{storage}", | |
20740 | [ | |
20741 | "Datastore.Audit", | |
20742 | "Datastore.AllocateSpace" | |
20743 | ], | |
20744 | "any", | |
20745 | 1 | |
20746 | ] | |
20747 | }, | |
20748 | "returns" : { | |
20749 | "items" : { | |
20750 | "properties" : { | |
20751 | "subdir" : { | |
20752 | "type" : "string" | |
20753 | } | |
20754 | }, | |
20755 | "type" : "object" | |
20756 | }, | |
20757 | "links" : [ | |
20758 | { | |
20759 | "href" : "{subdir}", | |
20760 | "rel" : "child" | |
20761 | } | |
20762 | ], | |
20763 | "type" : "array" | |
56122987 DM |
20764 | } |
20765 | } | |
44660702 DM |
20766 | }, |
20767 | "leaf" : 0, | |
20768 | "path" : "/nodes/{node}/storage/{storage}", | |
20769 | "text" : "{storage}" | |
56122987 DM |
20770 | } |
20771 | ], | |
56122987 DM |
20772 | "info" : { |
20773 | "GET" : { | |
44660702 DM |
20774 | "description" : "Get status for all datastores.", |
20775 | "method" : "GET", | |
20776 | "name" : "index", | |
20777 | "parameters" : { | |
20778 | "additionalProperties" : 0, | |
20779 | "properties" : { | |
20780 | "content" : { | |
20781 | "description" : "Only list stores which support this content type.", | |
20782 | "format" : "pve-storage-content-list", | |
20783 | "optional" : 1, | |
013dc89f DM |
20784 | "type" : "string", |
20785 | "typetext" : "<string>" | |
44660702 DM |
20786 | }, |
20787 | "enabled" : { | |
20788 | "default" : 0, | |
20789 | "description" : "Only list stores which are enabled (not disabled in config).", | |
20790 | "optional" : 1, | |
013dc89f DM |
20791 | "type" : "boolean", |
20792 | "typetext" : "<boolean>" | |
44660702 DM |
20793 | }, |
20794 | "node" : { | |
20795 | "description" : "The cluster node name.", | |
20796 | "format" : "pve-node", | |
013dc89f DM |
20797 | "type" : "string", |
20798 | "typetext" : "<string>" | |
44660702 DM |
20799 | }, |
20800 | "storage" : { | |
20801 | "description" : "Only list status for specified storage", | |
20802 | "format" : "pve-storage-id", | |
20803 | "optional" : 1, | |
013dc89f DM |
20804 | "type" : "string", |
20805 | "typetext" : "<string>" | |
44660702 DM |
20806 | }, |
20807 | "target" : { | |
20808 | "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.", | |
20809 | "format" : "pve-node", | |
20810 | "optional" : 1, | |
013dc89f DM |
20811 | "type" : "string", |
20812 | "typetext" : "<string>" | |
44660702 DM |
20813 | } |
20814 | } | |
20815 | }, | |
7aacca6f DM |
20816 | "permissions" : { |
20817 | "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'", | |
20818 | "user" : "all" | |
20819 | }, | |
44660702 | 20820 | "protected" : 1, |
7aacca6f | 20821 | "proxyto" : "node", |
56122987 DM |
20822 | "returns" : { |
20823 | "items" : { | |
56122987 DM |
20824 | "properties" : { |
20825 | "storage" : { | |
20826 | "type" : "string" | |
20827 | } | |
44660702 DM |
20828 | }, |
20829 | "type" : "object" | |
56122987 | 20830 | }, |
56122987 DM |
20831 | "links" : [ |
20832 | { | |
7aacca6f DM |
20833 | "href" : "{storage}", |
20834 | "rel" : "child" | |
56122987 | 20835 | } |
44660702 DM |
20836 | ], |
20837 | "type" : "array" | |
20838 | } | |
56122987 | 20839 | } |
44660702 DM |
20840 | }, |
20841 | "leaf" : 0, | |
20842 | "path" : "/nodes/{node}/storage", | |
20843 | "text" : "storage" | |
56122987 | 20844 | }, |
2c0dde61 DM |
20845 | { |
20846 | "children" : [ | |
20847 | { | |
20848 | "info" : { | |
20849 | "GET" : { | |
20850 | "description" : "List local disks.", | |
20851 | "method" : "GET", | |
20852 | "name" : "list", | |
20853 | "parameters" : { | |
20854 | "additionalProperties" : 0, | |
20855 | "properties" : { | |
20856 | "node" : { | |
20857 | "description" : "The cluster node name.", | |
20858 | "format" : "pve-node", | |
013dc89f DM |
20859 | "type" : "string", |
20860 | "typetext" : "<string>" | |
2c0dde61 DM |
20861 | } |
20862 | } | |
20863 | }, | |
20864 | "permissions" : { | |
20865 | "check" : [ | |
20866 | "perm", | |
20867 | "/", | |
20868 | [ | |
20869 | "Sys.Audit", | |
20870 | "Datastore.Audit" | |
20871 | ], | |
20872 | "any", | |
20873 | 1 | |
20874 | ] | |
20875 | }, | |
20876 | "protected" : 1, | |
20877 | "proxyto" : "node", | |
20878 | "returns" : { | |
20879 | "items" : { | |
20880 | "properties" : { | |
20881 | "devpath" : { | |
20882 | "description" : "The device path", | |
20883 | "type" : "string" | |
20884 | }, | |
20885 | "gpt" : { | |
20886 | "type" : "boolean" | |
20887 | }, | |
20888 | "health" : { | |
20889 | "optional" : 1, | |
20890 | "type" : "string" | |
20891 | }, | |
20892 | "model" : { | |
20893 | "optional" : 1, | |
20894 | "type" : "string" | |
20895 | }, | |
20896 | "osdid" : { | |
20897 | "type" : "integer" | |
20898 | }, | |
20899 | "serial" : { | |
20900 | "optional" : 1, | |
20901 | "type" : "string" | |
20902 | }, | |
20903 | "size" : { | |
20904 | "type" : "integer" | |
20905 | }, | |
20906 | "used" : { | |
20907 | "optional" : 1, | |
20908 | "type" : "string" | |
20909 | }, | |
20910 | "vendor" : { | |
20911 | "optional" : 1, | |
20912 | "type" : "string" | |
20913 | }, | |
20914 | "wwn" : { | |
20915 | "optional" : 1, | |
20916 | "type" : "string" | |
20917 | } | |
20918 | }, | |
20919 | "type" : "object" | |
20920 | }, | |
20921 | "type" : "array" | |
20922 | } | |
20923 | } | |
20924 | }, | |
20925 | "leaf" : 1, | |
20926 | "path" : "/nodes/{node}/disks/list", | |
20927 | "text" : "list" | |
20928 | }, | |
20929 | { | |
20930 | "info" : { | |
20931 | "GET" : { | |
20932 | "description" : "Get SMART Health of a disk.", | |
20933 | "method" : "GET", | |
20934 | "name" : "smart", | |
20935 | "parameters" : { | |
20936 | "additionalProperties" : 0, | |
20937 | "properties" : { | |
20938 | "disk" : { | |
20939 | "description" : "Block device name", | |
20940 | "pattern" : "^/dev/[a-zA-Z0-9\\/]+$", | |
20941 | "type" : "string" | |
20942 | }, | |
20943 | "healthonly" : { | |
20944 | "description" : "If true returns only the health status", | |
20945 | "optional" : 1, | |
013dc89f DM |
20946 | "type" : "boolean", |
20947 | "typetext" : "<boolean>" | |
2c0dde61 DM |
20948 | }, |
20949 | "node" : { | |
20950 | "description" : "The cluster node name.", | |
20951 | "format" : "pve-node", | |
013dc89f DM |
20952 | "type" : "string", |
20953 | "typetext" : "<string>" | |
2c0dde61 DM |
20954 | } |
20955 | } | |
20956 | }, | |
20957 | "permissions" : { | |
20958 | "check" : [ | |
20959 | "perm", | |
20960 | "/", | |
20961 | [ | |
20962 | "Sys.Audit", | |
20963 | "Datastore.Audit" | |
20964 | ], | |
20965 | "any", | |
20966 | 1 | |
20967 | ] | |
20968 | }, | |
20969 | "protected" : 1, | |
20970 | "proxyto" : "node", | |
20971 | "returns" : { | |
de0983cb DM |
20972 | "properties" : { |
20973 | "attributes" : { | |
20974 | "optional" : 1, | |
20975 | "type" : "array" | |
20976 | }, | |
20977 | "health" : { | |
20978 | "type" : "string" | |
20979 | }, | |
20980 | "text" : { | |
20981 | "optional" : 1, | |
20982 | "type" : "string" | |
20983 | }, | |
20984 | "type" : { | |
20985 | "optional" : 1, | |
20986 | "type" : "string" | |
20987 | } | |
20988 | }, | |
2c0dde61 DM |
20989 | "type" : "object" |
20990 | } | |
20991 | } | |
20992 | }, | |
20993 | "leaf" : 1, | |
20994 | "path" : "/nodes/{node}/disks/smart", | |
20995 | "text" : "smart" | |
20996 | }, | |
20997 | { | |
20998 | "info" : { | |
20999 | "POST" : { | |
21000 | "description" : "Initialize Disk with GPT", | |
21001 | "method" : "POST", | |
21002 | "name" : "initgpt", | |
21003 | "parameters" : { | |
21004 | "additionalProperties" : 0, | |
21005 | "properties" : { | |
21006 | "disk" : { | |
21007 | "description" : "Block device name", | |
21008 | "pattern" : "^/dev/[a-zA-Z0-9\\/]+$", | |
21009 | "type" : "string" | |
21010 | }, | |
21011 | "node" : { | |
21012 | "description" : "The cluster node name.", | |
21013 | "format" : "pve-node", | |
013dc89f DM |
21014 | "type" : "string", |
21015 | "typetext" : "<string>" | |
2c0dde61 DM |
21016 | }, |
21017 | "uuid" : { | |
21018 | "description" : "UUID for the GPT table", | |
21019 | "maxLength" : 36, | |
21020 | "optional" : 1, | |
21021 | "pattern" : "[a-fA-F0-9\\-]+", | |
21022 | "type" : "string" | |
21023 | } | |
21024 | } | |
21025 | }, | |
21026 | "permissions" : { | |
21027 | "check" : [ | |
21028 | "perm", | |
21029 | "/", | |
21030 | [ | |
21031 | "Sys.Modify" | |
21032 | ] | |
21033 | ] | |
21034 | }, | |
21035 | "protected" : 1, | |
21036 | "proxyto" : "node", | |
21037 | "returns" : { | |
21038 | "type" : "string" | |
21039 | } | |
21040 | } | |
21041 | }, | |
21042 | "leaf" : 1, | |
21043 | "path" : "/nodes/{node}/disks/initgpt", | |
21044 | "text" : "initgpt" | |
21045 | } | |
21046 | ], | |
21047 | "info" : { | |
21048 | "GET" : { | |
21049 | "description" : "Node index.", | |
21050 | "method" : "GET", | |
21051 | "name" : "index", | |
21052 | "parameters" : { | |
21053 | "additionalProperties" : 0, | |
21054 | "properties" : { | |
21055 | "node" : { | |
21056 | "description" : "The cluster node name.", | |
21057 | "format" : "pve-node", | |
013dc89f DM |
21058 | "type" : "string", |
21059 | "typetext" : "<string>" | |
2c0dde61 DM |
21060 | } |
21061 | } | |
21062 | }, | |
21063 | "permissions" : { | |
21064 | "user" : "all" | |
21065 | }, | |
21066 | "proxyto" : "node", | |
21067 | "returns" : { | |
21068 | "items" : { | |
21069 | "properties" : {}, | |
21070 | "type" : "object" | |
21071 | }, | |
21072 | "links" : [ | |
21073 | { | |
21074 | "href" : "{name}", | |
21075 | "rel" : "child" | |
21076 | } | |
21077 | ], | |
21078 | "type" : "array" | |
21079 | } | |
21080 | } | |
21081 | }, | |
21082 | "leaf" : 0, | |
21083 | "path" : "/nodes/{node}/disks", | |
21084 | "text" : "disks" | |
21085 | }, | |
56122987 | 21086 | { |
56122987 DM |
21087 | "children" : [ |
21088 | { | |
21089 | "info" : { | |
44660702 DM |
21090 | "GET" : { |
21091 | "description" : "List available updates.", | |
21092 | "method" : "GET", | |
21093 | "name" : "list_updates", | |
21094 | "parameters" : { | |
21095 | "additionalProperties" : 0, | |
21096 | "properties" : { | |
21097 | "node" : { | |
21098 | "description" : "The cluster node name.", | |
21099 | "format" : "pve-node", | |
013dc89f DM |
21100 | "type" : "string", |
21101 | "typetext" : "<string>" | |
44660702 DM |
21102 | } |
21103 | } | |
7aacca6f DM |
21104 | }, |
21105 | "permissions" : { | |
21106 | "check" : [ | |
21107 | "perm", | |
21108 | "/nodes/{node}", | |
21109 | [ | |
21110 | "Sys.Modify" | |
21111 | ] | |
21112 | ] | |
21113 | }, | |
44660702 | 21114 | "protected" : 1, |
56122987 | 21115 | "proxyto" : "node", |
44660702 DM |
21116 | "returns" : { |
21117 | "items" : { | |
21118 | "properties" : {}, | |
21119 | "type" : "object" | |
21120 | }, | |
21121 | "type" : "array" | |
21122 | } | |
21123 | }, | |
21124 | "POST" : { | |
21125 | "description" : "This is used to resynchronize the package index files from their sources (apt-get update).", | |
7aacca6f DM |
21126 | "method" : "POST", |
21127 | "name" : "update_database", | |
56122987 DM |
21128 | "parameters" : { |
21129 | "additionalProperties" : 0, | |
21130 | "properties" : { | |
44660702 DM |
21131 | "node" : { |
21132 | "description" : "The cluster node name.", | |
21133 | "format" : "pve-node", | |
013dc89f DM |
21134 | "type" : "string", |
21135 | "typetext" : "<string>" | |
44660702 | 21136 | }, |
56122987 | 21137 | "notify" : { |
56122987 | 21138 | "default" : 0, |
44660702 DM |
21139 | "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').", |
21140 | "optional" : 1, | |
013dc89f DM |
21141 | "type" : "boolean", |
21142 | "typetext" : "<boolean>" | |
56122987 DM |
21143 | }, |
21144 | "quiet" : { | |
56122987 | 21145 | "default" : 0, |
44660702 | 21146 | "description" : "Only produces output suitable for logging, omitting progress indicators.", |
56122987 | 21147 | "optional" : 1, |
013dc89f DM |
21148 | "type" : "boolean", |
21149 | "typetext" : "<boolean>" | |
56122987 | 21150 | } |
7aacca6f DM |
21151 | } |
21152 | }, | |
21153 | "permissions" : { | |
21154 | "check" : [ | |
21155 | "perm", | |
21156 | "/nodes/{node}", | |
21157 | [ | |
21158 | "Sys.Modify" | |
21159 | ] | |
21160 | ] | |
21161 | }, | |
44660702 DM |
21162 | "protected" : 1, |
21163 | "proxyto" : "node", | |
21164 | "returns" : { | |
21165 | "type" : "string" | |
21166 | } | |
56122987 DM |
21167 | } |
21168 | }, | |
7aacca6f | 21169 | "leaf" : 1, |
44660702 DM |
21170 | "path" : "/nodes/{node}/apt/update", |
21171 | "text" : "update" | |
56122987 DM |
21172 | }, |
21173 | { | |
56122987 DM |
21174 | "info" : { |
21175 | "GET" : { | |
44660702 | 21176 | "description" : "Get package changelogs.", |
56122987 | 21177 | "method" : "GET", |
7aacca6f | 21178 | "name" : "changelog", |
56122987 | 21179 | "parameters" : { |
44660702 | 21180 | "additionalProperties" : 0, |
56122987 DM |
21181 | "properties" : { |
21182 | "name" : { | |
21183 | "description" : "Package name.", | |
013dc89f DM |
21184 | "type" : "string", |
21185 | "typetext" : "<string>" | |
56122987 | 21186 | }, |
44660702 DM |
21187 | "node" : { |
21188 | "description" : "The cluster node name.", | |
21189 | "format" : "pve-node", | |
013dc89f DM |
21190 | "type" : "string", |
21191 | "typetext" : "<string>" | |
44660702 | 21192 | }, |
56122987 | 21193 | "version" : { |
7aacca6f | 21194 | "description" : "Package version.", |
44660702 | 21195 | "optional" : 1, |
013dc89f DM |
21196 | "type" : "string", |
21197 | "typetext" : "<string>" | |
56122987 | 21198 | } |
44660702 | 21199 | } |
56122987 | 21200 | }, |
44660702 DM |
21201 | "permissions" : { |
21202 | "check" : [ | |
21203 | "perm", | |
21204 | "/nodes/{node}", | |
21205 | [ | |
21206 | "Sys.Modify" | |
21207 | ] | |
21208 | ] | |
21209 | }, | |
21210 | "proxyto" : "node", | |
21211 | "returns" : { | |
21212 | "type" : "string" | |
21213 | } | |
56122987 DM |
21214 | } |
21215 | }, | |
44660702 DM |
21216 | "leaf" : 1, |
21217 | "path" : "/nodes/{node}/apt/changelog", | |
7aacca6f | 21218 | "text" : "changelog" |
56122987 DM |
21219 | }, |
21220 | { | |
56122987 DM |
21221 | "info" : { |
21222 | "GET" : { | |
44660702 DM |
21223 | "description" : "Get package information for important Proxmox packages.", |
21224 | "method" : "GET", | |
7aacca6f DM |
21225 | "name" : "versions", |
21226 | "parameters" : { | |
44660702 | 21227 | "additionalProperties" : 0, |
7aacca6f DM |
21228 | "properties" : { |
21229 | "node" : { | |
44660702 | 21230 | "description" : "The cluster node name.", |
7aacca6f | 21231 | "format" : "pve-node", |
013dc89f DM |
21232 | "type" : "string", |
21233 | "typetext" : "<string>" | |
7aacca6f | 21234 | } |
44660702 | 21235 | } |
7aacca6f | 21236 | }, |
56122987 DM |
21237 | "permissions" : { |
21238 | "check" : [ | |
21239 | "perm", | |
21240 | "/nodes/{node}", | |
21241 | [ | |
21242 | "Sys.Audit" | |
21243 | ] | |
21244 | ] | |
21245 | }, | |
7aacca6f | 21246 | "proxyto" : "node", |
56122987 DM |
21247 | "returns" : { |
21248 | "items" : { | |
7aacca6f DM |
21249 | "properties" : {}, |
21250 | "type" : "object" | |
44660702 DM |
21251 | }, |
21252 | "type" : "array" | |
56122987 DM |
21253 | } |
21254 | } | |
21255 | }, | |
44660702 | 21256 | "leaf" : 1, |
7aacca6f | 21257 | "path" : "/nodes/{node}/apt/versions", |
44660702 | 21258 | "text" : "versions" |
56122987 DM |
21259 | } |
21260 | ], | |
56122987 DM |
21261 | "info" : { |
21262 | "GET" : { | |
44660702 | 21263 | "description" : "Directory index for apt (Advanced Package Tool).", |
7aacca6f | 21264 | "method" : "GET", |
44660702 | 21265 | "name" : "index", |
7aacca6f DM |
21266 | "parameters" : { |
21267 | "additionalProperties" : 0, | |
21268 | "properties" : { | |
21269 | "node" : { | |
44660702 | 21270 | "description" : "The cluster node name.", |
7aacca6f | 21271 | "format" : "pve-node", |
013dc89f DM |
21272 | "type" : "string", |
21273 | "typetext" : "<string>" | |
7aacca6f DM |
21274 | } |
21275 | } | |
21276 | }, | |
7aacca6f DM |
21277 | "permissions" : { |
21278 | "user" : "all" | |
21279 | }, | |
44660702 DM |
21280 | "returns" : { |
21281 | "items" : { | |
21282 | "properties" : { | |
21283 | "id" : { | |
21284 | "type" : "string" | |
21285 | } | |
21286 | }, | |
21287 | "type" : "object" | |
21288 | }, | |
21289 | "links" : [ | |
21290 | { | |
21291 | "href" : "{id}", | |
21292 | "rel" : "child" | |
21293 | } | |
21294 | ], | |
21295 | "type" : "array" | |
21296 | } | |
56122987 | 21297 | } |
7aacca6f | 21298 | }, |
44660702 | 21299 | "leaf" : 0, |
7aacca6f | 21300 | "path" : "/nodes/{node}/apt", |
44660702 | 21301 | "text" : "apt" |
56122987 DM |
21302 | }, |
21303 | { | |
56122987 DM |
21304 | "children" : [ |
21305 | { | |
21306 | "children" : [ | |
21307 | { | |
56122987 DM |
21308 | "info" : { |
21309 | "DELETE" : { | |
44660702 | 21310 | "description" : "Delete rule.", |
7aacca6f | 21311 | "method" : "DELETE", |
44660702 | 21312 | "name" : "delete_rule", |
56122987 DM |
21313 | "parameters" : { |
21314 | "additionalProperties" : 0, | |
21315 | "properties" : { | |
56122987 DM |
21316 | "digest" : { |
21317 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
44660702 | 21318 | "maxLength" : 40, |
56122987 | 21319 | "optional" : 1, |
013dc89f DM |
21320 | "type" : "string", |
21321 | "typetext" : "<string>" | |
56122987 | 21322 | }, |
44660702 DM |
21323 | "node" : { |
21324 | "description" : "The cluster node name.", | |
21325 | "format" : "pve-node", | |
013dc89f DM |
21326 | "type" : "string", |
21327 | "typetext" : "<string>" | |
44660702 | 21328 | }, |
7aacca6f | 21329 | "pos" : { |
7aacca6f | 21330 | "description" : "Update rule at position <pos>.", |
44660702 DM |
21331 | "minimum" : 0, |
21332 | "optional" : 1, | |
4bd7df8b | 21333 | "type" : "integer", |
013dc89f | 21334 | "typetext" : "<integer> (0 - N)" |
56122987 DM |
21335 | } |
21336 | } | |
21337 | }, | |
44660702 DM |
21338 | "permissions" : { |
21339 | "check" : [ | |
21340 | "perm", | |
21341 | "/nodes/{node}", | |
21342 | [ | |
21343 | "Sys.Modify" | |
21344 | ] | |
21345 | ] | |
21346 | }, | |
21347 | "protected" : 1, | |
21348 | "proxyto" : "node", | |
56122987 DM |
21349 | "returns" : { |
21350 | "type" : "null" | |
44660702 DM |
21351 | } |
21352 | }, | |
21353 | "GET" : { | |
21354 | "description" : "Get single rule data.", | |
21355 | "method" : "GET", | |
21356 | "name" : "get_rule", | |
21357 | "parameters" : { | |
21358 | "additionalProperties" : 0, | |
21359 | "properties" : { | |
21360 | "node" : { | |
21361 | "description" : "The cluster node name.", | |
21362 | "format" : "pve-node", | |
013dc89f DM |
21363 | "type" : "string", |
21364 | "typetext" : "<string>" | |
44660702 DM |
21365 | }, |
21366 | "pos" : { | |
21367 | "description" : "Update rule at position <pos>.", | |
21368 | "minimum" : 0, | |
21369 | "optional" : 1, | |
4bd7df8b | 21370 | "type" : "integer", |
013dc89f | 21371 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
21372 | } |
21373 | } | |
56122987 | 21374 | }, |
56122987 DM |
21375 | "permissions" : { |
21376 | "check" : [ | |
21377 | "perm", | |
21378 | "/nodes/{node}", | |
21379 | [ | |
44660702 | 21380 | "Sys.Audit" |
56122987 DM |
21381 | ] |
21382 | ] | |
44660702 DM |
21383 | }, |
21384 | "proxyto" : "node", | |
21385 | "returns" : { | |
21386 | "properties" : { | |
21387 | "pos" : { | |
21388 | "type" : "integer" | |
21389 | } | |
21390 | }, | |
21391 | "type" : "object" | |
7aacca6f | 21392 | } |
56122987 DM |
21393 | }, |
21394 | "PUT" : { | |
44660702 DM |
21395 | "description" : "Modify rule data.", |
21396 | "method" : "PUT", | |
56122987 | 21397 | "name" : "update_rule", |
56122987 | 21398 | "parameters" : { |
44660702 | 21399 | "additionalProperties" : 0, |
56122987 | 21400 | "properties" : { |
44660702 DM |
21401 | "action" : { |
21402 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", | |
21403 | "maxLength" : 20, | |
21404 | "minLength" : 2, | |
56122987 | 21405 | "optional" : 1, |
44660702 DM |
21406 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
21407 | "type" : "string" | |
56122987 | 21408 | }, |
7aacca6f | 21409 | "comment" : { |
e94f0d56 | 21410 | "description" : "Descriptive comment.", |
56122987 | 21411 | "optional" : 1, |
013dc89f DM |
21412 | "type" : "string", |
21413 | "typetext" : "<string>" | |
56122987 | 21414 | }, |
44660702 DM |
21415 | "delete" : { |
21416 | "description" : "A list of settings you want to delete.", | |
21417 | "format" : "pve-configid-list", | |
56122987 | 21418 | "optional" : 1, |
013dc89f DM |
21419 | "type" : "string", |
21420 | "typetext" : "<string>" | |
56122987 | 21421 | }, |
44660702 DM |
21422 | "dest" : { |
21423 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
21424 | "format" : "pve-fw-addr-spec", | |
56122987 | 21425 | "optional" : 1, |
013dc89f DM |
21426 | "type" : "string", |
21427 | "typetext" : "<string>" | |
56122987 | 21428 | }, |
44660702 DM |
21429 | "digest" : { |
21430 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
21431 | "maxLength" : 40, | |
56122987 | 21432 | "optional" : 1, |
013dc89f DM |
21433 | "type" : "string", |
21434 | "typetext" : "<string>" | |
56122987 | 21435 | }, |
7aacca6f | 21436 | "dport" : { |
7aacca6f | 21437 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", |
44660702 DM |
21438 | "format" : "pve-fw-dport-spec", |
21439 | "optional" : 1, | |
013dc89f DM |
21440 | "type" : "string", |
21441 | "typetext" : "<string>" | |
7aacca6f | 21442 | }, |
44660702 | 21443 | "enable" : { |
e94f0d56 | 21444 | "description" : "Flag to enable/disable a rule.", |
44660702 | 21445 | "minimum" : 0, |
56122987 | 21446 | "optional" : 1, |
4bd7df8b | 21447 | "type" : "integer", |
013dc89f | 21448 | "typetext" : "<integer> (0 - N)" |
56122987 | 21449 | }, |
7aacca6f | 21450 | "iface" : { |
44660702 | 21451 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", |
7aacca6f | 21452 | "format" : "pve-iface", |
44660702 | 21453 | "maxLength" : 20, |
56122987 | 21454 | "minLength" : 2, |
44660702 | 21455 | "optional" : 1, |
013dc89f DM |
21456 | "type" : "string", |
21457 | "typetext" : "<string>" | |
56122987 | 21458 | }, |
44660702 | 21459 | "macro" : { |
e94f0d56 | 21460 | "description" : "Use predefined standard macro.", |
44660702 DM |
21461 | "maxLength" : 128, |
21462 | "optional" : 1, | |
013dc89f DM |
21463 | "type" : "string", |
21464 | "typetext" : "<string>" | |
44660702 DM |
21465 | }, |
21466 | "moveto" : { | |
21467 | "description" : "Move rule to new position <moveto>. Other arguments are ignored.", | |
21468 | "minimum" : 0, | |
7aacca6f | 21469 | "optional" : 1, |
4bd7df8b | 21470 | "type" : "integer", |
013dc89f | 21471 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
21472 | }, |
21473 | "node" : { | |
21474 | "description" : "The cluster node name.", | |
21475 | "format" : "pve-node", | |
013dc89f DM |
21476 | "type" : "string", |
21477 | "typetext" : "<string>" | |
56122987 DM |
21478 | }, |
21479 | "pos" : { | |
44660702 | 21480 | "description" : "Update rule at position <pos>.", |
7aacca6f | 21481 | "minimum" : 0, |
7aacca6f | 21482 | "optional" : 1, |
4bd7df8b | 21483 | "type" : "integer", |
013dc89f | 21484 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 21485 | }, |
44660702 DM |
21486 | "proto" : { |
21487 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
21488 | "format" : "pve-fw-protocol-spec", | |
7aacca6f | 21489 | "optional" : 1, |
013dc89f DM |
21490 | "type" : "string", |
21491 | "typetext" : "<string>" | |
7aacca6f | 21492 | }, |
44660702 DM |
21493 | "source" : { |
21494 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
21495 | "format" : "pve-fw-addr-spec", | |
56122987 | 21496 | "optional" : 1, |
013dc89f DM |
21497 | "type" : "string", |
21498 | "typetext" : "<string>" | |
7aacca6f | 21499 | }, |
44660702 DM |
21500 | "sport" : { |
21501 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
21502 | "format" : "pve-fw-sport-spec", | |
21503 | "optional" : 1, | |
013dc89f DM |
21504 | "type" : "string", |
21505 | "typetext" : "<string>" | |
44660702 DM |
21506 | }, |
21507 | "type" : { | |
e94f0d56 | 21508 | "description" : "Rule type.", |
44660702 DM |
21509 | "enum" : [ |
21510 | "in", | |
21511 | "out", | |
21512 | "group" | |
21513 | ], | |
21514 | "optional" : 1, | |
21515 | "type" : "string" | |
56122987 | 21516 | } |
44660702 | 21517 | } |
56122987 | 21518 | }, |
56122987 DM |
21519 | "permissions" : { |
21520 | "check" : [ | |
21521 | "perm", | |
21522 | "/nodes/{node}", | |
21523 | [ | |
21524 | "Sys.Modify" | |
21525 | ] | |
21526 | ] | |
7aacca6f | 21527 | }, |
44660702 | 21528 | "protected" : 1, |
7aacca6f | 21529 | "proxyto" : "node", |
7aacca6f DM |
21530 | "returns" : { |
21531 | "type" : "null" | |
56122987 DM |
21532 | } |
21533 | } | |
7aacca6f | 21534 | }, |
44660702 | 21535 | "leaf" : 1, |
7aacca6f | 21536 | "path" : "/nodes/{node}/firewall/rules/{pos}", |
44660702 | 21537 | "text" : "{pos}" |
56122987 DM |
21538 | } |
21539 | ], | |
56122987 DM |
21540 | "info" : { |
21541 | "GET" : { | |
44660702 DM |
21542 | "description" : "List rules.", |
21543 | "method" : "GET", | |
21544 | "name" : "get_rules", | |
21545 | "parameters" : { | |
21546 | "additionalProperties" : 0, | |
21547 | "properties" : { | |
21548 | "node" : { | |
21549 | "description" : "The cluster node name.", | |
21550 | "format" : "pve-node", | |
013dc89f DM |
21551 | "type" : "string", |
21552 | "typetext" : "<string>" | |
44660702 DM |
21553 | } |
21554 | } | |
21555 | }, | |
21556 | "permissions" : { | |
21557 | "check" : [ | |
21558 | "perm", | |
21559 | "/nodes/{node}", | |
21560 | [ | |
21561 | "Sys.Audit" | |
21562 | ] | |
21563 | ] | |
21564 | }, | |
21565 | "proxyto" : "node", | |
56122987 | 21566 | "returns" : { |
56122987 DM |
21567 | "items" : { |
21568 | "properties" : { | |
21569 | "pos" : { | |
21570 | "type" : "integer" | |
21571 | } | |
44660702 DM |
21572 | }, |
21573 | "type" : "object" | |
56122987 | 21574 | }, |
7aacca6f DM |
21575 | "links" : [ |
21576 | { | |
21577 | "href" : "{pos}", | |
21578 | "rel" : "child" | |
21579 | } | |
21580 | ], | |
21581 | "type" : "array" | |
44660702 | 21582 | } |
56122987 DM |
21583 | }, |
21584 | "POST" : { | |
44660702 | 21585 | "description" : "Create new rule.", |
7aacca6f DM |
21586 | "method" : "POST", |
21587 | "name" : "create_rule", | |
56122987 | 21588 | "parameters" : { |
44660702 | 21589 | "additionalProperties" : 0, |
56122987 | 21590 | "properties" : { |
7aacca6f | 21591 | "action" : { |
7aacca6f | 21592 | "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.", |
44660702 | 21593 | "maxLength" : 20, |
7aacca6f DM |
21594 | "minLength" : 2, |
21595 | "optional" : 0, | |
44660702 DM |
21596 | "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+", |
21597 | "type" : "string" | |
56122987 | 21598 | }, |
44660702 | 21599 | "comment" : { |
e94f0d56 | 21600 | "description" : "Descriptive comment.", |
56122987 | 21601 | "optional" : 1, |
013dc89f DM |
21602 | "type" : "string", |
21603 | "typetext" : "<string>" | |
56122987 | 21604 | }, |
44660702 DM |
21605 | "dest" : { |
21606 | "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", | |
21607 | "format" : "pve-fw-addr-spec", | |
7aacca6f | 21608 | "optional" : 1, |
013dc89f DM |
21609 | "type" : "string", |
21610 | "typetext" : "<string>" | |
56122987 | 21611 | }, |
44660702 DM |
21612 | "digest" : { |
21613 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
21614 | "maxLength" : 40, | |
21615 | "optional" : 1, | |
013dc89f DM |
21616 | "type" : "string", |
21617 | "typetext" : "<string>" | |
56122987 | 21618 | }, |
44660702 DM |
21619 | "dport" : { |
21620 | "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
21621 | "format" : "pve-fw-dport-spec", | |
7aacca6f | 21622 | "optional" : 1, |
013dc89f DM |
21623 | "type" : "string", |
21624 | "typetext" : "<string>" | |
56122987 | 21625 | }, |
44660702 | 21626 | "enable" : { |
e94f0d56 | 21627 | "description" : "Flag to enable/disable a rule.", |
44660702 DM |
21628 | "minimum" : 0, |
21629 | "optional" : 1, | |
4bd7df8b | 21630 | "type" : "integer", |
013dc89f | 21631 | "typetext" : "<integer> (0 - N)" |
44660702 | 21632 | }, |
7aacca6f | 21633 | "iface" : { |
44660702 | 21634 | "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.", |
7aacca6f | 21635 | "format" : "pve-iface", |
56122987 | 21636 | "maxLength" : 20, |
7aacca6f | 21637 | "minLength" : 2, |
7aacca6f | 21638 | "optional" : 1, |
013dc89f DM |
21639 | "type" : "string", |
21640 | "typetext" : "<string>" | |
56122987 | 21641 | }, |
44660702 | 21642 | "macro" : { |
e94f0d56 | 21643 | "description" : "Use predefined standard macro.", |
44660702 | 21644 | "maxLength" : 128, |
7aacca6f | 21645 | "optional" : 1, |
013dc89f DM |
21646 | "type" : "string", |
21647 | "typetext" : "<string>" | |
56122987 | 21648 | }, |
44660702 DM |
21649 | "node" : { |
21650 | "description" : "The cluster node name.", | |
21651 | "format" : "pve-node", | |
013dc89f DM |
21652 | "type" : "string", |
21653 | "typetext" : "<string>" | |
44660702 DM |
21654 | }, |
21655 | "pos" : { | |
21656 | "description" : "Update rule at position <pos>.", | |
21657 | "minimum" : 0, | |
21658 | "optional" : 1, | |
4bd7df8b | 21659 | "type" : "integer", |
013dc89f | 21660 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
21661 | }, |
21662 | "proto" : { | |
21663 | "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.", | |
21664 | "format" : "pve-fw-protocol-spec", | |
56122987 | 21665 | "optional" : 1, |
013dc89f DM |
21666 | "type" : "string", |
21667 | "typetext" : "<string>" | |
56122987 | 21668 | }, |
7aacca6f | 21669 | "source" : { |
7aacca6f | 21670 | "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.", |
44660702 DM |
21671 | "format" : "pve-fw-addr-spec", |
21672 | "optional" : 1, | |
013dc89f DM |
21673 | "type" : "string", |
21674 | "typetext" : "<string>" | |
7aacca6f | 21675 | }, |
44660702 DM |
21676 | "sport" : { |
21677 | "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.", | |
21678 | "format" : "pve-fw-sport-spec", | |
7aacca6f | 21679 | "optional" : 1, |
013dc89f DM |
21680 | "type" : "string", |
21681 | "typetext" : "<string>" | |
44660702 DM |
21682 | }, |
21683 | "type" : { | |
e94f0d56 | 21684 | "description" : "Rule type.", |
44660702 DM |
21685 | "enum" : [ |
21686 | "in", | |
21687 | "out", | |
21688 | "group" | |
21689 | ], | |
21690 | "optional" : 0, | |
21691 | "type" : "string" | |
56122987 | 21692 | } |
44660702 | 21693 | } |
7aacca6f | 21694 | }, |
56122987 DM |
21695 | "permissions" : { |
21696 | "check" : [ | |
21697 | "perm", | |
21698 | "/nodes/{node}", | |
21699 | [ | |
21700 | "Sys.Modify" | |
21701 | ] | |
21702 | ] | |
21703 | }, | |
44660702 DM |
21704 | "protected" : 1, |
21705 | "proxyto" : "node", | |
21706 | "returns" : { | |
21707 | "type" : "null" | |
21708 | } | |
56122987 DM |
21709 | } |
21710 | }, | |
44660702 | 21711 | "leaf" : 0, |
7aacca6f | 21712 | "path" : "/nodes/{node}/firewall/rules", |
44660702 | 21713 | "text" : "rules" |
56122987 DM |
21714 | }, |
21715 | { | |
56122987 | 21716 | "info" : { |
44660702 DM |
21717 | "GET" : { |
21718 | "description" : "Get host firewall options.", | |
21719 | "method" : "GET", | |
21720 | "name" : "get_options", | |
56122987 | 21721 | "parameters" : { |
7aacca6f | 21722 | "additionalProperties" : 0, |
56122987 | 21723 | "properties" : { |
44660702 DM |
21724 | "node" : { |
21725 | "description" : "The cluster node name.", | |
21726 | "format" : "pve-node", | |
013dc89f DM |
21727 | "type" : "string", |
21728 | "typetext" : "<string>" | |
44660702 DM |
21729 | } |
21730 | } | |
21731 | }, | |
21732 | "permissions" : { | |
21733 | "check" : [ | |
21734 | "perm", | |
21735 | "/nodes/{node}", | |
21736 | [ | |
21737 | "Sys.Audit" | |
21738 | ] | |
21739 | ] | |
21740 | }, | |
21741 | "proxyto" : "node", | |
21742 | "returns" : { | |
21743 | "properties" : { | |
21744 | "enable" : { | |
21745 | "description" : "Enable host firewall rules.", | |
7aacca6f | 21746 | "optional" : 1, |
44660702 | 21747 | "type" : "boolean" |
7aacca6f | 21748 | }, |
44660702 DM |
21749 | "log_level_in" : { |
21750 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
21751 | "enum" : [ |
21752 | "emerg", | |
21753 | "alert", | |
21754 | "crit", | |
21755 | "err", | |
21756 | "warning", | |
21757 | "notice", | |
21758 | "info", | |
21759 | "debug", | |
21760 | "nolog" | |
21761 | ], | |
56122987 | 21762 | "optional" : 1, |
44660702 DM |
21763 | "type" : "string" |
21764 | }, | |
21765 | "log_level_out" : { | |
21766 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
21767 | "enum" : [ |
21768 | "emerg", | |
21769 | "alert", | |
21770 | "crit", | |
21771 | "err", | |
21772 | "warning", | |
21773 | "notice", | |
21774 | "info", | |
21775 | "debug", | |
21776 | "nolog" | |
21777 | ], | |
44660702 DM |
21778 | "optional" : 1, |
21779 | "type" : "string" | |
21780 | }, | |
21781 | "ndp" : { | |
21782 | "description" : "Enable NDP.", | |
21783 | "optional" : 1, | |
21784 | "type" : "boolean" | |
21785 | }, | |
21786 | "nf_conntrack_max" : { | |
21787 | "description" : "Maximum number of tracked connections.", | |
21788 | "minimum" : 32768, | |
21789 | "optional" : 1, | |
21790 | "type" : "integer" | |
21791 | }, | |
21792 | "nf_conntrack_tcp_timeout_established" : { | |
21793 | "description" : "Conntrack established timeout.", | |
21794 | "minimum" : 7875, | |
21795 | "optional" : 1, | |
21796 | "type" : "integer" | |
21797 | }, | |
21798 | "nosmurfs" : { | |
21799 | "description" : "Enable SMURFS filter.", | |
21800 | "optional" : 1, | |
21801 | "type" : "boolean" | |
56122987 | 21802 | }, |
7aacca6f | 21803 | "smurf_log_level" : { |
44660702 | 21804 | "description" : "Log level for SMURFS filter.", |
56122987 DM |
21805 | "enum" : [ |
21806 | "emerg", | |
21807 | "alert", | |
21808 | "crit", | |
21809 | "err", | |
21810 | "warning", | |
21811 | "notice", | |
21812 | "info", | |
21813 | "debug", | |
21814 | "nolog" | |
7aacca6f | 21815 | ], |
7aacca6f DM |
21816 | "optional" : 1, |
21817 | "type" : "string" | |
56122987 | 21818 | }, |
44660702 DM |
21819 | "tcp_flags_log_level" : { |
21820 | "description" : "Log level for illegal tcp flags filter.", | |
56122987 DM |
21821 | "enum" : [ |
21822 | "emerg", | |
21823 | "alert", | |
21824 | "crit", | |
21825 | "err", | |
21826 | "warning", | |
21827 | "notice", | |
21828 | "info", | |
21829 | "debug", | |
21830 | "nolog" | |
21831 | ], | |
44660702 DM |
21832 | "optional" : 1, |
21833 | "type" : "string" | |
7aacca6f | 21834 | }, |
44660702 DM |
21835 | "tcpflags" : { |
21836 | "description" : "Filter illegal combinations of TCP flags.", | |
56122987 | 21837 | "optional" : 1, |
44660702 | 21838 | "type" : "boolean" |
56122987 | 21839 | } |
44660702 DM |
21840 | }, |
21841 | "type" : "object" | |
7aacca6f | 21842 | } |
56122987 | 21843 | }, |
44660702 DM |
21844 | "PUT" : { |
21845 | "description" : "Set Firewall options.", | |
21846 | "method" : "PUT", | |
21847 | "name" : "set_options", | |
7aacca6f | 21848 | "parameters" : { |
44660702 | 21849 | "additionalProperties" : 0, |
7aacca6f | 21850 | "properties" : { |
44660702 DM |
21851 | "delete" : { |
21852 | "description" : "A list of settings you want to delete.", | |
21853 | "format" : "pve-configid-list", | |
7aacca6f | 21854 | "optional" : 1, |
013dc89f DM |
21855 | "type" : "string", |
21856 | "typetext" : "<string>" | |
56122987 | 21857 | }, |
44660702 DM |
21858 | "digest" : { |
21859 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
21860 | "maxLength" : 40, | |
21861 | "optional" : 1, | |
013dc89f DM |
21862 | "type" : "string", |
21863 | "typetext" : "<string>" | |
56122987 | 21864 | }, |
44660702 DM |
21865 | "enable" : { |
21866 | "description" : "Enable host firewall rules.", | |
7aacca6f | 21867 | "optional" : 1, |
013dc89f DM |
21868 | "type" : "boolean", |
21869 | "typetext" : "<boolean>" | |
44660702 DM |
21870 | }, |
21871 | "log_level_in" : { | |
21872 | "description" : "Log level for incoming traffic.", | |
56122987 DM |
21873 | "enum" : [ |
21874 | "emerg", | |
21875 | "alert", | |
21876 | "crit", | |
21877 | "err", | |
21878 | "warning", | |
21879 | "notice", | |
21880 | "info", | |
21881 | "debug", | |
21882 | "nolog" | |
44660702 | 21883 | ], |
7aacca6f | 21884 | "optional" : 1, |
44660702 | 21885 | "type" : "string" |
7aacca6f | 21886 | }, |
44660702 DM |
21887 | "log_level_out" : { |
21888 | "description" : "Log level for outgoing traffic.", | |
56122987 DM |
21889 | "enum" : [ |
21890 | "emerg", | |
21891 | "alert", | |
21892 | "crit", | |
21893 | "err", | |
21894 | "warning", | |
21895 | "notice", | |
21896 | "info", | |
21897 | "debug", | |
21898 | "nolog" | |
21899 | ], | |
21900 | "optional" : 1, | |
7aacca6f | 21901 | "type" : "string" |
56122987 | 21902 | }, |
44660702 DM |
21903 | "ndp" : { |
21904 | "description" : "Enable NDP.", | |
7aacca6f | 21905 | "optional" : 1, |
013dc89f DM |
21906 | "type" : "boolean", |
21907 | "typetext" : "<boolean>" | |
44660702 DM |
21908 | }, |
21909 | "nf_conntrack_max" : { | |
21910 | "description" : "Maximum number of tracked connections.", | |
21911 | "minimum" : 32768, | |
21912 | "optional" : 1, | |
4bd7df8b | 21913 | "type" : "integer", |
013dc89f | 21914 | "typetext" : "<integer> (32768 - N)" |
44660702 DM |
21915 | }, |
21916 | "nf_conntrack_tcp_timeout_established" : { | |
21917 | "description" : "Conntrack established timeout.", | |
21918 | "minimum" : 7875, | |
21919 | "optional" : 1, | |
4bd7df8b | 21920 | "type" : "integer", |
013dc89f | 21921 | "typetext" : "<integer> (7875 - N)" |
44660702 DM |
21922 | }, |
21923 | "node" : { | |
21924 | "description" : "The cluster node name.", | |
21925 | "format" : "pve-node", | |
013dc89f DM |
21926 | "type" : "string", |
21927 | "typetext" : "<string>" | |
44660702 DM |
21928 | }, |
21929 | "nosmurfs" : { | |
21930 | "description" : "Enable SMURFS filter.", | |
21931 | "optional" : 1, | |
013dc89f DM |
21932 | "type" : "boolean", |
21933 | "typetext" : "<boolean>" | |
44660702 DM |
21934 | }, |
21935 | "smurf_log_level" : { | |
21936 | "description" : "Log level for SMURFS filter.", | |
56122987 DM |
21937 | "enum" : [ |
21938 | "emerg", | |
21939 | "alert", | |
21940 | "crit", | |
21941 | "err", | |
21942 | "warning", | |
21943 | "notice", | |
21944 | "info", | |
21945 | "debug", | |
21946 | "nolog" | |
44660702 DM |
21947 | ], |
21948 | "optional" : 1, | |
21949 | "type" : "string" | |
56122987 | 21950 | }, |
44660702 DM |
21951 | "tcp_flags_log_level" : { |
21952 | "description" : "Log level for illegal tcp flags filter.", | |
56122987 DM |
21953 | "enum" : [ |
21954 | "emerg", | |
21955 | "alert", | |
21956 | "crit", | |
21957 | "err", | |
21958 | "warning", | |
21959 | "notice", | |
21960 | "info", | |
21961 | "debug", | |
21962 | "nolog" | |
21963 | ], | |
44660702 DM |
21964 | "optional" : 1, |
21965 | "type" : "string" | |
7aacca6f | 21966 | }, |
44660702 DM |
21967 | "tcpflags" : { |
21968 | "description" : "Filter illegal combinations of TCP flags.", | |
56122987 | 21969 | "optional" : 1, |
013dc89f DM |
21970 | "type" : "boolean", |
21971 | "typetext" : "<boolean>" | |
56122987 | 21972 | } |
7aacca6f | 21973 | } |
56122987 | 21974 | }, |
44660702 DM |
21975 | "permissions" : { |
21976 | "check" : [ | |
21977 | "perm", | |
21978 | "/nodes/{node}", | |
21979 | [ | |
21980 | "Sys.Modify" | |
21981 | ] | |
21982 | ] | |
21983 | }, | |
21984 | "protected" : 1, | |
21985 | "proxyto" : "node", | |
21986 | "returns" : { | |
21987 | "type" : "null" | |
21988 | } | |
7aacca6f DM |
21989 | } |
21990 | }, | |
44660702 DM |
21991 | "leaf" : 1, |
21992 | "path" : "/nodes/{node}/firewall/options", | |
7aacca6f DM |
21993 | "text" : "options" |
21994 | }, | |
21995 | { | |
7aacca6f DM |
21996 | "info" : { |
21997 | "GET" : { | |
44660702 DM |
21998 | "description" : "Read firewall log", |
21999 | "method" : "GET", | |
7aacca6f | 22000 | "name" : "log", |
56122987 | 22001 | "parameters" : { |
44660702 | 22002 | "additionalProperties" : 0, |
56122987 | 22003 | "properties" : { |
7aacca6f | 22004 | "limit" : { |
44660702 | 22005 | "minimum" : 0, |
7aacca6f | 22006 | "optional" : 1, |
4bd7df8b | 22007 | "type" : "integer", |
013dc89f | 22008 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 22009 | }, |
56122987 | 22010 | "node" : { |
7aacca6f | 22011 | "description" : "The cluster node name.", |
44660702 | 22012 | "format" : "pve-node", |
013dc89f DM |
22013 | "type" : "string", |
22014 | "typetext" : "<string>" | |
44660702 DM |
22015 | }, |
22016 | "start" : { | |
22017 | "minimum" : 0, | |
22018 | "optional" : 1, | |
4bd7df8b | 22019 | "type" : "integer", |
013dc89f | 22020 | "typetext" : "<integer> (0 - N)" |
56122987 | 22021 | } |
44660702 | 22022 | } |
7aacca6f | 22023 | }, |
56122987 DM |
22024 | "permissions" : { |
22025 | "check" : [ | |
22026 | "perm", | |
22027 | "/nodes/{node}", | |
22028 | [ | |
22029 | "Sys.Syslog" | |
22030 | ] | |
22031 | ] | |
22032 | }, | |
44660702 DM |
22033 | "protected" : 1, |
22034 | "proxyto" : "node", | |
56122987 DM |
22035 | "returns" : { |
22036 | "items" : { | |
56122987 | 22037 | "properties" : { |
56122987 | 22038 | "n" : { |
44660702 DM |
22039 | "description" : "Line number", |
22040 | "type" : "integer" | |
7aacca6f DM |
22041 | }, |
22042 | "t" : { | |
44660702 DM |
22043 | "description" : "Line text", |
22044 | "type" : "string" | |
56122987 | 22045 | } |
44660702 DM |
22046 | }, |
22047 | "type" : "object" | |
56122987 DM |
22048 | }, |
22049 | "type" : "array" | |
7aacca6f | 22050 | } |
56122987 DM |
22051 | } |
22052 | }, | |
44660702 DM |
22053 | "leaf" : 1, |
22054 | "path" : "/nodes/{node}/firewall/log", | |
7aacca6f | 22055 | "text" : "log" |
56122987 DM |
22056 | } |
22057 | ], | |
22058 | "info" : { | |
22059 | "GET" : { | |
44660702 DM |
22060 | "description" : "Directory index.", |
22061 | "method" : "GET", | |
22062 | "name" : "index", | |
56122987 | 22063 | "parameters" : { |
44660702 | 22064 | "additionalProperties" : 0, |
56122987 DM |
22065 | "properties" : { |
22066 | "node" : { | |
22067 | "description" : "The cluster node name.", | |
44660702 | 22068 | "format" : "pve-node", |
013dc89f DM |
22069 | "type" : "string", |
22070 | "typetext" : "<string>" | |
56122987 | 22071 | } |
44660702 | 22072 | } |
56122987 | 22073 | }, |
7aacca6f DM |
22074 | "permissions" : { |
22075 | "user" : "all" | |
22076 | }, | |
56122987 DM |
22077 | "returns" : { |
22078 | "items" : { | |
22079 | "properties" : {}, | |
22080 | "type" : "object" | |
22081 | }, | |
56122987 DM |
22082 | "links" : [ |
22083 | { | |
44660702 DM |
22084 | "href" : "{name}", |
22085 | "rel" : "child" | |
56122987 | 22086 | } |
44660702 DM |
22087 | ], |
22088 | "type" : "array" | |
22089 | } | |
56122987 | 22090 | } |
7aacca6f | 22091 | }, |
44660702 | 22092 | "leaf" : 0, |
7aacca6f | 22093 | "path" : "/nodes/{node}/firewall", |
44660702 | 22094 | "text" : "firewall" |
56122987 DM |
22095 | }, |
22096 | { | |
56122987 DM |
22097 | "info" : { |
22098 | "GET" : { | |
44660702 DM |
22099 | "description" : "API version details", |
22100 | "method" : "GET", | |
22101 | "name" : "version", | |
56122987 | 22102 | "parameters" : { |
44660702 | 22103 | "additionalProperties" : 0, |
56122987 DM |
22104 | "properties" : { |
22105 | "node" : { | |
56122987 | 22106 | "description" : "The cluster node name.", |
44660702 | 22107 | "format" : "pve-node", |
013dc89f DM |
22108 | "type" : "string", |
22109 | "typetext" : "<string>" | |
56122987 | 22110 | } |
44660702 | 22111 | } |
56122987 | 22112 | }, |
56122987 | 22113 | "permissions" : { |
7aacca6f | 22114 | "user" : "all" |
56122987 | 22115 | }, |
56122987 | 22116 | "proxyto" : "node", |
56122987 | 22117 | "returns" : { |
56122987 | 22118 | "properties" : { |
44660702 | 22119 | "release" : { |
56122987 DM |
22120 | "type" : "string" |
22121 | }, | |
44660702 | 22122 | "repoid" : { |
7aacca6f DM |
22123 | "type" : "string" |
22124 | }, | |
22125 | "version" : { | |
22126 | "type" : "string" | |
22127 | } | |
44660702 DM |
22128 | }, |
22129 | "type" : "object" | |
7aacca6f | 22130 | } |
56122987 DM |
22131 | } |
22132 | }, | |
56122987 | 22133 | "leaf" : 1, |
44660702 DM |
22134 | "path" : "/nodes/{node}/version", |
22135 | "text" : "version" | |
56122987 DM |
22136 | }, |
22137 | { | |
56122987 DM |
22138 | "info" : { |
22139 | "GET" : { | |
7aacca6f | 22140 | "description" : "Read node status", |
44660702 | 22141 | "method" : "GET", |
7aacca6f | 22142 | "name" : "status", |
56122987 | 22143 | "parameters" : { |
44660702 | 22144 | "additionalProperties" : 0, |
56122987 DM |
22145 | "properties" : { |
22146 | "node" : { | |
7aacca6f | 22147 | "description" : "The cluster node name.", |
44660702 | 22148 | "format" : "pve-node", |
013dc89f DM |
22149 | "type" : "string", |
22150 | "typetext" : "<string>" | |
56122987 | 22151 | } |
44660702 | 22152 | } |
56122987 | 22153 | }, |
56122987 DM |
22154 | "permissions" : { |
22155 | "check" : [ | |
22156 | "perm", | |
22157 | "/nodes/{node}", | |
22158 | [ | |
22159 | "Sys.Audit" | |
22160 | ] | |
22161 | ] | |
44660702 DM |
22162 | }, |
22163 | "proxyto" : "node", | |
22164 | "returns" : { | |
22165 | "properties" : {}, | |
22166 | "type" : "object" | |
7aacca6f DM |
22167 | } |
22168 | }, | |
22169 | "POST" : { | |
44660702 DM |
22170 | "description" : "Reboot or shutdown a node.", |
22171 | "method" : "POST", | |
7aacca6f | 22172 | "name" : "node_cmd", |
56122987 | 22173 | "parameters" : { |
44660702 | 22174 | "additionalProperties" : 0, |
56122987 | 22175 | "properties" : { |
7aacca6f DM |
22176 | "command" : { |
22177 | "description" : "Specify the command.", | |
56122987 | 22178 | "enum" : [ |
7aacca6f DM |
22179 | "reboot", |
22180 | "shutdown" | |
56122987 DM |
22181 | ], |
22182 | "type" : "string" | |
44660702 DM |
22183 | }, |
22184 | "node" : { | |
22185 | "description" : "The cluster node name.", | |
22186 | "format" : "pve-node", | |
013dc89f DM |
22187 | "type" : "string", |
22188 | "typetext" : "<string>" | |
56122987 | 22189 | } |
44660702 | 22190 | } |
7aacca6f | 22191 | }, |
7aacca6f DM |
22192 | "permissions" : { |
22193 | "check" : [ | |
22194 | "perm", | |
22195 | "/nodes/{node}", | |
22196 | [ | |
22197 | "Sys.PowerMgmt" | |
22198 | ] | |
22199 | ] | |
22200 | }, | |
44660702 | 22201 | "protected" : 1, |
7aacca6f | 22202 | "proxyto" : "node", |
7aacca6f DM |
22203 | "returns" : { |
22204 | "type" : "null" | |
56122987 DM |
22205 | } |
22206 | } | |
22207 | }, | |
7aacca6f | 22208 | "leaf" : 1, |
44660702 DM |
22209 | "path" : "/nodes/{node}/status", |
22210 | "text" : "status" | |
56122987 DM |
22211 | }, |
22212 | { | |
56122987 DM |
22213 | "info" : { |
22214 | "GET" : { | |
44660702 DM |
22215 | "description" : "Read tap/vm network device interface counters", |
22216 | "method" : "GET", | |
22217 | "name" : "netstat", | |
22218 | "parameters" : { | |
22219 | "additionalProperties" : 0, | |
22220 | "properties" : { | |
22221 | "node" : { | |
22222 | "description" : "The cluster node name.", | |
22223 | "format" : "pve-node", | |
013dc89f DM |
22224 | "type" : "string", |
22225 | "typetext" : "<string>" | |
44660702 | 22226 | } |
56122987 DM |
22227 | } |
22228 | }, | |
22229 | "permissions" : { | |
22230 | "check" : [ | |
22231 | "perm", | |
22232 | "/nodes/{node}", | |
22233 | [ | |
7aacca6f | 22234 | "Sys.Audit" |
56122987 DM |
22235 | ] |
22236 | ] | |
22237 | }, | |
7aacca6f | 22238 | "proxyto" : "node", |
44660702 DM |
22239 | "returns" : { |
22240 | "items" : { | |
22241 | "properties" : {}, | |
22242 | "type" : "object" | |
22243 | }, | |
22244 | "type" : "array" | |
22245 | } | |
7aacca6f DM |
22246 | } |
22247 | }, | |
44660702 DM |
22248 | "leaf" : 1, |
22249 | "path" : "/nodes/{node}/netstat", | |
7aacca6f DM |
22250 | "text" : "netstat" |
22251 | }, | |
22252 | { | |
22253 | "info" : { | |
22254 | "POST" : { | |
7aacca6f | 22255 | "description" : "Execute multiple commands in order.", |
7aacca6f | 22256 | "method" : "POST", |
7aacca6f | 22257 | "name" : "execute", |
56122987 DM |
22258 | "parameters" : { |
22259 | "additionalProperties" : 0, | |
22260 | "properties" : { | |
7aacca6f DM |
22261 | "commands" : { |
22262 | "description" : "JSON encoded array of commands.", | |
013dc89f DM |
22263 | "type" : "string", |
22264 | "typetext" : "<string>" | |
56122987 DM |
22265 | }, |
22266 | "node" : { | |
44660702 | 22267 | "description" : "The cluster node name.", |
56122987 | 22268 | "format" : "pve-node", |
013dc89f DM |
22269 | "type" : "string", |
22270 | "typetext" : "<string>" | |
56122987 DM |
22271 | } |
22272 | } | |
44660702 DM |
22273 | }, |
22274 | "permissions" : { | |
22275 | "check" : [ | |
22276 | "perm", | |
22277 | "/nodes/{node}", | |
22278 | [ | |
22279 | "Sys.Audit" | |
22280 | ] | |
22281 | ] | |
22282 | }, | |
22283 | "protected" : 1, | |
22284 | "proxyto" : "node", | |
22285 | "returns" : { | |
22286 | "properties" : {}, | |
22287 | "type" : "array" | |
56122987 DM |
22288 | } |
22289 | } | |
22290 | }, | |
56122987 | 22291 | "leaf" : 1, |
44660702 DM |
22292 | "path" : "/nodes/{node}/execute", |
22293 | "text" : "execute" | |
56122987 DM |
22294 | }, |
22295 | { | |
22296 | "info" : { | |
7aacca6f | 22297 | "GET" : { |
44660702 DM |
22298 | "description" : "Read node RRD statistics (returns PNG)", |
22299 | "method" : "GET", | |
7aacca6f | 22300 | "name" : "rrd", |
56122987 | 22301 | "parameters" : { |
7aacca6f | 22302 | "additionalProperties" : 0, |
56122987 | 22303 | "properties" : { |
44660702 DM |
22304 | "cf" : { |
22305 | "description" : "The RRD consolidation function", | |
22306 | "enum" : [ | |
22307 | "AVERAGE", | |
22308 | "MAX" | |
22309 | ], | |
22310 | "optional" : 1, | |
22311 | "type" : "string" | |
22312 | }, | |
7aacca6f | 22313 | "ds" : { |
7aacca6f | 22314 | "description" : "The list of datasources you want to display.", |
44660702 | 22315 | "format" : "pve-configid-list", |
013dc89f DM |
22316 | "type" : "string", |
22317 | "typetext" : "<string>" | |
44660702 DM |
22318 | }, |
22319 | "node" : { | |
22320 | "description" : "The cluster node name.", | |
22321 | "format" : "pve-node", | |
013dc89f DM |
22322 | "type" : "string", |
22323 | "typetext" : "<string>" | |
7aacca6f DM |
22324 | }, |
22325 | "timeframe" : { | |
22326 | "description" : "Specify the time frame you are interested in.", | |
22327 | "enum" : [ | |
22328 | "hour", | |
22329 | "day", | |
22330 | "week", | |
22331 | "month", | |
22332 | "year" | |
22333 | ], | |
22334 | "type" : "string" | |
56122987 | 22335 | } |
7aacca6f | 22336 | } |
56122987 | 22337 | }, |
56122987 | 22338 | "permissions" : { |
56122987 DM |
22339 | "check" : [ |
22340 | "perm", | |
22341 | "/nodes/{node}", | |
22342 | [ | |
7aacca6f | 22343 | "Sys.Audit" |
56122987 DM |
22344 | ] |
22345 | ] | |
22346 | }, | |
7aacca6f | 22347 | "protected" : 1, |
56122987 | 22348 | "returns" : { |
56122987 | 22349 | "properties" : { |
7aacca6f | 22350 | "filename" : { |
56122987 DM |
22351 | "type" : "string" |
22352 | } | |
44660702 DM |
22353 | }, |
22354 | "type" : "object" | |
22355 | } | |
56122987 DM |
22356 | } |
22357 | }, | |
44660702 | 22358 | "leaf" : 1, |
7aacca6f | 22359 | "path" : "/nodes/{node}/rrd", |
44660702 | 22360 | "text" : "rrd" |
56122987 DM |
22361 | }, |
22362 | { | |
22363 | "info" : { | |
7aacca6f | 22364 | "GET" : { |
44660702 DM |
22365 | "description" : "Read node RRD statistics", |
22366 | "method" : "GET", | |
7aacca6f | 22367 | "name" : "rrddata", |
56122987 | 22368 | "parameters" : { |
44660702 | 22369 | "additionalProperties" : 0, |
56122987 | 22370 | "properties" : { |
7aacca6f | 22371 | "cf" : { |
7aacca6f DM |
22372 | "description" : "The RRD consolidation function", |
22373 | "enum" : [ | |
22374 | "AVERAGE", | |
22375 | "MAX" | |
44660702 DM |
22376 | ], |
22377 | "optional" : 1, | |
22378 | "type" : "string" | |
56122987 DM |
22379 | }, |
22380 | "node" : { | |
44660702 | 22381 | "description" : "The cluster node name.", |
56122987 | 22382 | "format" : "pve-node", |
013dc89f DM |
22383 | "type" : "string", |
22384 | "typetext" : "<string>" | |
56122987 | 22385 | }, |
7aacca6f | 22386 | "timeframe" : { |
7aacca6f DM |
22387 | "description" : "Specify the time frame you are interested in.", |
22388 | "enum" : [ | |
22389 | "hour", | |
22390 | "day", | |
22391 | "week", | |
22392 | "month", | |
22393 | "year" | |
44660702 DM |
22394 | ], |
22395 | "type" : "string" | |
56122987 | 22396 | } |
56122987 DM |
22397 | } |
22398 | }, | |
56122987 DM |
22399 | "permissions" : { |
22400 | "check" : [ | |
22401 | "perm", | |
22402 | "/nodes/{node}", | |
22403 | [ | |
44660702 | 22404 | "Sys.Audit" |
56122987 DM |
22405 | ] |
22406 | ] | |
7aacca6f | 22407 | }, |
44660702 | 22408 | "protected" : 1, |
56122987 | 22409 | "returns" : { |
7aacca6f | 22410 | "items" : { |
44660702 | 22411 | "properties" : {}, |
7aacca6f DM |
22412 | "type" : "object" |
22413 | }, | |
22414 | "type" : "array" | |
44660702 DM |
22415 | } |
22416 | } | |
22417 | }, | |
22418 | "leaf" : 1, | |
22419 | "path" : "/nodes/{node}/rrddata", | |
22420 | "text" : "rrddata" | |
22421 | }, | |
22422 | { | |
22423 | "info" : { | |
22424 | "GET" : { | |
22425 | "description" : "Read system log", | |
22426 | "method" : "GET", | |
22427 | "name" : "syslog", | |
56122987 | 22428 | "parameters" : { |
44660702 | 22429 | "additionalProperties" : 0, |
56122987 | 22430 | "properties" : { |
44660702 DM |
22431 | "limit" : { |
22432 | "minimum" : 0, | |
7aacca6f | 22433 | "optional" : 1, |
4bd7df8b | 22434 | "type" : "integer", |
013dc89f | 22435 | "typetext" : "<integer> (0 - N)" |
7aacca6f | 22436 | }, |
56122987 | 22437 | "node" : { |
7aacca6f | 22438 | "description" : "The cluster node name.", |
44660702 | 22439 | "format" : "pve-node", |
013dc89f DM |
22440 | "type" : "string", |
22441 | "typetext" : "<string>" | |
56122987 | 22442 | }, |
44660702 DM |
22443 | "since" : { |
22444 | "description" : "Display all log since this date-time string.", | |
22445 | "optional" : 1, | |
22446 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", | |
22447 | "type" : "string" | |
22448 | }, | |
22449 | "start" : { | |
7aacca6f DM |
22450 | "minimum" : 0, |
22451 | "optional" : 1, | |
4bd7df8b | 22452 | "type" : "integer", |
013dc89f | 22453 | "typetext" : "<integer> (0 - N)" |
7aacca6f DM |
22454 | }, |
22455 | "until" : { | |
22456 | "description" : "Display all log until this date-time string.", | |
7aacca6f | 22457 | "optional" : 1, |
44660702 | 22458 | "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$", |
56122987 DM |
22459 | "type" : "string" |
22460 | } | |
44660702 | 22461 | } |
56122987 | 22462 | }, |
44660702 DM |
22463 | "permissions" : { |
22464 | "check" : [ | |
22465 | "perm", | |
22466 | "/nodes/{node}", | |
22467 | [ | |
22468 | "Sys.Syslog" | |
22469 | ] | |
22470 | ] | |
22471 | }, | |
22472 | "protected" : 1, | |
22473 | "proxyto" : "node", | |
22474 | "returns" : { | |
22475 | "items" : { | |
22476 | "properties" : { | |
22477 | "n" : { | |
22478 | "description" : "Line number", | |
22479 | "type" : "integer" | |
22480 | }, | |
22481 | "t" : { | |
22482 | "description" : "Line text", | |
22483 | "type" : "string" | |
22484 | } | |
22485 | }, | |
22486 | "type" : "object" | |
22487 | }, | |
22488 | "type" : "array" | |
22489 | } | |
56122987 DM |
22490 | } |
22491 | }, | |
44660702 DM |
22492 | "leaf" : 1, |
22493 | "path" : "/nodes/{node}/syslog", | |
7aacca6f | 22494 | "text" : "syslog" |
56122987 DM |
22495 | }, |
22496 | { | |
56122987 DM |
22497 | "info" : { |
22498 | "POST" : { | |
44660702 DM |
22499 | "description" : "Creates a VNC Shell proxy.", |
22500 | "method" : "POST", | |
22501 | "name" : "vncshell", | |
22502 | "parameters" : { | |
22503 | "additionalProperties" : 0, | |
56122987 | 22504 | "properties" : { |
44660702 DM |
22505 | "node" : { |
22506 | "description" : "The cluster node name.", | |
22507 | "format" : "pve-node", | |
013dc89f DM |
22508 | "type" : "string", |
22509 | "typetext" : "<string>" | |
7aacca6f | 22510 | }, |
44660702 DM |
22511 | "upgrade" : { |
22512 | "default" : 0, | |
22513 | "description" : "Run 'apt-get dist-upgrade' instead of normal shell.", | |
22514 | "optional" : 1, | |
013dc89f DM |
22515 | "type" : "boolean", |
22516 | "typetext" : "<boolean>" | |
7aacca6f | 22517 | }, |
44660702 DM |
22518 | "websocket" : { |
22519 | "description" : "use websocket instead of standard vnc.", | |
22520 | "optional" : 1, | |
013dc89f DM |
22521 | "type" : "boolean", |
22522 | "typetext" : "<boolean>" | |
56122987 | 22523 | } |
44660702 | 22524 | } |
56122987 | 22525 | }, |
56122987 DM |
22526 | "permissions" : { |
22527 | "check" : [ | |
22528 | "perm", | |
7aacca6f | 22529 | "/nodes/{node}", |
56122987 | 22530 | [ |
7aacca6f | 22531 | "Sys.Console" |
56122987 | 22532 | ] |
44660702 DM |
22533 | ], |
22534 | "description" : "Restricted to users on realm 'pam'" | |
56122987 | 22535 | }, |
44660702 DM |
22536 | "protected" : 1, |
22537 | "returns" : { | |
22538 | "additionalProperties" : 0, | |
56122987 | 22539 | "properties" : { |
44660702 DM |
22540 | "cert" : { |
22541 | "type" : "string" | |
7aacca6f | 22542 | }, |
44660702 DM |
22543 | "port" : { |
22544 | "type" : "integer" | |
7aacca6f | 22545 | }, |
44660702 DM |
22546 | "ticket" : { |
22547 | "type" : "string" | |
22548 | }, | |
22549 | "upid" : { | |
22550 | "type" : "string" | |
22551 | }, | |
22552 | "user" : { | |
22553 | "type" : "string" | |
56122987 | 22554 | } |
44660702 DM |
22555 | } |
22556 | } | |
56122987 DM |
22557 | } |
22558 | }, | |
7aacca6f | 22559 | "leaf" : 1, |
44660702 DM |
22560 | "path" : "/nodes/{node}/vncshell", |
22561 | "text" : "vncshell" | |
56122987 DM |
22562 | }, |
22563 | { | |
22564 | "info" : { | |
22565 | "GET" : { | |
7aacca6f | 22566 | "description" : "Opens a weksocket for VNC traffic.", |
44660702 DM |
22567 | "method" : "GET", |
22568 | "name" : "vncwebsocket", | |
56122987 | 22569 | "parameters" : { |
44660702 | 22570 | "additionalProperties" : 0, |
56122987 DM |
22571 | "properties" : { |
22572 | "node" : { | |
22573 | "description" : "The cluster node name.", | |
44660702 | 22574 | "format" : "pve-node", |
013dc89f DM |
22575 | "type" : "string", |
22576 | "typetext" : "<string>" | |
7aacca6f DM |
22577 | }, |
22578 | "port" : { | |
7aacca6f DM |
22579 | "description" : "Port number returned by previous vncproxy call.", |
22580 | "maximum" : 5999, | |
44660702 | 22581 | "minimum" : 5900, |
4bd7df8b | 22582 | "type" : "integer", |
013dc89f | 22583 | "typetext" : "<integer> (5900 - 5999)" |
44660702 DM |
22584 | }, |
22585 | "vncticket" : { | |
22586 | "description" : "Ticket from previous call to vncproxy.", | |
22587 | "maxLength" : 512, | |
013dc89f DM |
22588 | "type" : "string", |
22589 | "typetext" : "<string>" | |
56122987 | 22590 | } |
44660702 | 22591 | } |
56122987 | 22592 | }, |
56122987 DM |
22593 | "permissions" : { |
22594 | "check" : [ | |
22595 | "perm", | |
22596 | "/nodes/{node}", | |
22597 | [ | |
7aacca6f | 22598 | "Sys.Console" |
56122987 | 22599 | ] |
44660702 DM |
22600 | ], |
22601 | "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)." | |
22602 | }, | |
22603 | "returns" : { | |
22604 | "properties" : { | |
22605 | "port" : { | |
22606 | "type" : "string" | |
22607 | } | |
22608 | }, | |
22609 | "type" : "object" | |
7aacca6f | 22610 | } |
56122987 DM |
22611 | } |
22612 | }, | |
44660702 | 22613 | "leaf" : 1, |
7aacca6f | 22614 | "path" : "/nodes/{node}/vncwebsocket", |
44660702 | 22615 | "text" : "vncwebsocket" |
56122987 DM |
22616 | }, |
22617 | { | |
22618 | "info" : { | |
22619 | "POST" : { | |
44660702 | 22620 | "description" : "Creates a SPICE shell.", |
7aacca6f | 22621 | "method" : "POST", |
44660702 | 22622 | "name" : "spiceshell", |
56122987 | 22623 | "parameters" : { |
7aacca6f | 22624 | "additionalProperties" : 0, |
56122987 | 22625 | "properties" : { |
7aacca6f | 22626 | "node" : { |
44660702 | 22627 | "description" : "The cluster node name.", |
56122987 | 22628 | "format" : "pve-node", |
013dc89f DM |
22629 | "type" : "string", |
22630 | "typetext" : "<string>" | |
7aacca6f | 22631 | }, |
44660702 DM |
22632 | "proxy" : { |
22633 | "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).", | |
22634 | "format" : "address", | |
22635 | "optional" : 1, | |
013dc89f DM |
22636 | "type" : "string", |
22637 | "typetext" : "<string>" | |
7aacca6f | 22638 | }, |
44660702 DM |
22639 | "upgrade" : { |
22640 | "default" : 0, | |
22641 | "description" : "Run 'apt-get dist-upgrade' instead of normal shell.", | |
22642 | "optional" : 1, | |
013dc89f DM |
22643 | "type" : "boolean", |
22644 | "typetext" : "<boolean>" | |
56122987 | 22645 | } |
7aacca6f | 22646 | } |
56122987 | 22647 | }, |
56122987 DM |
22648 | "permissions" : { |
22649 | "check" : [ | |
22650 | "perm", | |
7aacca6f | 22651 | "/nodes/{node}", |
56122987 | 22652 | [ |
7aacca6f | 22653 | "Sys.Console" |
56122987 | 22654 | ] |
7aacca6f DM |
22655 | ], |
22656 | "description" : "Restricted to users on realm 'pam'" | |
44660702 DM |
22657 | }, |
22658 | "protected" : 1, | |
22659 | "proxyto" : "node", | |
22660 | "returns" : { | |
22661 | "additionalProperties" : 1, | |
22662 | "description" : "Returned values can be directly passed to the 'remote-viewer' application.", | |
22663 | "properties" : { | |
22664 | "host" : { | |
22665 | "type" : "string" | |
22666 | }, | |
22667 | "password" : { | |
22668 | "type" : "string" | |
22669 | }, | |
22670 | "proxy" : { | |
22671 | "type" : "string" | |
22672 | }, | |
22673 | "tls-port" : { | |
22674 | "type" : "integer" | |
22675 | }, | |
22676 | "type" : { | |
22677 | "type" : "string" | |
22678 | } | |
22679 | } | |
7aacca6f | 22680 | } |
56122987 DM |
22681 | } |
22682 | }, | |
56122987 | 22683 | "leaf" : 1, |
44660702 DM |
22684 | "path" : "/nodes/{node}/spiceshell", |
22685 | "text" : "spiceshell" | |
56122987 DM |
22686 | }, |
22687 | { | |
56122987 | 22688 | "info" : { |
7aacca6f | 22689 | "GET" : { |
44660702 | 22690 | "description" : "Read DNS settings.", |
7aacca6f | 22691 | "method" : "GET", |
44660702 DM |
22692 | "name" : "dns", |
22693 | "parameters" : { | |
7aacca6f DM |
22694 | "additionalProperties" : 0, |
22695 | "properties" : { | |
44660702 DM |
22696 | "node" : { |
22697 | "description" : "The cluster node name.", | |
22698 | "format" : "pve-node", | |
013dc89f DM |
22699 | "type" : "string", |
22700 | "typetext" : "<string>" | |
7aacca6f DM |
22701 | } |
22702 | } | |
22703 | }, | |
7aacca6f DM |
22704 | "permissions" : { |
22705 | "check" : [ | |
22706 | "perm", | |
22707 | "/nodes/{node}", | |
22708 | [ | |
22709 | "Sys.Audit" | |
22710 | ] | |
22711 | ] | |
22712 | }, | |
44660702 DM |
22713 | "proxyto" : "node", |
22714 | "returns" : { | |
56122987 DM |
22715 | "additionalProperties" : 0, |
22716 | "properties" : { | |
44660702 DM |
22717 | "dns1" : { |
22718 | "description" : "First name server IP address.", | |
22719 | "optional" : 1, | |
22720 | "type" : "string" | |
22721 | }, | |
22722 | "dns2" : { | |
22723 | "description" : "Second name server IP address.", | |
22724 | "optional" : 1, | |
22725 | "type" : "string" | |
22726 | }, | |
22727 | "dns3" : { | |
22728 | "description" : "Third name server IP address.", | |
22729 | "optional" : 1, | |
22730 | "type" : "string" | |
22731 | }, | |
22732 | "search" : { | |
22733 | "description" : "Search domain for host-name lookup.", | |
22734 | "optional" : 1, | |
22735 | "type" : "string" | |
7aacca6f | 22736 | } |
44660702 DM |
22737 | }, |
22738 | "type" : "object" | |
22739 | } | |
7aacca6f DM |
22740 | }, |
22741 | "PUT" : { | |
44660702 DM |
22742 | "description" : "Write DNS settings.", |
22743 | "method" : "PUT", | |
7aacca6f DM |
22744 | "name" : "update_dns", |
22745 | "parameters" : { | |
22746 | "additionalProperties" : 0, | |
22747 | "properties" : { | |
44660702 DM |
22748 | "dns1" : { |
22749 | "description" : "First name server IP address.", | |
22750 | "format" : "ip", | |
22751 | "optional" : 1, | |
013dc89f DM |
22752 | "type" : "string", |
22753 | "typetext" : "<string>" | |
7aacca6f | 22754 | }, |
44660702 DM |
22755 | "dns2" : { |
22756 | "description" : "Second name server IP address.", | |
22757 | "format" : "ip", | |
7aacca6f | 22758 | "optional" : 1, |
013dc89f DM |
22759 | "type" : "string", |
22760 | "typetext" : "<string>" | |
7aacca6f | 22761 | }, |
44660702 DM |
22762 | "dns3" : { |
22763 | "description" : "Third name server IP address.", | |
22764 | "format" : "ip", | |
7aacca6f | 22765 | "optional" : 1, |
013dc89f DM |
22766 | "type" : "string", |
22767 | "typetext" : "<string>" | |
7aacca6f DM |
22768 | }, |
22769 | "node" : { | |
44660702 | 22770 | "description" : "The cluster node name.", |
56122987 | 22771 | "format" : "pve-node", |
013dc89f DM |
22772 | "type" : "string", |
22773 | "typetext" : "<string>" | |
7aacca6f | 22774 | }, |
44660702 DM |
22775 | "search" : { |
22776 | "description" : "Search domain for host-name lookup.", | |
013dc89f DM |
22777 | "type" : "string", |
22778 | "typetext" : "<string>" | |
56122987 DM |
22779 | } |
22780 | } | |
22781 | }, | |
22782 | "permissions" : { | |
22783 | "check" : [ | |
22784 | "perm", | |
7aacca6f | 22785 | "/nodes/{node}", |
56122987 | 22786 | [ |
7aacca6f | 22787 | "Sys.Modify" |
56122987 DM |
22788 | ] |
22789 | ] | |
22790 | }, | |
44660702 | 22791 | "protected" : 1, |
7aacca6f | 22792 | "proxyto" : "node", |
56122987 | 22793 | "returns" : { |
7aacca6f DM |
22794 | "type" : "null" |
22795 | } | |
56122987 | 22796 | } |
44660702 DM |
22797 | }, |
22798 | "leaf" : 1, | |
22799 | "path" : "/nodes/{node}/dns", | |
22800 | "text" : "dns" | |
56122987 DM |
22801 | }, |
22802 | { | |
22803 | "info" : { | |
7aacca6f | 22804 | "GET" : { |
7aacca6f | 22805 | "description" : "Read server time and time zone settings.", |
44660702 DM |
22806 | "method" : "GET", |
22807 | "name" : "time", | |
56122987 | 22808 | "parameters" : { |
44660702 | 22809 | "additionalProperties" : 0, |
56122987 DM |
22810 | "properties" : { |
22811 | "node" : { | |
44660702 | 22812 | "description" : "The cluster node name.", |
56122987 | 22813 | "format" : "pve-node", |
013dc89f DM |
22814 | "type" : "string", |
22815 | "typetext" : "<string>" | |
56122987 | 22816 | } |
44660702 | 22817 | } |
56122987 DM |
22818 | }, |
22819 | "permissions" : { | |
22820 | "check" : [ | |
22821 | "perm", | |
7aacca6f | 22822 | "/nodes/{node}", |
56122987 | 22823 | [ |
7aacca6f | 22824 | "Sys.Audit" |
56122987 DM |
22825 | ] |
22826 | ] | |
44660702 DM |
22827 | }, |
22828 | "proxyto" : "node", | |
22829 | "returns" : { | |
22830 | "additionalProperties" : 0, | |
22831 | "properties" : { | |
22832 | "localtime" : { | |
22833 | "description" : "Seconds since 1970-01-01 00:00:00 (local time)", | |
22834 | "minimum" : 1297163644, | |
22835 | "type" : "integer" | |
22836 | }, | |
22837 | "time" : { | |
22838 | "description" : "Seconds since 1970-01-01 00:00:00 UTC.", | |
22839 | "minimum" : 1297163644, | |
22840 | "type" : "integer" | |
22841 | }, | |
22842 | "timezone" : { | |
22843 | "description" : "Time zone", | |
22844 | "type" : "string" | |
22845 | } | |
22846 | }, | |
22847 | "type" : "object" | |
7aacca6f DM |
22848 | } |
22849 | }, | |
22850 | "PUT" : { | |
7aacca6f | 22851 | "description" : "Set time zone.", |
44660702 DM |
22852 | "method" : "PUT", |
22853 | "name" : "set_timezone", | |
22854 | "parameters" : { | |
22855 | "additionalProperties" : 0, | |
22856 | "properties" : { | |
22857 | "node" : { | |
22858 | "description" : "The cluster node name.", | |
22859 | "format" : "pve-node", | |
013dc89f DM |
22860 | "type" : "string", |
22861 | "typetext" : "<string>" | |
44660702 DM |
22862 | }, |
22863 | "timezone" : { | |
22864 | "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.", | |
013dc89f DM |
22865 | "type" : "string", |
22866 | "typetext" : "<string>" | |
44660702 DM |
22867 | } |
22868 | } | |
22869 | }, | |
7aacca6f DM |
22870 | "permissions" : { |
22871 | "check" : [ | |
22872 | "perm", | |
22873 | "/nodes/{node}", | |
22874 | [ | |
22875 | "Sys.Modify" | |
22876 | ] | |
22877 | ] | |
56122987 | 22878 | }, |
7aacca6f | 22879 | "protected" : 1, |
44660702 DM |
22880 | "proxyto" : "node", |
22881 | "returns" : { | |
22882 | "type" : "null" | |
22883 | } | |
7aacca6f DM |
22884 | } |
22885 | }, | |
7aacca6f | 22886 | "leaf" : 1, |
44660702 DM |
22887 | "path" : "/nodes/{node}/time", |
22888 | "text" : "time" | |
7aacca6f DM |
22889 | }, |
22890 | { | |
22891 | "info" : { | |
44660702 DM |
22892 | "GET" : { |
22893 | "description" : "Get list of appliances.", | |
22894 | "method" : "GET", | |
22895 | "name" : "aplinfo", | |
7aacca6f DM |
22896 | "parameters" : { |
22897 | "additionalProperties" : 0, | |
22898 | "properties" : { | |
7aacca6f | 22899 | "node" : { |
44660702 | 22900 | "description" : "The cluster node name.", |
7aacca6f | 22901 | "format" : "pve-node", |
013dc89f DM |
22902 | "type" : "string", |
22903 | "typetext" : "<string>" | |
7aacca6f DM |
22904 | } |
22905 | } | |
56122987 | 22906 | }, |
7aacca6f | 22907 | "permissions" : { |
44660702 | 22908 | "user" : "all" |
56122987 | 22909 | }, |
44660702 | 22910 | "proxyto" : "node", |
7aacca6f DM |
22911 | "returns" : { |
22912 | "items" : { | |
44660702 DM |
22913 | "properties" : {}, |
22914 | "type" : "object" | |
7aacca6f DM |
22915 | }, |
22916 | "type" : "array" | |
44660702 DM |
22917 | } |
22918 | }, | |
22919 | "POST" : { | |
22920 | "description" : "Download appliance templates.", | |
22921 | "method" : "POST", | |
22922 | "name" : "apl_download", | |
7aacca6f DM |
22923 | "parameters" : { |
22924 | "additionalProperties" : 0, | |
22925 | "properties" : { | |
22926 | "node" : { | |
7aacca6f | 22927 | "description" : "The cluster node name.", |
44660702 | 22928 | "format" : "pve-node", |
013dc89f DM |
22929 | "type" : "string", |
22930 | "typetext" : "<string>" | |
44660702 DM |
22931 | }, |
22932 | "storage" : { | |
4bd7df8b | 22933 | "description" : "The storage where the template will be stored", |
44660702 | 22934 | "format" : "pve-storage-id", |
013dc89f DM |
22935 | "type" : "string", |
22936 | "typetext" : "<string>" | |
44660702 DM |
22937 | }, |
22938 | "template" : { | |
22939 | "description" : "The template wich will downloaded", | |
22940 | "maxLength" : 255, | |
013dc89f DM |
22941 | "type" : "string", |
22942 | "typetext" : "<string>" | |
7aacca6f DM |
22943 | } |
22944 | } | |
56122987 | 22945 | }, |
7aacca6f | 22946 | "permissions" : { |
44660702 DM |
22947 | "check" : [ |
22948 | "perm", | |
22949 | "/storage/{storage}", | |
22950 | [ | |
22951 | "Datastore.AllocateTemplate" | |
22952 | ] | |
22953 | ] | |
22954 | }, | |
22955 | "protected" : 1, | |
22956 | "proxyto" : "node", | |
22957 | "returns" : { | |
22958 | "type" : "string" | |
7aacca6f DM |
22959 | } |
22960 | } | |
22961 | }, | |
7aacca6f | 22962 | "leaf" : 1, |
44660702 DM |
22963 | "path" : "/nodes/{node}/aplinfo", |
22964 | "text" : "aplinfo" | |
7aacca6f DM |
22965 | }, |
22966 | { | |
22967 | "info" : { | |
22968 | "GET" : { | |
44660702 DM |
22969 | "description" : "Gather various systems information about a node", |
22970 | "method" : "GET", | |
22971 | "name" : "report", | |
7aacca6f | 22972 | "parameters" : { |
44660702 | 22973 | "additionalProperties" : 0, |
7aacca6f DM |
22974 | "properties" : { |
22975 | "node" : { | |
7aacca6f | 22976 | "description" : "The cluster node name.", |
44660702 | 22977 | "format" : "pve-node", |
013dc89f DM |
22978 | "type" : "string", |
22979 | "typetext" : "<string>" | |
7aacca6f | 22980 | } |
44660702 | 22981 | } |
56122987 | 22982 | }, |
7aacca6f DM |
22983 | "permissions" : { |
22984 | "check" : [ | |
22985 | "perm", | |
22986 | "/nodes/{node}", | |
22987 | [ | |
22988 | "Sys.Audit" | |
22989 | ] | |
22990 | ] | |
56122987 | 22991 | }, |
44660702 | 22992 | "protected" : 1, |
7aacca6f DM |
22993 | "proxyto" : "node", |
22994 | "returns" : { | |
56122987 | 22995 | "type" : "string" |
7aacca6f DM |
22996 | } |
22997 | } | |
22998 | }, | |
7aacca6f | 22999 | "leaf" : 1, |
44660702 DM |
23000 | "path" : "/nodes/{node}/report", |
23001 | "text" : "report" | |
7aacca6f DM |
23002 | }, |
23003 | { | |
7aacca6f DM |
23004 | "info" : { |
23005 | "POST" : { | |
44660702 | 23006 | "description" : "Start all VMs and containers (when onboot=1).", |
7aacca6f | 23007 | "method" : "POST", |
44660702 | 23008 | "name" : "startall", |
7aacca6f | 23009 | "parameters" : { |
44660702 | 23010 | "additionalProperties" : 0, |
7aacca6f DM |
23011 | "properties" : { |
23012 | "force" : { | |
44660702 | 23013 | "description" : "force if onboot=0.", |
7aacca6f | 23014 | "optional" : 1, |
013dc89f DM |
23015 | "type" : "boolean", |
23016 | "typetext" : "<boolean>" | |
7aacca6f DM |
23017 | }, |
23018 | "node" : { | |
7aacca6f | 23019 | "description" : "The cluster node name.", |
44660702 | 23020 | "format" : "pve-node", |
013dc89f DM |
23021 | "type" : "string", |
23022 | "typetext" : "<string>" | |
7aacca6f | 23023 | } |
44660702 | 23024 | } |
56122987 | 23025 | }, |
7aacca6f DM |
23026 | "permissions" : { |
23027 | "check" : [ | |
23028 | "perm", | |
23029 | "/", | |
23030 | [ | |
23031 | "VM.PowerMgmt" | |
23032 | ] | |
23033 | ] | |
44660702 DM |
23034 | }, |
23035 | "protected" : 1, | |
23036 | "proxyto" : "node", | |
23037 | "returns" : { | |
23038 | "type" : "string" | |
7aacca6f DM |
23039 | } |
23040 | } | |
23041 | }, | |
44660702 | 23042 | "leaf" : 1, |
7aacca6f | 23043 | "path" : "/nodes/{node}/startall", |
44660702 | 23044 | "text" : "startall" |
7aacca6f DM |
23045 | }, |
23046 | { | |
7aacca6f DM |
23047 | "info" : { |
23048 | "POST" : { | |
23049 | "description" : "Stop all VMs and Containers.", | |
44660702 DM |
23050 | "method" : "POST", |
23051 | "name" : "stopall", | |
7aacca6f | 23052 | "parameters" : { |
44660702 | 23053 | "additionalProperties" : 0, |
7aacca6f DM |
23054 | "properties" : { |
23055 | "node" : { | |
44660702 | 23056 | "description" : "The cluster node name.", |
7aacca6f | 23057 | "format" : "pve-node", |
013dc89f DM |
23058 | "type" : "string", |
23059 | "typetext" : "<string>" | |
7aacca6f | 23060 | } |
44660702 | 23061 | } |
56122987 | 23062 | }, |
7aacca6f DM |
23063 | "permissions" : { |
23064 | "check" : [ | |
23065 | "perm", | |
23066 | "/", | |
23067 | [ | |
44660702 | 23068 | "VM.PowerMgmt" |
7aacca6f DM |
23069 | ] |
23070 | ] | |
56122987 | 23071 | }, |
44660702 | 23072 | "protected" : 1, |
7aacca6f | 23073 | "proxyto" : "node", |
44660702 DM |
23074 | "returns" : { |
23075 | "type" : "string" | |
23076 | } | |
23077 | } | |
56122987 | 23078 | }, |
44660702 DM |
23079 | "leaf" : 1, |
23080 | "path" : "/nodes/{node}/stopall", | |
23081 | "text" : "stopall" | |
23082 | }, | |
23083 | { | |
23084 | "info" : { | |
23085 | "POST" : { | |
23086 | "description" : "Migrate all VMs and Containers.", | |
23087 | "method" : "POST", | |
23088 | "name" : "migrateall", | |
23089 | "parameters" : { | |
23090 | "additionalProperties" : 0, | |
23091 | "properties" : { | |
23092 | "maxworkers" : { | |
23093 | "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!", | |
23094 | "minimum" : 1, | |
23095 | "optional" : 1, | |
4bd7df8b | 23096 | "type" : "integer", |
013dc89f | 23097 | "typetext" : "<integer> (1 - N)" |
44660702 DM |
23098 | }, |
23099 | "node" : { | |
23100 | "description" : "The cluster node name.", | |
23101 | "format" : "pve-node", | |
013dc89f DM |
23102 | "type" : "string", |
23103 | "typetext" : "<string>" | |
44660702 DM |
23104 | }, |
23105 | "target" : { | |
23106 | "description" : "Target node.", | |
23107 | "format" : "pve-node", | |
013dc89f DM |
23108 | "type" : "string", |
23109 | "typetext" : "<string>" | |
44660702 DM |
23110 | } |
23111 | } | |
23112 | }, | |
23113 | "permissions" : { | |
23114 | "check" : [ | |
23115 | "perm", | |
23116 | "/", | |
23117 | [ | |
23118 | "VM.Migrate" | |
23119 | ] | |
23120 | ] | |
23121 | }, | |
23122 | "protected" : 1, | |
23123 | "proxyto" : "node", | |
23124 | "returns" : { | |
23125 | "type" : "string" | |
23126 | } | |
23127 | } | |
56122987 | 23128 | }, |
44660702 DM |
23129 | "leaf" : 1, |
23130 | "path" : "/nodes/{node}/migrateall", | |
23131 | "text" : "migrateall" | |
23132 | } | |
23133 | ], | |
23134 | "info" : { | |
23135 | "GET" : { | |
23136 | "description" : "Node index.", | |
23137 | "method" : "GET", | |
23138 | "name" : "index", | |
23139 | "parameters" : { | |
23140 | "additionalProperties" : 0, | |
23141 | "properties" : { | |
23142 | "node" : { | |
23143 | "description" : "The cluster node name.", | |
23144 | "format" : "pve-node", | |
013dc89f DM |
23145 | "type" : "string", |
23146 | "typetext" : "<string>" | |
44660702 DM |
23147 | } |
23148 | } | |
56122987 | 23149 | }, |
44660702 DM |
23150 | "permissions" : { |
23151 | "user" : "all" | |
56122987 | 23152 | }, |
44660702 DM |
23153 | "returns" : { |
23154 | "items" : { | |
23155 | "properties" : {}, | |
23156 | "type" : "object" | |
23157 | }, | |
23158 | "links" : [ | |
23159 | { | |
23160 | "href" : "{name}", | |
23161 | "rel" : "child" | |
23162 | } | |
56122987 | 23163 | ], |
44660702 | 23164 | "type" : "array" |
7aacca6f DM |
23165 | } |
23166 | } | |
23167 | }, | |
44660702 DM |
23168 | "leaf" : 0, |
23169 | "path" : "/nodes/{node}", | |
23170 | "text" : "{node}" | |
23171 | } | |
23172 | ], | |
23173 | "info" : { | |
7aacca6f | 23174 | "GET" : { |
44660702 | 23175 | "description" : "Cluster node index.", |
7aacca6f | 23176 | "method" : "GET", |
44660702 | 23177 | "name" : "index", |
7aacca6f | 23178 | "parameters" : { |
7aacca6f DM |
23179 | "additionalProperties" : 0 |
23180 | }, | |
23181 | "permissions" : { | |
7aacca6f DM |
23182 | "user" : "all" |
23183 | }, | |
44660702 DM |
23184 | "returns" : { |
23185 | "items" : { | |
23186 | "properties" : {}, | |
23187 | "type" : "object" | |
23188 | }, | |
23189 | "links" : [ | |
23190 | { | |
23191 | "href" : "{node}", | |
23192 | "rel" : "child" | |
23193 | } | |
23194 | ], | |
23195 | "type" : "array" | |
23196 | } | |
7aacca6f DM |
23197 | } |
23198 | }, | |
44660702 DM |
23199 | "leaf" : 0, |
23200 | "path" : "/nodes", | |
23201 | "text" : "nodes" | |
23202 | }, | |
23203 | { | |
7aacca6f DM |
23204 | "children" : [ |
23205 | { | |
7aacca6f | 23206 | "info" : { |
44660702 DM |
23207 | "DELETE" : { |
23208 | "description" : "Delete storage configuration.", | |
23209 | "method" : "DELETE", | |
23210 | "name" : "delete", | |
7aacca6f DM |
23211 | "parameters" : { |
23212 | "additionalProperties" : 0, | |
23213 | "properties" : { | |
23214 | "storage" : { | |
7aacca6f | 23215 | "description" : "The storage identifier.", |
44660702 | 23216 | "format" : "pve-storage-id", |
013dc89f DM |
23217 | "type" : "string", |
23218 | "typetext" : "<string>" | |
7aacca6f DM |
23219 | } |
23220 | } | |
56122987 | 23221 | }, |
7aacca6f DM |
23222 | "permissions" : { |
23223 | "check" : [ | |
23224 | "perm", | |
23225 | "/storage", | |
23226 | [ | |
23227 | "Datastore.Allocate" | |
23228 | ] | |
23229 | ] | |
56122987 | 23230 | }, |
44660702 DM |
23231 | "protected" : 1, |
23232 | "returns" : { | |
23233 | "type" : "null" | |
23234 | } | |
23235 | }, | |
23236 | "GET" : { | |
23237 | "description" : "Read storage configuration.", | |
23238 | "method" : "GET", | |
23239 | "name" : "read", | |
7aacca6f DM |
23240 | "parameters" : { |
23241 | "additionalProperties" : 0, | |
23242 | "properties" : { | |
23243 | "storage" : { | |
44660702 | 23244 | "description" : "The storage identifier.", |
7aacca6f | 23245 | "format" : "pve-storage-id", |
013dc89f DM |
23246 | "type" : "string", |
23247 | "typetext" : "<string>" | |
7aacca6f DM |
23248 | } |
23249 | } | |
23250 | }, | |
44660702 DM |
23251 | "permissions" : { |
23252 | "check" : [ | |
23253 | "perm", | |
23254 | "/storage/{storage}", | |
23255 | [ | |
23256 | "Datastore.Allocate" | |
23257 | ] | |
23258 | ] | |
23259 | }, | |
23260 | "returns" : {} | |
7aacca6f DM |
23261 | }, |
23262 | "PUT" : { | |
44660702 DM |
23263 | "description" : "Update storage configuration.", |
23264 | "method" : "PUT", | |
23265 | "name" : "update", | |
23266 | "parameters" : { | |
23267 | "additionalProperties" : 0, | |
23268 | "properties" : { | |
23269 | "blocksize" : { | |
23270 | "description" : "block size", | |
7aacca6f | 23271 | "optional" : 1, |
013dc89f DM |
23272 | "type" : "string", |
23273 | "typetext" : "<string>" | |
7aacca6f | 23274 | }, |
44660702 DM |
23275 | "comstar_hg" : { |
23276 | "description" : "host group for comstar views", | |
23277 | "optional" : 1, | |
013dc89f DM |
23278 | "type" : "string", |
23279 | "typetext" : "<string>" | |
7aacca6f | 23280 | }, |
44660702 DM |
23281 | "comstar_tg" : { |
23282 | "description" : "target group for comstar views", | |
7aacca6f | 23283 | "optional" : 1, |
013dc89f DM |
23284 | "type" : "string", |
23285 | "typetext" : "<string>" | |
7aacca6f | 23286 | }, |
44660702 DM |
23287 | "content" : { |
23288 | "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n", | |
23289 | "format" : "pve-storage-content-list", | |
7aacca6f | 23290 | "optional" : 1, |
013dc89f DM |
23291 | "type" : "string", |
23292 | "typetext" : "<string>" | |
7aacca6f | 23293 | }, |
44660702 DM |
23294 | "delete" : { |
23295 | "description" : "A list of settings you want to delete.", | |
23296 | "format" : "pve-configid-list", | |
23297 | "maxLength" : 4096, | |
7aacca6f | 23298 | "optional" : 1, |
013dc89f DM |
23299 | "type" : "string", |
23300 | "typetext" : "<string>" | |
7aacca6f DM |
23301 | }, |
23302 | "digest" : { | |
44660702 | 23303 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", |
7aacca6f | 23304 | "maxLength" : 40, |
7aacca6f | 23305 | "optional" : 1, |
013dc89f DM |
23306 | "type" : "string", |
23307 | "typetext" : "<string>" | |
7aacca6f | 23308 | }, |
44660702 DM |
23309 | "disable" : { |
23310 | "description" : "Flag to disable the storage.", | |
23311 | "optional" : 1, | |
013dc89f DM |
23312 | "type" : "boolean", |
23313 | "typetext" : "<boolean>" | |
7aacca6f DM |
23314 | }, |
23315 | "format" : { | |
23316 | "description" : "Default image format.", | |
44660702 | 23317 | "format" : "pve-storage-format", |
7aacca6f | 23318 | "optional" : 1, |
013dc89f DM |
23319 | "type" : "string", |
23320 | "typetext" : "<string>" | |
7aacca6f | 23321 | }, |
2c0dde61 DM |
23322 | "is_mountpoint" : { |
23323 | "default" : "no", | |
23324 | "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.", | |
23325 | "optional" : 1, | |
013dc89f DM |
23326 | "type" : "boolean", |
23327 | "typetext" : "<boolean>" | |
2c0dde61 | 23328 | }, |
44660702 DM |
23329 | "krbd" : { |
23330 | "description" : "Access rbd through krbd kernel module.", | |
7aacca6f | 23331 | "optional" : 1, |
013dc89f DM |
23332 | "type" : "boolean", |
23333 | "typetext" : "<boolean>" | |
7aacca6f | 23334 | }, |
44660702 DM |
23335 | "maxfiles" : { |
23336 | "description" : "Maximal number of backup files per VM. Use '0' for unlimted.", | |
23337 | "minimum" : 0, | |
23338 | "optional" : 1, | |
4bd7df8b | 23339 | "type" : "integer", |
013dc89f | 23340 | "typetext" : "<integer> (0 - N)" |
4bd7df8b DM |
23341 | }, |
23342 | "mkdir" : { | |
23343 | "default" : "yes", | |
23344 | "description" : "Create the directory if it doesn't exist.", | |
23345 | "optional" : 1, | |
013dc89f DM |
23346 | "type" : "boolean", |
23347 | "typetext" : "<boolean>" | |
7aacca6f DM |
23348 | }, |
23349 | "nodes" : { | |
44660702 | 23350 | "description" : "List of cluster node names.", |
7aacca6f DM |
23351 | "format" : "pve-node-list", |
23352 | "optional" : 1, | |
013dc89f DM |
23353 | "type" : "string", |
23354 | "typetext" : "<string>" | |
7aacca6f | 23355 | }, |
44660702 DM |
23356 | "nowritecache" : { |
23357 | "description" : "disable write caching on the target", | |
7aacca6f | 23358 | "optional" : 1, |
013dc89f DM |
23359 | "type" : "boolean", |
23360 | "typetext" : "<boolean>" | |
7aacca6f DM |
23361 | }, |
23362 | "options" : { | |
7aacca6f | 23363 | "description" : "NFS mount options (see 'man nfs')", |
44660702 DM |
23364 | "format" : "pve-storage-options", |
23365 | "optional" : 1, | |
013dc89f DM |
23366 | "type" : "string", |
23367 | "typetext" : "<string>" | |
44660702 DM |
23368 | }, |
23369 | "pool" : { | |
23370 | "description" : "Pool.", | |
23371 | "optional" : 1, | |
013dc89f DM |
23372 | "type" : "string", |
23373 | "typetext" : "<string>" | |
44660702 DM |
23374 | }, |
23375 | "redundancy" : { | |
23376 | "default" : 2, | |
23377 | "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.", | |
23378 | "maximum" : 16, | |
23379 | "minimum" : 1, | |
23380 | "optional" : 1, | |
4bd7df8b | 23381 | "type" : "integer", |
013dc89f | 23382 | "typetext" : "<integer> (1 - 16)" |
44660702 DM |
23383 | }, |
23384 | "saferemove" : { | |
23385 | "description" : "Zero-out data when removing LVs.", | |
23386 | "optional" : 1, | |
013dc89f DM |
23387 | "type" : "boolean", |
23388 | "typetext" : "<boolean>" | |
7aacca6f DM |
23389 | }, |
23390 | "saferemove_throughput" : { | |
44660702 | 23391 | "description" : "Wipe throughput (cstream -t parameter value).", |
7aacca6f | 23392 | "optional" : 1, |
013dc89f DM |
23393 | "type" : "string", |
23394 | "typetext" : "<string>" | |
7aacca6f | 23395 | }, |
44660702 DM |
23396 | "server" : { |
23397 | "description" : "Server IP or DNS name.", | |
23398 | "format" : "pve-storage-server", | |
7aacca6f | 23399 | "optional" : 1, |
013dc89f DM |
23400 | "type" : "string", |
23401 | "typetext" : "<string>" | |
7aacca6f | 23402 | }, |
44660702 DM |
23403 | "server2" : { |
23404 | "description" : "Backup volfile server IP or DNS name.", | |
23405 | "format" : "pve-storage-server", | |
7aacca6f | 23406 | "optional" : 1, |
44660702 | 23407 | "requires" : "server", |
013dc89f DM |
23408 | "type" : "string", |
23409 | "typetext" : "<string>" | |
44660702 DM |
23410 | }, |
23411 | "shared" : { | |
23412 | "description" : "Mark storage as shared.", | |
23413 | "optional" : 1, | |
013dc89f DM |
23414 | "type" : "boolean", |
23415 | "typetext" : "<boolean>" | |
44660702 DM |
23416 | }, |
23417 | "sparse" : { | |
23418 | "description" : "use sparse volumes", | |
23419 | "optional" : 1, | |
013dc89f DM |
23420 | "type" : "boolean", |
23421 | "typetext" : "<boolean>" | |
44660702 DM |
23422 | }, |
23423 | "storage" : { | |
23424 | "description" : "The storage identifier.", | |
23425 | "format" : "pve-storage-id", | |
013dc89f DM |
23426 | "type" : "string", |
23427 | "typetext" : "<string>" | |
44660702 | 23428 | }, |
4bd7df8b DM |
23429 | "tagged_only" : { |
23430 | "description" : "Only use logical volumes tagged with 'pve-vm-ID'.", | |
23431 | "optional" : 1, | |
013dc89f DM |
23432 | "type" : "boolean", |
23433 | "typetext" : "<boolean>" | |
4bd7df8b | 23434 | }, |
44660702 DM |
23435 | "transport" : { |
23436 | "description" : "Gluster transport: tcp or rdma", | |
23437 | "enum" : [ | |
23438 | "tcp", | |
23439 | "rdma", | |
23440 | "unix" | |
23441 | ], | |
23442 | "optional" : 1, | |
23443 | "type" : "string" | |
7aacca6f DM |
23444 | }, |
23445 | "username" : { | |
23446 | "description" : "RBD Id.", | |
44660702 | 23447 | "optional" : 1, |
013dc89f DM |
23448 | "type" : "string", |
23449 | "typetext" : "<string>" | |
7aacca6f | 23450 | } |
44660702 DM |
23451 | }, |
23452 | "type" : "object" | |
23453 | }, | |
23454 | "permissions" : { | |
23455 | "check" : [ | |
23456 | "perm", | |
23457 | "/storage", | |
23458 | [ | |
23459 | "Datastore.Allocate" | |
23460 | ] | |
23461 | ] | |
23462 | }, | |
23463 | "protected" : 1, | |
23464 | "returns" : { | |
23465 | "type" : "null" | |
23466 | } | |
23467 | } | |
23468 | }, | |
23469 | "leaf" : 1, | |
23470 | "path" : "/storage/{storage}", | |
23471 | "text" : "{storage}" | |
23472 | } | |
23473 | ], | |
23474 | "info" : { | |
23475 | "GET" : { | |
23476 | "description" : "Storage index.", | |
23477 | "method" : "GET", | |
23478 | "name" : "index", | |
23479 | "parameters" : { | |
23480 | "additionalProperties" : 0, | |
23481 | "properties" : { | |
23482 | "type" : { | |
23483 | "description" : "Only list storage of specific type", | |
23484 | "enum" : [ | |
23485 | "dir", | |
23486 | "drbd", | |
23487 | "glusterfs", | |
23488 | "iscsi", | |
23489 | "iscsidirect", | |
23490 | "lvm", | |
23491 | "lvmthin", | |
23492 | "nfs", | |
23493 | "rbd", | |
23494 | "sheepdog", | |
23495 | "zfs", | |
23496 | "zfspool" | |
23497 | ], | |
23498 | "optional" : 1, | |
23499 | "type" : "string" | |
23500 | } | |
23501 | } | |
23502 | }, | |
23503 | "permissions" : { | |
23504 | "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'", | |
23505 | "user" : "all" | |
23506 | }, | |
23507 | "returns" : { | |
23508 | "items" : { | |
23509 | "properties" : { | |
23510 | "storage" : { | |
23511 | "type" : "string" | |
7aacca6f | 23512 | } |
56122987 | 23513 | }, |
44660702 DM |
23514 | "type" : "object" |
23515 | }, | |
23516 | "links" : [ | |
23517 | { | |
23518 | "href" : "{storage}", | |
23519 | "rel" : "child" | |
23520 | } | |
23521 | ], | |
23522 | "type" : "array" | |
23523 | } | |
23524 | }, | |
23525 | "POST" : { | |
23526 | "description" : "Create a new storage.", | |
23527 | "method" : "POST", | |
23528 | "name" : "create", | |
23529 | "parameters" : { | |
23530 | "additionalProperties" : 0, | |
23531 | "properties" : { | |
23532 | "authsupported" : { | |
23533 | "description" : "Authsupported.", | |
23534 | "optional" : 1, | |
013dc89f DM |
23535 | "type" : "string", |
23536 | "typetext" : "<string>" | |
44660702 DM |
23537 | }, |
23538 | "base" : { | |
23539 | "description" : "Base volume. This volume is automatically activated.", | |
23540 | "format" : "pve-volume-id", | |
23541 | "optional" : 1, | |
013dc89f DM |
23542 | "type" : "string", |
23543 | "typetext" : "<string>" | |
44660702 DM |
23544 | }, |
23545 | "blocksize" : { | |
23546 | "description" : "block size", | |
23547 | "optional" : 1, | |
013dc89f DM |
23548 | "type" : "string", |
23549 | "typetext" : "<string>" | |
44660702 DM |
23550 | }, |
23551 | "comstar_hg" : { | |
23552 | "description" : "host group for comstar views", | |
23553 | "optional" : 1, | |
013dc89f DM |
23554 | "type" : "string", |
23555 | "typetext" : "<string>" | |
44660702 DM |
23556 | }, |
23557 | "comstar_tg" : { | |
23558 | "description" : "target group for comstar views", | |
23559 | "optional" : 1, | |
013dc89f DM |
23560 | "type" : "string", |
23561 | "typetext" : "<string>" | |
44660702 DM |
23562 | }, |
23563 | "content" : { | |
23564 | "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n", | |
23565 | "format" : "pve-storage-content-list", | |
23566 | "optional" : 1, | |
013dc89f DM |
23567 | "type" : "string", |
23568 | "typetext" : "<string>" | |
44660702 DM |
23569 | }, |
23570 | "disable" : { | |
23571 | "description" : "Flag to disable the storage.", | |
23572 | "optional" : 1, | |
013dc89f DM |
23573 | "type" : "boolean", |
23574 | "typetext" : "<boolean>" | |
44660702 DM |
23575 | }, |
23576 | "export" : { | |
23577 | "description" : "NFS export path.", | |
23578 | "format" : "pve-storage-path", | |
23579 | "optional" : 1, | |
013dc89f DM |
23580 | "type" : "string", |
23581 | "typetext" : "<string>" | |
44660702 DM |
23582 | }, |
23583 | "format" : { | |
23584 | "description" : "Default image format.", | |
23585 | "format" : "pve-storage-format", | |
23586 | "optional" : 1, | |
013dc89f DM |
23587 | "type" : "string", |
23588 | "typetext" : "<string>" | |
44660702 | 23589 | }, |
2c0dde61 DM |
23590 | "is_mountpoint" : { |
23591 | "default" : "no", | |
23592 | "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.", | |
23593 | "optional" : 1, | |
013dc89f DM |
23594 | "type" : "boolean", |
23595 | "typetext" : "<boolean>" | |
2c0dde61 | 23596 | }, |
44660702 DM |
23597 | "iscsiprovider" : { |
23598 | "description" : "iscsi provider", | |
23599 | "optional" : 1, | |
013dc89f DM |
23600 | "type" : "string", |
23601 | "typetext" : "<string>" | |
44660702 DM |
23602 | }, |
23603 | "krbd" : { | |
23604 | "description" : "Access rbd through krbd kernel module.", | |
23605 | "optional" : 1, | |
013dc89f DM |
23606 | "type" : "boolean", |
23607 | "typetext" : "<boolean>" | |
56122987 | 23608 | }, |
44660702 DM |
23609 | "maxfiles" : { |
23610 | "description" : "Maximal number of backup files per VM. Use '0' for unlimted.", | |
23611 | "minimum" : 0, | |
23612 | "optional" : 1, | |
4bd7df8b | 23613 | "type" : "integer", |
013dc89f | 23614 | "typetext" : "<integer> (0 - N)" |
4bd7df8b DM |
23615 | }, |
23616 | "mkdir" : { | |
23617 | "default" : "yes", | |
23618 | "description" : "Create the directory if it doesn't exist.", | |
23619 | "optional" : 1, | |
013dc89f DM |
23620 | "type" : "boolean", |
23621 | "typetext" : "<boolean>" | |
7aacca6f | 23622 | }, |
44660702 DM |
23623 | "monhost" : { |
23624 | "description" : "Monitors daemon ips.", | |
4bd7df8b | 23625 | "format" : "pve-storage-portal-dns-list", |
44660702 | 23626 | "optional" : 1, |
013dc89f DM |
23627 | "type" : "string", |
23628 | "typetext" : "<string>" | |
7aacca6f | 23629 | }, |
44660702 DM |
23630 | "nodes" : { |
23631 | "description" : "List of cluster node names.", | |
23632 | "format" : "pve-node-list", | |
23633 | "optional" : 1, | |
013dc89f DM |
23634 | "type" : "string", |
23635 | "typetext" : "<string>" | |
7aacca6f | 23636 | }, |
44660702 DM |
23637 | "nowritecache" : { |
23638 | "description" : "disable write caching on the target", | |
23639 | "optional" : 1, | |
013dc89f DM |
23640 | "type" : "boolean", |
23641 | "typetext" : "<boolean>" | |
44660702 DM |
23642 | }, |
23643 | "options" : { | |
23644 | "description" : "NFS mount options (see 'man nfs')", | |
23645 | "format" : "pve-storage-options", | |
23646 | "optional" : 1, | |
013dc89f DM |
23647 | "type" : "string", |
23648 | "typetext" : "<string>" | |
44660702 DM |
23649 | }, |
23650 | "path" : { | |
23651 | "description" : "File system path.", | |
23652 | "format" : "pve-storage-path", | |
23653 | "optional" : 1, | |
013dc89f DM |
23654 | "type" : "string", |
23655 | "typetext" : "<string>" | |
44660702 DM |
23656 | }, |
23657 | "pool" : { | |
23658 | "description" : "Pool.", | |
23659 | "optional" : 1, | |
013dc89f DM |
23660 | "type" : "string", |
23661 | "typetext" : "<string>" | |
44660702 DM |
23662 | }, |
23663 | "portal" : { | |
23664 | "description" : "iSCSI portal (IP or DNS name with optional port).", | |
23665 | "format" : "pve-storage-portal-dns", | |
23666 | "optional" : 1, | |
013dc89f DM |
23667 | "type" : "string", |
23668 | "typetext" : "<string>" | |
44660702 DM |
23669 | }, |
23670 | "redundancy" : { | |
23671 | "default" : 2, | |
23672 | "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.", | |
23673 | "maximum" : 16, | |
23674 | "minimum" : 1, | |
23675 | "optional" : 1, | |
4bd7df8b | 23676 | "type" : "integer", |
013dc89f | 23677 | "typetext" : "<integer> (1 - 16)" |
44660702 DM |
23678 | }, |
23679 | "saferemove" : { | |
23680 | "description" : "Zero-out data when removing LVs.", | |
23681 | "optional" : 1, | |
013dc89f DM |
23682 | "type" : "boolean", |
23683 | "typetext" : "<boolean>" | |
44660702 DM |
23684 | }, |
23685 | "saferemove_throughput" : { | |
23686 | "description" : "Wipe throughput (cstream -t parameter value).", | |
23687 | "optional" : 1, | |
013dc89f DM |
23688 | "type" : "string", |
23689 | "typetext" : "<string>" | |
44660702 DM |
23690 | }, |
23691 | "server" : { | |
23692 | "description" : "Server IP or DNS name.", | |
23693 | "format" : "pve-storage-server", | |
23694 | "optional" : 1, | |
013dc89f DM |
23695 | "type" : "string", |
23696 | "typetext" : "<string>" | |
44660702 DM |
23697 | }, |
23698 | "server2" : { | |
23699 | "description" : "Backup volfile server IP or DNS name.", | |
23700 | "format" : "pve-storage-server", | |
23701 | "optional" : 1, | |
23702 | "requires" : "server", | |
013dc89f DM |
23703 | "type" : "string", |
23704 | "typetext" : "<string>" | |
44660702 DM |
23705 | }, |
23706 | "shared" : { | |
23707 | "description" : "Mark storage as shared.", | |
23708 | "optional" : 1, | |
013dc89f DM |
23709 | "type" : "boolean", |
23710 | "typetext" : "<boolean>" | |
44660702 DM |
23711 | }, |
23712 | "sparse" : { | |
23713 | "description" : "use sparse volumes", | |
23714 | "optional" : 1, | |
013dc89f DM |
23715 | "type" : "boolean", |
23716 | "typetext" : "<boolean>" | |
44660702 DM |
23717 | }, |
23718 | "storage" : { | |
23719 | "description" : "The storage identifier.", | |
23720 | "format" : "pve-storage-id", | |
013dc89f DM |
23721 | "type" : "string", |
23722 | "typetext" : "<string>" | |
44660702 | 23723 | }, |
4bd7df8b DM |
23724 | "tagged_only" : { |
23725 | "description" : "Only use logical volumes tagged with 'pve-vm-ID'.", | |
23726 | "optional" : 1, | |
013dc89f DM |
23727 | "type" : "boolean", |
23728 | "typetext" : "<boolean>" | |
4bd7df8b | 23729 | }, |
44660702 DM |
23730 | "target" : { |
23731 | "description" : "iSCSI target.", | |
23732 | "optional" : 1, | |
013dc89f DM |
23733 | "type" : "string", |
23734 | "typetext" : "<string>" | |
44660702 DM |
23735 | }, |
23736 | "thinpool" : { | |
23737 | "description" : "LVM thin pool LV name.", | |
23738 | "format" : "pve-storage-vgname", | |
23739 | "optional" : 1, | |
013dc89f DM |
23740 | "type" : "string", |
23741 | "typetext" : "<string>" | |
44660702 DM |
23742 | }, |
23743 | "transport" : { | |
23744 | "description" : "Gluster transport: tcp or rdma", | |
23745 | "enum" : [ | |
23746 | "tcp", | |
23747 | "rdma", | |
23748 | "unix" | |
7aacca6f | 23749 | ], |
44660702 DM |
23750 | "optional" : 1, |
23751 | "type" : "string" | |
56122987 | 23752 | }, |
44660702 DM |
23753 | "type" : { |
23754 | "description" : "Storage type.", | |
23755 | "enum" : [ | |
23756 | "dir", | |
23757 | "drbd", | |
23758 | "glusterfs", | |
23759 | "iscsi", | |
23760 | "iscsidirect", | |
23761 | "lvm", | |
23762 | "lvmthin", | |
23763 | "nfs", | |
23764 | "rbd", | |
23765 | "sheepdog", | |
23766 | "zfs", | |
23767 | "zfspool" | |
23768 | ], | |
23769 | "type" : "string" | |
56122987 | 23770 | }, |
44660702 DM |
23771 | "username" : { |
23772 | "description" : "RBD Id.", | |
23773 | "optional" : 1, | |
013dc89f DM |
23774 | "type" : "string", |
23775 | "typetext" : "<string>" | |
7aacca6f | 23776 | }, |
44660702 DM |
23777 | "vgname" : { |
23778 | "description" : "Volume group name.", | |
23779 | "format" : "pve-storage-vgname", | |
23780 | "optional" : 1, | |
013dc89f DM |
23781 | "type" : "string", |
23782 | "typetext" : "<string>" | |
44660702 DM |
23783 | }, |
23784 | "volume" : { | |
23785 | "description" : "Glusterfs Volume.", | |
23786 | "optional" : 1, | |
013dc89f DM |
23787 | "type" : "string", |
23788 | "typetext" : "<string>" | |
44660702 DM |
23789 | } |
23790 | }, | |
23791 | "type" : "object" | |
23792 | }, | |
23793 | "permissions" : { | |
23794 | "check" : [ | |
23795 | "perm", | |
23796 | "/storage", | |
23797 | [ | |
23798 | "Datastore.Allocate" | |
23799 | ] | |
23800 | ] | |
56122987 | 23801 | }, |
44660702 DM |
23802 | "protected" : 1, |
23803 | "returns" : { | |
23804 | "type" : "null" | |
23805 | } | |
23806 | } | |
23807 | }, | |
23808 | "leaf" : 0, | |
23809 | "path" : "/storage", | |
23810 | "text" : "storage" | |
23811 | }, | |
23812 | { | |
23813 | "children" : [ | |
23814 | { | |
56122987 DM |
23815 | "children" : [ |
23816 | { | |
56122987 | 23817 | "info" : { |
44660702 DM |
23818 | "DELETE" : { |
23819 | "description" : "Delete user.", | |
23820 | "method" : "DELETE", | |
23821 | "name" : "delete_user", | |
56122987 | 23822 | "parameters" : { |
7aacca6f | 23823 | "additionalProperties" : 0, |
56122987 | 23824 | "properties" : { |
56122987 | 23825 | "userid" : { |
56122987 DM |
23826 | "description" : "User ID", |
23827 | "format" : "pve-userid", | |
44660702 | 23828 | "maxLength" : 64, |
013dc89f DM |
23829 | "type" : "string", |
23830 | "typetext" : "<string>" | |
56122987 | 23831 | } |
7aacca6f | 23832 | } |
56122987 | 23833 | }, |
56122987 DM |
23834 | "permissions" : { |
23835 | "check" : [ | |
44660702 | 23836 | "and", |
56122987 | 23837 | [ |
44660702 DM |
23838 | "userid-param", |
23839 | "Realm.AllocateUser" | |
56122987 | 23840 | ], |
44660702 DM |
23841 | [ |
23842 | "userid-group", | |
23843 | [ | |
23844 | "User.Modify" | |
23845 | ] | |
23846 | ] | |
56122987 | 23847 | ] |
7aacca6f | 23848 | }, |
44660702 | 23849 | "protected" : 1, |
56122987 DM |
23850 | "returns" : { |
23851 | "type" : "null" | |
44660702 | 23852 | } |
7aacca6f | 23853 | }, |
44660702 DM |
23854 | "GET" : { |
23855 | "description" : "Get user configuration.", | |
23856 | "method" : "GET", | |
23857 | "name" : "read_user", | |
56122987 DM |
23858 | "parameters" : { |
23859 | "additionalProperties" : 0, | |
23860 | "properties" : { | |
23861 | "userid" : { | |
44660702 | 23862 | "description" : "User ID", |
56122987 | 23863 | "format" : "pve-userid", |
44660702 | 23864 | "maxLength" : 64, |
013dc89f DM |
23865 | "type" : "string", |
23866 | "typetext" : "<string>" | |
56122987 DM |
23867 | } |
23868 | } | |
23869 | }, | |
56122987 DM |
23870 | "permissions" : { |
23871 | "check" : [ | |
44660702 | 23872 | "userid-group", |
56122987 | 23873 | [ |
44660702 DM |
23874 | "User.Modify", |
23875 | "Sys.Audit" | |
56122987 DM |
23876 | ] |
23877 | ] | |
23878 | }, | |
56122987 | 23879 | "returns" : { |
7aacca6f | 23880 | "additionalProperties" : 0, |
56122987 | 23881 | "properties" : { |
44660702 DM |
23882 | "comment" : { |
23883 | "optional" : 1, | |
23884 | "type" : "string" | |
56122987 | 23885 | }, |
44660702 DM |
23886 | "email" : { |
23887 | "optional" : 1, | |
23888 | "type" : "string" | |
7aacca6f DM |
23889 | }, |
23890 | "enable" : { | |
23891 | "type" : "boolean" | |
23892 | }, | |
44660702 DM |
23893 | "expire" : { |
23894 | "optional" : 1, | |
23895 | "type" : "integer" | |
23896 | }, | |
23897 | "firstname" : { | |
56122987 DM |
23898 | "optional" : 1, |
23899 | "type" : "string" | |
23900 | }, | |
44660702 DM |
23901 | "groups" : { |
23902 | "type" : "array" | |
56122987 | 23903 | }, |
44660702 DM |
23904 | "keys" : { |
23905 | "optional" : 1, | |
23906 | "type" : "string" | |
7aacca6f | 23907 | }, |
44660702 DM |
23908 | "lastname" : { |
23909 | "optional" : 1, | |
23910 | "type" : "string" | |
56122987 | 23911 | } |
7aacca6f | 23912 | } |
44660702 DM |
23913 | } |
23914 | }, | |
23915 | "PUT" : { | |
23916 | "description" : "Update user configuration.", | |
23917 | "method" : "PUT", | |
23918 | "name" : "update_user", | |
56122987 | 23919 | "parameters" : { |
44660702 | 23920 | "additionalProperties" : 0, |
56122987 | 23921 | "properties" : { |
44660702 DM |
23922 | "append" : { |
23923 | "optional" : 1, | |
23924 | "requires" : "groups", | |
013dc89f DM |
23925 | "type" : "boolean", |
23926 | "typetext" : "<boolean>" | |
44660702 DM |
23927 | }, |
23928 | "comment" : { | |
23929 | "optional" : 1, | |
013dc89f DM |
23930 | "type" : "string", |
23931 | "typetext" : "<string>" | |
44660702 DM |
23932 | }, |
23933 | "email" : { | |
23934 | "format" : "email-opt", | |
23935 | "optional" : 1, | |
013dc89f DM |
23936 | "type" : "string", |
23937 | "typetext" : "<string>" | |
44660702 DM |
23938 | }, |
23939 | "enable" : { | |
23940 | "description" : "Enable/disable the account.", | |
23941 | "optional" : 1, | |
013dc89f DM |
23942 | "type" : "boolean", |
23943 | "typetext" : "<boolean>" | |
44660702 DM |
23944 | }, |
23945 | "expire" : { | |
23946 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
23947 | "minimum" : 0, | |
23948 | "optional" : 1, | |
4bd7df8b | 23949 | "type" : "integer", |
013dc89f | 23950 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
23951 | }, |
23952 | "firstname" : { | |
23953 | "optional" : 1, | |
013dc89f DM |
23954 | "type" : "string", |
23955 | "typetext" : "<string>" | |
44660702 DM |
23956 | }, |
23957 | "groups" : { | |
23958 | "format" : "pve-groupid-list", | |
23959 | "optional" : 1, | |
013dc89f DM |
23960 | "type" : "string", |
23961 | "typetext" : "<string>" | |
44660702 DM |
23962 | }, |
23963 | "keys" : { | |
23964 | "description" : "Keys for two factor auth (yubico).", | |
23965 | "optional" : 1, | |
013dc89f DM |
23966 | "type" : "string", |
23967 | "typetext" : "<string>" | |
44660702 DM |
23968 | }, |
23969 | "lastname" : { | |
23970 | "optional" : 1, | |
013dc89f DM |
23971 | "type" : "string", |
23972 | "typetext" : "<string>" | |
44660702 | 23973 | }, |
56122987 | 23974 | "userid" : { |
56122987 DM |
23975 | "description" : "User ID", |
23976 | "format" : "pve-userid", | |
44660702 | 23977 | "maxLength" : 64, |
013dc89f DM |
23978 | "type" : "string", |
23979 | "typetext" : "<string>" | |
56122987 | 23980 | } |
44660702 | 23981 | } |
56122987 | 23982 | }, |
56122987 DM |
23983 | "permissions" : { |
23984 | "check" : [ | |
23985 | "userid-group", | |
23986 | [ | |
44660702 DM |
23987 | "User.Modify" |
23988 | ], | |
23989 | "groups_param", | |
23990 | 1 | |
56122987 DM |
23991 | ] |
23992 | }, | |
44660702 DM |
23993 | "protected" : 1, |
23994 | "returns" : { | |
23995 | "type" : "null" | |
23996 | } | |
56122987 DM |
23997 | } |
23998 | }, | |
44660702 DM |
23999 | "leaf" : 1, |
24000 | "path" : "/access/users/{userid}", | |
7aacca6f | 24001 | "text" : "{userid}" |
56122987 | 24002 | } |
7aacca6f | 24003 | ], |
56122987 | 24004 | "info" : { |
7aacca6f | 24005 | "GET" : { |
44660702 DM |
24006 | "description" : "User index.", |
24007 | "method" : "GET", | |
7aacca6f | 24008 | "name" : "index", |
56122987 | 24009 | "parameters" : { |
44660702 DM |
24010 | "additionalProperties" : 0, |
24011 | "properties" : { | |
24012 | "enabled" : { | |
24013 | "description" : "Optional filter for enable property.", | |
24014 | "optional" : 1, | |
013dc89f DM |
24015 | "type" : "boolean", |
24016 | "typetext" : "<boolean>" | |
44660702 DM |
24017 | } |
24018 | } | |
24019 | }, | |
24020 | "permissions" : { | |
24021 | "description" : "The returned list is restricted to users where you have 'User.Modify' or 'Sys.Audit' permissions on '/access/groups' or on a group the user belongs too. But it always includes the current (authenticated) user.", | |
24022 | "user" : "all" | |
56122987 | 24023 | }, |
7aacca6f | 24024 | "returns" : { |
7aacca6f DM |
24025 | "items" : { |
24026 | "properties" : { | |
44660702 | 24027 | "userid" : { |
7aacca6f DM |
24028 | "type" : "string" |
24029 | } | |
24030 | }, | |
24031 | "type" : "object" | |
24032 | }, | |
44660702 DM |
24033 | "links" : [ |
24034 | { | |
24035 | "href" : "{userid}", | |
24036 | "rel" : "child" | |
24037 | } | |
24038 | ], | |
7aacca6f DM |
24039 | "type" : "array" |
24040 | } | |
24041 | }, | |
24042 | "POST" : { | |
44660702 | 24043 | "description" : "Create new user.", |
7aacca6f | 24044 | "method" : "POST", |
44660702 | 24045 | "name" : "create_user", |
56122987 | 24046 | "parameters" : { |
7aacca6f DM |
24047 | "additionalProperties" : 0, |
24048 | "properties" : { | |
44660702 DM |
24049 | "comment" : { |
24050 | "optional" : 1, | |
013dc89f DM |
24051 | "type" : "string", |
24052 | "typetext" : "<string>" | |
7aacca6f | 24053 | }, |
44660702 DM |
24054 | "email" : { |
24055 | "format" : "email-opt", | |
24056 | "optional" : 1, | |
013dc89f DM |
24057 | "type" : "string", |
24058 | "typetext" : "<string>" | |
44660702 DM |
24059 | }, |
24060 | "enable" : { | |
24061 | "default" : 1, | |
24062 | "description" : "Enable the account (default). You can set this to '0' to disable the accout", | |
24063 | "optional" : 1, | |
013dc89f DM |
24064 | "type" : "boolean", |
24065 | "typetext" : "<boolean>" | |
44660702 DM |
24066 | }, |
24067 | "expire" : { | |
24068 | "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.", | |
24069 | "minimum" : 0, | |
24070 | "optional" : 1, | |
4bd7df8b | 24071 | "type" : "integer", |
013dc89f | 24072 | "typetext" : "<integer> (0 - N)" |
44660702 DM |
24073 | }, |
24074 | "firstname" : { | |
24075 | "optional" : 1, | |
013dc89f DM |
24076 | "type" : "string", |
24077 | "typetext" : "<string>" | |
44660702 DM |
24078 | }, |
24079 | "groups" : { | |
24080 | "format" : "pve-groupid-list", | |
24081 | "optional" : 1, | |
013dc89f DM |
24082 | "type" : "string", |
24083 | "typetext" : "<string>" | |
44660702 DM |
24084 | }, |
24085 | "keys" : { | |
24086 | "description" : "Keys for two factor auth (yubico).", | |
24087 | "optional" : 1, | |
013dc89f DM |
24088 | "type" : "string", |
24089 | "typetext" : "<string>" | |
44660702 DM |
24090 | }, |
24091 | "lastname" : { | |
7aacca6f | 24092 | "optional" : 1, |
013dc89f DM |
24093 | "type" : "string", |
24094 | "typetext" : "<string>" | |
44660702 DM |
24095 | }, |
24096 | "password" : { | |
24097 | "description" : "Initial password.", | |
24098 | "maxLength" : 64, | |
24099 | "minLength" : 5, | |
24100 | "optional" : 1, | |
013dc89f DM |
24101 | "type" : "string", |
24102 | "typetext" : "<string>" | |
44660702 DM |
24103 | }, |
24104 | "userid" : { | |
24105 | "description" : "User ID", | |
24106 | "format" : "pve-userid", | |
24107 | "maxLength" : 64, | |
013dc89f DM |
24108 | "type" : "string", |
24109 | "typetext" : "<string>" | |
56122987 | 24110 | } |
7aacca6f | 24111 | } |
56122987 | 24112 | }, |
44660702 DM |
24113 | "permissions" : { |
24114 | "check" : [ | |
24115 | "and", | |
24116 | [ | |
24117 | "userid-param", | |
24118 | "Realm.AllocateUser" | |
24119 | ], | |
24120 | [ | |
24121 | "userid-group", | |
24122 | [ | |
24123 | "User.Modify" | |
24124 | ], | |
24125 | "groups_param", | |
24126 | 1 | |
24127 | ] | |
24128 | ], | |
24129 | "description" : "You need 'Realm.AllocateUser' on '/access/realm/<realm>' on the realm of user <userid>, and 'User.Modify' permissions to '/access/groups/<group>' for any group specified (or 'User.Modify' on '/access/groups' if you pass no groups." | |
24130 | }, | |
24131 | "protected" : 1, | |
24132 | "returns" : { | |
24133 | "type" : "null" | |
24134 | } | |
56122987 DM |
24135 | } |
24136 | }, | |
44660702 DM |
24137 | "leaf" : 0, |
24138 | "path" : "/access/users", | |
24139 | "text" : "users" | |
24140 | }, | |
24141 | { | |
56122987 DM |
24142 | "children" : [ |
24143 | { | |
56122987 DM |
24144 | "info" : { |
24145 | "DELETE" : { | |
44660702 DM |
24146 | "description" : "Delete group.", |
24147 | "method" : "DELETE", | |
24148 | "name" : "delete_group", | |
24149 | "parameters" : { | |
24150 | "additionalProperties" : 0, | |
24151 | "properties" : { | |
24152 | "groupid" : { | |
24153 | "format" : "pve-groupid", | |
013dc89f DM |
24154 | "type" : "string", |
24155 | "typetext" : "<string>" | |
44660702 DM |
24156 | } |
24157 | } | |
24158 | }, | |
7aacca6f DM |
24159 | "permissions" : { |
24160 | "check" : [ | |
24161 | "perm", | |
24162 | "/access/groups", | |
24163 | [ | |
24164 | "Group.Allocate" | |
24165 | ] | |
24166 | ] | |
24167 | }, | |
7aacca6f | 24168 | "protected" : 1, |
7aacca6f DM |
24169 | "returns" : { |
24170 | "type" : "null" | |
44660702 | 24171 | } |
7aacca6f | 24172 | }, |
44660702 DM |
24173 | "GET" : { |
24174 | "description" : "Get group configuration.", | |
24175 | "method" : "GET", | |
24176 | "name" : "read_group", | |
24177 | "parameters" : { | |
24178 | "additionalProperties" : 0, | |
24179 | "properties" : { | |
24180 | "groupid" : { | |
24181 | "format" : "pve-groupid", | |
013dc89f DM |
24182 | "type" : "string", |
24183 | "typetext" : "<string>" | |
44660702 DM |
24184 | } |
24185 | } | |
56122987 | 24186 | }, |
7aacca6f DM |
24187 | "permissions" : { |
24188 | "check" : [ | |
24189 | "perm", | |
24190 | "/access/groups", | |
24191 | [ | |
44660702 | 24192 | "Sys.Audit", |
7aacca6f | 24193 | "Group.Allocate" |
44660702 DM |
24194 | ], |
24195 | "any", | |
24196 | 1 | |
7aacca6f DM |
24197 | ] |
24198 | }, | |
7aacca6f | 24199 | "returns" : { |
44660702 | 24200 | "additionalProperties" : 0, |
7aacca6f DM |
24201 | "properties" : { |
24202 | "comment" : { | |
44660702 DM |
24203 | "optional" : 1, |
24204 | "type" : "string" | |
7aacca6f DM |
24205 | }, |
24206 | "members" : { | |
24207 | "items" : { | |
24208 | "type" : "string" | |
24209 | }, | |
24210 | "type" : "array" | |
24211 | } | |
24212 | }, | |
44660702 DM |
24213 | "type" : "object" |
24214 | } | |
24215 | }, | |
24216 | "PUT" : { | |
24217 | "description" : "Update group data.", | |
24218 | "method" : "PUT", | |
24219 | "name" : "update_group", | |
56122987 | 24220 | "parameters" : { |
44660702 | 24221 | "additionalProperties" : 0, |
56122987 | 24222 | "properties" : { |
44660702 DM |
24223 | "comment" : { |
24224 | "optional" : 1, | |
013dc89f DM |
24225 | "type" : "string", |
24226 | "typetext" : "<string>" | |
44660702 | 24227 | }, |
56122987 DM |
24228 | "groupid" : { |
24229 | "format" : "pve-groupid", | |
013dc89f DM |
24230 | "type" : "string", |
24231 | "typetext" : "<string>" | |
56122987 | 24232 | } |
44660702 | 24233 | } |
56122987 | 24234 | }, |
56122987 DM |
24235 | "permissions" : { |
24236 | "check" : [ | |
24237 | "perm", | |
24238 | "/access/groups", | |
24239 | [ | |
24240 | "Group.Allocate" | |
44660702 | 24241 | ] |
56122987 DM |
24242 | ] |
24243 | }, | |
44660702 DM |
24244 | "protected" : 1, |
24245 | "returns" : { | |
24246 | "type" : "null" | |
24247 | } | |
7aacca6f DM |
24248 | } |
24249 | }, | |
7aacca6f | 24250 | "leaf" : 1, |
44660702 DM |
24251 | "path" : "/access/groups/{groupid}", |
24252 | "text" : "{groupid}" | |
24253 | } | |
24254 | ], | |
24255 | "info" : { | |
24256 | "GET" : { | |
24257 | "description" : "Group index.", | |
24258 | "method" : "GET", | |
24259 | "name" : "index", | |
24260 | "parameters" : { | |
24261 | "additionalProperties" : 0 | |
24262 | }, | |
24263 | "permissions" : { | |
24264 | "description" : "The returned list is restricted to groups where you have 'User.Modify', 'Sys.Audit' or 'Group.Allocate' permissions on /access/groups/<group>.", | |
24265 | "user" : "all" | |
24266 | }, | |
24267 | "returns" : { | |
24268 | "items" : { | |
24269 | "properties" : { | |
24270 | "groupid" : { | |
24271 | "type" : "string" | |
24272 | } | |
24273 | }, | |
24274 | "type" : "object" | |
24275 | }, | |
24276 | "links" : [ | |
24277 | { | |
24278 | "href" : "{groupid}", | |
24279 | "rel" : "child" | |
24280 | } | |
24281 | ], | |
24282 | "type" : "array" | |
24283 | } | |
24284 | }, | |
24285 | "POST" : { | |
24286 | "description" : "Create new group.", | |
24287 | "method" : "POST", | |
24288 | "name" : "create_group", | |
24289 | "parameters" : { | |
24290 | "additionalProperties" : 0, | |
24291 | "properties" : { | |
24292 | "comment" : { | |
24293 | "optional" : 1, | |
013dc89f DM |
24294 | "type" : "string", |
24295 | "typetext" : "<string>" | |
44660702 DM |
24296 | }, |
24297 | "groupid" : { | |
24298 | "format" : "pve-groupid", | |
013dc89f DM |
24299 | "type" : "string", |
24300 | "typetext" : "<string>" | |
44660702 DM |
24301 | } |
24302 | } | |
24303 | }, | |
24304 | "permissions" : { | |
24305 | "check" : [ | |
24306 | "perm", | |
24307 | "/access/groups", | |
24308 | [ | |
24309 | "Group.Allocate" | |
24310 | ] | |
24311 | ] | |
24312 | }, | |
24313 | "protected" : 1, | |
24314 | "returns" : { | |
24315 | "type" : "null" | |
24316 | } | |
7aacca6f | 24317 | } |
44660702 | 24318 | }, |
7aacca6f | 24319 | "leaf" : 0, |
44660702 DM |
24320 | "path" : "/access/groups", |
24321 | "text" : "groups" | |
7aacca6f DM |
24322 | }, |
24323 | { | |
24324 | "children" : [ | |
24325 | { | |
7aacca6f | 24326 | "info" : { |
7aacca6f | 24327 | "DELETE" : { |
7aacca6f | 24328 | "description" : "Delete role.", |
44660702 | 24329 | "method" : "DELETE", |
7aacca6f | 24330 | "name" : "delete_role", |
56122987 DM |
24331 | "parameters" : { |
24332 | "additionalProperties" : 0, | |
24333 | "properties" : { | |
7aacca6f DM |
24334 | "roleid" : { |
24335 | "format" : "pve-roleid", | |
013dc89f DM |
24336 | "type" : "string", |
24337 | "typetext" : "<string>" | |
56122987 DM |
24338 | } |
24339 | } | |
24340 | }, | |
56122987 DM |
24341 | "permissions" : { |
24342 | "check" : [ | |
24343 | "perm", | |
7aacca6f | 24344 | "/access", |
56122987 | 24345 | [ |
7aacca6f DM |
24346 | "Sys.Modify" |
24347 | ] | |
56122987 | 24348 | ] |
44660702 DM |
24349 | }, |
24350 | "protected" : 1, | |
24351 | "returns" : { | |
24352 | "type" : "null" | |
56122987 DM |
24353 | } |
24354 | }, | |
44660702 DM |
24355 | "GET" : { |
24356 | "description" : "Get role configuration.", | |
24357 | "method" : "GET", | |
24358 | "name" : "read_role", | |
24359 | "parameters" : { | |
24360 | "additionalProperties" : 0, | |
24361 | "properties" : { | |
24362 | "roleid" : { | |
24363 | "format" : "pve-roleid", | |
013dc89f DM |
24364 | "type" : "string", |
24365 | "typetext" : "<string>" | |
44660702 DM |
24366 | } |
24367 | } | |
24368 | }, | |
7aacca6f | 24369 | "permissions" : { |
44660702 | 24370 | "user" : "all" |
56122987 | 24371 | }, |
44660702 DM |
24372 | "returns" : {} |
24373 | }, | |
24374 | "PUT" : { | |
24375 | "description" : "Create new role.", | |
24376 | "method" : "PUT", | |
24377 | "name" : "update_role", | |
56122987 DM |
24378 | "parameters" : { |
24379 | "additionalProperties" : 0, | |
24380 | "properties" : { | |
7aacca6f | 24381 | "append" : { |
44660702 | 24382 | "optional" : 1, |
7aacca6f | 24383 | "requires" : "privs", |
013dc89f DM |
24384 | "type" : "boolean", |
24385 | "typetext" : "<boolean>" | |
7aacca6f DM |
24386 | }, |
24387 | "privs" : { | |
24388 | "format" : "pve-priv-list", | |
013dc89f DM |
24389 | "type" : "string", |
24390 | "typetext" : "<string>" | |
44660702 DM |
24391 | }, |
24392 | "roleid" : { | |
24393 | "format" : "pve-roleid", | |
013dc89f DM |
24394 | "type" : "string", |
24395 | "typetext" : "<string>" | |
56122987 DM |
24396 | } |
24397 | } | |
24398 | }, | |
44660702 DM |
24399 | "permissions" : { |
24400 | "check" : [ | |
24401 | "perm", | |
24402 | "/access", | |
24403 | [ | |
24404 | "Sys.Modify" | |
24405 | ] | |
24406 | ] | |
24407 | }, | |
56122987 | 24408 | "protected" : 1, |
7aacca6f DM |
24409 | "returns" : { |
24410 | "type" : "null" | |
56122987 DM |
24411 | } |
24412 | } | |
24413 | }, | |
44660702 | 24414 | "leaf" : 1, |
7aacca6f | 24415 | "path" : "/access/roles/{roleid}", |
44660702 | 24416 | "text" : "{roleid}" |
56122987 DM |
24417 | } |
24418 | ], | |
56122987 | 24419 | "info" : { |
7aacca6f DM |
24420 | "GET" : { |
24421 | "description" : "Role index.", | |
44660702 | 24422 | "method" : "GET", |
7aacca6f | 24423 | "name" : "index", |
56122987 | 24424 | "parameters" : { |
56122987 DM |
24425 | "additionalProperties" : 0 |
24426 | }, | |
7aacca6f DM |
24427 | "permissions" : { |
24428 | "user" : "all" | |
24429 | }, | |
56122987 | 24430 | "returns" : { |
7aacca6f | 24431 | "items" : { |
7aacca6f DM |
24432 | "properties" : { |
24433 | "roleid" : { | |
24434 | "type" : "string" | |
24435 | } | |
44660702 DM |
24436 | }, |
24437 | "type" : "object" | |
24438 | }, | |
24439 | "links" : [ | |
24440 | { | |
24441 | "href" : "{roleid}", | |
24442 | "rel" : "child" | |
7aacca6f | 24443 | } |
44660702 DM |
24444 | ], |
24445 | "type" : "array" | |
24446 | } | |
7aacca6f DM |
24447 | }, |
24448 | "POST" : { | |
24449 | "description" : "Create new role.", | |
44660702 DM |
24450 | "method" : "POST", |
24451 | "name" : "create_role", | |
7aacca6f DM |
24452 | "parameters" : { |
24453 | "additionalProperties" : 0, | |
24454 | "properties" : { | |
7aacca6f DM |
24455 | "privs" : { |
24456 | "format" : "pve-priv-list", | |
24457 | "optional" : 1, | |
013dc89f DM |
24458 | "type" : "string", |
24459 | "typetext" : "<string>" | |
44660702 DM |
24460 | }, |
24461 | "roleid" : { | |
24462 | "format" : "pve-roleid", | |
013dc89f DM |
24463 | "type" : "string", |
24464 | "typetext" : "<string>" | |
7aacca6f DM |
24465 | } |
24466 | } | |
24467 | }, | |
44660702 DM |
24468 | "permissions" : { |
24469 | "check" : [ | |
24470 | "perm", | |
24471 | "/access", | |
24472 | [ | |
24473 | "Sys.Modify" | |
24474 | ] | |
24475 | ] | |
24476 | }, | |
24477 | "protected" : 1, | |
7aacca6f DM |
24478 | "returns" : { |
24479 | "type" : "null" | |
24480 | } | |
24481 | } | |
24482 | }, | |
44660702 | 24483 | "leaf" : 0, |
7aacca6f | 24484 | "path" : "/access/roles", |
44660702 | 24485 | "text" : "roles" |
7aacca6f DM |
24486 | }, |
24487 | { | |
24488 | "info" : { | |
56122987 | 24489 | "GET" : { |
44660702 DM |
24490 | "description" : "Get Access Control List (ACLs).", |
24491 | "method" : "GET", | |
24492 | "name" : "read_acl", | |
7aacca6f DM |
24493 | "parameters" : { |
24494 | "additionalProperties" : 0 | |
24495 | }, | |
44660702 DM |
24496 | "permissions" : { |
24497 | "description" : "The returned list is restricted to objects where you have rights to modify permissions.", | |
24498 | "user" : "all" | |
24499 | }, | |
56122987 | 24500 | "returns" : { |
56122987 | 24501 | "items" : { |
44660702 | 24502 | "additionalProperties" : 0, |
56122987 | 24503 | "properties" : { |
7aacca6f DM |
24504 | "path" : { |
24505 | "type" : "string" | |
24506 | }, | |
44660702 DM |
24507 | "propagate" : { |
24508 | "type" : "boolean" | |
24509 | }, | |
24510 | "roleid" : { | |
24511 | "type" : "string" | |
24512 | }, | |
7aacca6f DM |
24513 | "type" : { |
24514 | "enum" : [ | |
24515 | "user", | |
24516 | "group" | |
24517 | ], | |
24518 | "type" : "string" | |
24519 | }, | |
7aacca6f DM |
24520 | "ugid" : { |
24521 | "type" : "string" | |
56122987 | 24522 | } |
7aacca6f | 24523 | }, |
44660702 | 24524 | "type" : "object" |
7aacca6f DM |
24525 | }, |
24526 | "type" : "array" | |
44660702 | 24527 | } |
7aacca6f DM |
24528 | }, |
24529 | "PUT" : { | |
44660702 DM |
24530 | "description" : "Update Access Control List (add or remove permissions).", |
24531 | "method" : "PUT", | |
7aacca6f DM |
24532 | "name" : "update_acl", |
24533 | "parameters" : { | |
24534 | "additionalProperties" : 0, | |
24535 | "properties" : { | |
24536 | "delete" : { | |
44660702 | 24537 | "description" : "Remove permissions (instead of adding it).", |
7aacca6f | 24538 | "optional" : 1, |
013dc89f DM |
24539 | "type" : "boolean", |
24540 | "typetext" : "<boolean>" | |
7aacca6f | 24541 | }, |
44660702 DM |
24542 | "groups" : { |
24543 | "description" : "List of groups.", | |
24544 | "format" : "pve-groupid-list", | |
7aacca6f | 24545 | "optional" : 1, |
013dc89f DM |
24546 | "type" : "string", |
24547 | "typetext" : "<string>" | |
7aacca6f DM |
24548 | }, |
24549 | "path" : { | |
24550 | "description" : "Access control path", | |
013dc89f DM |
24551 | "type" : "string", |
24552 | "typetext" : "<string>" | |
7aacca6f | 24553 | }, |
7aacca6f | 24554 | "propagate" : { |
44660702 | 24555 | "default" : 1, |
7aacca6f | 24556 | "description" : "Allow to propagate (inherit) permissions.", |
7aacca6f | 24557 | "optional" : 1, |
013dc89f DM |
24558 | "type" : "boolean", |
24559 | "typetext" : "<boolean>" | |
7aacca6f | 24560 | }, |
44660702 DM |
24561 | "roles" : { |
24562 | "description" : "List of roles.", | |
24563 | "format" : "pve-roleid-list", | |
013dc89f DM |
24564 | "type" : "string", |
24565 | "typetext" : "<string>" | |
44660702 DM |
24566 | }, |
24567 | "users" : { | |
24568 | "description" : "List of users.", | |
24569 | "format" : "pve-userid-list", | |
7aacca6f | 24570 | "optional" : 1, |
013dc89f DM |
24571 | "type" : "string", |
24572 | "typetext" : "<string>" | |
56122987 DM |
24573 | } |
24574 | } | |
24575 | }, | |
56122987 | 24576 | "permissions" : { |
7aacca6f DM |
24577 | "check" : [ |
24578 | "perm-modify", | |
24579 | "{path}" | |
24580 | ] | |
24581 | }, | |
7aacca6f DM |
24582 | "protected" : 1, |
24583 | "returns" : { | |
24584 | "type" : "null" | |
44660702 | 24585 | } |
56122987 DM |
24586 | } |
24587 | }, | |
7aacca6f | 24588 | "leaf" : 1, |
44660702 DM |
24589 | "path" : "/access/acl", |
24590 | "text" : "acl" | |
7aacca6f DM |
24591 | }, |
24592 | { | |
56122987 DM |
24593 | "children" : [ |
24594 | { | |
56122987 | 24595 | "info" : { |
44660702 DM |
24596 | "DELETE" : { |
24597 | "description" : "Delete an authentication server.", | |
24598 | "method" : "DELETE", | |
24599 | "name" : "delete", | |
24600 | "parameters" : { | |
24601 | "additionalProperties" : 0, | |
24602 | "properties" : { | |
24603 | "realm" : { | |
24604 | "description" : "Authentication domain ID", | |
24605 | "format" : "pve-realm", | |
24606 | "maxLength" : 32, | |
013dc89f DM |
24607 | "type" : "string", |
24608 | "typetext" : "<string>" | |
56122987 | 24609 | } |
44660702 | 24610 | } |
56122987 | 24611 | }, |
56122987 DM |
24612 | "permissions" : { |
24613 | "check" : [ | |
24614 | "perm", | |
7aacca6f | 24615 | "/access/realm", |
56122987 | 24616 | [ |
7aacca6f | 24617 | "Realm.Allocate" |
56122987 DM |
24618 | ] |
24619 | ] | |
24620 | }, | |
7aacca6f | 24621 | "protected" : 1, |
7aacca6f DM |
24622 | "returns" : { |
24623 | "type" : "null" | |
44660702 | 24624 | } |
7aacca6f | 24625 | }, |
44660702 DM |
24626 | "GET" : { |
24627 | "description" : "Get auth server configuration.", | |
24628 | "method" : "GET", | |
24629 | "name" : "read", | |
56122987 | 24630 | "parameters" : { |
44660702 | 24631 | "additionalProperties" : 0, |
56122987 | 24632 | "properties" : { |
7aacca6f | 24633 | "realm" : { |
44660702 | 24634 | "description" : "Authentication domain ID", |
7aacca6f DM |
24635 | "format" : "pve-realm", |
24636 | "maxLength" : 32, | |
013dc89f DM |
24637 | "type" : "string", |
24638 | "typetext" : "<string>" | |
56122987 | 24639 | } |
44660702 | 24640 | } |
7aacca6f | 24641 | }, |
7aacca6f DM |
24642 | "permissions" : { |
24643 | "check" : [ | |
24644 | "perm", | |
24645 | "/access/realm", | |
24646 | [ | |
44660702 DM |
24647 | "Realm.Allocate", |
24648 | "Sys.Audit" | |
24649 | ], | |
24650 | "any", | |
24651 | 1 | |
7aacca6f | 24652 | ] |
44660702 DM |
24653 | }, |
24654 | "returns" : {} | |
7aacca6f | 24655 | }, |
44660702 DM |
24656 | "PUT" : { |
24657 | "description" : "Update authentication server settings.", | |
24658 | "method" : "PUT", | |
24659 | "name" : "update", | |
7aacca6f | 24660 | "parameters" : { |
44660702 | 24661 | "additionalProperties" : 0, |
7aacca6f | 24662 | "properties" : { |
44660702 DM |
24663 | "base_dn" : { |
24664 | "description" : "LDAP base domain name", | |
24665 | "maxLength" : 256, | |
24666 | "optional" : 1, | |
24667 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
24668 | "type" : "string" | |
24669 | }, | |
4bd7df8b DM |
24670 | "bind_dn" : { |
24671 | "description" : "LDAP bind domain name", | |
24672 | "maxLength" : 256, | |
24673 | "optional" : 1, | |
24674 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
24675 | "type" : "string" | |
24676 | }, | |
44660702 DM |
24677 | "comment" : { |
24678 | "description" : "Description.", | |
24679 | "maxLength" : 4096, | |
24680 | "optional" : 1, | |
013dc89f DM |
24681 | "type" : "string", |
24682 | "typetext" : "<string>" | |
44660702 DM |
24683 | }, |
24684 | "default" : { | |
24685 | "description" : "Use this as default realm", | |
24686 | "optional" : 1, | |
013dc89f DM |
24687 | "type" : "boolean", |
24688 | "typetext" : "<boolean>" | |
44660702 DM |
24689 | }, |
24690 | "delete" : { | |
24691 | "description" : "A list of settings you want to delete.", | |
24692 | "format" : "pve-configid-list", | |
24693 | "maxLength" : 4096, | |
24694 | "optional" : 1, | |
013dc89f DM |
24695 | "type" : "string", |
24696 | "typetext" : "<string>" | |
44660702 DM |
24697 | }, |
24698 | "digest" : { | |
24699 | "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.", | |
24700 | "maxLength" : 40, | |
24701 | "optional" : 1, | |
013dc89f DM |
24702 | "type" : "string", |
24703 | "typetext" : "<string>" | |
44660702 DM |
24704 | }, |
24705 | "domain" : { | |
24706 | "description" : "AD domain name", | |
24707 | "maxLength" : 256, | |
24708 | "optional" : 1, | |
24709 | "pattern" : "\\S+", | |
24710 | "type" : "string" | |
24711 | }, | |
24712 | "port" : { | |
24713 | "description" : "Server port.", | |
24714 | "maximum" : 65535, | |
24715 | "minimum" : 1, | |
24716 | "optional" : 1, | |
4bd7df8b | 24717 | "type" : "integer", |
013dc89f | 24718 | "typetext" : "<integer> (1 - 65535)" |
44660702 | 24719 | }, |
7aacca6f | 24720 | "realm" : { |
7aacca6f DM |
24721 | "description" : "Authentication domain ID", |
24722 | "format" : "pve-realm", | |
44660702 | 24723 | "maxLength" : 32, |
013dc89f DM |
24724 | "type" : "string", |
24725 | "typetext" : "<string>" | |
44660702 DM |
24726 | }, |
24727 | "secure" : { | |
24728 | "description" : "Use secure LDAPS protocol.", | |
24729 | "optional" : 1, | |
013dc89f DM |
24730 | "type" : "boolean", |
24731 | "typetext" : "<boolean>" | |
44660702 DM |
24732 | }, |
24733 | "server1" : { | |
24734 | "description" : "Server IP address (or DNS name)", | |
24735 | "format" : "address", | |
24736 | "maxLength" : 256, | |
24737 | "optional" : 1, | |
013dc89f DM |
24738 | "type" : "string", |
24739 | "typetext" : "<string>" | |
44660702 DM |
24740 | }, |
24741 | "server2" : { | |
24742 | "description" : "Fallback Server IP address (or DNS name)", | |
24743 | "format" : "address", | |
24744 | "maxLength" : 256, | |
24745 | "optional" : 1, | |
013dc89f DM |
24746 | "type" : "string", |
24747 | "typetext" : "<string>" | |
44660702 DM |
24748 | }, |
24749 | "tfa" : { | |
24750 | "description" : "Use Two-factor authentication.", | |
24751 | "format" : "pve-tfa-config", | |
24752 | "maxLength" : 128, | |
24753 | "optional" : 1, | |
013dc89f DM |
24754 | "type" : "string", |
24755 | "typetext" : "<string>" | |
44660702 DM |
24756 | }, |
24757 | "user_attr" : { | |
24758 | "description" : "LDAP user attribute name", | |
24759 | "maxLength" : 256, | |
24760 | "optional" : 1, | |
24761 | "pattern" : "\\S{2,}", | |
24762 | "type" : "string" | |
7aacca6f | 24763 | } |
56122987 | 24764 | }, |
44660702 | 24765 | "type" : "object" |
56122987 | 24766 | }, |
7aacca6f DM |
24767 | "permissions" : { |
24768 | "check" : [ | |
24769 | "perm", | |
24770 | "/access/realm", | |
24771 | [ | |
44660702 DM |
24772 | "Realm.Allocate" |
24773 | ] | |
7aacca6f DM |
24774 | ] |
24775 | }, | |
44660702 DM |
24776 | "protected" : 1, |
24777 | "returns" : { | |
24778 | "type" : "null" | |
24779 | } | |
56122987 | 24780 | } |
44660702 DM |
24781 | }, |
24782 | "leaf" : 1, | |
24783 | "path" : "/access/domains/{realm}", | |
24784 | "text" : "{realm}" | |
56122987 | 24785 | } |
7aacca6f | 24786 | ], |
56122987 DM |
24787 | "info" : { |
24788 | "GET" : { | |
44660702 DM |
24789 | "description" : "Authentication domain index.", |
24790 | "method" : "GET", | |
24791 | "name" : "index", | |
24792 | "parameters" : { | |
24793 | "additionalProperties" : 0 | |
24794 | }, | |
24795 | "permissions" : { | |
24796 | "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).", | |
24797 | "user" : "world" | |
24798 | }, | |
56122987 | 24799 | "returns" : { |
56122987 DM |
24800 | "items" : { |
24801 | "properties" : { | |
7aacca6f DM |
24802 | "comment" : { |
24803 | "optional" : 1, | |
24804 | "type" : "string" | |
24805 | }, | |
56122987 DM |
24806 | "realm" : { |
24807 | "type" : "string" | |
24808 | }, | |
24809 | "tfa" : { | |
7aacca6f | 24810 | "description" : "Two-factor authentication provider.", |
56122987 DM |
24811 | "enum" : [ |
24812 | "yubico", | |
24813 | "oath" | |
24814 | ], | |
44660702 DM |
24815 | "optional" : 1, |
24816 | "type" : "string" | |
56122987 DM |
24817 | } |
24818 | }, | |
24819 | "type" : "object" | |
44660702 DM |
24820 | }, |
24821 | "links" : [ | |
24822 | { | |
24823 | "href" : "{realm}", | |
24824 | "rel" : "child" | |
24825 | } | |
24826 | ], | |
24827 | "type" : "array" | |
24828 | } | |
56122987 DM |
24829 | }, |
24830 | "POST" : { | |
7aacca6f | 24831 | "description" : "Add an authentication server.", |
44660702 | 24832 | "method" : "POST", |
7aacca6f | 24833 | "name" : "create", |
56122987 | 24834 | "parameters" : { |
44660702 | 24835 | "additionalProperties" : 0, |
56122987 | 24836 | "properties" : { |
44660702 DM |
24837 | "base_dn" : { |
24838 | "description" : "LDAP base domain name", | |
56122987 | 24839 | "maxLength" : 256, |
44660702 DM |
24840 | "optional" : 1, |
24841 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
7aacca6f | 24842 | "type" : "string" |
56122987 | 24843 | }, |
4bd7df8b DM |
24844 | "bind_dn" : { |
24845 | "description" : "LDAP bind domain name", | |
24846 | "maxLength" : 256, | |
24847 | "optional" : 1, | |
24848 | "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*", | |
24849 | "type" : "string" | |
24850 | }, | |
44660702 DM |
24851 | "comment" : { |
24852 | "description" : "Description.", | |
24853 | "maxLength" : 4096, | |
56122987 | 24854 | "optional" : 1, |
013dc89f DM |
24855 | "type" : "string", |
24856 | "typetext" : "<string>" | |
56122987 | 24857 | }, |
44660702 DM |
24858 | "default" : { |
24859 | "description" : "Use this as default realm", | |
7aacca6f | 24860 | "optional" : 1, |
013dc89f DM |
24861 | "type" : "boolean", |
24862 | "typetext" : "<boolean>" | |
56122987 | 24863 | }, |
44660702 DM |
24864 | "domain" : { |
24865 | "description" : "AD domain name", | |
24866 | "maxLength" : 256, | |
7aacca6f | 24867 | "optional" : 1, |
44660702 DM |
24868 | "pattern" : "\\S+", |
24869 | "type" : "string" | |
56122987 | 24870 | }, |
7aacca6f | 24871 | "port" : { |
44660702 | 24872 | "description" : "Server port.", |
7aacca6f | 24873 | "maximum" : 65535, |
44660702 | 24874 | "minimum" : 1, |
7aacca6f | 24875 | "optional" : 1, |
4bd7df8b | 24876 | "type" : "integer", |
013dc89f | 24877 | "typetext" : "<integer> (1 - 65535)" |
56122987 | 24878 | }, |
44660702 DM |
24879 | "realm" : { |
24880 | "description" : "Authentication domain ID", | |
24881 | "format" : "pve-realm", | |
24882 | "maxLength" : 32, | |
013dc89f DM |
24883 | "type" : "string", |
24884 | "typetext" : "<string>" | |
44660702 DM |
24885 | }, |
24886 | "secure" : { | |
24887 | "description" : "Use secure LDAPS protocol.", | |
7aacca6f | 24888 | "optional" : 1, |
013dc89f DM |
24889 | "type" : "boolean", |
24890 | "typetext" : "<boolean>" | |
56122987 | 24891 | }, |
44660702 DM |
24892 | "server1" : { |
24893 | "description" : "Server IP address (or DNS name)", | |
24894 | "format" : "address", | |
24895 | "maxLength" : 256, | |
24896 | "optional" : 1, | |
013dc89f DM |
24897 | "type" : "string", |
24898 | "typetext" : "<string>" | |
56122987 | 24899 | }, |
44660702 DM |
24900 | "server2" : { |
24901 | "description" : "Fallback Server IP address (or DNS name)", | |
24902 | "format" : "address", | |
7aacca6f | 24903 | "maxLength" : 256, |
7aacca6f | 24904 | "optional" : 1, |
013dc89f DM |
24905 | "type" : "string", |
24906 | "typetext" : "<string>" | |
7aacca6f | 24907 | }, |
44660702 DM |
24908 | "tfa" : { |
24909 | "description" : "Use Two-factor authentication.", | |
24910 | "format" : "pve-tfa-config", | |
24911 | "maxLength" : 128, | |
24912 | "optional" : 1, | |
013dc89f DM |
24913 | "type" : "string", |
24914 | "typetext" : "<string>" | |
44660702 DM |
24915 | }, |
24916 | "type" : { | |
24917 | "description" : "Realm type.", | |
24918 | "enum" : [ | |
24919 | "ad", | |
24920 | "ldap", | |
24921 | "pam", | |
24922 | "pve" | |
24923 | ], | |
24924 | "type" : "string" | |
24925 | }, | |
24926 | "user_attr" : { | |
24927 | "description" : "LDAP user attribute name", | |
7aacca6f | 24928 | "maxLength" : 256, |
7aacca6f | 24929 | "optional" : 1, |
44660702 DM |
24930 | "pattern" : "\\S{2,}", |
24931 | "type" : "string" | |
7aacca6f DM |
24932 | } |
24933 | }, | |
7aacca6f | 24934 | "type" : "object" |
56122987 | 24935 | }, |
7aacca6f DM |
24936 | "permissions" : { |
24937 | "check" : [ | |
24938 | "perm", | |
24939 | "/access/realm", | |
24940 | [ | |
24941 | "Realm.Allocate" | |
24942 | ] | |
24943 | ] | |
44660702 DM |
24944 | }, |
24945 | "protected" : 1, | |
24946 | "returns" : { | |
24947 | "type" : "null" | |
7aacca6f | 24948 | } |
56122987 | 24949 | } |
7aacca6f | 24950 | }, |
44660702 | 24951 | "leaf" : 0, |
56122987 | 24952 | "path" : "/access/domains", |
44660702 | 24953 | "text" : "domains" |
56122987 DM |
24954 | }, |
24955 | { | |
56122987 | 24956 | "info" : { |
44660702 DM |
24957 | "GET" : { |
24958 | "description" : "Dummy. Useful for formaters which want to priovde a login page.", | |
24959 | "method" : "GET", | |
24960 | "name" : "get_ticket", | |
24961 | "parameters" : { | |
24962 | "additionalProperties" : 0 | |
24963 | }, | |
24964 | "permissions" : { | |
24965 | "user" : "world" | |
24966 | }, | |
24967 | "returns" : { | |
24968 | "type" : "null" | |
24969 | } | |
24970 | }, | |
56122987 | 24971 | "POST" : { |
44660702 | 24972 | "description" : "Create or verify authentication ticket.", |
56122987 | 24973 | "method" : "POST", |
44660702 DM |
24974 | "name" : "create_ticket", |
24975 | "parameters" : { | |
24976 | "additionalProperties" : 0, | |
56122987 | 24977 | "properties" : { |
44660702 DM |
24978 | "otp" : { |
24979 | "description" : "One-time password for Two-factor authentication.", | |
7aacca6f | 24980 | "optional" : 1, |
013dc89f DM |
24981 | "type" : "string", |
24982 | "typetext" : "<string>" | |
56122987 | 24983 | }, |
7aacca6f DM |
24984 | "password" : { |
24985 | "description" : "The secret password. This can also be a valid ticket.", | |
013dc89f DM |
24986 | "type" : "string", |
24987 | "typetext" : "<string>" | |
7aacca6f | 24988 | }, |
44660702 DM |
24989 | "path" : { |
24990 | "description" : "Verify ticket, and check if user have access 'privs' on 'path'", | |
7aacca6f | 24991 | "maxLength" : 64, |
56122987 | 24992 | "optional" : 1, |
56122987 | 24993 | "requires" : "privs", |
013dc89f DM |
24994 | "type" : "string", |
24995 | "typetext" : "<string>" | |
44660702 DM |
24996 | }, |
24997 | "privs" : { | |
7aacca6f | 24998 | "description" : "Verify ticket, and check if user have access 'privs' on 'path'", |
44660702 DM |
24999 | "format" : "pve-priv-list", |
25000 | "maxLength" : 64, | |
56122987 | 25001 | "optional" : 1, |
44660702 | 25002 | "requires" : "path", |
013dc89f DM |
25003 | "type" : "string", |
25004 | "typetext" : "<string>" | |
56122987 DM |
25005 | }, |
25006 | "realm" : { | |
56122987 | 25007 | "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.", |
44660702 | 25008 | "format" : "pve-realm", |
7aacca6f | 25009 | "maxLength" : 32, |
44660702 | 25010 | "optional" : 1, |
013dc89f DM |
25011 | "type" : "string", |
25012 | "typetext" : "<string>" | |
56122987 DM |
25013 | }, |
25014 | "username" : { | |
25015 | "description" : "User name", | |
44660702 | 25016 | "maxLength" : 64, |
013dc89f DM |
25017 | "type" : "string", |
25018 | "typetext" : "<string>" | |
56122987 | 25019 | } |
44660702 | 25020 | } |
7aacca6f | 25021 | }, |
56122987 | 25022 | "permissions" : { |
44660702 | 25023 | "description" : "You need to pass valid credientials.", |
56122987 DM |
25024 | "user" : "world" |
25025 | }, | |
44660702 | 25026 | "protected" : 1, |
7aacca6f | 25027 | "returns" : { |
56122987 | 25028 | "properties" : { |
44660702 DM |
25029 | "CSRFPreventionToken" : { |
25030 | "optional" : 1, | |
25031 | "type" : "string" | |
56122987 | 25032 | }, |
44660702 DM |
25033 | "ticket" : { |
25034 | "optional" : 1, | |
25035 | "type" : "string" | |
25036 | }, | |
25037 | "username" : { | |
56122987 DM |
25038 | "type" : "string" |
25039 | } | |
25040 | }, | |
44660702 | 25041 | "type" : "object" |
7aacca6f | 25042 | } |
7aacca6f DM |
25043 | } |
25044 | }, | |
44660702 DM |
25045 | "leaf" : 1, |
25046 | "path" : "/access/ticket", | |
25047 | "text" : "ticket" | |
7aacca6f | 25048 | }, |
56122987 | 25049 | { |
56122987 | 25050 | "info" : { |
7aacca6f | 25051 | "PUT" : { |
44660702 | 25052 | "description" : "Change user password.", |
7aacca6f | 25053 | "method" : "PUT", |
44660702 | 25054 | "name" : "change_passsword", |
56122987 DM |
25055 | "parameters" : { |
25056 | "additionalProperties" : 0, | |
25057 | "properties" : { | |
44660702 DM |
25058 | "password" : { |
25059 | "description" : "The new password.", | |
25060 | "maxLength" : 64, | |
25061 | "minLength" : 5, | |
013dc89f DM |
25062 | "type" : "string", |
25063 | "typetext" : "<string>" | |
7aacca6f | 25064 | }, |
44660702 DM |
25065 | "userid" : { |
25066 | "description" : "User ID", | |
25067 | "format" : "pve-userid", | |
25068 | "maxLength" : 64, | |
013dc89f DM |
25069 | "type" : "string", |
25070 | "typetext" : "<string>" | |
56122987 | 25071 | } |
7aacca6f | 25072 | } |
56122987 DM |
25073 | }, |
25074 | "permissions" : { | |
25075 | "check" : [ | |
44660702 | 25076 | "or", |
56122987 | 25077 | [ |
44660702 DM |
25078 | "userid-param", |
25079 | "self" | |
25080 | ], | |
25081 | [ | |
25082 | "and", | |
25083 | [ | |
25084 | "userid-param", | |
25085 | "Realm.AllocateUser" | |
25086 | ], | |
25087 | [ | |
25088 | "userid-group", | |
25089 | [ | |
25090 | "User.Modify" | |
25091 | ] | |
25092 | ] | |
56122987 | 25093 | ] |
7aacca6f | 25094 | ], |
44660702 | 25095 | "description" : "Each user is allowed to change his own password. A user can change the password of another user if he has 'Realm.AllocateUser' (on the realm of user <userid>) and 'User.Modify' permission on /access/groups/<group> on a group where user <userid> is member of." |
56122987 | 25096 | }, |
44660702 | 25097 | "protected" : 1, |
7aacca6f DM |
25098 | "returns" : { |
25099 | "type" : "null" | |
44660702 DM |
25100 | } |
25101 | } | |
25102 | }, | |
25103 | "leaf" : 1, | |
25104 | "path" : "/access/password", | |
25105 | "text" : "password" | |
25106 | } | |
25107 | ], | |
25108 | "info" : { | |
25109 | "GET" : { | |
25110 | "description" : "Directory index.", | |
25111 | "method" : "GET", | |
25112 | "name" : "index", | |
25113 | "parameters" : { | |
25114 | "additionalProperties" : 0 | |
25115 | }, | |
25116 | "permissions" : { | |
25117 | "user" : "all" | |
25118 | }, | |
25119 | "returns" : { | |
25120 | "items" : { | |
25121 | "properties" : { | |
25122 | "subdir" : { | |
25123 | "type" : "string" | |
25124 | } | |
7aacca6f | 25125 | }, |
44660702 DM |
25126 | "type" : "object" |
25127 | }, | |
25128 | "links" : [ | |
25129 | { | |
25130 | "href" : "{subdir}", | |
25131 | "rel" : "child" | |
25132 | } | |
25133 | ], | |
25134 | "type" : "array" | |
25135 | } | |
25136 | } | |
25137 | }, | |
25138 | "leaf" : 0, | |
25139 | "path" : "/access", | |
25140 | "text" : "access" | |
25141 | }, | |
25142 | { | |
25143 | "children" : [ | |
25144 | { | |
25145 | "info" : { | |
25146 | "DELETE" : { | |
7aacca6f | 25147 | "description" : "Delete pool.", |
44660702 DM |
25148 | "method" : "DELETE", |
25149 | "name" : "delete_pool", | |
7aacca6f DM |
25150 | "parameters" : { |
25151 | "additionalProperties" : 0, | |
25152 | "properties" : { | |
25153 | "poolid" : { | |
25154 | "format" : "pve-poolid", | |
013dc89f DM |
25155 | "type" : "string", |
25156 | "typetext" : "<string>" | |
7aacca6f DM |
25157 | } |
25158 | } | |
25159 | }, | |
56122987 DM |
25160 | "permissions" : { |
25161 | "check" : [ | |
25162 | "perm", | |
25163 | "/pool/{poolid}", | |
25164 | [ | |
25165 | "Pool.Allocate" | |
25166 | ] | |
44660702 DM |
25167 | ], |
25168 | "description" : "You can only delete empty pools (no members)." | |
25169 | }, | |
25170 | "protected" : 1, | |
25171 | "returns" : { | |
25172 | "type" : "null" | |
7aacca6f DM |
25173 | } |
25174 | }, | |
25175 | "GET" : { | |
25176 | "description" : "Get pool configuration.", | |
44660702 | 25177 | "method" : "GET", |
7aacca6f | 25178 | "name" : "read_pool", |
56122987 | 25179 | "parameters" : { |
44660702 | 25180 | "additionalProperties" : 0, |
56122987 DM |
25181 | "properties" : { |
25182 | "poolid" : { | |
44660702 | 25183 | "format" : "pve-poolid", |
013dc89f DM |
25184 | "type" : "string", |
25185 | "typetext" : "<string>" | |
56122987 | 25186 | } |
44660702 | 25187 | } |
56122987 | 25188 | }, |
56122987 | 25189 | "permissions" : { |
56122987 DM |
25190 | "check" : [ |
25191 | "perm", | |
25192 | "/pool/{poolid}", | |
25193 | [ | |
25194 | "Pool.Allocate" | |
25195 | ] | |
25196 | ] | |
25197 | }, | |
7aacca6f | 25198 | "returns" : { |
44660702 | 25199 | "additionalProperties" : 0, |
56122987 | 25200 | "properties" : { |
44660702 DM |
25201 | "comment" : { |
25202 | "optional" : 1, | |
25203 | "type" : "string" | |
25204 | }, | |
7aacca6f | 25205 | "members" : { |
7aacca6f DM |
25206 | "items" : { |
25207 | "additionalProperties" : 1, | |
7aacca6f | 25208 | "properties" : { |
7aacca6f DM |
25209 | "id" : { |
25210 | "type" : "string" | |
25211 | }, | |
25212 | "node" : { | |
25213 | "type" : "string" | |
25214 | }, | |
44660702 DM |
25215 | "storage" : { |
25216 | "optional" : 1, | |
25217 | "type" : "string" | |
25218 | }, | |
7aacca6f | 25219 | "type" : { |
7aacca6f DM |
25220 | "enum" : [ |
25221 | "qemu", | |
25222 | "lxc", | |
25223 | "openvz", | |
25224 | "storage" | |
44660702 DM |
25225 | ], |
25226 | "type" : "string" | |
25227 | }, | |
25228 | "vmid" : { | |
25229 | "optional" : 1, | |
25230 | "type" : "integer" | |
7aacca6f | 25231 | } |
44660702 DM |
25232 | }, |
25233 | "type" : "object" | |
25234 | }, | |
25235 | "type" : "array" | |
25236 | } | |
25237 | }, | |
25238 | "type" : "object" | |
25239 | } | |
25240 | }, | |
25241 | "PUT" : { | |
25242 | "description" : "Update pool data.", | |
25243 | "method" : "PUT", | |
25244 | "name" : "update_pool", | |
25245 | "parameters" : { | |
25246 | "additionalProperties" : 0, | |
25247 | "properties" : { | |
56122987 DM |
25248 | "comment" : { |
25249 | "optional" : 1, | |
013dc89f DM |
25250 | "type" : "string", |
25251 | "typetext" : "<string>" | |
44660702 DM |
25252 | }, |
25253 | "delete" : { | |
25254 | "description" : "Remove vms/storage (instead of adding it).", | |
25255 | "optional" : 1, | |
013dc89f DM |
25256 | "type" : "boolean", |
25257 | "typetext" : "<boolean>" | |
44660702 DM |
25258 | }, |
25259 | "poolid" : { | |
25260 | "format" : "pve-poolid", | |
013dc89f DM |
25261 | "type" : "string", |
25262 | "typetext" : "<string>" | |
44660702 DM |
25263 | }, |
25264 | "storage" : { | |
25265 | "description" : "List of storage IDs.", | |
25266 | "format" : "pve-storage-id-list", | |
25267 | "optional" : 1, | |
013dc89f DM |
25268 | "type" : "string", |
25269 | "typetext" : "<string>" | |
44660702 DM |
25270 | }, |
25271 | "vms" : { | |
25272 | "description" : "List of virtual machines.", | |
25273 | "format" : "pve-vmid-list", | |
25274 | "optional" : 1, | |
013dc89f DM |
25275 | "type" : "string", |
25276 | "typetext" : "<string>" | |
56122987 | 25277 | } |
44660702 DM |
25278 | } |
25279 | }, | |
25280 | "permissions" : { | |
25281 | "check" : [ | |
25282 | "perm", | |
25283 | "/pool/{poolid}", | |
25284 | [ | |
25285 | "Pool.Allocate" | |
25286 | ] | |
25287 | ], | |
25288 | "description" : "You also need the right to modify permissions on any object you add/delete." | |
25289 | }, | |
25290 | "protected" : 1, | |
25291 | "returns" : { | |
25292 | "type" : "null" | |
56122987 DM |
25293 | } |
25294 | } | |
25295 | }, | |
44660702 DM |
25296 | "leaf" : 1, |
25297 | "path" : "/pools/{poolid}", | |
7aacca6f | 25298 | "text" : "{poolid}" |
56122987 | 25299 | } |
7aacca6f | 25300 | ], |
56122987 DM |
25301 | "info" : { |
25302 | "GET" : { | |
44660702 DM |
25303 | "description" : "Pool index.", |
25304 | "method" : "GET", | |
25305 | "name" : "index", | |
25306 | "parameters" : { | |
25307 | "additionalProperties" : 0 | |
25308 | }, | |
25309 | "permissions" : { | |
25310 | "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.", | |
25311 | "user" : "all" | |
25312 | }, | |
56122987 | 25313 | "returns" : { |
44660702 DM |
25314 | "items" : { |
25315 | "properties" : { | |
25316 | "poolid" : { | |
25317 | "type" : "string" | |
25318 | } | |
56122987 | 25319 | }, |
44660702 DM |
25320 | "type" : "object" |
25321 | }, | |
25322 | "links" : [ | |
25323 | { | |
25324 | "href" : "{poolid}", | |
25325 | "rel" : "child" | |
25326 | } | |
25327 | ], | |
25328 | "type" : "array" | |
25329 | } | |
25330 | }, | |
25331 | "POST" : { | |
25332 | "description" : "Create new pool.", | |
25333 | "method" : "POST", | |
25334 | "name" : "create_pool", | |
25335 | "parameters" : { | |
25336 | "additionalProperties" : 0, | |
25337 | "properties" : { | |
25338 | "comment" : { | |
25339 | "optional" : 1, | |
013dc89f DM |
25340 | "type" : "string", |
25341 | "typetext" : "<string>" | |
7aacca6f | 25342 | }, |
44660702 DM |
25343 | "poolid" : { |
25344 | "format" : "pve-poolid", | |
013dc89f DM |
25345 | "type" : "string", |
25346 | "typetext" : "<string>" | |
56122987 DM |
25347 | } |
25348 | } | |
25349 | }, | |
56122987 | 25350 | "permissions" : { |
44660702 DM |
25351 | "check" : [ |
25352 | "perm", | |
25353 | "/pool/{poolid}", | |
25354 | [ | |
25355 | "Pool.Allocate" | |
25356 | ] | |
25357 | ] | |
56122987 | 25358 | }, |
44660702 DM |
25359 | "protected" : 1, |
25360 | "returns" : { | |
25361 | "type" : "null" | |
25362 | } | |
25363 | } | |
25364 | }, | |
25365 | "leaf" : 0, | |
25366 | "path" : "/pools", | |
25367 | "text" : "pools" | |
25368 | }, | |
25369 | { | |
25370 | "info" : { | |
25371 | "GET" : { | |
25372 | "description" : "API version details. The result also includes the global datacenter confguration.", | |
25373 | "method" : "GET", | |
25374 | "name" : "version", | |
7aacca6f DM |
25375 | "parameters" : { |
25376 | "additionalProperties" : 0 | |
25377 | }, | |
44660702 DM |
25378 | "permissions" : { |
25379 | "user" : "all" | |
25380 | }, | |
25381 | "returns" : { | |
25382 | "properties" : { | |
25383 | "release" : { | |
25384 | "type" : "string" | |
25385 | }, | |
25386 | "repoid" : { | |
25387 | "type" : "string" | |
25388 | }, | |
25389 | "version" : { | |
25390 | "type" : "string" | |
25391 | } | |
25392 | }, | |
25393 | "type" : "object" | |
25394 | } | |
56122987 DM |
25395 | } |
25396 | }, | |
44660702 DM |
25397 | "leaf" : 1, |
25398 | "path" : "/version", | |
56122987 DM |
25399 | "text" : "version" |
25400 | } | |
25401 | ] | |
25402 | ; | |
25403 |